diff --git a/src/chipset/ali1543.c b/src/chipset/ali1543.c index 3d5ddf603..3ede62298 100644 --- a/src/chipset/ali1543.c +++ b/src/chipset/ali1543.c @@ -1614,7 +1614,7 @@ ali1543_init(const device_t *info) /* ACPI */ dev->acpi = device_add(&acpi_ali_device); - dev->nvr = device_add(&piix4_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_PIIX4); /* DMA */ dma_alias_set(); diff --git a/src/chipset/intel_piix.c b/src/chipset/intel_piix.c index 9f7814869..d7db43e0a 100644 --- a/src/chipset/intel_piix.c +++ b/src/chipset/intel_piix.c @@ -1581,11 +1581,11 @@ piix_init(const device_t *info) if (dev->type > 3) { if (info->local & PIIX4_NVR_AMI_1995J) - dev->nvr = device_add(&piix4_ami_1995j_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_PIIX4_AMI_1995J); else if (info->local & PIIX4_NVR_AMI_1995) - dev->nvr = device_add(&piix4_ami_1995_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_PIIX4_AMI_1995); else - dev->nvr = device_add(&piix4_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_PIIX4); dev->smbus = device_add(&piix4_smbus_device); dev->acpi = device_add(&acpi_intel_device); diff --git a/src/chipset/opti602.c b/src/chipset/opti602.c index 7082408c7..7520497d7 100644 --- a/src/chipset/opti602.c +++ b/src/chipset/opti602.c @@ -203,7 +203,7 @@ opti602_init(UNUSED(const device_t *info)) io_sethandler(0x0022, 0x0001, opti602_read, NULL, NULL, opti602_write, NULL, NULL, dev); io_sethandler(0x0024, 0x0001, opti602_read, NULL, NULL, opti602_write, NULL, NULL, dev); - dev->nvr = device_add(&at_mb_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_MB); opti602_reset(dev); diff --git a/src/chipset/opti895.c b/src/chipset/opti895.c index 6edd7c855..7be1d0bd1 100644 --- a/src/chipset/opti895.c +++ b/src/chipset/opti895.c @@ -44,6 +44,7 @@ typedef struct opti895_t { static uint8_t masks[0x10] = { 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe3, 0xff, 0xe3, 0xff, 0x00, 0xff, 0xff, 0xff }; +#define ENABLE_OPTI895_LOG 1 #ifdef ENABLE_OPTI895_LOG int opti895_do_log = ENABLE_OPTI895_LOG; @@ -159,6 +160,8 @@ opti895_write(uint16_t addr, uint8_t val, void *priv) ((dev->idx >= 0xe0) && (dev->idx <= 0xef))) { if (dev->idx > 0x2f) dev->regs[dev->idx] = val; + else if (dev->idx == 0x28) + dev->regs[dev->idx] = (val & masks[dev->idx - 0x20]) | 0x18; else dev->regs[dev->idx] = val & masks[dev->idx - 0x20]; opti895_log("dev->regs[%04x] = %08x\n", dev->idx, val); @@ -247,7 +250,11 @@ opti895_read(uint16_t addr, void *priv) if (((dev->idx >= 0x20) && (dev->idx <= 0x2f) && (dev->idx != 0x2c)) || ((dev->idx >= 0xe0) && (dev->idx <= 0xef))) { ret = dev->regs[dev->idx]; - if (dev->idx == 0xe0) + if (dev->idx == 0x21) + ret |= 0x1c; + else if (dev->idx == 0x28) + ret |= 0x18; + else if (dev->idx == 0xe0) ret = (ret & 0xf6) | (in_smm ? 0x00 : 0x08) | !!dev->forced_green; } break; @@ -291,7 +298,7 @@ opti895_init(const device_t *info) dev->regs[0x01] = 0xc0; - dev->regs[0x22] = 0xc4; + dev->regs[0x22] = 0xe4; dev->regs[0x25] = 0x7c; dev->regs[0x26] = 0x10; dev->regs[0x27] = 0xde; @@ -304,7 +311,7 @@ opti895_init(const device_t *info) dev->regs[0xe8] = 0x08; dev->regs[0xe9] = 0x08; dev->regs[0xeb] = 0xff; - dev->regs[0xef] = 0x40; + dev->regs[0xef] = 0x41; opti895_recalc(dev); diff --git a/src/chipset/sis_5513_p2i.c b/src/chipset/sis_5513_p2i.c index ac160f337..50b5c8362 100644 --- a/src/chipset/sis_5513_p2i.c +++ b/src/chipset/sis_5513_p2i.c @@ -1238,7 +1238,7 @@ sis_5513_pci_to_isa_init(UNUSED(const device_t *info)) dev->pit_read_reg = pit_is_fast ? pitf_read_reg : pit_read_reg; /* NVR */ - dev->nvr = device_add(&at_mb_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_MB); switch (dev->rev) { case 0x00: diff --git a/src/chipset/sis_85c496.c b/src/chipset/sis_85c496.c index a04f01633..2f0db10dc 100644 --- a/src/chipset/sis_85c496.c +++ b/src/chipset/sis_85c496.c @@ -673,9 +673,9 @@ static void ide_sec_disable(); if (info->local) - dev->nvr = device_add(&ami_1994_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AMI_1994); else - dev->nvr = device_add(&at_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT); dma_high_page_init(); diff --git a/src/chipset/sis_85c50x.c b/src/chipset/sis_85c50x.c index 5eb3b518d..79f35f3fe 100644 --- a/src/chipset/sis_85c50x.c +++ b/src/chipset/sis_85c50x.c @@ -667,7 +667,7 @@ sis_85c50x_init(UNUSED(const device_t *info)) dev->pit_read_reg = pit_is_fast ? pitf_read_reg : pit_read_reg; /* NVR */ - dev->nvr = device_add(&at_mb_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_MB); device_add(&ide_pci_2ch_device); } diff --git a/src/chipset/via_pipc.c b/src/chipset/via_pipc.c index a5883791e..e36a91970 100644 --- a/src/chipset/via_pipc.c +++ b/src/chipset/via_pipc.c @@ -1722,7 +1722,7 @@ pipc_init(const device_t *info) else if (dev->local >= VIA_PIPC_596A) dev->smbus = device_add(&piix4_smbus_device); - dev->nvr = device_add(&via_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_VIA); if (dev->local >= VIA_PIPC_596A) { dev->acpi = device_add(&acpi_via_596b_device); diff --git a/src/chipset/vl82c59x.c b/src/chipset/vl82c59x.c index d75556e76..b0e92b3ef 100644 --- a/src/chipset/vl82c59x.c +++ b/src/chipset/vl82c59x.c @@ -622,7 +622,7 @@ vl82c59x_init(UNUSED(const device_t *info)) dev->port_92 = device_add(&port_92_device); /* NVR */ - dev->nvr = device_add(&at_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT); dev->smram[0] = smram_add(); dev->smram[1] = smram_add(); diff --git a/src/chipset/wd76c10.c b/src/chipset/wd76c10.c index b70785b37..be18f8d96 100644 --- a/src/chipset/wd76c10.c +++ b/src/chipset/wd76c10.c @@ -1393,7 +1393,7 @@ wd76c10_init(UNUSED(const device_t *info)) dev->mem_pages[i] = i - 0x20; device_add(&port_92_inv_device); - dev->nvr = device_add(&amstrad_megapc_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_ZERO_DEFAULT); dev->uart[0] = device_add_inst(&ns16450_device, 1); dev->uart[1] = device_add_inst(&ns16450_device, 2); dev->lpt = device_add_inst(&lpt_port_device, 1); diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index f1a660f7d..6daa66738 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -245,6 +245,7 @@ enum { MACHINE_CHIPSET_INTEL_430VX, MACHINE_CHIPSET_INTEL_430TX, MACHINE_CHIPSET_INTEL_450KX, + MACHINE_CHIPSET_INTEL_450GX, MACHINE_CHIPSET_INTEL_440FX, MACHINE_CHIPSET_INTEL_440EX, MACHINE_CHIPSET_INTEL_440LX, @@ -353,6 +354,18 @@ typedef struct _machine_ { void *kbc_device; #endif /* EMU_DEVICE_H */ uintptr_t kbc_params; +#ifdef EMU_DEVICE_H + const device_t *nvr_device; +#else + void *nvr_device; +#endif /* EMU_DEVICE_H */ + uintptr_t nvr_params; +#ifdef EMU_DEVICE_H + const device_t *sio_device; +#else + void *sio_device; +#endif /* EMU_DEVICE_H */ + uintptr_t sio_params; /* Bits 23-16: XOR mask, bits 15-8: OR mask, bits 7-0: AND mask. */ uint32_t kbc_p1; uint32_t gpio; @@ -361,7 +374,6 @@ typedef struct _machine_ { const device_t *device; const device_t *kbd_device; const device_t *fdc_device; - const device_t *sio_device; const device_t *vid_device; const device_t *snd_device; const device_t *net_device; @@ -369,7 +381,6 @@ typedef struct _machine_ { void *device; void *kbd_device; void *fdc_device; - void *sio_device; void *vid_device; void *snd_device; void *net_device; @@ -394,9 +405,10 @@ extern int machine_get_machine_from_internal_name(const char *s); extern void machine_init(void); #ifdef EMU_DEVICE_H extern const device_t *machine_get_kbc_device(int m); +extern const device_t *machine_get_nvr_device(int m); +extern const device_t *machine_get_sio_device(int m); extern const device_t *machine_get_device(int m); extern const device_t *machine_get_fdc_device(int m); -extern const device_t *machine_get_sio_device(int m); extern const device_t *machine_get_vid_device(int m); extern const device_t *machine_get_snd_device(int m); extern const device_t *machine_get_net_device(int m); @@ -528,6 +540,7 @@ extern int machine_at_px286_init(const machine_t *); extern int machine_at_ataripc4_init(const machine_t *); extern int machine_at_neat_ami_init(const machine_t *); extern int machine_at_3302_init(const machine_t *); +extern int machine_at_n8810m30_init(const machine_t *); /* SCAMP */ extern int machine_at_pc7286_init(const machine_t *); @@ -579,6 +592,7 @@ extern int machine_at_shuttle386sx_init(const machine_t *); /* NEAT */ extern int machine_at_cmdsl386sx16_init(const machine_t *); extern int machine_at_neat_init(const machine_t *); +extern int machine_at_p3345_init(const machine_t *); /* NEATsx */ extern int machine_at_if386sx_init(const machine_t *); @@ -659,12 +673,10 @@ extern const device_t opti495_ami_device; extern int machine_at_opti495_ami_init(const machine_t *); /* m_at_common.c */ -extern void machine_at_common_init_ex(const machine_t *, int type); extern void machine_at_common_init(const machine_t *); extern void machine_at_init(const machine_t *); extern void machine_at_ps2_init(const machine_t *); extern void machine_at_common_ide_init(const machine_t *); -extern void machine_at_ibm_common_ide_init(const machine_t *); extern void machine_at_ide_init(const machine_t *); extern void machine_at_ps2_ide_init(const machine_t *); @@ -965,12 +977,12 @@ extern int machine_at_hot539_init(const machine_t *); /* VLSI SuperCore */ extern int machine_at_bravoms586_init(const machine_t *); -extern int machine_at_g586vpmc_init(const machine_t *); extern int machine_at_m54si_init(const machine_t *); extern int machine_at_pb600_init(const machine_t *); /* VLSI Wildcat */ extern int machine_at_globalyst620_init(const machine_t *); +extern int machine_at_g586vpmc_init(const machine_t *); /* m_at_socket7_3v.c */ /* i430FX */ @@ -986,6 +998,7 @@ extern const device_t vectra52_device; extern int machine_at_vectra52_init(const machine_t *); extern int machine_at_vectra500mt_init(const machine_t *); extern int machine_at_vectra54_init(const machine_t *); +extern int machine_at_atlantis_init(const machine_t *); #ifdef EMU_DEVICE_H extern const device_t thor_device; #endif @@ -994,7 +1007,6 @@ extern uint32_t machine_at_monaco_gpio_handler(uint8_t write, uint32_t va extern int machine_at_monaco_init(const machine_t *); extern uint32_t machine_at_endeavor_gpio_handler(uint8_t write, uint32_t val); extern int machine_at_endeavor_init(const machine_t *); -extern int machine_at_atlantis_init(const machine_t *); #ifdef EMU_DEVICE_H extern const device_t monaco_device; #endif @@ -1177,6 +1189,8 @@ extern int machine_at_5sg100_init(const machine_t *); /* m_at_socket8.c */ /* i450KX */ extern int machine_at_ap61_init(const machine_t *); + +/* i450GX */ #ifdef EMU_DEVICE_H extern const device_t ficpo6000_device; #endif diff --git a/src/include/86box/nvr.h b/src/include/86box/nvr.h index 9d6d78923..7add5cb39 100644 --- a/src/include/86box/nvr.h +++ b/src/include/86box/nvr.h @@ -57,6 +57,76 @@ #define TIME_SYNC_ENABLED 1 #define TIME_SYNC_UTC 2 +/* Century register for the AT, etc. */ +#define RTC_CENTURY_AT 0x32 +/* Century register for the PS/1 and the PS/2. */ +#define RTC_CENTURY_PS 0x37 +/* Century register for the Epson Equity LT. */ +#define RTC_CENTURY_ELT 0x1a +/* century register for VIA VT82C586B. */ +#define RTC_CENTURY_VIA 0x7f +/* No century register. */ +#define RTC_CENTURY_NONE 0xff + +#define FLAG_ZERO_DEFAULT 0x0001 +#define FLAG_NO_NMI 0x0002 +#define FLAG_MULTI_ADDRESS 0x0004 +#define FLAG_MULTI_BANK 0x0008 +#define FLAG_PIIX4 0x0010 +#define FLAG_FIXED_SIZE 0x0020 +#define FLAG_MARTIN_HACK 0x0040 +#define FLAG_AMI_1992_HACK 0x0080 +#define FLAG_AMI_1994_HACK 0x0100 +#define FLAG_P6RP4_HACK 0x0200 +#define FLAG_AMI_1995_HACK 0x0400 +#define FLAG_AMI_1999_HACK 0x0800 +#define FLAG_AMI_1999J_HACK 0x1000 +#define FLAG_SPITFIRE_HACK 0x2000 +#define FLAG_BX6_HACK 0x4000 + +#define NVR_CENTURY_AT (RTC_CENTURY_AT << 16) +#define NVR_CENTURY_PS (RTC_CENTURY_PS << 16) +#define NVR_CENTURY_VIA (RTC_CENTURY_VIA << 16) +#define NVR_CENTURY_ELT (RTC_CENTURY_ELT << 16) +#define NVR_CENTURY_NONE (0xff << 16) + +#define NVR_ADDR_STANDARD (0x0070ULL << 24) +#define NVR_ADDR_ELT (0x11b4ULL << 24) +#define NVR_ADDR_CONFIG (0xfffeULL << 24) +#define NVR_ADDR_NONE (0xffffULL << 24) + +#define NVR_IRQ_STANDARD (0x0008ULL << 40) +#define NVR_IRQ_AMSTRAD (0x0001ULL << 40) +#define NVR_IRQ_CONFIG (0xfffeULL << 40) +#define NVR_IRQ_NONE (0xffffULL << 40) + +#define NVR_AT_STANDARD NVR_IRQ_STANDARD | NVR_ADDR_STANDARD +#define NVR_AT_STANDARD_MA NVR_AT_STANDARD | FLAG_MULTI_ADDRESS +#define NVR_AT_STANDARD_ZERO NVR_AT_STANDARD | FLAG_ZERO_DEFAULT + +#define NVR_AT_OLD (NVR_AT_STANDARD | NVR_CENTURY_NONE) +#define NVR_AT (NVR_AT_STANDARD | NVR_CENTURY_AT) +#define NVR_AT_ZERO_DEFAULT (NVR_AT_STANDARD_ZERO | NVR_CENTURY_AT) +#define NVR_AT_MA (NVR_AT | FLAG_MULTI_ADDRESS) +#define NVR_AT_MA_ZERO (NVR_AT_ZERO_DEFAULT | FLAG_MULTI_ADDRESS) +#define NVR_AT_MB (NVR_AT_ZERO_DEFAULT | FLAG_MULTI_BANK) +#define NVR_PS (NVR_AT_STANDARD_ZERO | NVR_CENTURY_PS) +#define NVR_PS_NO_NMI (NVR_PS | FLAG_NO_NMI) +#define NVR_AMSTRAD (NVR_IRQ_AMSTRAD | NVR_ADDR_STANDARD | NVR_CENTURY_AT) +#define NVR_AMSTRAD_NO_NMI (NVR_AMSTRAD | FLAG_NO_NMI) +#define NVR_PIIX4 (NVR_AT_MA_ZERO | FLAG_PIIX4) +#define NVR_AMI_1992 (NVR_AT_ZERO_DEFAULT | FLAG_AMI_1992_HACK) +#define NVR_AMI_1994 (NVR_AT_ZERO_DEFAULT | FLAG_AMI_1994_HACK) +#define NVR_AMI_1995 (NVR_AT_ZERO_DEFAULT | FLAG_AMI_1995_HACK) +#define NVR_P6RP4 (NVR_AT_MA_ZERO | FLAG_P6RP4_HACK) +#define NVR_PIIX4_AMI_1995 (NVR_PIIX4 | FLAG_AMI_1999_HACK) +#define NVR_PIIX4_AMI_1995J (NVR_PIIX4 | FLAG_AMI_1999J_HACK) +#define NVR_VIA (NVR_AT_STANDARD_MA | NVR_CENTURY_VIA) +#define NVR_MARTIN (NVR_AT_MB | FLAG_MARTIN_HACK) +#define NVR_ELT (NVR_IRQ_NONE | NVR_ADDR_ELT | NVR_CENTURY_ELT) +#define NVR_RTC8088 (NVR_IRQ_CONFIG | NVR_ADDR_CONFIG | \ + NVR_CENTURY_ALT | FLAG_NO_NMI | FLAG_FIXED_SIZE) + #ifdef _TIMER_H_ /* Define a generic RTC/NVRAM device. */ typedef struct _nvr_ { @@ -80,26 +150,9 @@ typedef struct _nvr_ { } nvr_t; extern int nvr_dosave; + #ifdef EMU_DEVICE_H -extern const device_t at_nvr_old_device; -extern const device_t at_nvr_device; -extern const device_t at_mb_nvr_device; -extern const device_t ps_nvr_device; -extern const device_t amstrad_nvr_device; -extern const device_t amstrad_megapc_nvr_device; -extern const device_t ibmat_nvr_device; -extern const device_t piix4_nvr_device; -extern const device_t ps_no_nmi_nvr_device; -extern const device_t amstrad_no_nmi_nvr_device; -extern const device_t ami_1992_nvr_device; -extern const device_t ami_1994_nvr_device; -extern const device_t ami_1995_nvr_device; -extern const device_t via_nvr_device; -extern const device_t piix4_ami_1995_nvr_device; -extern const device_t piix4_ami_1995j_nvr_device; -extern const device_t p6rp4_nvr_device; -extern const device_t martin_nvr_device; -extern const device_t elt_nvr_device; +extern const device_t nvr_at_device; #endif extern void rtc_tick(void); diff --git a/src/machine/m_amstrad.c b/src/machine/m_amstrad.c index 8e4a16c60..b443f3756 100644 --- a/src/machine/m_amstrad.c +++ b/src/machine/m_amstrad.c @@ -2971,17 +2971,6 @@ machine_amstrad_init(const machine_t *model, int type) ams->type = type; amstrad_latch = 0x80000000; - switch (type) { - case AMS_PC200: - case AMS_PPC512: - device_add(&amstrad_no_nmi_nvr_device); - break; - - default: - device_add(&amstrad_nvr_device); - break; - } - machine_common_init(model); nmi_init(); diff --git a/src/machine/m_at_286.c b/src/machine/m_at_286.c index ad36e3245..82edfe51a 100644 --- a/src/machine/m_at_286.c +++ b/src/machine/m_at_286.c @@ -140,7 +140,7 @@ const device_t ibmat_device = { static void machine_at_ibm_common_init(const machine_t *model) { - machine_at_common_init_ex(model, 1); + machine_at_common_init(model); device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); @@ -510,8 +510,7 @@ machine_at_m290_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 6); - device_add(&amstrad_megapc_nvr_device); + machine_at_common_init(model); device_add(&olivetti_eva_device); device_add(&port_6x_olivetti_device); @@ -630,7 +629,7 @@ machine_at_siemens_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 1); + machine_at_common_init(model); device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); @@ -923,6 +922,29 @@ machine_at_3302_init(const machine_t *model) return ret; } +int +machine_at_n8810m30_init(const machine_t *model) /* Onboard SCSI not yet emulated */ +{ + int ret; + + ret = bios_load_linear("roms/machines/n8810m30/at286bios_53889.00.0.17jr.BIN", + 0x000e0000, 131072, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + + device_add(&neat_device); + + if (fdc_current[0] == FDC_INTERNAL) + device_add(&fdc_at_device); + + device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); + + return ret; +} + /* SCAMP */ int machine_at_pc7286_init(const machine_t *model) @@ -935,7 +957,7 @@ machine_at_pc7286_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); if (gfxcard[0] == VID_INTERNAL) device_add(machine_get_vid_device(machine)); diff --git a/src/machine/m_at_386dx.c b/src/machine/m_at_386dx.c index 3a90f801d..f8d3476fa 100644 --- a/src/machine/m_at_386dx.c +++ b/src/machine/m_at_386dx.c @@ -272,7 +272,7 @@ machine_at_spc6000a_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 1); + machine_at_common_init(model); device_add(&cs8230_device); diff --git a/src/machine/m_at_386sx.c b/src/machine/m_at_386sx.c index d996a14bc..e9a24a61a 100644 --- a/src/machine/m_at_386sx.c +++ b/src/machine/m_at_386sx.c @@ -409,8 +409,7 @@ machine_at_adi386sx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&amstrad_megapc_nvr_device); /* NVR that is initialized to all 0x00's. */ + machine_at_common_init(model); device_add(&intel_82335_device); device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); @@ -494,6 +493,31 @@ machine_at_neat_init(const machine_t *model) return ret; } +int +machine_at_p3345_init(const machine_t *model) +{ + int ret; + + ret = bios_load_interleaved("roms/machines/p3345/BIOS_EVEN.BIN", + "roms/machines/p3345/BIOS_ODD.BIN", + 0x000f0000, 65536, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + + device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); + + device_add(&neat_device); + device_add(&ide_isa_device); + + if (fdc_current[0] == FDC_INTERNAL) + device_add(&fdc_at_device); + + return ret; +} + /* NEATsx */ int machine_at_if386sx_init(const machine_t *model) @@ -507,8 +531,7 @@ machine_at_if386sx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&amstrad_megapc_nvr_device); /* NVR that is initialized to all 0x00's. */ + machine_at_common_init(model); device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); @@ -588,7 +611,7 @@ machine_at_cmdsl386sx25_init(const machine_t *model) if (gfxcard[0] == VID_INTERNAL) device_add(&gd5402_onboard_commodore_device); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&ide_isa_device); @@ -700,7 +723,7 @@ machine_at_dells333sl_init(const machine_t *model) if (gfxcard[0] == VID_INTERNAL) device_add(machine_get_vid_device(machine)); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&ide_isa_device); @@ -774,7 +797,7 @@ machine_at_wd76c10_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); if (gfxcard[0] == VID_INTERNAL) device_add(machine_get_vid_device(machine)); diff --git a/src/machine/m_at_486_misc.c b/src/machine/m_at_486_misc.c index 6c492ada5..0d009c1ca 100644 --- a/src/machine/m_at_486_misc.c +++ b/src/machine/m_at_486_misc.c @@ -60,7 +60,7 @@ machine_at_itoxstar_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -90,7 +90,7 @@ machine_at_arb1423c_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -117,7 +117,7 @@ machine_at_arb1479_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -144,7 +144,7 @@ machine_at_iach488_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -169,7 +169,7 @@ machine_at_pcm9340_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -198,7 +198,7 @@ machine_at_pcm5330_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_common.c b/src/machine/m_at_common.c index 383c8dba5..bd122a6ce 100644 --- a/src/machine/m_at_common.c +++ b/src/machine/m_at_common.c @@ -61,7 +61,7 @@ #include <86box/machine.h> void -machine_at_common_init_ex(const machine_t *model, int type) +machine_at_common_init(const machine_t *model) { machine_common_init(model); @@ -70,24 +70,12 @@ machine_at_common_init_ex(const machine_t *model, int type) pic2_init(); dma16_init(); - if (!(type & 4)) + if (model->init != machine_at_m290_init) device_add(&port_6x_device); - type &= 3; - - if (type == 1) - device_add(&ibmat_nvr_device); - else if (type == 0) - device_add(&at_nvr_device); standalone_gameport_type = &gameport_device; } -void -machine_at_common_init(const machine_t *model) -{ - machine_at_common_init_ex(model, 0); -} - void machine_at_init(const machine_t *model) { @@ -112,14 +100,6 @@ machine_at_common_ide_init(const machine_t *model) device_add(&ide_isa_device); } -void -machine_at_ibm_common_ide_init(const machine_t *model) -{ - machine_at_common_init_ex(model, 1); - - device_add(&ide_isa_device); -} - void machine_at_ide_init(const machine_t *model) { diff --git a/src/machine/m_at_misc.c b/src/machine/m_at_misc.c index eb93688a7..f34c5b157 100644 --- a/src/machine/m_at_misc.c +++ b/src/machine/m_at_misc.c @@ -47,7 +47,7 @@ machine_at_vpc2007_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); is_vpc = 1; pci_init(PCI_CONFIG_TYPE_1); diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index a40fac2dd..013d6a828 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -50,7 +50,7 @@ machine_at_m729_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -83,7 +83,7 @@ machine_at_acerv62x_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -220,7 +220,7 @@ machine_at_lx6_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -251,7 +251,7 @@ machine_at_optiplexgxa_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4); @@ -442,7 +442,7 @@ machine_at_ms6117_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -479,7 +479,7 @@ machine_at_ma30d_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -516,7 +516,7 @@ machine_at_brio83xx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); // Actual settings! @@ -610,7 +610,7 @@ machine_at_como_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -643,7 +643,7 @@ machine_at_p6i440e2_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -676,7 +676,7 @@ machine_at_bf6_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -792,7 +792,7 @@ machine_at_bx6_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -823,7 +823,7 @@ machine_at_p2bls_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -862,7 +862,7 @@ machine_at_p3bf_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -962,7 +962,7 @@ machine_at_ax6bc_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1059,7 +1059,7 @@ machine_at_ga686_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1178,7 +1178,7 @@ machine_at_ms6119_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1273,7 +1273,7 @@ machine_at_ms6147_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1363,7 +1363,7 @@ machine_at_p6sba_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1453,7 +1453,7 @@ machine_at_s1846_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1556,7 +1556,7 @@ machine_at_vei8_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1580,7 +1580,7 @@ machine_at_vei8_init(const machine_t *model) static void machine_at_ms6168_common_init(const machine_t *model) { - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1651,7 +1651,7 @@ machine_at_atc6310bxii_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1683,7 +1683,7 @@ machine_at_ficka6130_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1715,7 +1715,7 @@ machine_at_p3v133_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1825,7 +1825,7 @@ machine_at_ms6199va_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1866,7 +1866,7 @@ machine_at_p3v4x_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1901,7 +1901,7 @@ machine_at_gt694va_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1944,7 +1944,7 @@ machine_at_p6f99_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1979,7 +1979,7 @@ machine_at_m747_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_slot1_2.c b/src/machine/m_at_slot1_2.c index 2c8151abe..9ee1e5dc6 100644 --- a/src/machine/m_at_slot1_2.c +++ b/src/machine/m_at_slot1_2.c @@ -51,7 +51,7 @@ machine_at_fw6400gx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_slot1_socket370.c b/src/machine/m_at_slot1_socket370.c index a9006c5e7..ff3baf220 100644 --- a/src/machine/m_at_slot1_socket370.c +++ b/src/machine/m_at_slot1_socket370.c @@ -114,7 +114,7 @@ machine_at_prosignias31x_bx_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -154,7 +154,7 @@ machine_at_s1857_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -193,7 +193,7 @@ machine_at_p6bat_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_slot2.c b/src/machine/m_at_slot2.c index 20b5f05f7..ae1bf49ca 100644 --- a/src/machine/m_at_slot2.c +++ b/src/machine/m_at_slot2.c @@ -50,7 +50,7 @@ machine_at_6gxu_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -85,7 +85,7 @@ machine_at_s2dge_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_socket1.c b/src/machine/m_at_socket1.c index 7bb69d368..dddc16a9e 100644 --- a/src/machine/m_at_socket1.c +++ b/src/machine/m_at_socket1.c @@ -304,7 +304,7 @@ machine_at_vect486vl_init(const machine_t *model) // has HDC problems if (gfxcard[0] == VID_INTERNAL) device_add(machine_get_vid_device(machine)); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&vl82c480_device); @@ -342,7 +342,7 @@ machine_at_d824_init(const machine_t *model) if (gfxcard[0] == VID_INTERNAL) device_add(machine_get_vid_device(machine)); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&vl82c480_device); @@ -379,7 +379,7 @@ machine_at_pcs44c_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&vl82c486_device); device_add(&tulip_jumper_device); @@ -437,7 +437,7 @@ machine_at_tuliptc38_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&vl82c486_device); device_add(&tulip_jumper_device); diff --git a/src/machine/m_at_socket2.c b/src/machine/m_at_socket2.c index 5b871d298..ba44aa557 100644 --- a/src/machine/m_at_socket2.c +++ b/src/machine/m_at_socket2.c @@ -61,7 +61,7 @@ machine_at_pb410a_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_ibm_common_ide_init(model); + machine_at_common_ide_init(model); device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); @@ -199,8 +199,7 @@ machine_at_g486ip_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&ami_1992_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -380,7 +379,7 @@ machine_at_monsoon_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&vl82c480_device); device_add(&vl82c113_device); @@ -408,7 +407,7 @@ machine_at_martin_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&vl82c480_device); device_add(&vl82c113_device); diff --git a/src/machine/m_at_socket3.c b/src/machine/m_at_socket3.c index 7c8c801f6..ac6b979d6 100644 --- a/src/machine/m_at_socket3.c +++ b/src/machine/m_at_socket3.c @@ -105,15 +105,14 @@ machine_at_ap4100aa_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); - device_add(&ami_1994_nvr_device); device_add(&ali1429g_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); + device_add_params(&um866x_device, (void *) (uintptr_t) UM8663BF); return ret; } @@ -265,11 +264,8 @@ machine_at_403tg_init(const machine_t *model) fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0); ret = bios_load_linear(fn, 0x000f0000, 65536, 0); - if (nvr_hack) { - machine_at_common_init_ex(model, 2); - device_add(&ami_1994_nvr_device); - } else - machine_at_common_init(model); + machine_at_common_init(model); + device_add_params(&nvr_at_device, (void *) (uintptr_t) (nvr_hack ? (NVR_AMI_1994) : (NVR_AT))); device_add(&opti895_device); @@ -482,8 +478,7 @@ machine_at_tg486g_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&amstrad_megapc_nvr_device); + machine_at_common_init(model); device_add(&sis_85c471_device); device_add(&ide_isa_device); device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI)); diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index 6602f2aed..a77b9b992 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -50,7 +50,7 @@ machine_at_s370slm_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -85,7 +85,7 @@ machine_at_awo671r_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -120,7 +120,7 @@ machine_at_ambx133_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -156,7 +156,7 @@ machine_at_cubx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -194,7 +194,7 @@ machine_at_63a1_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -227,7 +227,7 @@ machine_at_7sbb_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -256,7 +256,7 @@ machine_at_atc7020bxii_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -288,7 +288,7 @@ machine_at_m773_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -329,7 +329,7 @@ machine_at_apas3_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -361,7 +361,7 @@ machine_at_p6bap_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -397,7 +397,7 @@ machine_at_6via90ap_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -435,7 +435,7 @@ machine_at_cuv4xls_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -565,7 +565,7 @@ machine_at_ms6318_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -602,7 +602,7 @@ machine_at_cairo5_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_socket3_pci.c b/src/machine/m_at_socket3_pci.c index a8b0f8eea..fecf77c41 100644 --- a/src/machine/m_at_socket3_pci.c +++ b/src/machine/m_at_socket3_pci.c @@ -350,7 +350,7 @@ machine_at_pc330_6573_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&ide_vlb_2ch_device); pci_init(PCI_CONFIG_TYPE_1); @@ -458,7 +458,7 @@ machine_at_pb450_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); device_add(&ide_vlb_2ch_device); pci_init(PCI_CONFIG_TYPE_1); @@ -582,8 +582,7 @@ machine_at_ninja_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&amstrad_megapc_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x05, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -707,9 +706,8 @@ machine_at_alfredo_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); - device_add(&amstrad_megapc_nvr_device); device_add(&ide_pci_device); pci_init(PCI_CONFIG_TYPE_2 | PCI_NO_IRQ_STEERING); @@ -881,8 +879,7 @@ machine_at_pci400cb_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&ami_1994_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -929,7 +926,7 @@ machine_at_acerp3_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_device); @@ -963,7 +960,7 @@ machine_at_486sp3c_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_device); @@ -991,7 +988,7 @@ machine_at_ls486e_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_ls486e_device); @@ -1018,7 +1015,7 @@ machine_at_m4li_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_device); @@ -1045,7 +1042,7 @@ machine_at_ms4144_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_ls486e_device); @@ -1073,7 +1070,7 @@ machine_at_r418_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_device); @@ -1100,7 +1097,7 @@ machine_at_4saw2_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_device); @@ -1129,7 +1126,7 @@ machine_at_4dps_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_sis_85c496_common_init(model); device_add(&sis_85c496_device); @@ -1471,11 +1468,8 @@ machine_at_hot433a_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); - if (is_award) - device_add(&amstrad_megapc_nvr_device); - else - device_add(&ami_1994_nvr_device); + machine_at_common_init(model); + device_add_params(&nvr_at_device, (void *) (uintptr_t) (is_award ? (NVR_AT_ZERO_DEFAULT) : (NVR_AMI_1994))); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x10, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_socket4.c b/src/machine/m_at_socket4.c index 991ff9cab..4dc5a89fc 100644 --- a/src/machine/m_at_socket4.c +++ b/src/machine/m_at_socket4.c @@ -254,9 +254,8 @@ machine_at_opti560l_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); - device_add(&amstrad_megapc_nvr_device); device_add(&ide_pci_device); pci_init(PCI_CONFIG_TYPE_2); @@ -434,9 +433,8 @@ machine_at_batman_init(const machine_t *model) } device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); - device_add(&amstrad_megapc_nvr_device); device_add(&ide_pci_device); pci_init(PCI_CONFIG_TYPE_2); @@ -466,9 +464,8 @@ machine_at_batman_init(const machine_t *model) void machine_at_premiere_common_init(const machine_t *model, int pci_switch) { - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); - device_add(&amstrad_megapc_nvr_device); device_add(&ide_pci_2ch_device); pci_init(PCI_CONFIG_TYPE_2 | pci_switch); @@ -669,8 +666,7 @@ machine_at_excaliburpci2_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&ami_1994_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_socket4_5.c b/src/machine/m_at_socket4_5.c index 573f8bb71..2a2365ec7 100644 --- a/src/machine/m_at_socket4_5.c +++ b/src/machine/m_at_socket4_5.c @@ -83,7 +83,7 @@ machine_at_celebris5xx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_socket5.c b/src/machine/m_at_socket5.c index adfdfbacd..a25ce383a 100644 --- a/src/machine/m_at_socket5.c +++ b/src/machine/m_at_socket5.c @@ -371,8 +371,7 @@ machine_at_apollo_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&ami_1995_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -402,8 +401,7 @@ machine_at_optiplexgxl_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&amstrad_megapc_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 1, 2, 3, 4); @@ -428,6 +426,91 @@ machine_at_optiplexgxl_init(const machine_t *model) return ret; } +static const device_config_t pt2000_config[] = { + // clang-format off + { + .name = "bios", + .description = "BIOS Version", + .type = CONFIG_BIOS, + .default_string = "pt2000", + .default_int = 0, + .file_filter = NULL, + .spinner = { 0 }, + .selection = { { 0 } }, + .bios = { + { + .name = "Award Modular BIOS v4.50GP - Revision T1.01", + .internal_name = "pt2000", + .bios_type = BIOS_NORMAL, + .files_no = 1, + .local = 0, + .size = 131072, + .files = { "roms/machines/ficpt2000/PT2000_v1.01.BIN", "" } + }, + { + .name = "Award Modular BIOS v4.51PG - Revision 3.072C806", + .internal_name = "pt2000_451pg", + .bios_type = BIOS_NORMAL, + .files_no = 1, + .local = 0, + .size = 131072, + .files = { "roms/machines/ficpt2000/3072c806.bin", "" } + }, + { .files_no = 0 } + }, + }, + { .name = "", .description = "", .type = CONFIG_END } + // clang-format on +}; + +const device_t pt2000_device = { + .name = "FIC PT-2000", + .internal_name = "pt2000_device", + .flags = 0, + .local = 0, + .init = NULL, + .close = NULL, + .reset = NULL, + .available = NULL, + .speed_changed = NULL, + .force_redraw = NULL, + .config = pt2000_config +}; + +int +machine_at_pt2000_init(const machine_t *model) +{ + int ret = 0; + const char *fn; + + /* No ROMs available */ + if (!device_available(model->device)) + return ret; + + device_context(model->device); + fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0); + ret = bios_load_linear(fn, 0x000e0000, 131072, 0); + device_context_restore(); + + machine_at_common_init(model); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1); + pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2); + pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3); + pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); + + device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); + device_add(&i430fx_device); + device_add(&piix_device); + device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398)); + device_add(&intel_flash_bxt_device); + + return ret; +} + static void machine_at_morrison32_gpio_init(void) { @@ -476,7 +559,7 @@ machine_at_morrison32_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_morrison32_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -571,7 +654,7 @@ machine_at_pc330_65x6_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_morrison64_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -625,91 +708,6 @@ machine_at_zappa_gpio_init(void) machine_set_gpio_default(gpio); } -static const device_config_t pt2000_config[] = { - // clang-format off - { - .name = "bios", - .description = "BIOS Version", - .type = CONFIG_BIOS, - .default_string = "pt2000", - .default_int = 0, - .file_filter = NULL, - .spinner = { 0 }, - .selection = { { 0 } }, - .bios = { - { - .name = "Award Modular BIOS v4.50GP - Revision T1.01", - .internal_name = "pt2000", - .bios_type = BIOS_NORMAL, - .files_no = 1, - .local = 0, - .size = 131072, - .files = { "roms/machines/ficpt2000/PT2000_v1.01.BIN", "" } - }, - { - .name = "Award Modular BIOS v4.51PG - Revision 3.072C806", - .internal_name = "pt2000_451pg", - .bios_type = BIOS_NORMAL, - .files_no = 1, - .local = 0, - .size = 131072, - .files = { "roms/machines/ficpt2000/3072c806.bin", "" } - }, - { .files_no = 0 } - }, - }, - { .name = "", .description = "", .type = CONFIG_END } - // clang-format on -}; - -const device_t pt2000_device = { - .name = "FIC PT-2000", - .internal_name = "pt2000_device", - .flags = 0, - .local = 0, - .init = NULL, - .close = NULL, - .reset = NULL, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = pt2000_config -}; - -int -machine_at_pt2000_init(const machine_t *model) -{ - int ret = 0; - const char *fn; - - /* No ROMs available */ - if (!device_available(model->device)) - return ret; - - device_context(model->device); - fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0); - ret = bios_load_linear(fn, 0x000e0000, 131072, 0); - device_context_restore(); - - machine_at_common_init(model); - - pci_init(PCI_CONFIG_TYPE_1); - pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1); - pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2); - pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3); - pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); - - device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); - device_add(&i430fx_device); - device_add(&piix_device); - device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398)); - device_add(&intel_flash_bxt_device); - - return ret; -} - static const device_config_t zappa_config[] = { // clang-format off { @@ -778,7 +776,7 @@ machine_at_zappa_init(const machine_t *model) ret = bios_load_linear_combined(fn, fn2, 0x20000, 128); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_zappa_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -894,8 +892,7 @@ machine_at_hawk_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&ami_1994_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1088,8 +1085,7 @@ machine_at_ms5109_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&ami_1994_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1121,8 +1117,7 @@ machine_at_torino_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&ami_1994_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1189,7 +1184,7 @@ machine_at_bravoms586_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1216,36 +1211,6 @@ machine_at_bravoms586_init(const machine_t *model) return ret; } -int -machine_at_g586vpmc_init(const machine_t *model) -{ - int ret; - - ret = bios_load_linear("roms/machines/g586vpmc/Vpm_c3.bin", - 0x000e0000, 131072, 0); - - if (bios_only || !ret) - return ret; - - machine_at_common_init_ex(model, 2); - - pci_init(PCI_CONFIG_TYPE_1); - pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x02, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1); - pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 4, 1, 2); - pci_register_slot(0x08, PCI_CARD_NORMAL, 4, 1, 2, 3); - pci_register_slot(0x0A, PCI_CARD_IDE, 0, 0, 0, 0); - - device_add(&vl82c59x_device); - device_add(&sst_flash_29ee010_device); - device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); - device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398)); - device_add(&ide_cmd646_device); - return ret; -} - int machine_at_m54si_init(const machine_t *model) { @@ -1257,7 +1222,7 @@ machine_at_m54si_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1288,7 +1253,7 @@ machine_at_pb600_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1324,7 +1289,7 @@ machine_at_globalyst620_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1346,3 +1311,33 @@ machine_at_globalyst620_init(const machine_t *model) return ret; } + +int +machine_at_g586vpmc_init(const machine_t *model) +{ + int ret; + + ret = bios_load_linear("roms/machines/g586vpmc/Vpm_c3.bin", + 0x000e0000, 131072, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x02, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1); + pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 4, 1, 2); + pci_register_slot(0x08, PCI_CARD_NORMAL, 4, 1, 2, 3); + pci_register_slot(0x0A, PCI_CARD_IDE, 0, 0, 0, 0); + + device_add(&vl82c59x_wildcat_device); + device_add(&sst_flash_29ee010_device); + device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); + device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398)); + device_add(&ide_cmd646_device); + return ret; +} diff --git a/src/machine/m_at_socket7.c b/src/machine/m_at_socket7.c index 24b0b9e84..d90a4e113 100644 --- a/src/machine/m_at_socket7.c +++ b/src/machine/m_at_socket7.c @@ -55,7 +55,7 @@ machine_at_acerm3a_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -190,7 +190,7 @@ machine_at_rubyusb_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_rubyusb_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -326,7 +326,7 @@ machine_at_cu430hx_init(const machine_t *model) ret = bios_load_linear_combined2(fn[0], fn[1], fn[2], fn[3], fn[4], 0x3a000, 128); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_cu430hx_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -452,7 +452,7 @@ machine_at_tc430hx_init(const machine_t *model) ret = bios_load_linear_combined2(fn[0], fn[1], fn[2], fn[3], fn[4], 0x3a000, 128); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_tc430hx_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -544,7 +544,7 @@ machine_at_m7shi_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); @@ -573,8 +573,7 @@ machine_at_epc2102_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add_params(&at_nvr_device, (void *) 0x20); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -613,7 +612,7 @@ machine_at_pcv90_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_ag430hx_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -647,7 +646,7 @@ machine_at_p55t2s_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -801,7 +800,7 @@ machine_at_presario2240_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_NO_BRIDGES); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -831,7 +830,7 @@ machine_at_presario4500_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_NO_BRIDGES); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -865,7 +864,7 @@ machine_at_dellhannibalp_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -980,7 +979,7 @@ machine_at_p55va_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1013,7 +1012,7 @@ machine_at_gw2kte_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1046,7 +1045,7 @@ machine_at_brio80xx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); @@ -1168,7 +1167,7 @@ machine_at_pb680_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_nv430vx_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -1201,7 +1200,7 @@ machine_at_pb810_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1293,7 +1292,7 @@ machine_at_nupro592_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1333,7 +1332,7 @@ machine_at_tx97_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1383,7 +1382,7 @@ machine_at_optiplexgn_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 1, 2, 3, 4); @@ -1421,7 +1420,7 @@ machine_at_tomahawk_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1463,7 +1462,7 @@ machine_at_ym430tx_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1495,7 +1494,7 @@ machine_at_tx97xv_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 1, 2, 3, 4); @@ -1648,7 +1647,7 @@ machine_at_ms5156_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1684,7 +1683,7 @@ machine_at_ma23c_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1775,7 +1774,7 @@ machine_at_an430tx_init(const machine_t *model) ret = bios_load_linear_combined2(fn[0], fn[1], fn[2], fn[3], fn[4], 0x3a000, 160); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1814,7 +1813,7 @@ machine_at_mb540n_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1845,7 +1844,7 @@ machine_at_56a5_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1877,7 +1876,7 @@ machine_at_p5mms98_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1910,7 +1909,7 @@ machine_at_richmond_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1944,7 +1943,7 @@ machine_at_ficva502_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1975,7 +1974,7 @@ machine_at_ficpa2012_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2006,7 +2005,7 @@ machine_at_via809ds_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2038,7 +2037,7 @@ machine_at_cb52xsi_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2121,7 +2120,7 @@ machine_at_ms5146_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2204,7 +2203,7 @@ machine_at_r534f_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2233,7 +2232,7 @@ machine_at_sp97xv_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2262,7 +2261,7 @@ machine_at_sq578_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2290,7 +2289,7 @@ machine_at_ms5172_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2374,7 +2373,7 @@ machine_at_m5ata_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 1, 2, 3, 4); @@ -2403,7 +2402,7 @@ machine_at_ms5164_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -2436,7 +2435,7 @@ machine_at_m560_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_socket7_3v.c b/src/machine/m_at_socket7_3v.c index a1ea76940..41bb1406c 100644 --- a/src/machine/m_at_socket7_3v.c +++ b/src/machine/m_at_socket7_3v.c @@ -204,7 +204,7 @@ machine_at_holly_init(const machine_t *model) /* HP Pavilion Holly, 7070/7090/51 if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_holly_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -228,6 +228,38 @@ machine_at_holly_init(const machine_t *model) /* HP Pavilion Holly, 7070/7090/51 return ret; } +int +machine_at_vectra500mt_init(const machine_t *model) +{ + int ret; + + ret = bios_load_linear("roms/machines/vectra500mt/GJ0718.FUL", + 0x000e0000, 131072, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x0D, PCI_CARD_VIDEO, 0, 0, 0, 0); + pci_register_slot(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x07, PCI_CARD_NORMAL, 2, 3, 4, 1); + pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2); + + if (gfxcard[0] == VID_INTERNAL) + device_add(machine_get_vid_device(machine)); + + device_add(&i430fx_device); + device_add(&piix_device); + device_add_params(&fdc37c93x_device, (void *) (FDC37XXX2 | FDC37C93X_NORMAL)); + device_add(&sst_flash_29ee010_device); + + return ret; +} + static void machine_at_vectra52_gpio_init(void) { @@ -308,7 +340,7 @@ const device_t vectra52_device = { int machine_at_vectra52_init(const machine_t *model) { - int ret = 0; + int ret = 0; const char *fn; /* No ROMs available */ @@ -320,8 +352,8 @@ machine_at_vectra52_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); - machine_at_vectra52_gpio_init(); + machine_at_common_init(model); + machine_at_vectra52_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -335,40 +367,9 @@ machine_at_vectra52_init(const machine_t *model) device_add_params(&pc87306_device, (void *) PCX730X_PHOENIX_42); device_add(&intel_flash_bxt_device); - if (gfxcard[0] == VID_INTERNAL) - device_add(machine_get_vid_device(machine)); - - return ret; -} -int -machine_at_vectra500mt_init(const machine_t *model) -{ - int ret; - - ret = bios_load_linear("roms/machines/vectra500mt/GJ0718.FUL", - 0x000e0000, 131072, 0); - - if (bios_only || !ret) - return ret; - - machine_at_common_init_ex(model, 2); - - pci_init(PCI_CONFIG_TYPE_1); - pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x0D, PCI_CARD_VIDEO, 0, 0, 0, 0); - pci_register_slot(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x07, PCI_CARD_NORMAL, 2, 3, 4, 1); - pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2); - if (gfxcard[0] == VID_INTERNAL) device_add(machine_get_vid_device(machine)); - device_add(&i430fx_device); - device_add(&piix_device); - device_add_params(&fdc37c93x_device, (void *) (FDC37XXX2 | FDC37C93X_NORMAL)); - device_add(&sst_flash_29ee010_device); - return ret; } @@ -383,7 +384,7 @@ machine_at_vectra54_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -404,6 +405,80 @@ machine_at_vectra54_init(const machine_t *model) return ret; } +static void +machine_at_atlantis_gpio_init(void) +{ + uint32_t gpio = 0xffffe0cf; + + /* Register 0x0079: */ + /* Bit 7: 0 = Clear password, 1 = Keep password. */ + /* Bit 6: 0 = NVRAM cleared by jumper, 1 = NVRAM normal. */ + /* Bit 5: 0 = CMOS Setup disabled, 1 = CMOS Setup enabled. */ + /* Bit 4: External CPU clock (Switch 8). */ + /* Bit 3: External CPU clock (Switch 7). */ + /* 50 MHz: Switch 7 = Off, Switch 8 = Off. */ + /* 60 MHz: Switch 7 = On, Switch 8 = Off. */ + /* 66 MHz: Switch 7 = Off, Switch 8 = On. */ + /* Bit 2: 0 = On-board audio absent, 1 = On-board audio present. */ + /* Bit 1: 0 = Soft-off capable power supply present, 1 = Soft-off capable power supply absent. */ + /* Bit 0: 0 = 2x multiplier, 1 = 1.5x multiplier (Switch 6). */ + /* NOTE: A bit is read as 1 if switch is off, and as 0 if switch is on. */ + if (cpu_busspeed <= 50000000) + gpio |= 0xffff0000; + else if ((cpu_busspeed > 50000000) && (cpu_busspeed <= 60000000)) + gpio |= 0xffff0800; + else if (cpu_busspeed > 60000000) + gpio |= 0xffff1000; + + if (sound_card_current[0] == SOUND_INTERNAL) + gpio |= 0xffff0400; + + if (cpu_dmulti <= 1.5) + gpio |= 0xffff0100; + else + gpio |= 0xffff0000; + + machine_set_gpio_default(gpio); +} + +int +machine_at_atlantis_init(const machine_t *model) +{ + int ret; + + ret = bios_load_linear_combined("roms/machines/atlantis/1007CL0_.BIO", + "roms/machines/atlantis/1007CL0_.BI1", + 0x20000, 128); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + machine_at_atlantis_gpio_init(); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0); + pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1); + pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2); + pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3); + + if (gfxcard[0] == VID_INTERNAL) + device_add(machine_get_vid_device(machine)); + + if (sound_card_current[0] == SOUND_INTERNAL) + machine_snd = device_add(machine_get_snd_device(machine)); + + device_add(&i430fx_device); + device_add(&piix_device); + device_add_params(&pc87306_device, (void *) PCX730X_AMI); + device_add(&intel_flash_bxt_ami_device); + + return ret; +} + static const device_config_t thor_config[] = { // clang-format off { @@ -535,7 +610,7 @@ machine_at_thor_init(const machine_t *model) } device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_thor_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -648,58 +723,6 @@ machine_at_endeavor_gpio_handler(uint8_t write, uint32_t val) return ret; } -static void -machine_at_monaco_gpio_init(void) -{ - uint32_t gpio = 0xffffe0cf; - - /* Register 0x0079: */ - /* Bit 7: 0 = Clear password, 1 = Keep password. */ - /* Bit 6: 0 = NVRAM cleared by jumper, 1 = NVRAM normal. */ - /* Bit 5: 0 = CMOS Setup disabled, 1 = CMOS Setup enabled. */ - /* Bit 4: External CPU clock (Switch 8). */ - /* Bit 3: External CPU clock (Switch 7). */ - /* 50 MHz: Switch 7 = Off, Switch 8 = Off. */ - /* 60 MHz: Switch 7 = On, Switch 8 = Off. */ - /* 66 MHz: Switch 7 = Off, Switch 8 = On. */ - /* Bit 2: 0 = On-board audio absent, 1 = On-board audio present. */ - /* Bit 1: 0 = Soft-off capable power supply present, 1 = Soft-off capable power supply absent. */ - /* Bit 0: 0 = 2x multiplier, 1 = 1.5x multiplier (Switch 6). */ - /* NOTE: A bit is read as 1 if switch is off, and as 0 if switch is on. */ - if (cpu_busspeed <= 50000000) - gpio |= 0xffff0000; - else if ((cpu_busspeed > 50000000) && (cpu_busspeed <= 60000000)) - gpio |= 0xffff0800; - else if (cpu_busspeed > 60000000) - gpio |= 0xffff1000; - - if (sound_card_current[0] == SOUND_INTERNAL) - gpio |= 0xffff0400; - - if (cpu_dmulti <= 1.5) - gpio |= 0xffff0100; - else - gpio |= 0xffff0000; - - machine_set_gpio_default(gpio); -} - -uint32_t -machine_at_monaco_gpio_handler(uint8_t write, uint32_t val) -{ - uint32_t ret = machine_get_gpio_default(); - - if (write) { - ret &= ((val & 0xffffffcf) | 0xffff0000); - ret |= (val & 0x00000030); - - machine_set_gpio(ret); - } else - ret = machine_get_gpio(); - - return ret; -} - int machine_at_endeavor_init(const machine_t *model) { @@ -712,7 +735,7 @@ machine_at_endeavor_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_endeavor_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -739,45 +762,7 @@ machine_at_endeavor_init(const machine_t *model) } /* The Monaco and Atlantis share the same GPIO config */ -#define machine_at_atlantis_gpio_init machine_at_monaco_gpio_init - -int -machine_at_atlantis_init(const machine_t *model) -{ - int ret; - - ret = bios_load_linear_combined("roms/machines/atlantis/1007CL0_.BIO", - "roms/machines/atlantis/1007CL0_.BI1", - 0x20000, 128); - - if (bios_only || !ret) - return ret; - - machine_at_common_init_ex(model, 2); - machine_at_atlantis_gpio_init(); - - pci_init(PCI_CONFIG_TYPE_1); - pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0); - pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1); - pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2); - pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3); - - if (gfxcard[0] == VID_INTERNAL) - device_add(machine_get_vid_device(machine)); - - if (sound_card_current[0] == SOUND_INTERNAL) - machine_snd = device_add(machine_get_snd_device(machine)); - - device_add(&i430fx_device); - device_add(&piix_device); - device_add_params(&pc87306_device, (void *) PCX730X_AMI); - device_add(&intel_flash_bxt_ami_device); - - return ret; -} +#define machine_at_monaco_gpio_init machine_at_atlantis_gpio_init static const device_config_t monaco_config[] = { // clang-format off @@ -830,6 +815,22 @@ const device_t monaco_device = { .config = monaco_config }; +uint32_t +machine_at_monaco_gpio_handler(uint8_t write, uint32_t val) +{ + uint32_t ret = machine_get_gpio_default(); + + if (write) { + ret &= ((val & 0xffffffcf) | 0xffff0000); + ret |= (val & 0x00000030); + + machine_set_gpio(ret); + } else + ret = machine_get_gpio(); + + return ret; +} + int machine_at_monaco_init(const machine_t *model) { @@ -847,7 +848,7 @@ machine_at_monaco_init(const machine_t *model) ret = bios_load_linear_combined(fn, fn2, 0x20000, 128); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_monaco_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -999,7 +1000,7 @@ machine_at_pb640_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); machine_at_pb640_gpio_init(); pci_init(PCI_CONFIG_TYPE_1); @@ -1148,7 +1149,7 @@ machine_at_acerv35n_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1313,8 +1314,7 @@ machine_at_d943_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); - device_add(&amstrad_megapc_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1356,7 +1356,7 @@ machine_at_gw2kma_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1456,7 +1456,7 @@ machine_at_5sbm2_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1485,7 +1485,7 @@ machine_at_amis727_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1578,7 +1578,7 @@ machine_at_ap5s_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1607,7 +1607,7 @@ machine_at_fm562_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 1, 2, 3, 4); @@ -1638,7 +1638,7 @@ machine_at_pc140_6260_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 1, 2, 3, 4); @@ -1724,7 +1724,7 @@ machine_at_ms5124_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -1754,7 +1754,7 @@ machine_at_zeoswildcat_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_socket8.c b/src/machine/m_at_socket8.c index 11fbcd694..b79a057af 100644 --- a/src/machine/m_at_socket8.c +++ b/src/machine/m_at_socket8.c @@ -72,6 +72,7 @@ machine_at_ap61_init(const machine_t *model) return ret; } +/* i450GX */ int machine_at_p6rp4_init(const machine_t *model) { @@ -83,8 +84,7 @@ machine_at_p6rp4_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); - device_add(&p6rp4_nvr_device); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x19, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -173,7 +173,7 @@ machine_at_ficpo6000_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x19, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -207,7 +207,7 @@ machine_at_acerv60n_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -496,7 +496,7 @@ machine_at_m6mi_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_at_sockets7.c b/src/machine/m_at_sockets7.c index 725874a07..a87b889e7 100644 --- a/src/machine/m_at_sockets7.c +++ b/src/machine/m_at_sockets7.c @@ -50,7 +50,7 @@ machine_at_p5a_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -86,7 +86,7 @@ machine_at_m579_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -118,7 +118,7 @@ machine_at_gwlucas_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -156,7 +156,7 @@ machine_at_5aa_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -243,7 +243,7 @@ machine_at_g5x_init(const machine_t *model) ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -278,7 +278,7 @@ machine_at_ax59pro_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -364,7 +364,7 @@ machine_at_delhi3_init(const machine_t *model) ret = bios_load_linear(fn, 0x000c0000, 262144, 0); device_context_restore(); - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -395,7 +395,7 @@ machine_at_mvp3_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -425,7 +425,7 @@ machine_at_ficva503a_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -461,7 +461,7 @@ machine_at_5emapro_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); @@ -496,7 +496,7 @@ machine_at_k6bv3p_a_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 1, 2, 3, 5); @@ -528,7 +528,7 @@ machine_at_5sg100_init(const machine_t *model) if (bios_only || !ret) return ret; - machine_at_common_init_ex(model, 2); + machine_at_common_init(model); pci_init(PCI_CONFIG_TYPE_1); pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); diff --git a/src/machine/m_elt.c b/src/machine/m_elt.c index 1f440bad2..c0d0b9945 100644 --- a/src/machine/m_elt.c +++ b/src/machine/m_elt.c @@ -191,7 +191,7 @@ machine_elt_init(const machine_t *model) * indicate the correct display type */ device_add(&kbc_xt_device); - device_add(&elt_nvr_device); + device_add_params(model->nvr_device, (void *) model->nvr_params); io_sethandler(0x11b8, 1, sysstat_in, NULL, NULL, sysstat_out, NULL, NULL, cga); diff --git a/src/machine/m_ps1.c b/src/machine/m_ps1.c index b37abdaa8..895713cb1 100644 --- a/src/machine/m_ps1.c +++ b/src/machine/m_ps1.c @@ -444,8 +444,6 @@ ps1_setup(int model) device_add(&ps1snd_device); } - - device_add(&ps_nvr_device); } static void diff --git a/src/machine/m_ps2_isa.c b/src/machine/m_ps2_isa.c index ec3a53894..248a141d5 100644 --- a/src/machine/m_ps2_isa.c +++ b/src/machine/m_ps2_isa.c @@ -229,8 +229,6 @@ ps2_isa_setup(int model, int cpu_type) mem_remap_top(384); - device_add(&ps_nvr_device); - device_add(&fdc_ps2_device); /* Enable the builtin HDC. */ diff --git a/src/machine/m_ps2_mca.c b/src/machine/m_ps2_mca.c index f02dd265a..b0d13adaa 100644 --- a/src/machine/m_ps2_mca.c +++ b/src/machine/m_ps2_mca.c @@ -1636,7 +1636,6 @@ machine_ps2_common_init(const machine_t *model) dma16_init(); ps2_dma_init(); - device_add(&ps_no_nmi_nvr_device); pic2_init(); int pit_type = ((pit_mode == -1 && is486) || pit_mode == 1) ? PIT_8254_FAST : PIT_8254; diff --git a/src/machine/m_xt.c b/src/machine/m_xt.c index 3e1c78a03..c3904d7ec 100644 --- a/src/machine/m_xt.c +++ b/src/machine/m_xt.c @@ -2082,8 +2082,6 @@ machine_xt_tuliptc8_init(const machine_t *model) nmi_init(); standalone_gameport_type = &gameport_200_device; - device_add(&amstrad_megapc_nvr_device); - return ret; } @@ -2134,8 +2132,6 @@ machine_xt_pc5086_init(const machine_t *model) device_add(&kbc_xt_device); - device_add(&amstrad_megapc_nvr_device); /* NVR that is initialized to all 0x00's. */ - return ret; } diff --git a/src/machine/m_xt_xi8088.c b/src/machine/m_xt_xi8088.c index 729cf48d5..3c270bba8 100644 --- a/src/machine/m_xt_xi8088.c +++ b/src/machine/m_xt_xi8088.c @@ -207,7 +207,6 @@ machine_xt_xi8088_init(const machine_t *model) 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); pic2_init(); standalone_gameport_type = &gameport_200_device; device_add(&sst_flash_39sf010_device); diff --git a/src/machine/machine.c b/src/machine/machine.c index 2db543cf2..e11e9f901 100644 --- a/src/machine/machine.c +++ b/src/machine/machine.c @@ -117,6 +117,9 @@ machine_init_ex(int m) cpu_fast_off_reset(); pci_flags = 0x00000000; + + if (machines[m].nvr_device) + device_add_params(machines[m].nvr_device, (void *) (uintptr_t) machines[m].nvr_params); } is_pcjr = 0; diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 276653ffe..2b8a41f83 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -30,6 +30,7 @@ #include <86box/fdd.h> #include <86box/fdc.h> #include <86box/keyboard.h> +#include <86box/nvr.h> #include <86box/sio.h> #include <86box/sound.h> #include <86box/video.h> @@ -225,13 +226,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ibmpc_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -268,13 +272,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc82_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ibmpc82_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -311,13 +318,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, /* TODO: No specific kbd_device yet */ .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = &fdc_pcjr_device, - .sio_device = NULL, .vid_device = &pcjr_device, .snd_device = NULL, .net_device = NULL @@ -354,13 +364,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ibmxt_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -397,13 +410,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt86_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ibmxt86_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -440,13 +456,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -483,13 +502,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -526,13 +548,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -569,13 +594,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -612,13 +640,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc82_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -655,13 +686,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_compaq_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -698,13 +732,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &dtk_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -741,13 +778,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc82_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -784,13 +824,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -827,13 +870,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -870,13 +916,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = &fdc_xt_device, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -913,13 +962,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = &fdc_xt_device, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -956,13 +1008,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = &fdc_xt_device, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -999,13 +1054,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &jukopc_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1042,13 +1100,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1085,13 +1146,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1128,13 +1192,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc82_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pc500_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1171,13 +1238,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pc500plus_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1214,13 +1284,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc82_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pc700_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1257,13 +1330,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1300,13 +1376,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_olivetti_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &m19_vid_device, .snd_device = NULL, .net_device = NULL @@ -1343,13 +1422,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1386,13 +1468,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1429,13 +1514,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1472,13 +1560,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pravetz_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1515,13 +1606,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1558,13 +1652,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1601,13 +1698,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = &fdc_xt_device, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1644,13 +1744,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1687,13 +1790,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1730,13 +1836,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_tandy_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &tandy_1000_video_device, .snd_device = NULL, .net_device = NULL @@ -1773,13 +1882,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_tandy_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &tandy_1000hx_video_device, .snd_device = NULL, .net_device = NULL @@ -1816,13 +1928,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &to16_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1859,13 +1974,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_t1x00_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &t1000_video_device, .snd_device = NULL, .net_device = NULL @@ -1902,13 +2020,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &vendex_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = &fdc_xt_device, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1945,13 +2066,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &laserxt_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -1988,13 +2112,16 @@ const machine_t machines[] = { .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00400cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &xi8088_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2031,13 +2158,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2074,13 +2204,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_zenith_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2117,13 +2250,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_zenith_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2160,13 +2296,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_zenith_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &v6355d_device, .snd_device = NULL, .net_device = NULL @@ -2203,13 +2342,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_pc_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2246,13 +2388,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2289,13 +2434,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2334,13 +2482,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMSTRAD, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &vid_1512_device, .snd_device = NULL, .net_device = NULL @@ -2377,13 +2528,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMSTRAD, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &vid_1640_device, .snd_device = NULL, .net_device = NULL @@ -2420,13 +2574,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMSTRAD, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &vid_pc2086_device, .snd_device = NULL, .net_device = NULL @@ -2463,13 +2620,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMSTRAD, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &vid_pc3086_device, .snd_device = NULL, .net_device = NULL @@ -2506,13 +2666,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &f82c710_pc5086_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2549,13 +2712,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMSTRAD_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &vid_200_device, .snd_device = NULL, .net_device = NULL @@ -2592,13 +2758,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMSTRAD_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &vid_ppc512_device, .snd_device = NULL, .net_device = NULL @@ -2635,13 +2804,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_compaq_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2678,13 +2850,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_ELT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, /* Discrete onboard video card? */ .snd_device = NULL, .net_device = NULL @@ -2721,13 +2896,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ibm5550_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2763,13 +2941,16 @@ const machine_t machines[] = { .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2806,13 +2987,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &ogc_m24_device, .snd_device = NULL, .net_device = NULL @@ -2850,13 +3034,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2893,13 +3080,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -2936,13 +3126,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL /* TODO: No specific kbd_device yet */, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &tandy_1000sl_video_device, .snd_device = NULL, .net_device = NULL @@ -2979,13 +3172,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_t1x00_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &t1200_video_device, .snd_device = NULL, .net_device = NULL @@ -3022,13 +3218,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &v86p_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3065,13 +3264,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_xt_lxt3_device, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &lxt3_device, .kbd_device = &keyboard_pc_xt_device, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3111,13 +3313,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ibmat_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3155,13 +3360,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ps1_2011_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3199,13 +3407,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ps2_m30_286_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3243,13 +3454,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ibmxt286_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3288,13 +3502,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3332,13 +3549,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3376,13 +3596,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &compaq_plasma_device, .snd_device = NULL, .net_device = NULL @@ -3419,13 +3642,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3463,13 +3689,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pc900_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3507,13 +3736,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3551,13 +3783,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_NCR, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004df, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3595,13 +3830,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_OLIVETTI, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3640,13 +3878,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3684,13 +3925,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3728,13 +3972,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_QUADTEL, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3772,13 +4019,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3817,13 +4067,16 @@ const machine_t machines[] = { .kbc_device = &kbc_at_device, /* The version number is a guess - we have no probe of this machine's controller. */ .kbc_params = KBC_VEN_PHOENIX | 0x00010500, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3861,13 +4114,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_SIEMENS, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3905,13 +4161,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_TOSHIBA, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x0000bfff, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3949,12 +4208,15 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00003800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -3993,13 +4255,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4037,12 +4302,15 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AWARD | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4081,13 +4349,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4126,13 +4397,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4170,13 +4444,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_CHIPS | 0x0000a600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4214,13 +4491,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_QUADTEL, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4258,13 +4538,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004200, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4303,12 +4586,15 @@ const machine_t machines[] = { .kbc_device = &kbc_at_device, /* The version number is a guess - we have no probe of this machine's controller. */ .kbc_params = KBC_VEN_PHOENIX | 0x00010500, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4346,13 +4632,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_CHIPS | 0x0000a600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4390,13 +4679,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4434,17 +4726,68 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_NCR, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004df, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = ¶dise_pvga1a_ncr3302_device, .snd_device = NULL, .net_device = NULL }, + /* Has unknown keyboard controller. */ + { + .name = "[NEAT] Nixdorf 8810 M30", + .internal_name = "n8810m30", + .type = MACHINE_TYPE_286, + .chipset = MACHINE_CHIPSET_NEAT, + .init = machine_at_n8810m30_init, + .p1_handler = machine_generic_p1_handler, + .gpio_handler = NULL, + .available_flag = MACHINE_AVAILABLE, + .gpio_acpi_handler = NULL, + .cpu = { + .package = CPU_PKG_286, + .block = CPU_BLOCK_NONE, + .min_bus = 0, + .max_bus = 0, + .min_voltage = 0, + .max_voltage = 0, + .min_multi = 0, + .max_multi = 0 + }, + .bus_flags = MACHINE_AT, + /* Has SCSI chip WD33C93AJM, which is not yet emulated. */ + .flags = MACHINE_FLAGS_NONE, + .ram = { + .min = 512, + .max = 16384, + .step = 128 + }, + .nvrmask = 127, + .jumpered_ecp_dma = 0, + .default_jumpered_ecp_dma = -1, + .kbc_device = &kbc_at_device, + .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, + .kbc_p1 = 0x000004f0, + .gpio = 0xffffffff, + .gpio_acpi = 0xffffffff, + .device = NULL, + .kbd_device = NULL, + .fdc_device = NULL, + .vid_device = NULL, + .snd_device = NULL, + .net_device = NULL + }, /* Has the VLSI 82C113 with on-chip KBC. */ { .name = "[SCAMP] Amstrad PC7286", @@ -4478,13 +4821,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5401_onboard_device, .snd_device = NULL, .net_device = NULL @@ -4522,13 +4868,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &f82c710_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4566,13 +4915,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_CHIPS | 0x0000a600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &f82c710_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4612,13 +4964,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4656,13 +5011,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4700,13 +5058,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4743,13 +5104,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5401_onboard_device, .snd_device = NULL, .net_device = NULL @@ -4787,13 +5151,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4832,13 +5199,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4876,13 +5246,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -4920,13 +5293,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &ati28800k_spc4620p_device, .snd_device = NULL, .net_device = NULL @@ -4964,13 +5340,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00003800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5009,13 +5388,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM | KBC_FLAG_IS_TYPE2, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ps2_model_50_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5053,13 +5435,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM | KBC_FLAG_IS_TYPE2, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5100,12 +5485,15 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5143,13 +5531,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_NCR, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004df, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5187,13 +5578,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_QUADTEL, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5232,13 +5626,16 @@ const machine_t machines[] = { .kbc_device = &kbc_at_device, /* The version number is a guess - we have no probe of this machine's controller. */ .kbc_params = KBC_VEN_PHOENIX | 0x00010500, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pbl300sx_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &oti037_pbl300sx_device, .snd_device = NULL, .net_device = NULL @@ -5277,13 +5674,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5321,13 +5721,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5365,13 +5768,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00003800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &c325ax_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5409,13 +5815,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &tvga8900d_device, /* Onboard variant not yet emulated */ .snd_device = NULL, .net_device = NULL @@ -5454,13 +5863,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ACER, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x004008f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &oti077_acer100t_device, .snd_device = NULL, .net_device = NULL @@ -5500,13 +5912,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &oti067_ama932j_device, .snd_device = NULL, .net_device = NULL @@ -5544,13 +5959,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5402_onboard_device, .snd_device = NULL, .net_device = NULL @@ -5588,13 +6006,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00010500, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5631,13 +6052,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004400, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5677,13 +6101,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5721,6 +6148,56 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, + .kbc_p1 = 0x000004f0, + .gpio = 0xffffffff, + .gpio_acpi = 0xffffffff, + .device = NULL, + .kbd_device = NULL, + .fdc_device = NULL, + .vid_device = NULL, + .snd_device = NULL, + .net_device = NULL + }, + { + .name = "[NEAT] Philips P3345", + .internal_name = "p3345", + .type = MACHINE_TYPE_386SX, + .chipset = MACHINE_CHIPSET_NEAT, + .init = machine_at_p3345_init, + .p1_handler = machine_generic_p1_handler, + .gpio_handler = NULL, + .available_flag = MACHINE_AVAILABLE, + .gpio_acpi_handler = NULL, + .cpu = { + .package = CPU_PKG_386SX, + .block = CPU_BLOCK_NONE, + .min_bus = 0, + .max_bus = 0, + .min_voltage = 0, + .max_voltage = 0, + .min_multi = 0, + .max_multi = 0 + }, + .bus_flags = MACHINE_AT, + .flags = MACHINE_IDE, + .ram = { + .min = 2048, + .max = 8192, + .step = 128 + }, + .nvrmask = 127, + .jumpered_ecp_dma = 0, + .default_jumpered_ecp_dma = -1, + .kbc_device = &kbc_at_device, + .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, @@ -5732,7 +6209,8 @@ const machine_t machines[] = { .snd_device = NULL, .net_device = NULL }, - { .name = "[NEATsx] OKI if386AX30L", + { + .name = "[NEATsx] OKI if386AX30L", .internal_name = "if386sx", .type = MACHINE_TYPE_386SX, .chipset = MACHINE_CHIPSET_NEAT_SX, @@ -5764,13 +6242,16 @@ const machine_t machines[] = { .kbc_device = &kbc_at_device, /* The version number is a guess - we have no probe of this machine's controller. */ .kbc_params = KBC_VEN_PHOENIX | 0x00010500, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &if386jega_device, .snd_device = NULL, .net_device = NULL @@ -5808,13 +6289,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00003800, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5852,13 +6336,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5898,13 +6385,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, /* The keyboard controller is part of the VL82c113. */ .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5402_onboard_commodore_device, .snd_device = NULL, .net_device = NULL @@ -5944,13 +6434,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004400, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -5989,13 +6482,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00002020, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &dells333sl_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5420_onboard_device, .snd_device = NULL, .net_device = NULL @@ -6034,13 +6530,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, /* Possibly. */ .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &ati28800k_spc6033p_device, .snd_device = NULL, .net_device = NULL @@ -6079,13 +6578,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, /* Possibly. */ .kbc_params = KBC_VEN_AMI | 0x00004600, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6123,13 +6625,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_QUADTEL, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = ¶dise_wd90c11_megapc_device, .snd_device = NULL, .net_device = NULL @@ -6169,13 +6674,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6211,12 +6719,15 @@ const machine_t machines[] = { .nvrmask = 63, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6256,13 +6767,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6300,13 +6814,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6347,13 +6864,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6393,13 +6913,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_COMPAQ, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000000f4, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &deskpro386_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6437,13 +6960,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_COMPAQ, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000000f4, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &compaq_plasma_device, .snd_device = NULL, .net_device = NULL @@ -6481,13 +7007,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6525,13 +7054,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6570,13 +7102,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6614,6 +7149,10 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, /* TODO: Lance LT38C41. */ .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, @@ -6655,13 +7194,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00003800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6699,13 +7241,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AWARD | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6744,13 +7289,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6788,13 +7336,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | KBC_FLAG_IS_CLONE | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &dataexpert386wb_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6834,13 +7385,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6878,13 +7432,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AWARD | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6922,13 +7479,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -6968,13 +7528,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7012,13 +7575,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7058,13 +7624,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7102,13 +7671,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_SIEMENS, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7147,13 +7719,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004d00, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &opti495_ami_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7191,13 +7766,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7235,13 +7813,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7279,13 +7860,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7326,13 +7910,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7370,13 +7957,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7414,13 +8004,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7459,13 +8052,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7503,13 +8099,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7548,13 +8147,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7592,13 +8194,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7636,13 +8241,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5424_onboard_device, .snd_device = NULL, .net_device = NULL @@ -7680,13 +8288,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7728,13 +8339,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -7772,13 +8386,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, /* The keyboard controller is part of the VL82c113. */ .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, /*Has SIO (sorta): VLSI VL82C113A SCAMP Combination I/O*/ + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, /*Has SIO (sorta): VLSI VL82C113A SCAMP Combination I/O*/ .vid_device = &gd5426_onboard_isa_device, .snd_device = NULL, .net_device = NULL @@ -7816,13 +8433,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5428_onboard_device, .snd_device = NULL, .net_device = NULL @@ -7860,13 +8480,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &oti077_pcs44c_device, .snd_device = NULL, .net_device = NULL @@ -7904,13 +8527,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &sensationaud_device, .net_device = NULL @@ -7948,13 +8574,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, /*Has SIO (sorta): VLSI VL82C113A SCAMP Combination I/O*/ + /*Has SIO (sorta): VLSI VL82C113A SCAMP Combination I/O*/ .vid_device = &gd5426_onboard_device, .snd_device = NULL, .net_device = NULL @@ -7992,13 +8622,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AWARD | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8036,13 +8669,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8080,13 +8716,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_IBM, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_PS_NO_NMI, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8127,13 +8766,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900 /* Guess. */, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &ht216_32_pb410a_device, .snd_device = NULL, .net_device = NULL @@ -8171,13 +8813,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ACER, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x004008f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5428_onboard_device, .snd_device = NULL, .net_device = NULL @@ -8215,13 +8860,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8260,13 +8908,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8304,13 +8955,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8348,13 +9002,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMI_1992, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8392,13 +9049,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5428_vlb_onboard_device, .snd_device = NULL, .net_device = NULL @@ -8436,13 +9096,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8480,13 +9143,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_86c805_onboard_vlb_device, .snd_device = NULL, .net_device = NULL @@ -8524,13 +9190,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00002420, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5428_onboard_vlb_device, .snd_device = NULL, .net_device = NULL @@ -8569,13 +9238,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &et4000w32_onboard_device, .snd_device = NULL, .net_device = NULL @@ -8613,13 +9285,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000ce0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5428_onboard_vlb_device, .snd_device = NULL, .net_device = NULL @@ -8657,13 +9332,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8701,13 +9379,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5428_vlb_onboard_tandy_device, .snd_device = NULL, .net_device = NULL @@ -8748,13 +9429,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | KBC_FLAG_IS_CLONE | KBC_FLAG_IS_ASIC | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8792,13 +9476,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8837,13 +9524,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMI_1994, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8881,13 +9571,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8925,13 +9618,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -8969,13 +9665,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9013,13 +9712,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + /* TODO: Per-BIOS NVR parameters. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &j403tg_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9058,13 +9761,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ACER, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x004008f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9104,13 +9810,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9148,13 +9857,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | KBC_FLAG_IS_CLONE | KBC_FLAG_IS_ASIC | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9192,13 +9904,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9236,13 +9951,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9280,13 +9998,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 4, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio32_onboard_vlb_device, .snd_device = NULL, .net_device = NULL @@ -9324,13 +10045,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | KBC_FLAG_IS_CLONE | KBC_FLAG_IS_ASIC | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9368,13 +10092,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | KBC_FLAG_IS_CLONE | KBC_FLAG_IS_ASIC | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9412,13 +10139,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9456,13 +10186,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI_TRIGEM | 0x00005a00, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9504,13 +10237,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9548,13 +10284,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI_TRIGEM | 0x00005a00, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9592,13 +10331,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &tgui9440_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -9637,13 +10379,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ALI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9681,13 +10426,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00014000, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9729,13 +10477,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00005500, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9773,13 +10524,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00014000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9821,13 +10575,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ALI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9865,13 +10622,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9909,13 +10669,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9953,13 +10716,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -9997,13 +10763,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 4, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10041,13 +10810,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005200, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10085,13 +10857,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10132,13 +10907,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10176,13 +10954,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000ce0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10221,13 +11002,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10266,13 +11050,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &sb486pv_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5436_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -10310,13 +11097,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005000, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10354,13 +11144,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pc330_6573_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5430_onboard_vlb_device, .snd_device = NULL, .net_device = NULL @@ -10398,13 +11191,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pb450_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5428_vlb_onboard_device, .snd_device = NULL, .net_device = NULL @@ -10442,13 +11238,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ACER | 0x00004200, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x004008f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5434_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -10486,13 +11285,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10530,13 +11332,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10574,13 +11379,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10618,13 +11426,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10663,13 +11474,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10708,13 +11522,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10753,13 +11570,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10797,13 +11617,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, /* UMC UM8886 on-chip KBC. */ .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10842,13 +11665,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10887,13 +11713,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5430_onboard_pci_device, .snd_device = &ess_1688_device, /* Onboard variant not yet emulated */ .net_device = NULL @@ -10931,13 +11760,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -10975,13 +11807,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI_TRIGEM | 0x00005a00, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &tgui9440_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -11020,13 +11855,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI_TRIGEM | 0x00005a00, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5430_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -11065,13 +11903,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, /* UMC UM8886 on-chip KBC. */ .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11109,13 +11950,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, /* UMC UM8886 on-chip KBC. */ .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11153,13 +11997,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + /* TODO: Per-BIOS NVR parameters. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &hot433a_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11197,13 +12045,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11241,13 +12092,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11289,13 +12143,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11334,13 +12191,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11379,13 +12239,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11424,13 +12287,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11469,13 +12335,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11514,13 +12383,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11561,13 +12433,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ACER | 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x004008f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &v12p_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11609,13 +12484,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11653,13 +12531,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &p5mp3_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11697,13 +12578,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11741,13 +12625,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11785,13 +12672,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &mach32_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -11829,13 +12719,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00001030, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &batman_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11873,13 +12766,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11917,13 +12813,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -11961,13 +12860,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5434_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -12009,13 +12911,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005000, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12055,13 +12960,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12099,13 +13007,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12145,13 +13056,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005200, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMI_1994, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12189,13 +13103,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12233,13 +13150,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12280,13 +13200,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12325,13 +13248,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_vision864_pci_device, /* Onboard variant not yet emulated */ .snd_device = NULL, .net_device = NULL @@ -12372,13 +13298,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12416,13 +13345,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12460,13 +13392,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00001030, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &plato_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12504,13 +13439,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &d842_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12548,13 +13486,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005200, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12594,13 +13535,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_ACER | 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x004008f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12638,13 +13582,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMI_1995, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12682,13 +13629,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64vplus_onboard_pci_device, .snd_device = &sb_vibra16s_onboard_device, .net_device = NULL /* not yet emulated */ @@ -12726,13 +13676,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &pt2000_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12772,13 +13725,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the Super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio32_onboard_pci_device, .snd_device = &cs4232_onboard_device, .net_device = NULL @@ -12815,13 +13772,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the Super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, - .kbd_device = NULL, + .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -12861,13 +13822,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the Super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &zappa_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12908,13 +13873,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &powermatev_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &opti_82c930_device, .net_device = NULL @@ -12952,13 +13920,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI_TRIGEM | KBC_FLAG_IS_GREEN | 0x00005a00, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMI_1994, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -12998,13 +13969,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004d00, /* Guess */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13042,13 +14016,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13088,13 +14065,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005000, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13134,13 +14114,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13178,13 +14161,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13222,13 +14208,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13266,13 +14255,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMI_1994, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13310,13 +14302,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI_TRIGEM | KBC_FLAG_IS_GREEN | 0x00005a00, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AMI_1994, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &tgui9660_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -13356,13 +14351,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13403,61 +14401,21 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess */ + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5434_onboard_pci_device, .snd_device = NULL, .net_device = NULL }, - /* Has a VIA KBC chip */ - { - .name = "[VLSI SuperCore] DFI G586VPM (rev. C)", - .internal_name = "g586vpmc", - .type = MACHINE_TYPE_SOCKET5, - .chipset = MACHINE_CHIPSET_VLSI_SUPERCORE, - .init = machine_at_g586vpmc_init, - .p1_handler = machine_generic_p1_handler, - .gpio_handler = NULL, - .available_flag = MACHINE_AVAILABLE, - .gpio_acpi_handler = NULL, - .cpu = { - .package = CPU_PKG_SOCKET5_7, - .block = CPU_BLOCK_NONE, - .min_bus = 50000000, - .max_bus = 66666667, - .min_voltage = 3520, - .max_voltage = 3520, - .min_multi = 1.5, - .max_multi = 2.0 - }, - .bus_flags = MACHINE_PS2_PCI, - .flags = MACHINE_IDE_DUAL | MACHINE_APM, - .ram = { - .min = 4096, - .max = 262144, - .step = 4096 - }, - .nvrmask = 127, - .jumpered_ecp_dma = MACHINE_DMA_1 | MACHINE_DMA_3, - .default_jumpered_ecp_dma = 1, - .kbc_device = &kbc_at_device, - .kbc_params = KBC_VEN_VIA | 0x00424600, /* Guess */ - .kbc_p1 = 0x00000cf0, - .gpio = 0xffffffff, - .gpio_acpi = 0xffffffff, - .device = NULL, - .kbd_device = NULL, - .fdc_device = NULL, - .sio_device = NULL, - .vid_device = NULL, - .snd_device = NULL, - .net_device = NULL - }, /* KBC firmware is unknown. No commands outside of the base PS/2 */ /* KBC command set are used. */ { @@ -13492,13 +14450,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 4, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess */ + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13536,13 +14498,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess */ + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5430_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -13582,17 +14548,69 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess */ + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64_onboard_pci_device, .snd_device = NULL, .net_device = NULL }, + /* Has a VIA KBC chip */ + { + .name = "[VLSI Wildcat] DFI G586VPM (rev. C)", + .internal_name = "g586vpmc", + .type = MACHINE_TYPE_SOCKET5, + .chipset = MACHINE_CHIPSET_VLSI_WILDCAT, + .init = machine_at_g586vpmc_init, + .p1_handler = machine_generic_p1_handler, + .gpio_handler = NULL, + .available_flag = MACHINE_AVAILABLE, + .gpio_acpi_handler = NULL, + .cpu = { + .package = CPU_PKG_SOCKET5_7, + .block = CPU_BLOCK_NONE, + .min_bus = 50000000, + .max_bus = 66666667, + .min_voltage = 3520, + .max_voltage = 3520, + .min_multi = 1.5, + .max_multi = 2.0 + }, + .bus_flags = MACHINE_PS2_PCI, + .flags = MACHINE_IDE_DUAL | MACHINE_APM, + .ram = { + .min = 4096, + .max = 262144, + .step = 4096 + }, + .nvrmask = 127, + .jumpered_ecp_dma = MACHINE_DMA_1 | MACHINE_DMA_3, + .default_jumpered_ecp_dma = 1, + .kbc_device = &kbc_at_device, + .kbc_params = KBC_VEN_VIA | 0x00424600, /* Guess */ + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, + .kbc_p1 = 0x00000cf0, + .gpio = 0xffffffff, + .gpio_acpi = 0xffffffff, + .device = NULL, + .kbd_device = NULL, + .fdc_device = NULL, + .vid_device = NULL, + .snd_device = NULL, + .net_device = NULL + }, /* Socket 7 (Single Voltage) machines */ /* 430FX */ @@ -13630,13 +14648,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &p54tp4xe_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13674,13 +14695,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -13720,13 +14744,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64vplus_onboard_pci_device, .snd_device = &cs4232_onboard_device, .net_device = NULL @@ -13763,13 +14791,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -13806,13 +14838,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &vectra52_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5436_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -13851,13 +14887,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -13897,13 +14937,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &mach64ct_device_onboard, .snd_device = &cs4232_onboard_device, .net_device = NULL @@ -13943,13 +14987,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &thor_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64vplus_onboard_pci_device, .snd_device = &cs4232_onboard_device, .net_device = NULL @@ -13989,13 +15037,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64_onboard_pci_device, .snd_device = &sb_vibra16s_onboard_device, .net_device = NULL @@ -14035,13 +15087,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &monaco_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &mach64ct_device_onboard, .snd_device = &cs4232_onboard_device, .net_device = NULL @@ -14079,13 +15135,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms5119_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14124,13 +15183,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5440_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -14168,13 +15231,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14212,13 +15278,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &fmb_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14260,13 +15329,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14304,13 +15377,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14348,13 +15424,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14392,13 +15471,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &d943_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5436_onboard_pci_device, .snd_device = &sb_vibra16c_onboard_device, .net_device = NULL @@ -14439,13 +15521,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* NVR is on the super I/O chip. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &sb_vibra16c_onboard_device, .net_device = NULL @@ -14485,13 +15571,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &c5sbm2_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14531,13 +15621,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005200, + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14575,13 +15669,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ap5s_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14619,13 +15717,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cs4232_onboard_device, .net_device = NULL @@ -14663,13 +15765,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, /* Guess. */ + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &gd5436_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -14707,13 +15813,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms5124_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14754,13 +15864,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = 0x00000000, + /* NVR is on the chipset. */ + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14801,13 +15915,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &m5ata_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14845,13 +15962,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14889,13 +16009,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14936,13 +16059,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -14980,13 +16106,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15024,13 +16153,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15071,13 +16203,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_virge_325_onboard_pci_device, .snd_device = &ymf701_device, .net_device = NULL @@ -15116,13 +16251,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &cu430hx_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &sb_vibra16c_onboard_device, .net_device = NULL @@ -15163,13 +16301,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &tc430hx_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_virge_375_onboard_pci_device, .snd_device = &ymf701_device, .net_device = NULL @@ -15208,13 +16349,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &m7shi_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15252,13 +16396,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00005200, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT_ZERO_DEFAULT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15300,13 +16447,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &ymf701_device, .net_device = NULL @@ -15345,13 +16495,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15391,13 +16544,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15435,13 +16591,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15480,13 +16639,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, /* Guess. */ .kbc_params = KBC_VEN_AMI | 0x00004800, /* Guess. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15524,13 +16686,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15569,13 +16734,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_trio64v2_dx_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -15614,13 +16782,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_trio64v2_dx_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -15660,13 +16831,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15704,13 +16878,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &p5vxb_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15749,13 +16926,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15795,13 +16975,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &sb_vibra16c_onboard_device, .net_device = NULL @@ -15840,13 +17023,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15884,13 +17070,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &lgibmx52_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -15931,13 +17120,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_phoenix_trio64vplus_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -15976,13 +17168,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cs4237b_device, .net_device = NULL @@ -16021,13 +17216,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16066,13 +17264,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16112,13 +17313,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &chips_69000_onboard_device, .snd_device = NULL, .net_device = NULL @@ -16156,13 +17360,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16209,13 +17416,18 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* TODO: PC87307 NVR. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, + /* Stop-gap measure until the Trio64V2/GX is emulated, as both use the same VBIOS. */ .vid_device = &s3_trio64v2_dx_onboard_pci_device, .snd_device = &sb_vibra16xv_onboard_device, @@ -16254,13 +17466,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* TODO: PC87307 NVR. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_trio64v2_dx_onboard_pci_device, .snd_device = &cs4236b_onboard_device, .net_device = &pcnet_am79c973_onboard_device @@ -16299,13 +17515,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004600, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &mach64vt3_onboard_device, .snd_device = NULL, .net_device = NULL @@ -16344,13 +17563,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &an430tx_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &ymf715_onboard_device, .net_device = NULL @@ -16389,13 +17611,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16440,13 +17665,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16485,13 +17713,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms5156_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16530,13 +17761,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16575,13 +17809,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16619,13 +17856,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16663,13 +17903,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16707,13 +17950,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16753,13 +17999,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16797,13 +18046,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms5146_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16841,13 +18093,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &r534f_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16887,13 +18142,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16931,13 +18189,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -16977,13 +18238,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17024,13 +18288,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17071,13 +18338,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17116,13 +18386,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17163,13 +18436,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17207,13 +18483,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &es1373_onboard_device, .net_device = NULL @@ -17251,13 +18530,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17295,13 +18577,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &g5x_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17340,13 +18625,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17386,13 +18674,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17433,13 +18724,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17478,13 +18772,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17523,13 +18820,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17568,13 +18868,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17613,13 +18916,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17657,13 +18963,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &delhi3_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cs4235_onboard_device, .net_device = NULL @@ -17704,23 +19013,27 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 3, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000008f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL }, + /* 450GX */ /* This has an AMIKey-2, which is type 'H'. */ { - .name = "[i450KX] ASUS P/I-P6RP4", + .name = "[i450GX] ASUS P/I-P6RP4", .internal_name = "p6rp4", .type = MACHINE_TYPE_SOCKET8, - .chipset = MACHINE_CHIPSET_INTEL_450KX, + .chipset = MACHINE_CHIPSET_INTEL_450GX, .init = machine_at_p6rp4_init, .p1_handler = machine_generic_p1_handler, .gpio_handler = NULL, @@ -17748,23 +19061,26 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_P6RP4, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL }, /* This has a PC87306 with unknown keyboard controller firmware (Phoenix?). */ { - .name = "[i450KX] FIC PO-6000", + .name = "[i450GX] FIC PO-6000", .internal_name = "ficpo6000", .type = MACHINE_TYPE_SOCKET8, - .chipset = MACHINE_CHIPSET_INTEL_450KX, + .chipset = MACHINE_CHIPSET_INTEL_450GX, .init = machine_at_ficpo6000_init, .p1_handler = machine_generic_p1_handler, .gpio_handler = NULL, @@ -17792,13 +19108,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = 1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ficpo6000_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17839,13 +19158,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17883,13 +19205,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17927,13 +19252,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -17971,13 +19299,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18017,13 +19348,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* TODO: Implement the PC87307 NVR. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_virge_325_onboard_pci_device, .snd_device = &cs4236b_onboard_device, .net_device = NULL @@ -18063,13 +19398,17 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + /* TODO: Implement the PC87307 NVR. */ + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &vs440fx_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cs4236_onboard_device, .net_device = NULL @@ -18107,13 +19446,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18152,13 +19494,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18196,13 +19541,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_VIA | 0x00424600, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18243,13 +19591,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18290,13 +19641,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18334,13 +19688,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18378,13 +19735,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_HOLTEK | 0x00004800, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18425,13 +19785,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &lx6_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18470,13 +19833,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, /* not yet emulated */ .snd_device = &cs4236b_device, .net_device = NULL /* not yet emulated */ @@ -18515,13 +19881,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = &nvr_at_device, + .nvr_params = NVR_AT, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18560,13 +19929,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms6117_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18605,13 +19977,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x0000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18655,13 +20030,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &s3_trio64v2_dx_onboard_pci_device, .snd_device = NULL, .net_device = NULL @@ -18701,13 +20079,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18747,13 +20128,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &como_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, /* Onboard video not yet emulated: ATi Rage IIc AGP */ .snd_device = &cs4235_onboard_device, .net_device = NULL @@ -18794,13 +20178,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18839,13 +20226,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &bx6_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18884,13 +20274,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ax6bc_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18929,13 +20322,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -18974,13 +20370,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19019,13 +20418,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ga686_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19063,13 +20465,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms6119_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19107,13 +20512,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms6147_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &es1371_onboard_device, .net_device = NULL @@ -19152,13 +20560,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &p6sba_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19197,13 +20608,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &s1846_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &es1371_onboard_device, .net_device = NULL @@ -19244,13 +20658,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &vei8_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19289,13 +20706,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &voodoo_3_2000_agp_onboard_8m_device, .snd_device = &es1373_onboard_device, .net_device = NULL @@ -19334,13 +20754,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &voodoo_3_2000_agp_onboard_8m_device, .snd_device = &es1373_onboard_device, .net_device = NULL @@ -19380,13 +20803,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &es1373_onboard_device, .net_device = NULL @@ -19424,13 +20850,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19471,13 +20900,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19518,13 +20950,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19565,13 +21000,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19610,13 +21048,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms6199va_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &es1373_onboard_device, .net_device = NULL @@ -19657,13 +21098,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19702,13 +21146,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = &kbc_at_device, .kbc_params = KBC_VEN_AMI | 0x00004800, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &es1373_onboard_device, .net_device = NULL @@ -19750,13 +21197,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x000044f0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19797,13 +21247,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &prosignias31x_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cmi8738_onboard_device, .net_device = NULL @@ -19842,13 +21295,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &es1373_onboard_device, .net_device = NULL @@ -19888,13 +21344,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cmi8738_onboard_device, .net_device = NULL @@ -19936,13 +21395,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -19981,13 +21443,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20029,13 +21494,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20077,13 +21545,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = &chips_69000_onboard_device, .snd_device = NULL, .net_device = NULL @@ -20122,13 +21593,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20167,13 +21641,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20214,13 +21691,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20261,13 +21741,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20308,13 +21791,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20353,13 +21839,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cmi8738_onboard_device, .net_device = NULL @@ -20400,13 +21889,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20445,13 +21937,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cmi8738_onboard_device, .net_device = NULL @@ -20490,13 +21985,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20535,13 +22033,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &cmi8738_onboard_device, .net_device = NULL @@ -20580,13 +22081,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = &ms6318_device, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = &ct5880_onboard_device, .net_device = NULL @@ -20625,13 +22129,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20672,13 +22179,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000cf0, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20716,13 +22226,16 @@ const machine_t machines[] = { .default_jumpered_ecp_dma = -1, .kbc_device = NULL, .kbc_params = 0x00000000, + .nvr_device = NULL, + .nvr_params = 0x00000000, + .sio_device = NULL, + .sio_params = 0x00000000, .kbc_p1 = 0x00000000, .gpio = 0xffffffff, .gpio_acpi = 0xffffffff, .device = NULL, .kbd_device = NULL, .fdc_device = NULL, - .sio_device = NULL, .vid_device = NULL, .snd_device = NULL, .net_device = NULL @@ -20934,6 +22447,24 @@ machine_get_kbc_device(int m) return (NULL); } +const device_t * +machine_get_nvr_device(int m) +{ + if (machines[m].nvr_device) + return (machines[m].nvr_device); + + return (NULL); +} + +const device_t * +machine_get_sio_device(int m) +{ + if (machines[m].sio_device) + return (machines[m].sio_device); + + return (NULL); +} + const device_t * machine_get_device(int m) { @@ -20952,15 +22483,6 @@ machine_get_fdc_device(int m) return (NULL); } -const device_t * -machine_get_sio_device(int m) -{ - if (machines[m].sio_device) - return (machines[m].sio_device); - - return (NULL); -} - const device_t * machine_get_vid_device(int m) { @@ -21179,3 +22701,5 @@ machine_get_nvr_name(void) { return machine_get_nvr_name_ex(machine); } + + diff --git a/src/nvr_at.c b/src/nvr_at.c index 11b5ffc45..5a2e6bd87 100644 --- a/src/nvr_at.c +++ b/src/nvr_at.c @@ -238,67 +238,59 @@ #include <86box/nvr.h> /* RTC registers and bit definitions. */ -#define RTC_SECONDS 0 -#define RTC_ALSECONDS 1 -#define AL_DONTCARE 0xc0 /* Alarm time is not set */ -#define RTC_MINUTES 2 -#define RTC_ALMINUTES 3 -#define RTC_HOURS 4 -#define RTC_AMPM 0x80 /* PM flag if 12h format in use */ -#define RTC_ALHOURS 5 -#define RTC_DOW 6 -#define RTC_DOM 7 -#define RTC_MONTH 8 -#define RTC_YEAR 9 -#define RTC_REGA 10 -#define REGA_UIP 0x80 -#define REGA_DV2 0x40 -#define REGA_DV1 0x20 -#define REGA_DV0 0x10 -#define REGA_DV 0x70 -#define REGA_RS3 0x08 -#define REGA_RS2 0x04 -#define REGA_RS1 0x02 -#define REGA_RS0 0x01 -#define REGA_RS 0x0f -#define RTC_REGB 11 -#define REGB_SET 0x80 -#define REGB_PIE 0x40 -#define REGB_AIE 0x20 -#define REGB_UIE 0x10 -#define REGB_SQWE 0x08 -#define REGB_DM 0x04 -#define REGB_2412 0x02 -#define REGB_DSE 0x01 -#define RTC_REGC 12 -#define REGC_IRQF 0x80 -#define REGC_PF 0x40 -#define REGC_AF 0x20 -#define REGC_UF 0x10 -#define RTC_REGD 13 -#define REGD_VRT 0x80 -#define RTC_CENTURY_AT 0x32 /* century register for AT etc */ -#define RTC_CENTURY_PS 0x37 /* century register for PS/1 PS/2 */ -#define RTC_CENTURY_ELT 0x1A /* century register for Epson Equity LT */ -#define RTC_ALDAY 0x7D /* VIA VT82C586B - alarm day */ -#define RTC_ALMONTH 0x7E /* VIA VT82C586B - alarm month */ -#define RTC_CENTURY_VIA 0x7F /* century register for VIA VT82C586B */ +#define RTC_SECONDS 0 +#define RTC_ALSECONDS 1 +/* Alarm time is not set. */ +#define AL_DONTCARE 0xc0 +#define RTC_MINUTES 2 +#define RTC_ALMINUTES 3 +#define RTC_HOURS 4 +/* PM flag if 12h format in use. */ +#define RTC_AMPM 0x80 +#define RTC_ALHOURS 5 +#define RTC_DOW 6 +#define RTC_DOM 7 +#define RTC_MONTH 8 +#define RTC_YEAR 9 +#define RTC_REGA 10 +#define REGA_UIP 0x80 +#define REGA_DV2 0x40 +#define REGA_DV1 0x20 +#define REGA_DV0 0x10 +#define REGA_DV 0x70 +#define REGA_RS3 0x08 +#define REGA_RS2 0x04 +#define REGA_RS1 0x02 +#define REGA_RS0 0x01 +#define REGA_RS 0x0f +#define RTC_REGB 11 +#define REGB_SET 0x80 +#define REGB_PIE 0x40 +#define REGB_AIE 0x20 +#define REGB_UIE 0x10 +#define REGB_SQWE 0x08 +#define REGB_DM 0x04 +#define REGB_2412 0x02 +#define REGB_DSE 0x01 +#define RTC_REGC 12 +#define REGC_IRQF 0x80 +#define REGC_PF 0x40 +#define REGC_AF 0x20 +#define REGC_UF 0x10 +#define RTC_REGD 13 +#define REGD_VRT 0x80 +/* VIA VT82C586B - alarm day. */ +#define RTC_ALDAY 0x7d +/* VIA VT82C586B - alarm month. */ +#define RTC_ALMONTH 0x7e -#define RTC_ALDAY_SIS 0x7E /* Day of Month Alarm for SiS */ -#define RTC_ALMONT_SIS 0x7F /* Month Alarm for SiS */ +/* Day of Month Alarm for SiS. */ +#define RTC_ALDAY_SIS 0x7e +/* Month Alarm for SiS. */ +#define RTC_ALMONTH_SIS 0x7f -#define RTC_REGS 14 /* number of registers */ - -#define FLAG_NO_NMI 0x001 -#define FLAG_AMI_1992_HACK 0x002 -#define FLAG_AMI_1994_HACK 0x004 -#define FLAG_AMI_1995_HACK 0x008 -#define FLAG_AMI_1999_HACK 0x010 -#define FLAG_AMI_1999J_HACK 0x020 -#define FLAG_P6RP4_HACK 0x040 -#define FLAG_PIIX4 0x080 -#define FLAG_MULTI_BANK 0x100 -#define FLAG_MARTIN_HACK 0x200 +/* Number of registers. */ +#define RTC_REGS 14 typedef struct local_t { int8_t stat; @@ -319,6 +311,7 @@ typedef struct local_t { int16_t state; uint16_t flags; + uint16_t default_addr; uint16_t addr[8]; @@ -482,7 +475,7 @@ timer_update(void *priv) /* Check for any alarms we need to handle. */ if (check_alarm(nvr, RTC_SECONDS) && check_alarm(nvr, RTC_MINUTES) && check_alarm(nvr, RTC_HOURS) && check_alarm_via(nvr, RTC_DOM, RTC_ALDAY) && check_alarm_via(nvr, RTC_MONTH, RTC_ALMONTH) /* && - check_alarm_via(nvr, RTC_DOM, RTC_ALDAY_SIS) && check_alarm_via(nvr, RTC_MONTH, RTC_ALMONT_SIS) */) { + check_alarm_via(nvr, RTC_DOM, RTC_ALDAY_SIS) && check_alarm_via(nvr, RTC_MONTH, RTC_ALMONTH_SIS) */) { nvr->regs[RTC_REGC] |= REGC_AF; timer_update_irq(nvr); } @@ -1148,108 +1141,34 @@ nvr_at_init(const device_t *info) local = (local_t *) malloc(sizeof(local_t)); memset(local, 0x00, sizeof(local_t)); - nvr->data = local; + + nvr->data = local; /* This is machine specific. */ - nvr->size = machines[machine].nvrmask + 1; - local->lock = (uint8_t *) malloc(nvr->size); + nvr->size = (info->local & FLAG_FIXED_SIZE) ? 128 : + (machines[machine].nvrmask + 1); + local->lock = (uint8_t *) malloc(nvr->size); memset(local->lock, 0x00, nvr->size); - local->def = 0xff /*0x00*/; - local->flags = 0x00; - switch (info->local & 0x0f) { - case 0: /* standard AT, no century register */ - if (info->local == 32) { - local->flags |= FLAG_P6RP4_HACK; - nvr->irq = 8; - local->cent = RTC_CENTURY_AT; - } else { - nvr->irq = 8; - local->cent = 0xff; - } - break; - case 1: /* standard AT */ - case 5: /* AMI WinBIOS 1994 */ - case 6: /* AMI BIOS 1995 */ - if ((info->local & 0x1f) == 0x11) { - local->flags |= FLAG_PIIX4; - local->def = 0x00; - } else { - local->def = 0x00; - if ((info->local & 0x1f) == 0x15) - local->flags |= FLAG_AMI_1994_HACK; - else if ((info->local & 0x1f) == 0x16) - local->flags |= FLAG_AMI_1995_HACK; - else - local->def = 0xff; - } - nvr->irq = 8; - local->cent = RTC_CENTURY_AT; - break; + local->flags = info->local & 0xffff; + local->cent = (info->local >> 16) & 0xff; + local->default_addr = (info->local >> 24) & 0xffff; + local->def = (local->flags & FLAG_ZERO_DEFAULT) ? 0x00 : 0xff; + nvr->irq = (info->local >> 40) & 0xff; - case 2: /* PS/1 or PS/2 */ - nvr->irq = 8; - local->cent = RTC_CENTURY_PS; - local->def = 0x00; - if (info->local & 0x10) - local->flags |= FLAG_NO_NMI; - break; + if (nvr->irq == 0xff) + nvr->irq = -1; + else if (nvr->irq == 0xfe) + nvr->irq = device_get_config_int("irq"); - case 3: /* Amstrad PC's */ - nvr->irq = 1; - local->cent = RTC_CENTURY_AT; - local->def = 0xff; - if (info->local & 0x10) - local->flags |= FLAG_NO_NMI; - break; + if (local->default_addr == 0xfffe) + local->default_addr = device_get_config_hex16("base"); - case 4: /* IBM AT */ - if (info->local & 0x10) { - local->def = 0x00; - local->flags |= FLAG_AMI_1992_HACK; - } else if ((info->local == 36) || (info->local == 68)) { - local->def = 0x00; - if (info->local == 68) - local->flags |= FLAG_MARTIN_HACK; - } else - local->def = 0xff; - nvr->irq = 8; - local->cent = RTC_CENTURY_AT; - break; + if (nvr->is_new && (machines[machine].init == machine_at_spitfire_init)) + local->flags |= FLAG_SPITFIRE_HACK; - case 7: /* VIA VT82C586B */ - nvr->irq = 8; - local->cent = RTC_CENTURY_VIA; - break; - case 8: /* Epson Equity LT */ - nvr->irq = -1; - local->cent = RTC_CENTURY_ELT; - break; - case 9: /* Intel PIIX4 + AMI 1999 hack */ - local->flags |= (FLAG_PIIX4 | FLAG_AMI_1999_HACK); - local->def = 0x00; - nvr->irq = 8; - local->cent = RTC_CENTURY_AT; - break; - case 0x0a: /* Intel PIIX4 + AMI 1999J hack */ - local->flags |= (FLAG_PIIX4 | FLAG_AMI_1999J_HACK); - local->def = 0x00; - nvr->irq = 8; - local->cent = RTC_CENTURY_AT; - break; - - default: - break; - } - - if (info->local & 0x20) - local->def = 0x00; - - if (machines[machine].init == machine_at_monsoon_init) - local->def = 0xff; - - if (info->local & 0x40) - local->flags |= FLAG_MULTI_BANK; + if (nvr->is_new && (machines[machine].init == machine_at_bx6_init)) + local->flags |= FLAG_BX6_HACK; local->read_addr = 1; @@ -1276,27 +1195,21 @@ nvr_at_init(const device_t *info) timer_load_count(nvr); /* Set up the I/O handler for this device. */ - if (info->local == 8) { - io_sethandler(0x11b4, 2, + io_sethandler(local->default_addr, 2, + nvr_read, NULL, NULL, nvr_write, NULL, NULL, nvr); + + if (local->flags & FLAG_MULTI_ADDRESS) + io_sethandler(local->default_addr + 2, 2, nvr_read, NULL, NULL, nvr_write, NULL, NULL, nvr); - } else { - io_sethandler(0x0070, 2, - nvr_read, NULL, NULL, nvr_write, NULL, NULL, nvr); - } - if (((info->local & 0x1f) == 0x11) || ((info->local & 0x1f) == 0x17) || - ((info->local & 0x1f) == 0x18)) { - io_sethandler(0x0072, 2, - nvr_read, NULL, NULL, nvr_write, NULL, NULL, nvr); - } nvr_at_inited = 1; } /* This is a hack but it is required for the machine to boot properly, no idea why. */ - if (nvr->is_new && (machines[machine].init == machine_at_spitfire_init)) + if (nvr->is_new && (local->flags & FLAG_SPITFIRE_HACK)) nvr->regs[0x33] = nvr->regs[0x34] = 0xff; - if (nvr->is_new && (machines[machine].init == machine_at_bx6_init)) + if (nvr->is_new && (local->flags & FLAG_BX6_HACK)) nvr->regs[0x39] = 0x09; return nvr; @@ -1328,8 +1241,8 @@ nvr_at_close(void *priv) nvr_at_inited = 0; } -const device_t at_nvr_old_device = { - .name = "PC/AT NVRAM (No century)", +const device_t nvr_at_device = { + .name = "PC/AT NVRAM", .internal_name = "at_nvr_old", .flags = DEVICE_ISA16, .local = 0, @@ -1341,255 +1254,3 @@ const device_t at_nvr_old_device = { .force_redraw = NULL, .config = NULL }; - -const device_t at_nvr_device = { - .name = "PC/AT NVRAM", - .internal_name = "at_nvr", - .flags = DEVICE_ISA16, - .local = 1, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t at_mb_nvr_device = { - .name = "PC/AT NVRAM", - .internal_name = "at_nvr", - .flags = DEVICE_ISA16, - .local = 0x40 | 0x20 | 1, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t ps_nvr_device = { - .name = "PS/1 or PS/2 NVRAM", - .internal_name = "ps_nvr", - .flags = DEVICE_ISA16, - .local = 2, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t amstrad_nvr_device = { - .name = "Amstrad NVRAM", - .internal_name = "amstrad_nvr", - .flags = DEVICE_ISA16, - .local = 3, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t ibmat_nvr_device = { - .name = "IBM AT NVRAM", - .internal_name = "ibmat_nvr", - .flags = DEVICE_ISA16, - .local = 4, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t piix4_nvr_device = { - .name = "Intel PIIX4 PC/AT NVRAM", - .internal_name = "piix4_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 1, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t ps_no_nmi_nvr_device = { - .name = "PS/1 or PS/2 NVRAM (No NMI)", - .internal_name = "ps1_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 2, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t amstrad_no_nmi_nvr_device = { - .name = "Amstrad NVRAM (No NMI)", - .internal_name = "amstrad_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 3, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t ami_1992_nvr_device = { - .name = "AMI Color 1992 PC/AT NVRAM", - .internal_name = "ami_1992_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 4, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t ami_1994_nvr_device = { - .name = "AMI WinBIOS 1994 PC/AT NVRAM", - .internal_name = "ami_1994_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 5, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t ami_1995_nvr_device = { - .name = "AMI WinBIOS 1995 PC/AT NVRAM", - .internal_name = "ami_1995_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 6, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t via_nvr_device = { - .name = "VIA PC/AT NVRAM", - .internal_name = "via_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 7, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t piix4_ami_1995_nvr_device = { - .name = "Intel PIIX4 AMI WinBIOS 1995 PC/AT NVRAM", - .internal_name = "piix4_ami_1995_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 9, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t piix4_ami_1995j_nvr_device = { - .name = "Intel PIIX4 AMI WinBIOS 1995J PC/AT NVRAM", - .internal_name = "piix4_ami_1995j_nvr", - .flags = DEVICE_ISA16, - .local = 0x10 | 10, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t p6rp4_nvr_device = { - .name = "ASUS P/I-P6RP4 PC/AT NVRAM", - .internal_name = "p6rp4_nvr", - .flags = DEVICE_ISA16, - .local = 32, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t amstrad_megapc_nvr_device = { - .name = "Amstrad MegaPC NVRAM", - .internal_name = "amstrad_megapc_nvr", - .flags = DEVICE_ISA16, - .local = 36, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t martin_nvr_device = { - .name = "Zeos Martin NVRAM", - .internal_name = "martin_nvr", - .flags = DEVICE_ISA16, - .local = 68, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; - -const device_t elt_nvr_device = { - .name = "Epson Equity LT NVRAM", - .internal_name = "elt_nvr", - .flags = DEVICE_ISA, - .local = 8, - .init = nvr_at_init, - .close = nvr_at_close, - .reset = nvr_at_reset, - .available = NULL, - .speed_changed = nvr_at_speed_changed, - .force_redraw = NULL, - .config = NULL -}; diff --git a/src/scsi/scsi_ql1xxx.c b/src/scsi/scsi_ql1xxx.c index a01318210..496e3adea 100644 --- a/src/scsi/scsi_ql1xxx.c +++ b/src/scsi/scsi_ql1xxx.c @@ -2323,7 +2323,6 @@ ql_sxp_begin_response_entry(ql_sxp_req_t *pkt, isp_req_status_t *resp) static double ql_sxp_handle_state_send_cdb_bios(ql_t *dev, scsi_device_t *sd) { - ql_sxp_req_t *pkt = &dev->pkt; isp_req_status_t *resp = &dev->pkt_resp; double media_period = 10.0; uint64_t bytes_xfered = 0; diff --git a/src/sio/sio_f82c606.c b/src/sio/sio_f82c606.c index 1e6eacccc..816abaf15 100644 --- a/src/sio/sio_f82c606.c +++ b/src/sio/sio_f82c606.c @@ -298,7 +298,7 @@ f82c606_init(const device_t *info) { upc_t *dev = (upc_t *) calloc(1, sizeof(upc_t)); - dev->nvr = device_add(&at_nvr_old_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_OLD); dev->gameport = gameport_add(&gameport_sio_device); dev->uart[0] = device_add_inst(&ns16450_device, 1); diff --git a/src/sio/sio_fdc37c93x.c b/src/sio/sio_fdc37c93x.c index 42ab2c7a7..d6788960a 100644 --- a/src/sio/sio_fdc37c93x.c +++ b/src/sio/sio_fdc37c93x.c @@ -1892,7 +1892,7 @@ fdc37c93x_init(const device_t *info) dev->port_370 = !!(info->local & FDC37XXXX_370); if (dev->has_nvr) { - dev->nvr = device_add(&amstrad_megapc_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_ZERO_DEFAULT); nvr_bank_set(0, 0, dev->nvr); nvr_bank_set(1, 0xff, dev->nvr); diff --git a/src/sio/sio_pc87306.c b/src/sio/sio_pc87306.c index 7fdf6d2d6..059d36027 100644 --- a/src/sio/sio_pc87306.c +++ b/src/sio/sio_pc87306.c @@ -486,7 +486,7 @@ pc87306_init(UNUSED(const device_t *info)) dev->lpt = device_add_inst(&lpt_port_device, 1); lpt_set_cnfga_readout(dev->lpt, 0x10); - dev->nvr = device_add(&at_mb_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_MB); switch (dev->kbc_type) { case PCX730X_AMI: diff --git a/src/sio/sio_vl82c113.c b/src/sio/sio_vl82c113.c index fb3df1409..78b0a675b 100644 --- a/src/sio/sio_vl82c113.c +++ b/src/sio/sio_vl82c113.c @@ -135,11 +135,12 @@ vl82c113_init(UNUSED(const device_t *info)) vl82c113_t *dev = (vl82c113_t *) calloc(1, sizeof(vl82c113_t)); if (machines[machine].init == machine_at_martin_init) - dev->nvr = device_add(&martin_nvr_device); - else if (machines[machine].init == machine_at_sensation1_init || machines[machine].init == machine_at_sensation2_init) - dev->nvr = device_add(&at_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_MARTIN); + else if ((machines[machine].init == machine_at_monsoon_init) || (machines[machine].init == machine_at_sensation1_init) || + (machines[machine].init == machine_at_sensation2_init)) + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT); else - dev->nvr = device_add(&amstrad_megapc_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_ZERO_DEFAULT); dev->nvr_enabled = 1; dev->nvr_base = 0x0070; diff --git a/src/sio/sio_w83977.c b/src/sio/sio_w83977.c index 07fda5d4e..60b42a9ce 100644 --- a/src/sio/sio_w83977.c +++ b/src/sio/sio_w83977.c @@ -1287,7 +1287,7 @@ w83977_init(const device_t *info) dev->has_nvr = !(info->local & W83977_NO_NVR); if (dev->has_nvr && (dev->id != 1)) { - dev->nvr = device_add(&amstrad_megapc_nvr_device); + dev->nvr = device_add_params(&nvr_at_device, (void *) (uintptr_t) NVR_AT_ZERO_DEFAULT); nvr_bank_set(0, 0, dev->nvr); }