The RTL8029AS and BT-958D are now only available on PCI boards, and the Setting dialogs now filters PCI network and SCSI cards depending on the machine selected;
Added DEVICE_VLB and DEVICE_AGP flags.
This commit is contained in:
@@ -39,7 +39,9 @@ enum {
|
|||||||
DEVICE_AT = 2, /* requires an AT-compatible system */
|
DEVICE_AT = 2, /* requires an AT-compatible system */
|
||||||
DEVICE_PS2 = 4, /* requires a PS/1 or PS/2 system */
|
DEVICE_PS2 = 4, /* requires a PS/1 or PS/2 system */
|
||||||
DEVICE_MCA = 0x20, /* requires the MCA bus */
|
DEVICE_MCA = 0x20, /* requires the MCA bus */
|
||||||
DEVICE_PCI = 0x40 /* requires the PCI bus */
|
DEVICE_VLB = 0x40, /* requires the PCI bus */
|
||||||
|
DEVICE_PCI = 0x80, /* requires the VLB bus */
|
||||||
|
DEVICE_AGP = 0x100 /* requires the AGP bus */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1919,17 +1919,15 @@ nic_init(device_t *info)
|
|||||||
if (dev->is_pci) {
|
if (dev->is_pci) {
|
||||||
dev->base_address = 0x340;
|
dev->base_address = 0x340;
|
||||||
dev->base_irq = 10;
|
dev->base_irq = 10;
|
||||||
|
dev->bios_addr = 0xD0000;
|
||||||
|
dev->has_bios = device_get_config_int("bios");
|
||||||
} else {
|
} else {
|
||||||
dev->base_address = device_get_config_hex16("base");
|
dev->base_address = device_get_config_hex16("base");
|
||||||
dev->base_irq = device_get_config_int("irq");
|
dev->base_irq = device_get_config_int("irq");
|
||||||
|
dev->bios_addr = device_get_config_hex20("bios_addr");
|
||||||
|
dev->has_bios = !!dev->bios_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->bios_addr = device_get_config_hex20("bios_addr");
|
|
||||||
if (dev->bios_addr)
|
|
||||||
dev->has_bios = 1;
|
|
||||||
else
|
|
||||||
dev->has_bios = 0;
|
|
||||||
|
|
||||||
/* See if we have a local MAC address configured. */
|
/* See if we have a local MAC address configured. */
|
||||||
mac = device_get_config_mac("mac", -1);
|
mac = device_get_config_mac("mac", -1);
|
||||||
|
|
||||||
@@ -2219,31 +2217,8 @@ static device_config_t ne2000_config[] =
|
|||||||
|
|
||||||
static device_config_t rtl8029as_config[] =
|
static device_config_t rtl8029as_config[] =
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
* WTF.
|
|
||||||
* Even though it is PCI, the user should still have control
|
|
||||||
* over whether or not it's Option ROM BIOS will be enabled
|
|
||||||
* or not.
|
|
||||||
*/
|
|
||||||
{
|
{
|
||||||
"bios_addr", "BIOS address", CONFIG_HEX20, "", 0,
|
"bios", "Enable BIOS", CONFIG_BINARY, "", 0
|
||||||
{
|
|
||||||
{
|
|
||||||
"Disabled", 0x00000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"D000", 0xD0000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"D800", 0xD8000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"C800", 0xC8000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mac", "MAC Address", CONFIG_MAC, "", -1
|
"mac", "MAC Address", CONFIG_MAC, "", -1
|
||||||
@@ -2275,7 +2250,7 @@ device_t ne2000_device = {
|
|||||||
|
|
||||||
device_t rtl8029as_device = {
|
device_t rtl8029as_device = {
|
||||||
"Realtek RTL8029AS",
|
"Realtek RTL8029AS",
|
||||||
0,
|
DEVICE_PCI,
|
||||||
NE2K_RTL8029AS,
|
NE2K_RTL8029AS,
|
||||||
nic_init, nic_close, NULL,
|
nic_init, nic_close, NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
|
@@ -2881,11 +2881,6 @@ Buslogic_Init(device_t *info)
|
|||||||
memset(bl, 0x00, sizeof(Buslogic_t));
|
memset(bl, 0x00, sizeof(Buslogic_t));
|
||||||
|
|
||||||
bl->chip = info->local;
|
bl->chip = info->local;
|
||||||
if ((bl->chip == CHIP_BUSLOGIC_PCI) && !PCI)
|
|
||||||
{
|
|
||||||
/* This is just wrong. Simply disallow PCI cards in non-PCI systems! */
|
|
||||||
bl->chip = CHIP_BUSLOGIC_ISA;
|
|
||||||
}
|
|
||||||
bl->Base = device_get_config_hex16("base");
|
bl->Base = device_get_config_hex16("base");
|
||||||
bl->PCIBase = 0;
|
bl->PCIBase = 0;
|
||||||
bl->MMIOBase = 0;
|
bl->MMIOBase = 0;
|
||||||
@@ -3042,13 +3037,10 @@ BuslogicClose(void *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static device_config_t BuslogicConfig[] = {
|
static device_config_t BT545C_Config[] = {
|
||||||
{
|
{
|
||||||
"base", "Address", CONFIG_HEX16, "", 0x334,
|
"base", "Address", CONFIG_HEX16, "", 0x334,
|
||||||
{
|
{
|
||||||
{
|
|
||||||
"None", 0
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"0x330", 0x330
|
"0x330", 0x330
|
||||||
},
|
},
|
||||||
@@ -3124,6 +3116,45 @@ static device_config_t BuslogicConfig[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static device_config_t BT958D_Config[] = {
|
||||||
|
{
|
||||||
|
"base", "Legacy Address", CONFIG_HEX16, "", 0x334,
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"None", 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"0x330", 0x330
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"0x334", 0x334
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"0x230", 0x230
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"0x234", 0x234
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"0x130", 0x130
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"0x134", 0x134
|
||||||
|
},
|
||||||
|
{
|
||||||
|
""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bios", "Enable BIOS", CONFIG_BINARY, "", 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"", "", -1
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
device_t buslogic_device = {
|
device_t buslogic_device = {
|
||||||
"Buslogic BT-545C ISA",
|
"Buslogic BT-545C ISA",
|
||||||
0,
|
0,
|
||||||
@@ -3135,12 +3166,12 @@ device_t buslogic_device = {
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
BuslogicConfig
|
BT545C_Config
|
||||||
};
|
};
|
||||||
|
|
||||||
device_t buslogic_pci_device = {
|
device_t buslogic_pci_device = {
|
||||||
"Buslogic BT-958D PCI",
|
"Buslogic BT-958D PCI",
|
||||||
0,
|
DEVICE_PCI,
|
||||||
CHIP_BUSLOGIC_PCI,
|
CHIP_BUSLOGIC_PCI,
|
||||||
Buslogic_Init,
|
Buslogic_Init,
|
||||||
BuslogicClose,
|
BuslogicClose,
|
||||||
@@ -3149,5 +3180,5 @@ device_t buslogic_pci_device = {
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
BuslogicConfig
|
BT958D_Config
|
||||||
};
|
};
|
||||||
|
@@ -1057,7 +1057,7 @@ static BOOL CALLBACK win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wPa
|
|||||||
{
|
{
|
||||||
sound_dev = sound_card_getdevice(c);
|
sound_dev = sound_card_getdevice(c);
|
||||||
|
|
||||||
if (!sound_dev || (sound_dev->flags & DEVICE_MCA) == (machines[temp_machine].flags & MACHINE_MCA))
|
if (!sound_dev || (sound_dev->flags & DEVICE_MCA) == (machines[temp_machine].flags & MACHINE_MCA) || (sound_dev->flags & DEVICE_PCI) == (machines[temp_machine].flags & MACHINE_PCI))
|
||||||
{
|
{
|
||||||
if (c == 0)
|
if (c == 0)
|
||||||
{
|
{
|
||||||
@@ -1409,6 +1409,16 @@ static void recalc_hdc_list(HWND hdlg, int machine, int use_selected_hdc)
|
|||||||
c++;
|
c++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ((hdc_get_flags(c) & DEVICE_VLB) && !(machines[machine].flags & MACHINE_VLB))
|
||||||
|
{
|
||||||
|
c++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ((hdc_get_flags(c) & DEVICE_PCI) && !(machines[machine].flags & MACHINE_PCI))
|
||||||
|
{
|
||||||
|
c++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!hdc_available(c))
|
if (!hdc_available(c))
|
||||||
{
|
{
|
||||||
c++;
|
c++;
|
||||||
@@ -1488,7 +1498,9 @@ static BOOL CALLBACK win_settings_peripherals_proc(HWND hdlg, UINT message, WPAR
|
|||||||
{
|
{
|
||||||
scsi_dev = scsi_card_getdevice(c);
|
scsi_dev = scsi_card_getdevice(c);
|
||||||
|
|
||||||
if (!scsi_dev || (scsi_dev->flags & DEVICE_MCA) == (machines[temp_machine].flags & MACHINE_MCA))
|
if (!scsi_dev || ((scsi_dev->flags & DEVICE_MCA) == (machines[temp_machine].flags & MACHINE_MCA)) ||
|
||||||
|
((scsi_dev->flags & DEVICE_VLB) == (machines[temp_machine].flags & MACHINE_VLB)) ||
|
||||||
|
((scsi_dev->flags & DEVICE_PCI) == (machines[temp_machine].flags & MACHINE_PCI)))
|
||||||
{
|
{
|
||||||
if (c == 0)
|
if (c == 0)
|
||||||
{
|
{
|
||||||
@@ -1734,7 +1746,8 @@ static BOOL CALLBACK win_settings_network_proc(HWND hdlg, UINT message, WPARAM w
|
|||||||
|
|
||||||
settings_network_to_list[c] = d;
|
settings_network_to_list[c] = d;
|
||||||
|
|
||||||
if (network_card_available(c))
|
if (network_card_available(c) || ((network_card_getdevice(c)->flags & DEVICE_MCA) == (machines[temp_machine].flags & MACHINE_MCA)) ||
|
||||||
|
((network_card_getdevice(c)->flags & DEVICE_PCI) == (machines[temp_machine].flags & MACHINE_PCI)))
|
||||||
{
|
{
|
||||||
if (c == 0)
|
if (c == 0)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user