Finishing touches.
This commit is contained in:
@@ -29,9 +29,6 @@
|
||||
#include <86box/chipset.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
if ((port == 0x6b) || (port == 0x3d6d))
|
||||
ret = 0x2a;
|
||||
|
||||
static uint8_t
|
||||
nec_mate_unk_read(UNUSED(uint16_t addr), void *priv)
|
||||
{
|
||||
@@ -46,6 +43,8 @@ nec_mate_unk_read(UNUSED(uint16_t addr), void *priv)
|
||||
static void
|
||||
nec_mate_unk_close(void *priv)
|
||||
{
|
||||
uint8_t *dev = (uint8_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
@@ -63,12 +62,12 @@ nec_mate_unk_init(const device_t *info)
|
||||
|
||||
const device_t nec_mate_unk_device = {
|
||||
.name = "NEC Mate NX MA30D/23D Unknown Readout",
|
||||
.internal_name = "nec_mate_unk_jumper",
|
||||
.internal_name = "nec_mate_unk",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = nec_mate_unk_jumper_init,
|
||||
.close = nec_mate_unk_jumper_close,
|
||||
.reset = nec_mate_unk_jumper_reset,
|
||||
.init = nec_mate_unk_init,
|
||||
.close = nec_mate_unk_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
|
@@ -728,6 +728,8 @@ extern int machine_at_kn97_init(const machine_t *);
|
||||
extern int machine_at_lx6_init(const machine_t *);
|
||||
extern int machine_at_spitfire_init(const machine_t *);
|
||||
|
||||
extern int machine_at_mate_nx_ma30d_23d_init(const machine_t *);
|
||||
|
||||
extern int machine_at_p6i440e2_init(const machine_t *);
|
||||
|
||||
extern int machine_at_p2bls_init(const machine_t *);
|
||||
|
@@ -152,6 +152,43 @@ machine_at_spitfire_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_mate_nx_ma30d_23d_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/mate_nx_ma30d_23d/BIOS.ROM",
|
||||
0x000c0000, 262144, 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);
|
||||
#ifdef UNKNOWN_SLOT
|
||||
pci_register_slot(0x0A, PCI_CARD_NETWORK, 2, 3, 4, 1); /* ???? device - GPIO? */
|
||||
#endif
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 3, 0, 0, 0);
|
||||
device_add(&i440lx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&nec_mate_unk_device);
|
||||
device_add(&keyboard_ps2_ami_pci_device);
|
||||
device_add(&fdc37c67x_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
||||
device_add(&lm78_device); /* no reporting in BIOS */
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_p6i440e2_init(const machine_t *model)
|
||||
{
|
||||
@@ -199,13 +236,21 @@ machine_at_p2bls_init(const machine_t *model)
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x04, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x06, PCI_CARD_SCSI, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_NETWORK, 3, 4, 1, 2);
|
||||
// pci_register_slot(0x04, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
// pci_register_slot(0x06, PCI_CARD_SCSI, 4, 1, 2, 3);
|
||||
// pci_register_slot(0x07, PCI_CARD_NETWORK, 3, 4, 1, 2);
|
||||
#if 0
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
#else
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
#endif
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
@@ -216,9 +261,9 @@ machine_at_p2bls_init(const machine_t *model)
|
||||
#endif
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
||||
device_add(&w83781d_device); /* fans: Chassis, CPU, Power; temperatures: MB, unused, CPU */
|
||||
hwm_values.temperatures[1] = 0; /* unused */
|
||||
hwm_values.temperatures[2] -= 3; /* CPU offset */
|
||||
// device_add(&w83781d_device); /* fans: Chassis, CPU, Power; temperatures: MB, unused, CPU */
|
||||
// hwm_values.temperatures[1] = 0; /* unused */
|
||||
// hwm_values.temperatures[2] -= 3; /* CPU offset */
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@@ -9524,6 +9524,48 @@ const machine_t machines[] = {
|
||||
},
|
||||
|
||||
/* 430VX */
|
||||
/* According to tests from real hardware: This has AMI MegaKey KBC firmware on the
|
||||
PC87306 Super I/O chip, command 0xA1 returns '5'.
|
||||
Command 0xA0 copyright string: (C)1994 AMI . */
|
||||
{
|
||||
.name = "[i430VX] Dell Hannibal+",
|
||||
.internal_name = "dell_430vx",
|
||||
.type = MACHINE_TYPE_SOCKET7_3V,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430VX,
|
||||
.init = machine_at_dell_430vx_init,
|
||||
.p1_handler = NULL,
|
||||
.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 = 3380,
|
||||
.max_voltage = 3520,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 3.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 131072,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has AMIKey H KBC firmware (AMIKey-2). */
|
||||
{
|
||||
.name = "[i430VX] ECS P5VX-B",
|
||||
@@ -11614,6 +11656,47 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* It's a Intel VS440FX with a Gateway 2000 OEM BIOS */
|
||||
{
|
||||
.name = "[i440FX] Gateway 2000 Venus",
|
||||
.internal_name = "gw2kvenus",
|
||||
.type = MACHINE_TYPE_SOCKET8,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440FX,
|
||||
.init = machine_at_gw2kvenus_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET8,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 60000000,
|
||||
.max_bus = 66666667,
|
||||
.min_voltage = 2100,
|
||||
.max_voltage = 3500,
|
||||
.min_multi = 2.0,
|
||||
.max_multi = 3.5
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 524288,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has the AMIKey-2 (updated 'H') KBC firmware. */
|
||||
{
|
||||
.name = "[i440FX] Gigabyte GA-686NX",
|
||||
.internal_name = "686nx",
|
||||
@@ -11737,13 +11820,13 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* It's a Intel VS440FX with a Gateway 2000 OEM BIOS */
|
||||
/* Has the AMIKey-2 (updated 'H') KBC firmware. */
|
||||
{
|
||||
.name = "[i440FX] Gateway 2000 Venus",
|
||||
.internal_name = "gw2kvenus",
|
||||
.name = "[i440FX] LG IBM Multinet x61 (MSI MS-6106)",
|
||||
.internal_name = "lgibm440fx",
|
||||
.type = MACHINE_TYPE_SOCKET8,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440FX,
|
||||
.init = machine_at_gw2kvenus_init,
|
||||
.init = machine_at_lgibm440fx_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
@@ -11753,15 +11836,15 @@ const machine_t machines[] = {
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 60000000,
|
||||
.max_bus = 66666667,
|
||||
.min_voltage = 2100,
|
||||
.min_voltage = 2500,
|
||||
.max_voltage = 3500,
|
||||
.min_multi = 2.0,
|
||||
.max_multi = 3.5
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 8.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.min = 40960,
|
||||
.max = 524288,
|
||||
.step = 8192
|
||||
},
|
||||
@@ -12069,6 +12152,47 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has a SM(S)C FDC37M60x Super I/O chip with on-chip KBC with Phoenix or
|
||||
AMIKey-2 KBC firmware. */
|
||||
{
|
||||
.name = "[i440LX] NEC Mate NX MA30D/23D",
|
||||
.internal_name = "mate_nx_ma30d_23d",
|
||||
.type = MACHINE_TYPE_SLOT1,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440LX,
|
||||
.init = machine_at_mate_nx_ma30d_23d_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SLOT1,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 66666667,
|
||||
.max_bus = 66666667,
|
||||
.min_voltage = 1800,
|
||||
.max_voltage = 3500,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 8.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_AGP,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 1048576,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
/* 440EX */
|
||||
/* Has a Winbond W83977TF Super I/O chip with on-chip KBC with AMIKey-2 KBC
|
||||
@@ -13037,6 +13161,46 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has a Mitsubishi 38813 with AMIKey-3 KBC firmware. */
|
||||
{
|
||||
.name = "[i440BX] NEC LaVie C PC-LC500J34DR",
|
||||
.internal_name = "lc500j34dr",
|
||||
.type = MACHINE_TYPE_SOCKET370,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440BX,
|
||||
.init = machine_at_lc500j34dr_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET370,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 66666667,
|
||||
.max_bus = 133333333,
|
||||
.min_voltage = 1300,
|
||||
.max_voltage = 3500,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 8.0 /* limits assumed */
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_AGP,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 524288,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC
|
||||
firmware. */
|
||||
{
|
||||
|
Reference in New Issue
Block a user