2020-08-27 19:39:09 +02:00
|
|
|
/*
|
2022-11-05 21:44:11 -04:00
|
|
|
* 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.
|
2020-08-27 19:39:09 +02:00
|
|
|
*
|
2022-11-05 21:44:11 -04:00
|
|
|
* This file is part of the 86Box distribution.
|
2020-08-27 19:39:09 +02:00
|
|
|
*
|
2022-11-05 21:44:11 -04:00
|
|
|
* Implementation of Slot 1 machines.
|
2020-08-27 19:39:09 +02:00
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
2022-11-05 21:44:11 -04:00
|
|
|
* Authors: Miran Grca, <mgrca8@gmail.com>
|
2020-08-27 19:39:09 +02:00
|
|
|
*
|
2022-11-05 21:44:11 -04:00
|
|
|
* Copyright 2016-2019 Miran Grca.
|
2020-08-27 19:39:09 +02:00
|
|
|
*/
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <wchar.h>
|
|
|
|
|
#include <86box/86box.h>
|
|
|
|
|
#include <86box/mem.h>
|
|
|
|
|
#include <86box/io.h>
|
|
|
|
|
#include <86box/rom.h>
|
|
|
|
|
#include <86box/device.h>
|
2020-09-19 00:52:45 -03:00
|
|
|
#include <86box/pci.h>
|
2020-08-27 19:39:09 +02:00
|
|
|
#include <86box/chipset.h>
|
|
|
|
|
#include <86box/hdc.h>
|
|
|
|
|
#include <86box/hdc_ide.h>
|
|
|
|
|
#include <86box/keyboard.h>
|
|
|
|
|
#include <86box/flash.h>
|
|
|
|
|
#include <86box/sio.h>
|
|
|
|
|
#include <86box/hwm.h>
|
|
|
|
|
#include <86box/spd.h>
|
|
|
|
|
#include <86box/video.h>
|
|
|
|
|
#include "cpu.h"
|
|
|
|
|
#include <86box/machine.h>
|
|
|
|
|
#include <86box/sound.h>
|
2020-12-03 00:40:45 -03:00
|
|
|
#include <86box/clock.h>
|
2021-07-22 23:47:32 -03:00
|
|
|
#include <86box/snd_ac97.h>
|
2020-08-27 19:39:09 +02:00
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
int
|
|
|
|
|
machine_at_acerv62x_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/acerv62x/v62xc0s1.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_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 5, 0, 0, 4);
|
|
|
|
|
pci_register_slot(0x12, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
device_add(&i440fx_device);
|
|
|
|
|
device_add(&piix3_device);
|
|
|
|
|
device_add_params(&fdc37c93x_device, (void *) (FDC37C935 | FDC37C93X_APM));
|
|
|
|
|
device_add(&sst_flash_29ee020_device);
|
2025-05-06 19:08:16 +02:00
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 128);
|
2025-05-05 05:11:55 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-27 19:39:09 +02:00
|
|
|
int
|
|
|
|
|
machine_at_p65up5_cpknd_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-11-21 13:33:22 -03:00
|
|
|
ret = bios_load_linear("roms/machines/p65up5/NDKN0218.AWD",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000e0000, 131072, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_p65up5_common_init(model, &i440fx_device);
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_kn97_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/kn97/0116I.001",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000e0000, 131072, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init(model);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
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(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440fx_device);
|
|
|
|
|
device_add(&piix3_device);
|
|
|
|
|
device_add(&keyboard_ps2_pci_device);
|
|
|
|
|
device_add(&w83877f_device);
|
|
|
|
|
device_add(&intel_flash_bxt_device);
|
2020-10-30 20:41:15 -03:00
|
|
|
device_add(&lm78_device); /* fans: Chassis, CPU, Power; temperature: MB */
|
|
|
|
|
for (uint8_t i = 0; i < 3; i++)
|
2022-07-27 15:17:53 -04:00
|
|
|
hwm_values.fans[i] *= 2; /* BIOS reports fans with the wrong divisor for some reason */
|
2022-02-20 02:26:27 -05:00
|
|
|
|
2020-08-27 19:39:09 +02:00
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_lx6_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/lx6/LX6C_PZ.B00",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000e0000, 131072, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440lx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy).
2020-10-14 23:15:01 +02:00
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&w83977tf_device);
|
|
|
|
|
device_add(&sst_flash_29ee010_device);
|
2020-09-19 00:52:45 -03:00
|
|
|
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
2022-02-20 02:26:27 -05:00
|
|
|
|
2020-08-27 19:39:09 +02:00
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-27 22:08:53 +03:00
|
|
|
int
|
|
|
|
|
machine_at_spitfire_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/spitfire/SPIHM.02",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 22:08:53 +03:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 22:08:53 +03:00
|
|
|
|
2025-05-05 05:11:55 +02:00
|
|
|
machine_at_common_init(model);
|
2020-08-27 22:08:53 +03:00
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x08, PCI_CARD_VIDEO, 1, 2, 0, 0);
|
|
|
|
|
pci_register_slot(0x12, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
2020-08-27 22:08:53 +03:00
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 22:08:53 +03:00
|
|
|
device_add(&i440lx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
2025-05-05 05:11:55 +02:00
|
|
|
device_add_params(&fdc37c93x_device, (void *) (FDC37C935 | FDC37C93X_NORMAL | FDC37C93X_NO_NVR));
|
2020-08-27 22:08:53 +03:00
|
|
|
device_add(&intel_flash_bxt_device);
|
2020-10-30 20:41:15 -03:00
|
|
|
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
|
|
|
|
device_add(&lm78_device); /* no reporting in BIOS */
|
2020-08-27 22:08:53 +03:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-28 22:27:35 +01:00
|
|
|
int
|
2024-01-25 21:27:39 -03:00
|
|
|
machine_at_ma30d_init(const machine_t *model)
|
2023-12-28 22:27:35 +01:00
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2024-01-25 21:27:39 -03:00
|
|
|
ret = bios_load_linear("roms/machines/ma30d/BIOS.ROM",
|
2023-12-28 22:27:35 +01:00
|
|
|
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);
|
2024-01-25 21:43:14 -03:00
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
2023-12-28 22:27:35 +01:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-27 19:39:09 +02:00
|
|
|
int
|
|
|
|
|
machine_at_p6i440e2_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/p6i440e2/E2_v14sl.bin",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000e0000, 131072, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
2022-07-27 15:17:53 -04:00
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x0A, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440ex_device);
|
|
|
|
|
device_add(&piix4_device);
|
PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy).
2020-10-14 23:15:01 +02:00
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&w83977tf_device);
|
|
|
|
|
device_add(&sst_flash_29ee010_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x03, 256);
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&w83781d_device); /* fans: CPU, CHS, PS; temperatures: unused, CPU, System */
|
|
|
|
|
hwm_values.temperatures[0] = 0; /* unused */
|
|
|
|
|
hwm_values.voltages[1] = 1500; /* CPUVTT */
|
2020-09-30 21:48:02 -03:00
|
|
|
|
2020-08-27 19:39:09 +02:00
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_p2bls_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/p2bls/1014ls.003",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2024-01-03 23:48:27 +01:00
|
|
|
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);
|
2020-09-19 00:52:45 -03:00
|
|
|
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);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy).
2020-10-14 23:15:01 +02:00
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&w83977ef_device);
|
2023-06-09 23:46:54 -04:00
|
|
|
#if 0
|
|
|
|
|
device_add(ics9xxx_get(ICS9150_08)); /* setting proper speeds requires some interaction with the AS97127F ASIC */
|
|
|
|
|
#endif
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&sst_flash_39sf020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
2024-01-03 23:48:27 +01:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
2024-01-25 21:27:39 -03:00
|
|
|
machine_at_lgibmx7g_init(const machine_t *model)
|
2024-01-03 23:48:27 +01:00
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2024-01-25 21:27:39 -03:00
|
|
|
ret = bios_load_linear("roms/machines/lgibmx7g/ms6119.331",
|
2024-01-03 23:48:27 +01:00
|
|
|
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);
|
|
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
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);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
|
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(&w83977tf_device);
|
|
|
|
|
device_add(&winbond_flash_w29c020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_p3bf_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/p3bf/1008f.004",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
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(0x04, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
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(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy).
2020-10-14 23:15:01 +02:00
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&w83977ef_device);
|
2020-12-07 15:24:26 -03:00
|
|
|
device_add(ics9xxx_get(ICS9250_08));
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&sst_flash_39sf020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&as99127f_device); /* fans: Chassis, CPU, Power; temperatures: MB, JTPWR, CPU */
|
2020-10-30 20:41:15 -03:00
|
|
|
hwm_values.voltages[4] = hwm_values.voltages[5]; /* +12V reading not in line with other boards; appears to be close to the -12V reading */
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_bf6_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/bf6/Beh_70.bin",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 1, 4, 3);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
2020-08-27 19:39:09 +02:00
|
|
|
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 3, 1, 2);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
|
|
|
|
device_add(&keyboard_ps2_pci_device);
|
|
|
|
|
device_add(&w83977ef_device);
|
|
|
|
|
device_add(&sst_flash_39sf020_device);
|
2022-02-20 02:26:27 -05:00
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
2025-01-11 23:04:17 +01:00
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_bx6_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/bx6/BX6_EG.BIN",
|
|
|
|
|
0x000e0000, 131072, 0);
|
|
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
|
|
|
|
return ret;
|
|
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
|
|
|
|
device_add(&keyboard_ps2_pci_device);
|
|
|
|
|
device_add(&w83977f_device);
|
|
|
|
|
device_add(&sst_flash_29ee010_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
|
|
|
|
|
2020-08-27 19:39:09 +02:00
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_ax6bc_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/ax6bc/AX6BC_R2.59.bin",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy).
2020-10-14 23:15:01 +02:00
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&w83977tf_device);
|
|
|
|
|
device_add(&sst_flash_29ee020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
2020-10-30 20:41:15 -03:00
|
|
|
device_add(&gl518sm_2d_device); /* fans: System, CPU; temperature: CPU; no reporting in BIOS */
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_atc6310bxii_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/atc6310bxii/6310s102.bin",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
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(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
2024-08-23 16:12:37 -03:00
|
|
|
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&slc90e66_device);
|
|
|
|
|
device_add(&keyboard_ps2_pci_device);
|
|
|
|
|
device_add(&w83977ef_device);
|
|
|
|
|
device_add(&sst_flash_39sf020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
|
|
|
|
|
2022-02-20 02:26:27 -05:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
}
|
|
|
|
|
|
2020-11-14 17:25:14 -03:00
|
|
|
int
|
2020-12-03 00:40:45 -03:00
|
|
|
machine_at_686bx_init(const machine_t *model)
|
2020-11-14 17:25:14 -03:00
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/686bx/6BX.F2a",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-11-14 17:25:14 -03:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-11-14 17:25:14 -03:00
|
|
|
|
|
|
|
|
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(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-11-14 17:25:14 -03:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
|
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(&w83977tf_device);
|
|
|
|
|
device_add(&intel_flash_bxt_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&w83781d_device); /* fans: CPU, unused, unused; temperatures: unused, CPU, unused */
|
|
|
|
|
hwm_values.temperatures[0] = 0; /* unused */
|
2020-11-14 18:09:35 -03:00
|
|
|
hwm_values.temperatures[1] += 4; /* CPU offset */
|
2022-07-27 15:17:53 -04:00
|
|
|
hwm_values.temperatures[2] = 0; /* unused */
|
|
|
|
|
hwm_values.fans[1] = 0; /* unused */
|
|
|
|
|
hwm_values.fans[2] = 0; /* unused */
|
2020-11-14 17:25:14 -03:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-27 19:39:09 +02:00
|
|
|
int
|
|
|
|
|
machine_at_p6sba_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/p6sba/SBAB21.ROM",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
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(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x0F, 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);
|
|
|
|
|
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 0, 0);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 0, 0, 0);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
|
|
|
|
device_add(&w83977tf_device);
|
|
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(&intel_flash_bxt_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&w83781d_device); /* fans: CPU1, CPU2, Thermal Control; temperatures: unused, CPU1, CPU2? */
|
|
|
|
|
hwm_values.fans[1] = 0; /* no CPU2 fan */
|
2020-10-30 20:41:15 -03:00
|
|
|
hwm_values.temperatures[0] = 0; /* unused */
|
|
|
|
|
hwm_values.temperatures[2] = 0; /* CPU2? */
|
|
|
|
|
/* no CPU2 voltage */
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
2021-11-10 19:03:13 -03:00
|
|
|
machine_at_s1846_init(const machine_t *model)
|
2020-08-27 19:39:09 +02:00
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-11-10 19:03:13 -03:00
|
|
|
ret = bios_load_linear("roms/machines/s1846/bx46200f.rom",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2020-09-19 00:52:45 -03:00
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
pci_register_slot(0x0F, PCI_CARD_SOUND, 1, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x10, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-08-27 19:39:09 +02:00
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
2021-11-12 20:48:49 -03:00
|
|
|
device_add(&pc87309_device);
|
|
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(&intel_flash_bxt_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
2020-08-27 19:39:09 +02:00
|
|
|
|
2023-02-01 02:31:07 -05:00
|
|
|
if (sound_card_current[0] == SOUND_INTERNAL) {
|
2024-06-10 19:36:47 -03:00
|
|
|
device_add(machine_get_snd_device(machine));
|
|
|
|
|
device_add(&ct1297_device); /* no good pictures, but the marking looks like CT1297 from a distance */
|
2021-07-22 16:06:45 -03:00
|
|
|
}
|
2020-08-27 19:39:09 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-09 23:07:56 -03:00
|
|
|
int
|
2020-10-20 14:47:25 -03:00
|
|
|
machine_at_ficka6130_init(const machine_t *model)
|
2020-10-09 23:07:56 -03:00
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/ficka6130/qa4163.bin",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-10-09 23:07:56 -03:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-10-09 23:07:56 -03:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
2020-10-20 14:47:25 -03:00
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
|
|
|
|
|
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
2020-10-09 23:07:56 -03:00
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
2020-10-20 14:47:25 -03:00
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
2020-11-16 00:01:21 +01:00
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
2020-10-09 23:07:56 -03:00
|
|
|
device_add(&via_apro_device);
|
2021-07-08 18:54:31 -03:00
|
|
|
device_add(&via_vt82c596a_device);
|
2020-10-10 20:34:42 -03:00
|
|
|
device_add(&w83877tf_device);
|
2020-10-09 23:07:56 -03:00
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
2020-10-20 14:47:25 -03:00
|
|
|
device_add(&sst_flash_29ee020_device);
|
2020-10-09 23:07:56 -03:00
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
2020-12-03 00:40:45 -03:00
|
|
|
|
2020-12-16 15:37:43 -03:00
|
|
|
int
|
|
|
|
|
machine_at_p3v133_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/p3v133/1003.002",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-12-16 15:37:43 -03:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-12-16 15:37:43 -03:00
|
|
|
|
|
|
|
|
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(0x04, PCI_CARD_SOUTHBRIDGE, 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);
|
|
|
|
|
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(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
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(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(ics9xxx_get(ICS9248_39));
|
|
|
|
|
device_add(&sst_flash_39sf020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&w83781d_device); /* fans: Chassis, CPU, Power; temperatures: MB, unused, CPU */
|
|
|
|
|
hwm_values.temperatures[1] = 0; /* unused */
|
2020-12-16 15:37:43 -03:00
|
|
|
hwm_values.temperatures[2] -= 3; /* CPU offset */
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-12-03 00:40:45 -03:00
|
|
|
int
|
|
|
|
|
machine_at_p3v4x_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/p3v4x/1006.004",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-12-03 00:40:45 -03:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-12-03 00:40:45 -03:00
|
|
|
|
|
|
|
|
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(0x04, PCI_CARD_SOUTHBRIDGE, 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);
|
|
|
|
|
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(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
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(&keyboard_ps2_ami_pci_device);
|
2020-12-07 15:24:26 -03:00
|
|
|
device_add(ics9xxx_get(ICS9250_18));
|
2020-12-03 00:40:45 -03:00
|
|
|
device_add(&sst_flash_39sf020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
|
|
|
|
|
device_add(&as99127f_device); /* fans: Chassis, CPU, Power; temperatures: MB, JTPWR, CPU */
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
2020-12-30 22:37:51 +02:00
|
|
|
|
2022-12-10 21:53:17 +05:00
|
|
|
int
|
|
|
|
|
machine_at_gt694va_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/gt694va/21071100.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_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 3, 4);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_SOUND, 4, 1, 2, 3); /* assumed */
|
|
|
|
|
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
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(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
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 */
|
|
|
|
|
hwm_values.voltages[1] = 1500; /* IN1 (unknown purpose, assumed Vtt) */
|
|
|
|
|
hwm_values.fans[0] = 4500; /* BIOS does not display <4411 RPM */
|
|
|
|
|
hwm_values.fans[1] = 0; /* unused */
|
|
|
|
|
hwm_values.fans[2] = 0; /* unused */
|
|
|
|
|
hwm_values.temperatures[2] = 0; /* unused */
|
|
|
|
|
|
2023-02-01 02:31:07 -05:00
|
|
|
if (sound_card_current[0] == SOUND_INTERNAL) {
|
2024-06-10 19:36:47 -03:00
|
|
|
device_add(machine_get_snd_device(machine));
|
2024-06-10 23:01:07 -03:00
|
|
|
device_add(&cs4297_device); /* no good pictures, but the marking looks like CS4297 from a distance */
|
2022-12-10 21:53:17 +05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2020-12-30 22:37:51 +02:00
|
|
|
int
|
|
|
|
|
machine_at_vei8_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
2021-03-14 20:35:01 +01:00
|
|
|
ret = bios_load_linear("roms/machines/vei8/QHW1001.BIN",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2020-12-30 22:37:51 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2020-12-30 22:37:51 +02:00
|
|
|
|
|
|
|
|
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(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x0F, 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(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
device_add(&i440bx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
|
|
|
|
device_add(&fdc37m60x_370_device);
|
|
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
2021-07-04 17:40:39 +02:00
|
|
|
device_add(ics9xxx_get(ICS9250_08));
|
2020-12-30 22:37:51 +02:00
|
|
|
device_add(&sst_flash_39sf020_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x3, 512);
|
2021-07-04 17:40:39 +02:00
|
|
|
device_add(&as99127f_device); /* fans: Chassis, CPU, Power; temperatures: MB, JTPWR, CPU */
|
2020-12-30 22:37:51 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
2021-04-06 07:17:38 +02:00
|
|
|
|
|
|
|
|
static void
|
|
|
|
|
machine_at_ms6168_common_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
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(0x14, PCI_CARD_SOUND, 3, 4, 1, 2);
|
2023-01-06 15:36:05 -05:00
|
|
|
pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
2022-02-20 02:26:27 -05:00
|
|
|
pci_register_slot(0x10, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
2021-04-06 07:17:38 +02:00
|
|
|
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
|
|
|
|
device_add(&i440zx_device);
|
|
|
|
|
device_add(&piix4e_device);
|
|
|
|
|
device_add(&w83977ef_device);
|
|
|
|
|
|
2023-02-06 04:12:46 -05:00
|
|
|
if (gfxcard[0] == VID_INTERNAL)
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&voodoo_3_2000_agp_onboard_8m_device);
|
2021-04-06 07:17:38 +02:00
|
|
|
|
2021-08-21 18:19:10 +02:00
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(&intel_flash_bxt_device);
|
|
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
|
|
|
|
|
|
2023-02-01 02:31:07 -05:00
|
|
|
if (sound_card_current[0] == SOUND_INTERNAL) {
|
2024-06-10 19:36:47 -03:00
|
|
|
device_add(machine_get_snd_device(machine));
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&cs4297_device);
|
2021-07-22 16:06:45 -03:00
|
|
|
}
|
2021-04-06 07:17:38 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_borapro_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/borapro/MS6168V2.50",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2021-04-06 07:17:38 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2021-04-06 07:17:38 +02:00
|
|
|
|
|
|
|
|
machine_at_ms6168_common_init(model);
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_ms6168_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/ms6168/w6168ims.130",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000c0000, 262144, 0);
|
2021-04-06 07:17:38 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2021-04-06 07:17:38 +02:00
|
|
|
|
|
|
|
|
machine_at_ms6168_common_init(model);
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
2021-07-12 05:56:06 +02:00
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_m729_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/m729/M729NEW.BIN",
|
2022-07-27 15:17:53 -04:00
|
|
|
0x000e0000, 131072, 0);
|
2021-07-12 05:56:06 +02:00
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
2022-07-27 15:17:53 -04:00
|
|
|
return ret;
|
2021-07-12 05:56:06 +02:00
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
|
|
|
|
pci_init(PCI_CONFIG_TYPE_1);
|
|
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
|
|
|
|
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
2022-07-23 01:29:19 +02:00
|
|
|
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE_IDE, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x03, PCI_CARD_SOUTHBRIDGE_PMU, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
2021-07-12 05:56:06 +02:00
|
|
|
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);
|
|
|
|
|
device_add(&ali1621_device);
|
2022-07-27 15:17:53 -04:00
|
|
|
device_add(&ali1543c_device); /* +0 */
|
2022-12-04 23:31:21 +01:00
|
|
|
device_add(&winbond_flash_w29c010_device);
|
2021-11-22 23:43:52 -03:00
|
|
|
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
|
2021-07-12 05:56:06 +02:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
2024-02-22 00:52:20 +01:00
|
|
|
|
|
|
|
|
int
|
|
|
|
|
machine_at_p6f99_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/p6f99/99-8.BIN",
|
|
|
|
|
0x000c0000, 262144, 0);
|
|
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
|
|
|
|
return ret;
|
|
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
2024-04-04 03:10:29 +02:00
|
|
|
pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST);
|
2024-02-22 00:52:20 +01:00
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
2024-06-10 19:36:47 -03:00
|
|
|
pci_register_slot(0x0C, PCI_CARD_SOUND, 2, 3, 4, 1);
|
2024-02-22 00:52:20 +01:00
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
|
|
|
|
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
device_add(&sis_5600_device);
|
|
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(&it8661f_device);
|
|
|
|
|
device_add(&winbond_flash_w29c020_device);
|
|
|
|
|
|
2024-06-10 19:36:47 -03:00
|
|
|
if (sound_card_current[0] == SOUND_INTERNAL) {
|
|
|
|
|
device_add(machine_get_snd_device(machine));
|
|
|
|
|
device_add(&ct1297_device);
|
|
|
|
|
}
|
2024-02-22 00:52:20 +01:00
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-09 18:56:42 +01:00
|
|
|
int
|
|
|
|
|
machine_at_m747_init(const machine_t *model)
|
|
|
|
|
{
|
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
ret = bios_load_linear("roms/machines/m747/990521.rom",
|
|
|
|
|
0x000c0000, 262144, 0);
|
|
|
|
|
|
|
|
|
|
if (bios_only || !ret)
|
|
|
|
|
return ret;
|
|
|
|
|
|
|
|
|
|
machine_at_common_init_ex(model, 2);
|
|
|
|
|
|
2024-04-04 03:10:29 +02:00
|
|
|
pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST);
|
2024-03-09 18:56:42 +01:00
|
|
|
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
|
|
|
|
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
|
|
|
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
|
|
|
|
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 0, 0, 0, 0);
|
|
|
|
|
device_add(&sis_5600_device);
|
|
|
|
|
device_add(&keyboard_ps2_ami_pci_device);
|
|
|
|
|
device_add(&it8661f_device);
|
|
|
|
|
device_add(&winbond_flash_w29c020_device);
|
|
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
|
}
|