Bring machine flags on par with device flag and clean up device_is_valid() accordingly.
This commit is contained in:
84
src/device.c
84
src/device.c
@@ -490,7 +490,7 @@ device_get_name(const device_t *dev, int bus, char *name)
|
||||
const char *sbus = NULL;
|
||||
const char *fbus;
|
||||
char *tname;
|
||||
char pbus[8] = { 0 };
|
||||
char pbus[11] = { 0 };
|
||||
|
||||
if (dev == NULL)
|
||||
return;
|
||||
@@ -498,8 +498,21 @@ device_get_name(const device_t *dev, int bus, char *name)
|
||||
name[0] = 0x00;
|
||||
|
||||
if (bus) {
|
||||
if (dev->flags & DEVICE_ISA)
|
||||
sbus = (dev->flags & DEVICE_AT) ? "ISA16" : "ISA";
|
||||
if ((dev->flags & (DEVICE_PCJR | DEVICE_ISA)) ==
|
||||
(DEVICE_PCJR | DEVICE_ISA))
|
||||
sbus = "ISA/PCJR";
|
||||
else if (dev->flags & DEVICE_SIDECAR)
|
||||
sbus = "Sidecar";
|
||||
else if (dev->flags & DEVICE_XT_KBC)
|
||||
sbus = "XT KBC";
|
||||
else if (dev->flags & DEVICE_ISA16)
|
||||
sbus = "ISA16";
|
||||
else if (dev->flags & DEVICE_AT_KBC)
|
||||
sbus = "AT KBC";
|
||||
else if (dev->flags & DEVICE_PS2_KBC)
|
||||
sbus = "PS/2 KBC";
|
||||
else if (dev->flags & DEVICE_ISA)
|
||||
sbus = "ISA";
|
||||
else if (dev->flags & DEVICE_CBUS)
|
||||
sbus = "C-BUS";
|
||||
else if (dev->flags & DEVICE_PCMCIA)
|
||||
@@ -519,7 +532,7 @@ device_get_name(const device_t *dev, int bus, char *name)
|
||||
else if (dev->flags & DEVICE_PCI)
|
||||
sbus = "PCI";
|
||||
else if (dev->flags & DEVICE_CARDBUS)
|
||||
sbus = "CARDBUS";
|
||||
sbus = "CardBus";
|
||||
else if (dev->flags & DEVICE_USB)
|
||||
sbus = "USB";
|
||||
else if (dev->flags & DEVICE_AGP)
|
||||
@@ -780,67 +793,12 @@ device_set_config_mac(const char *str, int val)
|
||||
int
|
||||
device_is_valid(const device_t *device, int mch)
|
||||
{
|
||||
if (device == NULL)
|
||||
return 1;
|
||||
int ret = 1;
|
||||
|
||||
if ((device->flags & DEVICE_PCJR) && !machine_has_bus(mch, MACHINE_BUS_PCJR))
|
||||
return 0;
|
||||
if (device != NULL)
|
||||
ret = machine_has_bus(mch, device->flags & DEVICE_BUS);
|
||||
|
||||
if ((device->flags & DEVICE_XTKBC) && machine_has_bus(mch, MACHINE_BUS_ISA16) && !machine_has_bus(mch, MACHINE_BUS_DM_KBC))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_AT) && !machine_has_bus(mch, MACHINE_BUS_ISA16))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_ATKBC) && !machine_has_bus(mch, MACHINE_BUS_ISA16) && !machine_has_bus(mch, MACHINE_BUS_DM_KBC))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_PS2) && !machine_has_bus(mch, MACHINE_BUS_PS2_PORTS))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_ISA) && !machine_has_bus(mch, MACHINE_BUS_ISA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_CBUS) && !machine_has_bus(mch, MACHINE_BUS_CBUS))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_PCMCIA) && !machine_has_bus(mch, MACHINE_BUS_PCMCIA) && !machine_has_bus(mch, MACHINE_BUS_ISA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_MCA) && !machine_has_bus(mch, MACHINE_BUS_MCA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_HIL) && !machine_has_bus(mch, MACHINE_BUS_HIL))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_EISA) && !machine_has_bus(mch, MACHINE_BUS_EISA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_AT32) && !machine_has_bus(mch, MACHINE_BUS_AT32))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_OLB) && !machine_has_bus(mch, MACHINE_BUS_OLB))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_VLB) && !machine_has_bus(mch, MACHINE_BUS_VLB))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_PCI) && !machine_has_bus(mch, MACHINE_BUS_PCI))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_CARDBUS) && !machine_has_bus(mch, MACHINE_BUS_CARDBUS) && !machine_has_bus(mch, MACHINE_BUS_PCI))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_USB) && !machine_has_bus(mch, MACHINE_BUS_USB))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_AGP) && !machine_has_bus(mch, MACHINE_BUS_AGP))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_AC97) && !machine_has_bus(mch, MACHINE_BUS_AC97))
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
Reference in New Issue
Block a user