diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index 587bdfb54..64a669b9a 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -703,6 +703,7 @@ extern int machine_at_6via90ap_init(const machine_t *); extern int machine_at_s1857_init(const machine_t *); extern int machine_at_p6bap_init(const machine_t *); extern int machine_at_cusl2c_init(const machine_t *); +extern int machine_at_j815epda_init(const machine_t *); extern int machine_at_m6tsl_init(const machine_t *); extern int machine_at_m6tss_init(const machine_t *); extern int machine_at_s2080_init(const machine_t *); diff --git a/src/machine/m_at_socket370.c b/src/machine/m_at_socket370.c index 585d984ed..5c122a7f4 100644 --- a/src/machine/m_at_socket370.c +++ b/src/machine/m_at_socket370.c @@ -508,6 +508,56 @@ machine_at_cusl2c_init(const machine_t *model) return ret; } +/* + * Jetway J-815EPDA + * + * North Bridge: Intel 815EP + * Super I/O: Winbond w83627hf + * BIOS: AwardBIOS 6.00PG + * Notes: Has LAN + */ +int +machine_at_j815epda_init(const machine_t *model) +{ + int ret; + + ret = bios_load_linear("roms/machines/j815epda/815EPAA2.BIN", + 0x000c0000, 262144, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init_ex(model, 2); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_bus_slot(0, 0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); /* North Bridge */ + pci_register_bus_slot(0, 0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4); /* AGP Bridge */ + pci_register_bus_slot(0, 0x1e, PCI_CARD_BRIDGE, 1, 2, 3, 4); /* ICH2 Hub */ pci_register_bus_slot(2, 0x08, PCI_CARD_NORMAL, 5, 6, 7, 8); + pci_register_bus_slot(0, 0x1f, PCI_CARD_SOUTHBRIDGE, 1, 2, 8, 4); /* ICH2 LPC */ + pci_register_bus_slot(2, 0x07, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_bus_slot(2, 0x09, PCI_CARD_NORMAL, 2, 3, 4, 1); + pci_register_bus_slot(2, 0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2); + pci_register_bus_slot(2, 0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3); + pci_register_bus_slot(2, 0x0D, PCI_CARD_NORMAL, 5, 6, 7, 8); + pci_register_bus_slot(2, 0x0C, PCI_CARD_NORMAL, 6, 7, 8, 5); + + device_add(&intel_815ep_device); /* Intel 815EP MCH */ + device_add(&intel_ich2_device); /* Intel ICH2 */ + device_add(&w83627hf_device); + w83627hf_stabilizer(0x6f, /* 1.8V Rail */ + 0x1c, /* FAN 2 */ + 0x1e, /* FAN 3 */ + 0x1d /* FAN 1 */ + ); + + device_add(&sst_flash_39sf020_device); + device_add(ics9xxx_get(ICS9250_18)); + intel_815ep_spd_init(); /* SPD */ +// spd_register(SPD_TYPE_SDRAM, 0x7, 512); /* SPD */ + + return ret; +} + /* * Biostar M6TSL * diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 3ea84ce06..16e680a1d 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -11823,6 +11823,42 @@ const machine_t machines[] = { .snd_device = NULL, .net_device = NULL }, + { + .name = "[Intel i815EP] Jetway J-815EPDA", + .internal_name = "j815epda", + .type = MACHINE_TYPE_SOCKET370, + .chipset = MACHINE_CHIPSET_INTEL_I815EP, + .init = machine_at_j815epda_init, + .pad = 0, + .pad0 = 0, + .pad1 = MACHINE_AVAILABLE, + .pad2 = 0, + .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, + }, + .bus_flags = MACHINE_PS2_NOISA, + .flags = MACHINE_IDE_DUAL, + .ram = { + .min = 32768, + .max = 524288, + .step = 32768, + }, + .nvrmask = 255, + .kbc = KBC_UNKNOWN, + .kbc_p1 = 0, + .gpio = 0, + .device = NULL, + .vid_device = NULL, + .snd_device = NULL, + .net_device = NULL + }, /* Has a NSC PC87366 LPC Super I/O with on-chip AMIKey-2 KBC firmware */ { .name = "[Intel i815E] Biostar M6TSL",