Hook up Bidirectional LPT, EPP, and ECP to all Super I/O chips (missing is vendor-specific Configuration Register B behavior but that's next on my list), fixed Super I/O chip mistakes for a number of machines, split 286/386SX/M6117D machines into three separate files and reordered them as well.

This commit is contained in:
OBattler
2025-08-11 16:36:30 +02:00
parent 42fa1dbe54
commit dbd748636e
51 changed files with 5062 additions and 4463 deletions

View File

@@ -42,7 +42,9 @@ add_library(mch OBJECT
m_ps2_isa.c
m_ps2_mca.c
m_at_compaq.c
m_at_286_386sx.c
m_at_286.c
m_at_386sx.c
m_at_m6117.c
m_at_386dx_486.c
m_at_socket4.c
m_at_socket5.c

609
src/machine/m_at_286.c Normal file
View File

@@ -0,0 +1,609 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Implementation of 286 machines.
*
* Authors: Miran Grca, <mgrca8@gmail.com>
* EngiNerd <webmaster.crrc@yahoo.it>
*
* Copyright 2016-2025 Miran Grca.
* Copyright 2020-2025 EngiNerd.
*/
#include <stdarg.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <wchar.h>
#define HAVE_STDARG_H
#include <86box/86box.h>
#include "cpu.h"
#include <86box/timer.h>
#include <86box/io.h>
#include <86box/device.h>
#include <86box/chipset.h>
#include <86box/keyboard.h>
#include <86box/mem.h>
#include <86box/rom.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/hdc.h>
#include <86box/nvr.h>
#include <86box/port_6x.h>
#define USE_SIO_DETECT
#include <86box/sio.h>
#include <86box/serial.h>
#include <86box/video.h>
#include <86box/vid_cga.h>
#include <86box/flash.h>
#include <86box/machine.h>
/* ISA */
int
machine_at_mr286_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/mr286/V000B200-1",
"roms/machines/mr286/V000B200-2",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_common_ide_init(model);
device_add(&kbc_at_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
/*
* Current bugs:
* - ctrl-alt-del produces an 8042 error
*/
int
machine_at_pc8_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/pc8/ncr_35117_u127_vers.4-2.bin",
"roms/machines/pc8/ncr_35116_u113_vers.4-2.bin",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_ncr_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
int
machine_at_m290_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/m290/m290_pep3_1.25.bin",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init_ex(model, 6);
device_add(&amstrad_megapc_nvr_device);
device_add(&olivetti_eva_device);
device_add(&port_6x_olivetti_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&kbc_at_olivetti_device);
return ret;
}
/* C&T PC/AT */
static void
machine_at_ctat_common_init(const machine_t *model)
{
machine_at_common_init(model);
device_add(&cs8220_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&kbc_at_phoenix_device);
}
int
machine_at_dells200_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/dells200/dellL200256_LO_@DIP28.BIN",
"roms/machines/dells200/Dell200256_HI_@DIP28.BIN",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_ctat_common_init(model);
return ret;
}
int
machine_at_super286c_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/super286c/hyundai_award286.bin",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_ami_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&cs8220_device);
return ret;
}
int
machine_at_at122_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/at122/FINAL.BIN",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_ctat_common_init(model);
return ret;
}
int
machine_at_tuliptc7_init(const machine_t *model)
{
int ret;
ret = bios_load_interleavedr("roms/machines/tuliptc7/tc7be.bin",
"roms/machines/tuliptc7/tc7bo.bin",
0x000f8000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_ctat_common_init(model);
return ret;
}
int
machine_at_wellamerastar_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/wellamerastar/W_3.031_L.BIN",
"roms/machines/wellamerastar/W_3.031_H.BIN",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_ctat_common_init(model);
return ret;
}
/* GC103 */
int
machine_at_quadt286_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/quadt286/QUADT89L.ROM",
"roms/machines/quadt286/QUADT89H.ROM",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&headland_gc10x_device);
return ret;
}
void
machine_at_headland_common_init(const machine_t *model, int type)
{
device_add(&kbc_at_ami_device);
if ((type != 2) && (fdc_current[0] == FDC_INTERNAL))
device_add(&fdc_at_device);
if (type == 2)
device_add(&headland_ht18b_device);
else if (type == 1)
device_add(&headland_gc113_device);
else
device_add(&headland_gc10x_device);
}
int
machine_at_tg286m_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/tg286m/ami.bin",
0x000f0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_ide_init(model);
machine_at_headland_common_init(model, 1);
return ret;
}
// TODO
// Onboard Paradise PVGA1A-JK VGA Graphics
// Data Technology Corporation DTC7187 RLL Controller (Optional)
int
machine_at_ataripc4_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/ataripc4/AMI_PC4X_1.7_EVEN.BIN",
"roms/machines/ataripc4/AMI_PC4X_1.7_ODD.BIN",
0x000f0000, 65536, 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(&kbc_at_ami_device);
return ret;
}
int
machine_at_neat_ami_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/ami286/AMIC206.BIN",
0x000f0000, 65536, 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(&kbc_at_ami_device);
return ret;
}
int
machine_at_3302_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/3302/f000-flex_drive_test.bin",
0x000f0000, 65536, 0);
if (ret) {
ret &= bios_load_aux_linear("roms/machines/3302/f800-setup_ncr3.5-013190.bin",
0x000f8000, 32768, 0);
}
if (bios_only || !ret)
return ret;
machine_at_common_ide_init(model);
device_add(&neat_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
device_add(&kbc_at_ncr_device);
return ret;
}
int
machine_at_px286_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/px286/KENITEC.BIN",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&neat_device);
return ret;
}
/* SCAT */
static void
machine_at_scat_init(const machine_t *model, int is_v4, int is_ami)
{
machine_at_common_init(model);
if (machines[machine].bus_flags & MACHINE_BUS_PS2) {
if (is_ami)
device_add(&kbc_ps2_ami_device);
else
device_add(&kbc_ps2_device);
} else {
if (is_ami)
device_add(&kbc_at_ami_device);
else
device_add(&kbc_at_device);
}
if (is_v4)
device_add(&scat_4_device);
else
device_add(&scat_device);
}
int
machine_at_gw286ct_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/gw286ct/2ctc001.bin",
0x000f0000, 131072, 0);
if (bios_only || !ret)
return ret;
device_add(&f82c710_device);
machine_at_scat_init(model, 1, 0);
device_add(&ide_isa_device);
return ret;
}
int
machine_at_gdc212m_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/gdc212m/gdc212m_72h.bin",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0, 1);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&ide_isa_device);
return ret;
}
int
machine_at_award286_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/award286/award.bin",
0x000f0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0, 1);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&ide_isa_device);
return ret;
}
int
machine_at_super286tr_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/super286tr/hyundai_award286.bin",
0x000f0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0, 1);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
int
machine_at_drsm35286_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/drsm35286/syab04-665821fb81363428830424.bin",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
device_add(&ide_isa_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
machine_at_scat_init(model, 1, 0);
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
return ret;
}
int
machine_at_deskmaster286_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/deskmaster286/SAMSUNG-DESKMASTER-28612-ROM.BIN",
0x000f0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0, 1);
device_add(&f82c710_device);
device_add(&ide_isa_device);
return ret;
}
int
machine_at_spc4200p_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/spc4200p/u8.01",
0x000f0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0, 1);
device_add(&f82c710_device);
device_add(&ide_isa_device);
return ret;
}
int
machine_at_spc4216p_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/spc4216p/7101.U8",
"roms/machines/spc4216p/AC64.U10",
0x000f0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 1, 1);
device_add(&f82c710_device);
return ret;
}
int
machine_at_spc4620p_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/spc4620p/31005h.u8",
"roms/machines/spc4620p/31005h.u10",
0x000f0000, 131072, 0x8000);
if (bios_only || !ret)
return ret;
if (gfxcard[0] == VID_INTERNAL)
device_add(&ati28800k_spc4620p_device);
machine_at_scat_init(model, 1, 1);
device_add(&f82c710_device);
device_add(&ide_isa_device);
return ret;
}
int
machine_at_senor_scat286_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/senor286/AMI-DSC2-1115-061390-K8.rom",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_scat_init(model, 0, 1);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}

View File

@@ -423,7 +423,7 @@ machine_at_vect486vl_init(const machine_t *model) // has HDC problems
device_add(&vl82c113_device);
device_add(&ide_isa_device);
device_add(&fdc37c651_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
return ret;
}
@@ -453,7 +453,7 @@ machine_at_d824_init(const machine_t *model)
device_add(&vl82c113_device);
device_add(&ide_isa_device);
device_add(&fdc37c651_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C651);
return ret;
}
@@ -477,7 +477,7 @@ machine_at_tuliptc38_init(const machine_t *model)
device_add(&vl82c113_device);
device_add(&ide_isa_device);
device_add(&fdc37c651_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
if (gfxcard[0] == VID_INTERNAL) {
bios_load_aux_linear("roms/machines/tuliptc38/VBIOS.BIN",
@@ -510,7 +510,7 @@ machine_at_martin_init(const machine_t *model)
device_add(&vl82c113_device);
device_add(&ide_vlb_device);
device_add(&fdc37c651_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
device_add(&intel_flash_bxt_device);
@@ -586,7 +586,7 @@ machine_at_decpclpv_init(const machine_t *model)
device_add(&kbc_ps2_phoenix_pci_device);
device_add(&ide_isa_2ch_device);
device_add(&fdc37c663_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C663 | FDC37C6XX_IDE_PRI));
return ret;
}
@@ -617,7 +617,7 @@ machine_at_dell466np_init(const machine_t *model)
device_add(&kbc_ps2_phoenix_pci_device);
device_add(&ide_isa_device);
device_add(&fdc37c661_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C661 | FDC37C6XX_IDE_PRI));
return ret;
}
@@ -759,7 +759,7 @@ machine_at_c747_init(const machine_t *model)
desired behavior: command A9 does absolutely nothing.
*/
device_add(&kbc_at_siemens_device);
device_add(&um82c862f_ide_device);
device_add_params(&um866x_device, (void *) (UM82C862F | UM866X_IDE_PRI));
return ret;
}
@@ -921,8 +921,8 @@ machine_at_pb450_init(const machine_t *model)
device_add(&opti602_device);
device_add(&opti822_device);
device_add(&kbc_ps2_phoenix_device);
device_add(&fdc37c665_ide_device);
device_add(&ide_opti611_vlb_sec_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&ide_opti611_vlb_device);
device_add(&intel_flash_bxt_device);
device_add(&phoenix_486_jumper_pci_device);
@@ -952,7 +952,7 @@ machine_at_pc330_6573_common_init(const machine_t *model)
device_add(&opti802g_device);
device_add(&opti822_device);
device_add(&kbc_ps2_ami_device);
device_add(&fdc37c665_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&ide_opti611_vlb_device);
device_add(&intel_flash_bxt_device);
}
@@ -1005,7 +1005,9 @@ machine_at_mvi486_init(const machine_t *model)
device_add(&opti498_device);
device_add(&kbc_at_device);
device_add(&pc87311_ide_device);
device_add(&ide_isa_device);
device_add_params(&pc873xx_device, (void *) (PCX73XX_IDE_PRI | PCX730X_398));
return ret;
}
@@ -1056,7 +1058,7 @@ machine_at_advantage40xxd_init(const machine_t *model)
device_add(machine_get_vid_device(machine));
device_add(&kbc_ps2_phoenix_device);
device_add(&um82c863f_ide_device);
device_add_params(&um866x_device, (void *) (UM82C863F | UM866X_IDE_PRI));
device_add(&intel_flash_bxt_device);
@@ -1262,7 +1264,7 @@ machine_at_r418_init(const machine_t *model)
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_pci_device);
return ret;
@@ -1288,7 +1290,7 @@ machine_at_m4li_init(const machine_t *model)
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_pci_device);
return ret;
@@ -1314,7 +1316,7 @@ machine_at_ls486e_init(const machine_t *model)
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_ami_pci_device);
return ret;
@@ -1340,7 +1342,7 @@ machine_at_4dps_init(const machine_t *model)
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787IF | W837X7_KEY_89));
device_add(&kbc_ps2_ami_device);
device_add(&intel_flash_bxt_device);
@@ -1367,7 +1369,7 @@ machine_at_ms4144_init(const machine_t *model)
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&kbc_at_ami_device);
device_add(&sst_flash_29ee010_device);
@@ -1396,11 +1398,11 @@ machine_at_acerp3_init(const machine_t *model)
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&fdc37c665_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&kbc_ps2_acer_pci_device);
device_add(&ide_cmd640_pci_legacy_only_device);
if (gfxcard[0] == VID_INTERNAL)
device_add(&ide_cmd640_pci_legacy_only_device);
if (gfxcard[0] == VID_INTERNAL)
device_add(&gd5434_onboard_pci_device);
device_add(&intel_flash_bxt_device);
@@ -1427,7 +1429,7 @@ machine_at_486sp3c_init(const machine_t *model)
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_ami_pci_device);
device_add(&intel_flash_bxt_device);
@@ -1455,7 +1457,7 @@ machine_at_4saw2_init(const machine_t *model)
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83777F | W837X7_KEY_89));
device_add(&kbc_ps2_pci_device);
device_add(&intel_flash_bxt_device);
@@ -1488,7 +1490,7 @@ machine_at_alfredo_init(const machine_t *model)
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_phoenix_device);
device_add(&sio_device);
device_add(&fdc37c663_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C663);
device_add(&intel_flash_bxt_ami_device);
device_add(&i420tx_device);
@@ -1519,7 +1521,7 @@ machine_at_ninja_init(const machine_t *model)
device_add(&intel_flash_bxt_ami_device);
device_add(&i420ex_device);
device_add(&i82091aa_device);
device_add_params(&i82091aa_device, (void *) I82091AA_022);
return ret;
}
@@ -1548,7 +1550,7 @@ machine_at_bat4ip3e_init(const machine_t *model)
device_add(&kbc_ps2_pci_device);
device_add(&i420ex_device);
device_add(&ide_cmd640_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
return ret;
}
@@ -1573,7 +1575,7 @@ machine_at_486pi_init(const machine_t *model)
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 1, 2);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&i420ex_device);
return ret;
@@ -1598,7 +1600,7 @@ machine_at_sb486p_init(const machine_t *model)
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 2, 1);
device_add(&kbc_ps2_ami_pci_device);
device_add(&i82091aa_device);
device_add_params(&i82091aa_device, (void *) I82091AA_022);
device_add(&i420ex_device);
return ret;
@@ -1628,7 +1630,7 @@ machine_at_486sp3_init(const machine_t *model)
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_at_ami_device); /* Uses the AMIKEY KBC */
device_add(&sio_device);
device_add(&fdc37c663_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C663 | FDC37C6XX_IDE_PRI));
device_add(&sst_flash_29ee010_device);
device_add(&i420tx_device);
@@ -1657,7 +1659,7 @@ machine_at_amis76_init(const machine_t *model)
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_ami_pci_device);
device_add(&sio_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_ami_device);
device_add(&i420tx_device);
@@ -1750,7 +1752,7 @@ machine_at_486sp3g_init(const machine_t *model)
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_ami_pci_device); /* Uses the AMIKEY KBC */
device_add(&sio_zb_device);
device_add(&pc87332_398_ide_device);
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX73XX_IDE_PRI | PCX730X_398));
device_add(&sst_flash_29ee010_device);
device_add(&i420zx_device);
@@ -1829,7 +1831,7 @@ machine_at_sb486pv_init(const machine_t *model)
device_add(&kbc_ps2_ami_pci_device);
device_add(&sio_zb_device);
device_add(&ide_rz1000_pci_single_channel_device);
device_add(&i82091aa_26e_device);
device_add_params(&i82091aa_device, (void *) I82091AA_26E);
if (!strcmp(fn, "roms/machines/sb486pv/amiboot.rom"))
device_add(&intel_flash_bxt_device);
else
@@ -1892,7 +1894,7 @@ machine_at_g486vpa_init(const machine_t *model)
device_add(&via_vt82c49x_pci_ide_device);
device_add(&via_vt82c505_device);
device_add(&pc87332_398_ide_sec_device);
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX73XX_IDE_SEC | PCX730X_398));
device_add(&kbc_ps2_ami_pci_device);
device_add(&sst_flash_29ee010_device);
@@ -1921,7 +1923,7 @@ machine_at_486vipio2_init(const machine_t *model)
device_add(&via_vt82c49x_pci_ide_device);
device_add(&via_vt82c505_device);
device_add(&w83787f_ide_sec_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&kbc_ps2_ami_pci_device);
device_add(&sst_flash_29ee010_device);
@@ -1948,7 +1950,7 @@ machine_at_abpb4_init(const machine_t *model)
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&ali1489_device);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&kbc_at_device);
#if 0
device_add(&intel_flash_bxt_device);
@@ -1978,7 +1980,7 @@ machine_at_win486pci_init(const machine_t *model)
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&ali1489_device);
device_add(&prime3b_device);
device_add_params(&gm82c803ab_device, (void *) GM82C803B);
device_add(&kbc_at_ami_device);
return ret;
@@ -2005,7 +2007,7 @@ machine_at_ms4145_init(const machine_t *model)
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&ali1489_device);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&kbc_at_ami_device);
device_add(&sst_flash_29ee010_device);
@@ -2037,7 +2039,7 @@ machine_at_sbc490_init(const machine_t *model)
device_add(machine_get_vid_device(machine));
device_add(&ali1489_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_ami_device);
device_add(&sst_flash_29ee010_device);
@@ -2062,8 +2064,8 @@ machine_at_tf486_init(const machine_t *model)
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&ali1489_device);
device_add(&w83977ef_device);
device_add(&kbc_at_device);
device_add(&kbc_at_phoenix_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_NO_NVR));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -2085,7 +2087,7 @@ machine_at_arb1476_init(const machine_t *model)
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
device_add(&ali1489_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&kbc_ps2_device);
device_add(&sst_flash_29ee010_device);
@@ -2103,14 +2105,13 @@ machine_at_itoxstar_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
machine_at_common_init_ex(model, 2);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x0C, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&w83977f_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
device_add(&stpc_client_device);
device_add(&sst_flash_29ee020_device);
device_add(&w83781d_device); /* fans: Chassis, CPU, unused; temperatures: Chassis, CPU, unused */
@@ -2132,7 +2133,7 @@ machine_at_arb1423c_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
machine_at_common_init_ex(model, 2);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
@@ -2140,8 +2141,7 @@ machine_at_arb1423c_init(const machine_t *model)
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 0, 0, 0);
pci_register_slot(0x1E, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x1D, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&w83977f_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
device_add(&stpc_consumer2_device);
device_add(&winbond_flash_w29c020_device);
@@ -2159,7 +2159,7 @@ machine_at_arb1479_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
machine_at_common_init_ex(model, 2);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
@@ -2167,8 +2167,7 @@ machine_at_arb1479_init(const machine_t *model)
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 0, 0, 0);
pci_register_slot(0x1E, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x1D, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&w83977f_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
device_add(&stpc_consumer2_device);
device_add(&winbond_flash_w29c020_device);
@@ -2186,13 +2185,12 @@ machine_at_iach488_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
machine_at_common_init_ex(model, 2);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x0C, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&w83977f_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
device_add(&stpc_consumer2_device);
device_add(&sst_flash_29ee020_device);
@@ -2210,7 +2208,7 @@ machine_at_pcm9340_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
machine_at_common_init_ex(model, 2);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
@@ -2218,9 +2216,8 @@ machine_at_pcm9340_init(const machine_t *model)
pci_register_slot(0x1D, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x1E, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x1F, PCI_CARD_NORMAL, 2, 3, 4, 1);
device_add_inst(&w83977f_device, 1);
device_add_inst(&w83977f_device, 2);
device_add(&kbc_ps2_ami_pci_device);
device_add_inst_params(&w83977_device, 1, (void *) (W83977F | W83977_AMI));
device_add_inst_params(&w83977_device, 2, (void *) W83977F);
device_add(&stpc_elite_device);
device_add(&sst_flash_29ee020_device);
@@ -2238,7 +2235,7 @@ machine_at_pcm5330_init(const machine_t *model)
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
machine_at_common_init_ex(model, 2);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
@@ -2247,8 +2244,7 @@ machine_at_pcm5330_init(const machine_t *model)
pci_register_slot(0x0E, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&stpc_serial_device);
device_add(&w83977f_370_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977F | W83977_370 | W83977_AMI));
device_add(&stpc_atlas_device);
device_add(&sst_flash_29ee020_device);
@@ -2279,7 +2275,7 @@ machine_at_ecs486_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886f_device);
device_add(&ide_cmd640_pci_legacy_only_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
device_add(&kbc_ps2_ami_device);
@@ -2358,9 +2354,9 @@ machine_at_hot433a_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886bf_device);
if (is_award)
device_add(&um8663af_device);
device_add_params(&um866x_device, (void *) UM8663AF);
else
device_add(&um8669f_device);
device_add_params(&um8669f_device, (void *) 0);
device_add(&winbond_flash_w29c010_device);
if (is_award)
device_add(&kbc_ps2_ami_device);
@@ -2394,7 +2390,7 @@ machine_at_84xxuuda_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886bf_device);
device_add(&um8663bf_device);
device_add_params(&um866x_device, (void *) UM8663BF);
device_add(&winbond_flash_w29c010_device);
device_add(&kbc_ps2_ami_device);
@@ -2425,7 +2421,7 @@ machine_at_pl4600c_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886af_device);
device_add(&um8663af_device);
device_add_params(&um866x_device, (void *) UM8663AF);
device_add(&sst_flash_29ee010_device);
device_add(&kbc_ps2_ami_pci_device);
@@ -2496,7 +2492,7 @@ machine_at_actionpc2600_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886bf_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
device_add(&kbc_ps2_tg_ami_device);
@@ -2528,7 +2524,7 @@ machine_at_actiontower8400_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886f_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&ide_cmd640_pci_device);
device_add(&intel_flash_bxt_device); // The ActionPC 2600 has this so I'm gonna assume this does too.
device_add(&kbc_ps2_ami_pci_device);
@@ -2560,7 +2556,7 @@ machine_at_m919_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886af_device); /* AF is correct - the BIOS does IDE writes to ports 108h and 109h. */
device_add(&um8663bf_device);
device_add_params(&um866x_device, (void *) UM8663BF);
device_add(&sst_flash_29ee010_device);
device_add(&kbc_at_ami_device);
@@ -2589,7 +2585,7 @@ machine_at_spc7700plw_init(const machine_t *model)
device_add(&umc_hb4_device);
device_add(&umc_8886af_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
device_add(&kbc_ps2_ami_device);
@@ -2611,7 +2607,7 @@ machine_at_ms4134_init(const machine_t *model)
device_add(&ali1429g_device);
device_add(&fdc37c665_ide_pri_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
pci_init(FLAG_MECHANISM_1 | FLAG_MECHANISM_2 | PCI_ALWAYS_EXPOSE_DEV0);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
@@ -2645,7 +2641,7 @@ machine_at_tg486gp_init(const machine_t *model)
device_add(&ali1429g_device);
device_add(&fdc37c665_ide_pri_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
pci_init(FLAG_MECHANISM_1 | FLAG_MECHANISM_2 | PCI_ALWAYS_EXPOSE_DEV0);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
@@ -2678,7 +2674,7 @@ machine_at_tg486g_init(const machine_t *model)
device_add(&amstrad_megapc_nvr_device);
device_add(&sis_85c471_device);
device_add(&ide_isa_device);
device_add(&fdc37c651_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
device_add(&kbc_ps2_tg_ami_pci_device);
if (gfxcard[0] != VID_INTERNAL) {
@@ -2705,7 +2701,7 @@ machine_at_dvent4xx_init(const machine_t *model)
machine_at_common_init(model);
device_add(&sis_85c471_device);
device_add(&ide_cmd640_vlb_pri_device);
device_add(&fdc37c665_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&kbc_ps2_phoenix_device);
if (gfxcard[0] == VID_INTERNAL)
@@ -2753,7 +2749,7 @@ machine_at_ap4100aa_init(const machine_t *model)
device_add(&ali1429g_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&ide_vlb_device);
device_add(&um8663bf_device);
device_add_params(&um866x_device, (void *) UM8663BF);
return ret;
}
@@ -2886,7 +2882,7 @@ machine_at_cobalt_init(const machine_t *model)
device_add(&opti499_device);
device_add(&ide_opti611_vlb_device);
device_add(&ide_isa_sec_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_ami_device);
@@ -2911,7 +2907,7 @@ machine_at_cougar_init(const machine_t *model)
device_add(&ide_vlb_device);
device_add(&opti499_device);
device_add(&fdc37c665_ide_pri_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&kbc_at_ami_device);

File diff suppressed because it is too large Load Diff

88
src/machine/m_at_m6117.c Normal file
View File

@@ -0,0 +1,88 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Implementation of 386SX machines.
*
* Authors: Miran Grca, <mgrca8@gmail.com>
* EngiNerd <webmaster.crrc@yahoo.it>
*
* Copyright 2016-2025 Miran Grca.
* Copyright 2020-2025 EngiNerd.
*/
#include <stdarg.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <wchar.h>
#define HAVE_STDARG_H
#include <86box/86box.h>
#include "cpu.h"
#include <86box/timer.h>
#include <86box/io.h>
#include <86box/device.h>
#include <86box/chipset.h>
#include <86box/keyboard.h>
#include <86box/mem.h>
#include <86box/rom.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/hdc.h>
#include <86box/nvr.h>
#include <86box/port_6x.h>
#define USE_SIO_DETECT
#include <86box/sio.h>
#include <86box/serial.h>
#include <86box/video.h>
#include <86box/vid_cga.h>
#include <86box/flash.h>
#include <86box/machine.h>
/* ALi M6117D */
int
machine_at_pja511m_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/pja511m/2006915102435734.rom",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add_inst_params(&fdc37c669_device, 1, (void *) FDC37C6XX_IDE_PRI);
device_add_inst_params(&fdc37c669_device, 2, (void *) 0);
device_add(&kbc_ps2_ami_pci_device);
device_add(&ali6117d_device);
device_add(&sst_flash_29ee010_device);
return ret;
}
int
machine_at_prox1332_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/prox1332/D30B3AC1.BIN",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
device_add(&kbc_ps2_ami_pci_device);
device_add(&ali6117d_device);
device_add(&sst_flash_29ee010_device);
return ret;
}

View File

@@ -65,8 +65,7 @@ machine_at_vpc2007_init(const machine_t *model)
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&i440bx_no_agp_device);
device_add(&piix4e_device);
device_add(&w83977f_370_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977F | W83977_370 | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 256); /* real VPC provides invalid SPD data */

View File

@@ -110,7 +110,7 @@ machine_at_kn97_init(const machine_t *model)
device_add(&i440fx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&intel_flash_bxt_device);
device_add(&lm78_device); /* fans: Chassis, CPU, Power; temperature: MB */
for (uint8_t i = 0; i < 3; i++)
@@ -142,8 +142,7 @@ machine_at_lx6_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440lx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977tf_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_29ee010_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
@@ -272,8 +271,7 @@ machine_at_p6i440e2_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440ex_device);
device_add(&piix4_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977tf_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_29ee010_device);
spd_register(SPD_TYPE_SDRAM, 0x03, 256);
device_add(&w83781d_device); /* fans: CPU, CHS, PS; temperatures: unused, CPU, System */
@@ -308,8 +306,7 @@ machine_at_p2bls_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
#if 0
device_add(ics9xxx_get(ICS9150_08)); /* setting proper speeds requires some interaction with the AS97127F ASIC */
#endif
@@ -345,8 +342,7 @@ machine_at_lgibmx7g_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977tf_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&winbond_flash_w29c020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -378,8 +374,7 @@ machine_at_p3bf_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(ics9xxx_get(ICS9250_08));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
@@ -415,8 +410,7 @@ machine_at_bf6_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -446,8 +440,7 @@ machine_at_bx6_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83977f_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_29ee010_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
@@ -478,8 +471,7 @@ machine_at_ax6bc_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977tf_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_29ee020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
device_add(&gl518sm_2d_device); /* fans: System, CPU; temperature: CPU; no reporting in BIOS */
@@ -510,8 +502,7 @@ machine_at_atc6310bxii_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&slc90e66_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -541,8 +532,7 @@ machine_at_686bx_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977tf_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
device_add(&w83781d_device); /* fans: CPU, unused, unused; temperatures: unused, CPU, unused */
@@ -580,8 +570,7 @@ machine_at_p6sba_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&w83977tf_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
device_add(&w83781d_device); /* fans: CPU1, CPU2, Thermal Control; temperatures: unused, CPU1, CPU2? */
@@ -653,7 +642,7 @@ machine_at_ficka6130_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&via_apro_device);
device_add(&via_vt82c596a_device);
device_add(&w83877tf_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
device_add(&kbc_ps2_ami_pci_device);
device_add(&sst_flash_29ee020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -686,8 +675,7 @@ machine_at_p3v133_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&via_apro133_device);
device_add(&via_vt82c596b_device);
device_add(&w83977ef_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(ics9xxx_get(ICS9248_39));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
@@ -723,8 +711,7 @@ machine_at_p3v4x_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&via_apro133a_device);
device_add(&via_vt82c596b_device);
device_add(&w83977ef_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(ics9xxx_get(ICS9250_18));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
@@ -756,8 +743,7 @@ machine_at_gt694va_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&via_apro133a_device);
device_add(&via_vt82c596b_device);
device_add(&w83977ef_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 1024);
device_add(&w83782d_device); /* fans: CPU, unused, unused; temperatures: System, CPU1, unused */
@@ -821,12 +807,11 @@ machine_at_ms6168_common_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440zx_device);
device_add(&piix4e_device);
device_add(&w83977ef_device);
if (gfxcard[0] == VID_INTERNAL)
device_add(&voodoo_3_2000_agp_onboard_8m_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 256);

View File

@@ -65,8 +65,7 @@ machine_at_6gxu_init(const machine_t *model)
device_add(&i440gx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
device_add(&w83782d_device); /* fans: CPU, Power, System; temperatures: System, CPU, unused */
@@ -102,8 +101,7 @@ machine_at_s2dge_init(const machine_t *model)
device_add(&i440gx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977tf_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
device_add(&w83781d_device); /* fans: CPU1, CPU2, Thermal Control; temperatures: unused, CPU1, CPU2? */

View File

@@ -63,8 +63,7 @@ machine_at_s370slm_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440lx_device);
device_add(&piix4e_device);
device_add(&w83977tf_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
device_add(&w83781d_device); /* fans: CPU, Fan 2, Chassis; temperatures: unused, CPU, unused */
@@ -98,8 +97,7 @@ machine_at_prosignias31x_bx_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&w83977ef_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&winbond_flash_w29c020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
device_add(&gl520sm_2d_device); /* fans: CPU, Chassis; temperature: System */
@@ -139,8 +137,7 @@ machine_at_s1857_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -176,8 +173,7 @@ machine_at_p6bap_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&via_apro133a_device); /* Rebranded as ET82C693A */
device_add(&via_vt82c596b_device); /* Rebranded as ET82C696B */
device_add(&w83977ef_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -211,8 +207,7 @@ machine_at_p6bat_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&via_apro133_device);
device_add(&via_vt82c596b_device);
device_add(&w83977ef_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -248,8 +243,7 @@ machine_at_cubx_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&ide_cmd648_ter_qua_onboard_device);
device_add(ics9xxx_get(ICS9250_08));
device_add(&sst_flash_39sf020_device);
@@ -283,8 +277,7 @@ machine_at_atc7020bxii_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&slc90e66_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
@@ -355,8 +348,7 @@ machine_at_ambx133_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add(&w83977ef_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
device_add(&gl518sm_2d_device); /* fans: CPUFAN1, CPUFAN2; temperature: CPU */
@@ -391,9 +383,8 @@ machine_at_awo671r_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440bx_device);
device_add(&piix4e_device);
device_add_inst(&w83977ef_device, 1);
device_add_inst(&w83977ef_device, 2);
device_add(&kbc_ps2_pci_device);
device_add_inst_params(&w83977_device, 1, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add_inst_params(&w83977_device, 2, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&sst_flash_39sf020_device);
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
@@ -426,8 +417,7 @@ machine_at_63a1_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&i440zx_device);
device_add(&piix4e_device);
device_add(&w83977tf_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
@@ -457,7 +447,7 @@ machine_at_apas3_init(const machine_t *model)
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
device_add(&via_apro_device);
device_add(&via_vt82c586b_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&kbc_ps2_ami_pci_device);
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);

View File

@@ -130,7 +130,7 @@ machine_at_premiere_common_init(const machine_t *model, int pci_switch)
device_add(&kbc_ps2_phoenix_device);
device_add(&sio_zb_device);
device_add(&ide_rz1000_pci_single_channel_device);
device_add(&fdc37c665_ide_sec_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&intel_flash_bxt_ami_device);
}
@@ -153,7 +153,7 @@ machine_at_sp4_common_init(const machine_t *model)
device_add(&sis_85c50x_device);
device_add(&ide_cmd640_pci_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
}
@@ -177,7 +177,7 @@ machine_at_excaliburpci_init(const machine_t *model)
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_ami_pci_device);
device_add(&ide_cmd640_pci_legacy_only_device);
@@ -245,7 +245,7 @@ machine_at_dellxp60_init(const machine_t *model)
device_add(&i430lx_device);
device_add(&kbc_ps2_phoenix_device);
device_add(&sio_zb_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_ami_device);
return ret;
@@ -276,7 +276,7 @@ machine_at_opti560l_init(const machine_t *model)
device_add(&i430lx_device);
device_add(&kbc_ps2_phoenix_device);
device_add(&sio_zb_device);
device_add(&i82091aa_device);
device_add_params(&i82091aa_device, (void *) I82091AA_022);
device_add(&intel_flash_bxt_ami_device);
return ret;
@@ -308,7 +308,7 @@ machine_at_ambradp60_init(const machine_t *model)
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_phoenix_device);
device_add(&sio_zb_device);
device_add(&fdc37c665_ide_pri_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&intel_flash_bxt_ami_device);
device_add(&i430lx_device);
@@ -341,7 +341,7 @@ machine_at_valuepointp60_init(const machine_t *model)
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_ps1_pci_device);
device_add(&sio_device);
device_add(&fdc37c665_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&intel_flash_bxt_ami_device);
device_add(&i430lx_device);
@@ -441,7 +441,7 @@ machine_at_pb520r_init(const machine_t *model)
device_add(&kbc_ps2_pci_device);
device_add(&sio_zb_device);
device_add(&i82091aa_ide_device);
device_add_params(&i82091aa_device, (void *) (I82091AA_022 | I82091AA_IDE_PRI));
device_add(&intel_flash_bxt_ami_device);
return ret;
@@ -471,7 +471,7 @@ machine_at_m5pi_init(const machine_t *model)
device_add(&sio_zb_device);
device_add(&kbc_ps2_phoenix_device);
device_add(&ide_w83769f_pci_single_channel_device);
device_add(&fdc37c665_ide_sec_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&intel_flash_bxt_ami_device);
return ret;
@@ -523,7 +523,7 @@ machine_at_excalibur_init(const machine_t *model)
device_add(&opti5x7_device);
device_add(&ide_opti611_vlb_device);
device_add(&fdc37c661_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C661);
device_add(&kbc_ps2_intel_ami_pci_device);
return ret;
@@ -583,7 +583,7 @@ machine_at_excaliburpci2_init(const machine_t *model)
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0C, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_ami_pci_device);
device_add(&ide_cmd640_pci_legacy_only_device);

View File

@@ -109,7 +109,7 @@ machine_at_d842_init(const machine_t *model)
device_add(&kbc_ps2_pci_device);
device_add(&i430nx_device);
device_add(&sio_zb_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
return ret;
@@ -202,7 +202,7 @@ machine_at_p54np4_init(const machine_t *model)
device_add(&i430nx_device);
device_add(&sio_zb_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c665_ide_pri_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&intel_flash_bxt_device);
return ret;
@@ -250,7 +250,7 @@ machine_at_tek932_init(const machine_t *model)
device_add(&i430nx_device);
device_add(&sio_zb_device);
device_add(&ide_vlb_device);
device_add(&fdc37c665_ide_pri_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&intel_flash_bxt_ami_device);
return ret;
@@ -279,7 +279,7 @@ machine_at_acerv30_init(const machine_t *model)
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&kbc_ps2_acer_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&sst_flash_29ee010_device);
@@ -310,7 +310,7 @@ machine_at_apollo_init(const machine_t *model)
device_add(&kbc_ps2_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&pc87332_398_device);
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398));
device_add(&intel_flash_bxt_device);
return ret;
@@ -346,7 +346,7 @@ machine_at_optiplexgxl_init(const machine_t *model)
device_add(&kbc_ps2_phoenix_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&pc87332_device);
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_02E));
device_add(&dell_jumper_device);
device_add(&intel_flash_bxt_device);
@@ -437,7 +437,7 @@ machine_at_powermatev_init(const machine_t *model)
device_add(&kbc_ps2_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
return ret;
@@ -466,7 +466,7 @@ machine_at_hawk_init(const machine_t *model)
device_add(&kbc_ps2_tg_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
return ret;
@@ -497,7 +497,7 @@ machine_at_pt2000_init(const machine_t *model)
device_add(&kbc_ps2_holtek_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&pc87332_398_device);
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398));
device_add(&intel_flash_bxt_device);
return ret;
@@ -579,7 +579,7 @@ machine_at_ncselp90_init(const machine_t *model)
device_add(&sst_flash_29ee010_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&ide_opti611_vlb_device);
device_add(&fdc37c665_ide_sec_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&ide_vlb_2ch_device);
return ret;
@@ -626,7 +626,7 @@ machine_at_sq588_init(const machine_t *model)
device_add(&sis_85c50x_device);
device_add(&ide_cmd640_pci_single_channel_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c665_ide_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -655,7 +655,7 @@ machine_at_p54sps_init(const machine_t *model)
device_add(&sis_85c50x_device);
device_add(&ide_pci_2ch_device);
device_add(&kbc_at_ami_device);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -686,7 +686,7 @@ machine_at_ms5109_init(const machine_t *model)
device_add(&sis_550x_85c503_device);
device_add(&ide_w83769f_pci_device);
device_add(&kbc_ps2_ami_device);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -720,7 +720,7 @@ machine_at_torino_init(const machine_t *model)
device_add(&sis_550x_85c503_device);
device_add(&ide_um8673f_device);
device_add(&kbc_ps2_tg_ami_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_ami_device);
return ret;
@@ -752,7 +752,7 @@ machine_at_hot539_init(const machine_t *model)
device_add(&umc_8886af_device);
device_add(&sst_flash_29ee010_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&um8663af_device);
device_add_params(&um866x_device, (void *) UM8663AF);
return ret;
}

View File

@@ -112,7 +112,7 @@ machine_at_ap5vm_init(const machine_t *model)
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&ncr53c810_onboard_pci_device);
device_add(&intel_flash_bxt_device);
@@ -142,7 +142,7 @@ machine_at_p55t2p4_init(const machine_t *model)
device_add(&i430hx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&intel_flash_bxt_device);
return ret;
@@ -384,6 +384,34 @@ machine_at_equium5200_init(const machine_t *model)
return ret;
}
int
machine_at_p55t2s_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/p55t2s/s6y08t.rom",
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(0x12, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&i430hx_device);
device_add(&piix3_device);
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
device_add(&intel_flash_bxt_device);
return ret;
}
int
machine_at_pcv90_init(const machine_t *model)
{
@@ -458,7 +486,7 @@ machine_at_epc2102_init(const machine_t *model)
device_add(&i430hx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_intel_ami_pci_device);
device_add(&i82091aa_device);
device_add_params(&i82091aa_device, (void *) I82091AA_022);
device_add(&sst_flash_39sf010_device);
return ret;
@@ -487,7 +515,7 @@ machine_at_p55tvp4_init(const machine_t *model)
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device); // It uses the AMIKEY KBC
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&intel_flash_bxt_device);
return ret;
@@ -514,8 +542,8 @@ machine_at_5ivg_init(const machine_t *model)
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_pci_device);
device_add(&prime3c_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&gm82c803c_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
@@ -544,7 +572,7 @@ machine_at_8500tvxa_init(const machine_t *model)
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&um8669f_device);
device_add_params(&um8669f_device, (void *) 0);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -643,6 +671,35 @@ machine_at_dellhannibalp_init(const machine_t *model)
return ret;
}
int
machine_at_p5vxb_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/p5vxb/P5VXB10.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(0x05, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&sst_flash_29ee010_device);
return ret;
}
int
machine_at_p55va_init(const machine_t *model)
{
@@ -790,7 +847,7 @@ machine_at_mb520n_init(const machine_t *model)
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
@@ -819,7 +876,7 @@ machine_at_i430vx_init(const machine_t *model)
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_pci_device);
device_add(&um8669f_device);
device_add_params(&um8669f_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
@@ -920,8 +977,7 @@ machine_at_nupro592_init(const machine_t *model)
device_add(&i430tx_device);
device_add(&piix4_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977ef_device);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
device_add(&w83781d_device); /* fans: CPU1, unused, unused; temperatures: System, CPU1, unused */
@@ -958,7 +1014,7 @@ machine_at_tx97_init(const machine_t *model)
device_add(&i430tx_device);
device_add(&piix4_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877tf_acorp_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
device_add(&w83781d_device); /* fans: Chassis, CPU, Power; temperatures: MB, unused, CPU */
@@ -1073,8 +1129,7 @@ machine_at_ym430tx_init(const machine_t *model)
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&i430tx_device);
device_add(&piix4_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83977tf_device);
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
@@ -1104,7 +1159,7 @@ machine_at_mb540n_init(const machine_t *model)
device_add(&i430tx_device);
device_add(&piix4_device);
device_add(&kbc_ps2_pci_device);
device_add(&um8669f_device);
device_add_params(&um8669f_device, (void *) 0);
device_add(&sst_flash_29ee010_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
@@ -1135,7 +1190,7 @@ machine_at_56a5_init(const machine_t *model)
device_add(&i430tx_device);
device_add(&piix4_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&sst_flash_29ee010_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
@@ -1164,8 +1219,8 @@ machine_at_p5mms98_init(const machine_t *model)
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&i430tx_device);
device_add(&piix4_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83977tf_device);
/* This actually has the Winbond W83967AF, for which I can not find any datasheet at all. */
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI | W83977_NO_NVR));
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
device_add(&lm78_device); /* fans: Thermal, CPU, Chassis; temperature: unused */
@@ -1270,7 +1325,7 @@ machine_at_ficva502_init(const machine_t *model)
device_add(&via_vpx_device);
device_add(&via_vt82c586b_device);
device_add(&kbc_ps2_pci_device);
device_add(&fdc37c669_370_device);
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
device_add(&sst_flash_29ee010_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
@@ -1302,7 +1357,7 @@ machine_at_ficpa2012_init(const machine_t *model)
device_add(&via_vp3_device);
device_add(&via_vt82c586b_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&sst_flash_29ee010_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
@@ -1334,7 +1389,7 @@ machine_at_via809ds_init(const machine_t *model)
device_add(&via_vp3_device);
device_add(&via_vt82c586b_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
@@ -1364,7 +1419,7 @@ machine_at_r534f_init(const machine_t *model)
device_add(&sis_5571_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -1393,7 +1448,7 @@ machine_at_ms5146_init(const machine_t *model)
device_add(&sis_5571_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -1422,7 +1477,7 @@ machine_at_cb52xsi_init(const machine_t *model)
device_add(&sis_5571_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c669_370_device);
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -1451,7 +1506,7 @@ machine_at_sp97xv_init(const machine_t *model)
pci_register_slot(0x13, PCI_CARD_VIDEO, 1, 2, 3, 4); /* On-chip SiS graphics, absent here. */
device_add(&sis_5581_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -1478,7 +1533,7 @@ machine_at_sq578_init(const machine_t *model)
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&sis_5581_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877tf_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -1506,7 +1561,7 @@ machine_at_ms5172_init(const machine_t *model)
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&sis_5591_1997_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877tf_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
device_add(&sst_flash_29ee010_device);
return ret;

View File

@@ -127,7 +127,7 @@ machine_at_p54tp4xe_common_init(const machine_t *model)
device_add(&kbc_ps2_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
}
@@ -186,7 +186,7 @@ machine_at_exp8551_init(const machine_t *model)
device_add(&kbc_ps2_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -389,7 +389,7 @@ machine_at_ms5119_init(const machine_t *model)
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -484,7 +484,7 @@ machine_at_mb500n_init(const machine_t *model)
device_add(&kbc_ps2_pci_device);
device_add(&i430fx_device);
device_add(&piix_no_mirq_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
return ret;
@@ -514,7 +514,7 @@ machine_at_fmb_init(const machine_t *model)
device_add(&i430fx_device);
device_add(&piix_no_mirq_device);
device_add(&kbc_at_ami_device);
device_add(&w83787f_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&intel_flash_bxt_device);
return ret;
@@ -574,7 +574,7 @@ machine_at_ap53_init(const machine_t *model)
device_add(&i430hx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
@@ -603,54 +603,12 @@ machine_at_8500tuc_init(const machine_t *model)
device_add(&i430hx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&um8669f_device);
device_add_params(&um8669f_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
}
int
machine_at_d943_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_ex(model, 2);
device_add(&amstrad_megapc_nvr_device);
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(0x11, PCI_CARD_NORMAL, 3, 2, 4, 1);
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 3, 2, 4);
device_add(&i430hx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_pci_device);
device_add(&fdc37c665_device);
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_EDO, 0x7, 256);
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));
return ret;
}
static const device_config_t d943_config[] = {
// clang-format off
{
@@ -677,8 +635,6 @@ static const device_config_t d943_config[] = {
// clang-format on
};
const device_t d943_device = {
.name = "Siemens-Nixdorf D943",
.internal_name = "d943_device",
@@ -694,58 +650,43 @@ const device_t d943_device = {
};
int
machine_at_p55t2s_init(const machine_t *model)
machine_at_d943_init(const machine_t *model)
{
int ret;
int ret = 0;
const char* fn;
ret = bios_load_linear("roms/machines/p55t2s/s6y08t.rom",
0x000e0000, 131072, 0);
if (bios_only || !ret)
/* 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_ex(model, 2);
device_add(&amstrad_megapc_nvr_device);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x12, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
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(0x11, PCI_CARD_NORMAL, 3, 2, 4, 1);
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 3, 2, 4);
device_add(&i430hx_device);
device_add(&piix3_device);
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
device_add(&kbc_ps2_pci_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
spd_register(SPD_TYPE_EDO, 0x7, 256);
return ret;
}
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
int
machine_at_p5vxb_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/p5vxb/P5VXB10.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(0x05, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
device_add(&i430vx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877f_device);
device_add(&sst_flash_29ee010_device);
if (sound_card_current[0] == SOUND_INTERNAL)
machine_snd = device_add(machine_get_snd_device(machine));
return ret;
}
@@ -851,7 +792,7 @@ machine_at_ap5s_init(const machine_t *model)
device_add(&sis_5511_device);
device_add(&kbc_ps2_ami_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -880,7 +821,7 @@ machine_at_ms5124_init(const machine_t *model)
device_add(&sis_5511_device);
device_add(&kbc_ps2_ami_device);
device_add(&w83787f_88h_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_88));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -909,7 +850,7 @@ machine_at_amis727_init(const machine_t *model)
device_add(&sis_5511_device);
device_add(&kbc_ps2_intel_ami_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
return ret;
@@ -1014,7 +955,7 @@ machine_at_5sbm2_init(const machine_t *model)
device_add(&kbc_at_ami_device);
device_add(&sis_550x_device);
device_add(&um8663af_device);
device_add_params(&um866x_device, (void *) UM8663AF);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -1045,7 +986,7 @@ machine_at_pc140_6260_init(const machine_t *model)
device_add(&sis_5511_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&sst_flash_29ee010_device);
return ret;

View File

@@ -66,7 +66,7 @@ machine_at_ap61_init(const machine_t *model)
device_add(&sio_zb_device);
device_add(&ide_cmd646_device);
device_add(&kbc_ps2_acer_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&sst_flash_29ee010_device);
// device_add(&intel_flash_bxt_device);
@@ -101,7 +101,7 @@ machine_at_p6rp4_init(const machine_t *model)
device_add(&ide_cmd646_device);
/* Input port bit 2 must be 1 or CMOS Setup is disabled. */
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c665_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
return ret;
@@ -130,7 +130,7 @@ machine_at_686nx_init(const machine_t *model)
device_add(&i440fx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device); // Uses the AMIKEY keyboard controller
device_add(&um8669f_device);
device_add_params(&um8669f_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
@@ -159,7 +159,7 @@ machine_at_mb600n_init(const machine_t *model)
device_add(&i440fx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
@@ -218,7 +218,7 @@ machine_at_lgibmx61_init(const machine_t *model)
device_add(&i440fx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_device);
device_add(&w83877f_president_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_250));
device_add(&sst_flash_29ee010_device);
return ret;
@@ -393,7 +393,7 @@ machine_at_8600ttc_init(const machine_t *model)
device_add(&i440fx_device);
device_add(&piix3_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&fdc37c669_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&intel_flash_bxt_device);
return ret;
@@ -443,7 +443,7 @@ machine_at_p65up5_common_init(const machine_t *model, const device_t *northbridg
device_add(northbridge);
device_add(&piix3_ioapic_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877f_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
device_add(&sst_flash_29ee010_device);
device_add(&ioapic_device);
}

View File

@@ -232,7 +232,7 @@ machine_at_ax59pro_init(const machine_t *model)
device_add(&via_mvp3_device);
device_add(&via_vt82c586b_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83877tf_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_250));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
@@ -263,7 +263,7 @@ machine_at_mvp3_init(const machine_t *model)
device_add(&via_mvp3_device);
device_add(&via_vt82c586b_device);
device_add(&kbc_ps2_pci_device);
device_add(&w83877tf_acorp_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
device_add(&sst_flash_39sf010_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
@@ -365,7 +365,7 @@ machine_at_delhi3_init(const machine_t *model)
device_add(&via_mvp3_device);
device_add(&via_vt82c596a_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877tf_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_250));
device_add(&sst_flash_39sf020_device);
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
@@ -398,7 +398,7 @@ machine_at_5sg100_init(const machine_t *model)
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 0, 0, 0, 0);
device_add(&sis_5591_1997_device);
device_add(&kbc_ps2_ami_pci_device);
device_add(&w83877tf_device);
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
device_add(&sst_flash_29ee010_device);
return ret;

View File

@@ -168,6 +168,7 @@ ps2_isa_setup(int model, int cpu_type)
ps2->uart = device_add_inst(&ns16450_device, 1);
ps2->lpt = device_add_inst(&lpt_port_device, 1);
lpt_set_ext(ps2->lpt, 1);
lpt_port_remove(ps2->lpt);
lpt_port_setup(ps2->lpt, LPT_MDA_ADDR);

View File

@@ -1601,7 +1601,9 @@ machine_ps2_common_init(const machine_t *model)
nmi_mask = 0x80;
ps2.uart = device_add_inst(&ns16550_device, 1);
ps2.lpt = device_add_inst(&lpt_port_device, 1);
lpt_set_ext(ps2.lpt, 1);
ps2.has_e0000_hole = 0;
}

View File

@@ -81,6 +81,7 @@ const machine_filter_t machine_types[] = {
{ "[1978] 8086", MACHINE_TYPE_8086 },
{ "[1982] 80286", MACHINE_TYPE_286 },
{ "[1988] i386SX", MACHINE_TYPE_386SX },
{ "[1988] ALi M6117", MACHINE_TYPE_M6117 },
{ "[1992] 486SLC", MACHINE_TYPE_486SLC },
{ "[1985] i386DX", MACHINE_TYPE_386DX },
{ "[1989] i386DX/i486", MACHINE_TYPE_386DX_486 },
@@ -4158,6 +4159,47 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
/* Has IBM AT KBC firmware. */
{
.name = "[SCAT] Samsung Deskmaster 286",
.internal_name = "deskmaster286",
.type = MACHINE_TYPE_286,
.chipset = MACHINE_CHIPSET_SCAT,
.init = machine_at_deskmaster286_init,
.p1_handler = NULL,
.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_PS2,
.flags = MACHINE_IDE, /* Has internal video: C&T VGA 411 */
.ram = {
.min = 512,
.max = 8192,
.step = 128
},
.nvrmask = 127,
.kbc_device = NULL,
.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
},
/* Has IBM PS/2 Type 1 KBC firmware. */
{
.name = "[SCAT] Samsung SPC-4200P",
@@ -4281,47 +4323,6 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
/* Has IBM AT KBC firmware. */
{
.name = "[SCAT] Samsung Deskmaster 286",
.internal_name = "deskmaster286",
.type = MACHINE_TYPE_286,
.chipset = MACHINE_CHIPSET_SCAT,
.init = machine_at_deskmaster286_init,
.p1_handler = NULL,
.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_PS2,
.flags = MACHINE_IDE, /* Has internal video: C&T VGA 411 */
.ram = {
.min = 512,
.max = 8192,
.step = 128
},
.nvrmask = 127,
.kbc_device = NULL,
.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
},
{
.name = "[SCAT] Senor Science Co. SCAT-286-003",
.internal_name = "senorscat286",
@@ -4817,7 +4818,7 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
{
{
.name = "[ALi M1409] Acer 100T",
.internal_name = "acer100t",
.type = MACHINE_TYPE_386SX,
@@ -4858,88 +4859,6 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
/* Has IBM PS/2 Type 1 KBC firmware. */
{
.name = "[ALi M6117] Acrosser PJ-A511M",
.internal_name = "pja511m",
.type = MACHINE_TYPE_386SX,
.chipset = MACHINE_CHIPSET_ALI_M6117,
.init = machine_at_pja511m_init,
.p1_handler = NULL,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_M6117,
.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_PS2,
.flags = MACHINE_IDE,
.ram = {
.min = 1024,
.max = 32768,
.step = 1024
},
.nvrmask = 127,
.kbc_device = NULL,
.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
},
/* Has IBM PS/2 Type 1 KBC firmware. */
{
.name = "[ALi M6117] Protech ProX-1332",
.internal_name = "prox1332",
.type = MACHINE_TYPE_386SX,
.chipset = MACHINE_CHIPSET_ALI_M6117,
.init = machine_at_prox1332_init,
.p1_handler = NULL,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_M6117,
.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_PS2,
.flags = MACHINE_IDE,
.ram = {
.min = 1024,
.max = 32768,
.step = 1024
},
.nvrmask = 127,
.kbc_device = NULL,
.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
},
/* Has an AMI KBC firmware, the only photo of this is too low resolution
for me to read what's on the KBC chip, so I'm going to assume AMI 'F'
based on the other known HT18 AMI BIOS strings. */
@@ -5566,6 +5485,90 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
/* ALi M6117 machines */
/* Has IBM PS/2 Type 1 KBC firmware. */
{
.name = "[ALi M6117] Acrosser PJ-A511M",
.internal_name = "pja511m",
.type = MACHINE_TYPE_M6117,
.chipset = MACHINE_CHIPSET_ALI_M6117,
.init = machine_at_pja511m_init,
.p1_handler = NULL,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_M6117,
.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_PS2,
.flags = MACHINE_IDE,
.ram = {
.min = 1024,
.max = 32768,
.step = 1024
},
.nvrmask = 127,
.kbc_device = NULL,
.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
},
/* Has IBM PS/2 Type 1 KBC firmware. */
{
.name = "[ALi M6117] Protech ProX-1332",
.internal_name = "prox1332",
.type = MACHINE_TYPE_M6117,
.chipset = MACHINE_CHIPSET_ALI_M6117,
.init = machine_at_prox1332_init,
.p1_handler = NULL,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_M6117,
.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_PS2,
.flags = MACHINE_IDE,
.ram = {
.min = 1024,
.max = 32768,
.step = 1024
},
.nvrmask = 127,
.kbc_device = NULL,
.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
},
/* 486SLC machines */
/* 486SLC machines with just the ISA slot */
@@ -16496,10 +16499,9 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
/* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC
/* Has a Winbond W83977TF Super I/O chip with on-chip KBC with AMIKey-2 KBC
firmware. */
{
{
.name = "[i440BX] ABIT BX6",
.internal_name = "bx6",
.type = MACHINE_TYPE_SLOT1,
@@ -16539,7 +16541,8 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
/* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC
firmware. */
{
.name = "[i440BX] ABIT BF6",
.internal_name = "bf6",