WARNING: CONFIGS MIGHT PARTIALLY BREAK WHERE DEVICE NAMES HAVE CHANGED.

Changes to device_t struct to accomodate the upcoming PCI IRQ arbitration rewrite;
Added device.c/h API to obtain name from the device_t struct;
Significant changes to win/win_settings.c to clean up the code a bit and fix bugs;
Ported all the CPU and AudioPCI commits from PCem;
Added an API call to allow ACPI soft power off to gracefully stop the emulator;
Removed the Siemens PCD-2L from the Dev branch because it now works;
Removed the Socket 5 HP Vectra from the Dev branch because it now works;
Fixed the Compaq Presario and the Micronics Spitfire;
Give the IBM PC330 its own list of 486 CPU so it can have DX2's with CPUID 0x470;
SMM fixes;
Rewrote the SYSENTER, SYSEXIT, SYSCALL, and SYSRET instructions;
Changed IDE reset period to match the specification, fixes #929;
The keyboard input and output ports are now forced in front of the queue when read, fixes a number of bugs, including the AMI Apollo hanging on soft reset;
Added the Intel AN430TX but Dev branched because it does not work;
The network code no longer drops packets if the emulated network card has failed to receive them (eg. when the buffer is full);
Changes to PCI card adding and renamed some PCI slot types, also added proper AGP bridge slot types;
USB UHCI emulation is no longer a stub (still doesn't fully work, but at least Windows XP chk with Debug no longer ASSERT's on it);
Fixed NVR on the the SMC FDC37C932QF and APM variants;
A number of fixes to Intel 4x0 chipsets, including fixing every register of the 440LX and 440EX;
Some ACPI changes.
This commit is contained in:
OBattler
2020-11-16 00:01:21 +01:00
parent 745460f64b
commit 0faf6692c9
260 changed files with 5122 additions and 4471 deletions

View File

@@ -50,39 +50,38 @@ int scsi_card_last = 0;
typedef const struct {
const char *name;
const char *internal_name;
const device_t *device;
} SCSI_CARD;
static SCSI_CARD scsi_cards[] = {
{ "None", "none", NULL, },
{ "[ISA] Adaptec AHA-154xA", "aha154xa", &aha154xa_device, },
{ "[ISA] Adaptec AHA-154xB", "aha154xb", &aha154xb_device, },
{ "[ISA] Adaptec AHA-154xC", "aha154xc", &aha154xc_device, },
{ "[ISA] Adaptec AHA-154xCF", "aha154xcf", &aha154xcf_device, },
{ "[ISA] BusLogic BT-542B", "bt542b", &buslogic_542b_1991_device, },
{ "[ISA] BusLogic BT-542BH", "bt542bh", &buslogic_device, },
{ "[ISA] BusLogic BT-545S", "bt545s", &buslogic_545s_device, },
{ "[ISA] Longshine LCS-6821N", "lcs6821n", &scsi_lcs6821n_device, },
{ "[ISA] Rancho RT1000B", "rt1000b", &scsi_rt1000b_device, },
{ "[ISA] Trantor T130B", "t130b", &scsi_t130b_device, },
{ "none", NULL, },
{ "aha154xa", &aha154xa_device, },
{ "aha154xb", &aha154xb_device, },
{ "aha154xc", &aha154xc_device, },
{ "aha154xcf", &aha154xcf_device, },
{ "bt542b", &buslogic_542b_1991_device, },
{ "bt542bh", &buslogic_device, },
{ "bt545s", &buslogic_545s_device, },
{ "lcs6821n", &scsi_lcs6821n_device, },
{ "rt1000b", &scsi_rt1000b_device, },
{ "t130b", &scsi_t130b_device, },
#ifdef WALTJE
{ "[ISA] Sumo SCSI-AT", "scsiat", &scsi_scsiat_device, },
{ "[ISA] Generic WDC33C93", "wd33c93", &scsi_wd33c93_device, },
{ "scsiat", &scsi_scsiat_device, },
{ "wd33c93", &scsi_wd33c93_device, },
#endif
{ "[MCA] Adaptec AHA-1640", "aha1640", &aha1640_device, },
{ "[MCA] BusLogic BT-640A", "bt640a", &buslogic_640a_device, },
{ "[MCA] IBM PS/2 SCSI", "spock", &spock_device, },
{ "[PCI] BusLogic BT-958D", "bt958d", &buslogic_pci_device, },
{ "[PCI] NCR 53C810", "ncr53c810", &ncr53c810_pci_device, },
{ "[PCI] NCR 53C825A", "ncr53c825a", &ncr53c825a_pci_device, },
{ "[PCI] NCR 53C860", "ncr53c860", &ncr53c860_pci_device, },
{ "[PCI] NCR 53C875", "ncr53c875", &ncr53c875_pci_device, },
{ "[PCI] Tekram DC-390", "dc390", &dc390_pci_device, },
{ "[VLB] BusLogic BT-445S", "bt445s", &buslogic_445s_device, },
{ "", "", NULL, },
{ "aha1640", &aha1640_device, },
{ "bt640a", &buslogic_640a_device, },
{ "spock", &spock_device, },
{ "bt958d", &buslogic_pci_device, },
{ "ncr53c810", &ncr53c810_pci_device, },
{ "ncr53c825a", &ncr53c825a_pci_device, },
{ "ncr53c860", &ncr53c860_pci_device, },
{ "ncr53c875", &ncr53c875_pci_device, },
{ "dc390", &dc390_pci_device, },
{ "bt445s", &buslogic_445s_device, },
{ "", NULL, },
};
@@ -96,13 +95,6 @@ scsi_card_available(int card)
}
char *
scsi_card_getname(int card)
{
return((char *) scsi_cards[card].name);
}
const device_t *
scsi_card_getdevice(int card)
{

View File

@@ -911,7 +911,7 @@ aha_init(const device_t *info)
static const device_config_t aha_154xb_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334,
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{
"None", 0
@@ -940,7 +940,7 @@ static const device_config_t aha_154xb_config[] = {
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11,
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{
"IRQ 9", 9
@@ -966,7 +966,7 @@ static const device_config_t aha_154xb_config[] = {
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6,
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{
"DMA 5", 5
@@ -983,7 +983,7 @@ static const device_config_t aha_154xb_config[] = {
},
},
{
"hostid", "Host ID", CONFIG_SELECTION, "", 7,
"hostid", "Host ID", CONFIG_SELECTION, "", 7, "", { 0 },
{
{
"0", 0
@@ -1015,7 +1015,7 @@ static const device_config_t aha_154xb_config[] = {
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0,
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{
"Disabled", 0
@@ -1041,7 +1041,7 @@ static const device_config_t aha_154xb_config[] = {
static const device_config_t aha_154x_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334,
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{
"None", 0
@@ -1070,7 +1070,7 @@ static const device_config_t aha_154x_config[] = {
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11,
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{
"IRQ 9", 9
@@ -1096,7 +1096,7 @@ static const device_config_t aha_154x_config[] = {
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6,
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{
"DMA 5", 5
@@ -1113,7 +1113,7 @@ static const device_config_t aha_154x_config[] = {
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0,
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{
"Disabled", 0
@@ -1140,7 +1140,7 @@ static const device_config_t aha_154x_config[] = {
static const device_config_t aha_154xcf_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334,
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{
"None", 0
@@ -1169,7 +1169,7 @@ static const device_config_t aha_154xcf_config[] = {
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11,
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{
"IRQ 9", 9
@@ -1195,7 +1195,7 @@ static const device_config_t aha_154xcf_config[] = {
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6,
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{
"DMA 5", 5
@@ -1212,7 +1212,7 @@ static const device_config_t aha_154xcf_config[] = {
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0,
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{
"Disabled", 0
@@ -1232,7 +1232,7 @@ static const device_config_t aha_154xcf_config[] = {
},
},
{
"fdc_addr", "FDC address", CONFIG_HEX16, "", 0,
"fdc_addr", "FDC address", CONFIG_HEX16, "", 0, "", { 0 },
{
{
"None", 0
@@ -1259,7 +1259,7 @@ const device_t aha154xa_device = {
DEVICE_ISA | DEVICE_AT,
AHA_154xA,
aha_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
aha_154xb_config
};
@@ -1268,7 +1268,7 @@ const device_t aha154xb_device = {
DEVICE_ISA | DEVICE_AT,
AHA_154xB,
aha_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
aha_154xb_config
};
@@ -1277,7 +1277,7 @@ const device_t aha154xc_device = {
DEVICE_ISA | DEVICE_AT,
AHA_154xC,
aha_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
aha_154x_config
};
@@ -1286,7 +1286,7 @@ const device_t aha154xcf_device = {
DEVICE_ISA | DEVICE_AT,
AHA_154xCF,
aha_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
aha_154xcf_config
};
@@ -1295,6 +1295,6 @@ const device_t aha1640_device = {
DEVICE_MCA,
AHA_1640,
aha_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};

View File

@@ -1742,7 +1742,7 @@ buslogic_init(const device_t *info)
static const device_config_t BT_ISA_Config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334,
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{
"0x330", 0x330
@@ -1768,7 +1768,7 @@ static const device_config_t BT_ISA_Config[] = {
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11,
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{
"IRQ 9", 9
@@ -1794,7 +1794,7 @@ static const device_config_t BT_ISA_Config[] = {
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6,
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{
"DMA 5", 5
@@ -1811,7 +1811,7 @@ static const device_config_t BT_ISA_Config[] = {
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0,
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{
"Disabled", 0
@@ -1850,7 +1850,7 @@ const device_t buslogic_542b_1991_device = {
DEVICE_ISA | DEVICE_AT,
CHIP_BUSLOGIC_ISA_542_1991,
buslogic_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
BT_ISA_Config
};
@@ -1859,7 +1859,7 @@ const device_t buslogic_device = {
DEVICE_ISA | DEVICE_AT,
CHIP_BUSLOGIC_ISA_542,
buslogic_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
BT_ISA_Config
};
@@ -1868,7 +1868,7 @@ const device_t buslogic_545s_device = {
DEVICE_ISA | DEVICE_AT,
CHIP_BUSLOGIC_ISA,
buslogic_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
BT_ISA_Config
};
@@ -1877,7 +1877,7 @@ const device_t buslogic_640a_device = {
DEVICE_MCA,
CHIP_BUSLOGIC_MCA,
buslogic_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
@@ -1886,7 +1886,7 @@ const device_t buslogic_445s_device = {
DEVICE_VLB,
CHIP_BUSLOGIC_VLB,
buslogic_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
BT_ISA_Config
};
@@ -1895,6 +1895,6 @@ const device_t buslogic_pci_device = {
DEVICE_PCI,
CHIP_BUSLOGIC_PCI,
buslogic_init, x54x_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
BT958D_Config
};

View File

@@ -1238,7 +1238,7 @@ t130b_available(void)
static const device_config_t ncr5380_mmio_config[] = {
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000,
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000, "", { 0 },
{
{
"C800H", 0xc8000
@@ -1259,7 +1259,7 @@ static const device_config_t ncr5380_mmio_config[] = {
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5,
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{
"IRQ 3", 3
@@ -1279,7 +1279,7 @@ static const device_config_t ncr5380_mmio_config[] = {
static const device_config_t rancho_config[] = {
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000,
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000, "", { 0 },
{
{
"C800H", 0xc8000
@@ -1300,7 +1300,7 @@ static const device_config_t rancho_config[] = {
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5,
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{
"IRQ 3", 3
@@ -1314,7 +1314,7 @@ static const device_config_t rancho_config[] = {
},
},
{
"bios_ver", "BIOS Version", CONFIG_SELECTION, "", 1,
"bios_ver", "BIOS Version", CONFIG_SELECTION, "", 1, "", { 0 },
{
{
"8.20R", 1
@@ -1334,7 +1334,7 @@ static const device_config_t rancho_config[] = {
static const device_config_t t130b_config[] = {
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000,
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000, "", { 0 },
{
{
"Disabled", 0
@@ -1357,7 +1357,7 @@ static const device_config_t t130b_config[] = {
},
},
{
"base", "Address", CONFIG_HEX16, "", 0x0350,
"base", "Address", CONFIG_HEX16, "", 0x0350, "", { 0 },
{
{
"240H", 0x0240
@@ -1377,7 +1377,7 @@ static const device_config_t t130b_config[] = {
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5,
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{
"IRQ 3", 3
@@ -1405,7 +1405,7 @@ const device_t scsi_lcs6821n_device =
DEVICE_ISA,
0,
ncr_init, ncr_close, NULL,
lcs6821n_available,
{ lcs6821n_available },
NULL, NULL,
ncr5380_mmio_config
};
@@ -1416,7 +1416,7 @@ const device_t scsi_rt1000b_device =
DEVICE_ISA,
1,
ncr_init, ncr_close, NULL,
rt1000b_available,
{ rt1000b_available },
NULL, NULL,
rancho_config
};
@@ -1427,7 +1427,7 @@ const device_t scsi_t130b_device =
DEVICE_ISA,
2,
ncr_init, ncr_close, NULL,
t130b_available,
{ t130b_available },
NULL, NULL,
t130b_config
};

View File

@@ -2732,50 +2732,50 @@ static const device_config_t ncr53c8xx_pci_config[] = {
const device_t ncr53c810_pci_device =
{
"NCR 53c810 (SCSI)",
"NCR 53c810",
DEVICE_PCI,
0x01,
ncr53c8xx_init, ncr53c8xx_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
ncr53c8xx_pci_config
};
const device_t ncr53c810_onboard_pci_device =
{
"NCR 53c810 (SCSI) On-Board",
"NCR 53c810 On-Board",
DEVICE_PCI,
0x8001,
ncr53c8xx_init, ncr53c8xx_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
NULL
};
const device_t ncr53c825a_pci_device =
{
"NCR 53c825A (SCSI)",
"NCR 53c825A",
DEVICE_PCI,
CHIP_825,
ncr53c8xx_init, ncr53c8xx_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
ncr53c8xx_pci_config
};
const device_t ncr53c860_pci_device =
{
"NCR 53c860 (SCSI)",
"NCR 53c860",
DEVICE_PCI,
CHIP_860,
ncr53c8xx_init, ncr53c8xx_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
ncr53c8xx_pci_config
};
const device_t ncr53c875_pci_device =
{
"NCR 53c875 (SCSI)",
"NCR 53c875",
DEVICE_PCI,
CHIP_875,
ncr53c8xx_init, ncr53c8xx_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
ncr53c8xx_pci_config
};

View File

@@ -1485,10 +1485,10 @@ static const device_config_t dc390_pci_config[] = {
const device_t dc390_pci_device =
{
"Tekram DC-390 PCI (SCSI)",
"Tekram DC-390 PCI",
DEVICE_PCI,
0,
dc390_init, esp_close, NULL,
NULL, NULL, NULL,
{ NULL }, NULL, NULL,
dc390_pci_config
};

View File

@@ -1151,7 +1151,7 @@ spock_available(void)
static const device_config_t spock_rom_config[] = {
{
"bios_ver", "BIOS Version", CONFIG_SELECTION, "", 1,
"bios_ver", "BIOS Version", CONFIG_SELECTION, "", 1, "", { 0 },
{
{
"1991 BIOS (>1GB)", 1
@@ -1175,7 +1175,7 @@ const device_t spock_device =
DEVICE_MCA,
0,
spock_init, spock_close, NULL,
spock_available,
{ spock_available },
NULL, NULL,
spock_rom_config
};