Added more bus flags.
This commit is contained in:
26
src/device.c
26
src/device.c
@@ -731,27 +731,51 @@ device_is_valid(const device_t *device, int m)
|
||||
if (device == NULL)
|
||||
return 1;
|
||||
|
||||
if ((device->flags & DEVICE_PCJR) && !machine_has_bus(m, MACHINE_BUS_PCJR))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_XTKBC) && machine_has_bus(m, MACHINE_BUS_ISA16) && !machine_has_bus(m, MACHINE_BUS_DM_KBC))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_AT) && !machine_has_bus(m, MACHINE_BUS_ISA16))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_CBUS) && !machine_has_bus(m, MACHINE_BUS_CBUS))
|
||||
if ((device->flags & DEVICE_ATKBC) && !machine_has_bus(m, MACHINE_BUS_ISA16) && !machine_has_bus(m, MACHINE_BUS_DM_KBC))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_ISA) && !machine_has_bus(m, MACHINE_BUS_ISA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_CBUS) && !machine_has_bus(m, MACHINE_BUS_CBUS))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_PCMCIA) && !machine_has_bus(m, MACHINE_BUS_PCMCIA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_MCA) && !machine_has_bus(m, MACHINE_BUS_MCA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_HIL) && !machine_has_bus(m, MACHINE_BUS_HIL))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_EISA) && !machine_has_bus(m, MACHINE_BUS_EISA))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_OLB) && !machine_has_bus(m, MACHINE_BUS_OLB))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_VLB) && !machine_has_bus(m, MACHINE_BUS_VLB))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_PCI) && !machine_has_bus(m, MACHINE_BUS_PCI))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_CARDBUS) && !machine_has_bus(m, MACHINE_BUS_CARDBUS))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_USB) && !machine_has_bus(m, MACHINE_BUS_USB))
|
||||
return 0;
|
||||
|
||||
if ((device->flags & DEVICE_AGP) && !machine_has_bus(m, MACHINE_BUS_AGP))
|
||||
return 0;
|
||||
|
||||
|
@@ -58,19 +58,26 @@
|
||||
|
||||
enum {
|
||||
DEVICE_PCJR = 2, /* requires an IBM PCjr */
|
||||
DEVICE_AT = 4, /* requires an AT-compatible system */
|
||||
DEVICE_PS2 = 8, /* requires a PS/1 or PS/2 system */
|
||||
DEVICE_ISA = 0x10, /* requires the ISA bus */
|
||||
DEVICE_CBUS = 0x20, /* requires the C-BUS bus */
|
||||
DEVICE_MCA = 0x40, /* requires the MCA bus */
|
||||
DEVICE_EISA = 0x80, /* requires the EISA bus */
|
||||
DEVICE_VLB = 0x100, /* requires the PCI bus */
|
||||
DEVICE_PCI = 0x200, /* requires the VLB bus */
|
||||
DEVICE_AGP = 0x400, /* requires the AGP bus */
|
||||
DEVICE_AC97 = 0x800, /* requires the AC'97 bus */
|
||||
DEVICE_COM = 0x1000, /* requires a serial port */
|
||||
DEVICE_LPT = 0x2000, /* requires a parallel port */
|
||||
DEVICE_KBC = 0x4000, /* is a keyboard controller */
|
||||
DEVICE_XTKBC = 4, /* requires an XT-compatible keyboard controller */
|
||||
DEVICE_AT = 8, /* requires an AT-compatible system */
|
||||
DEVICE_ATKBC = 0x10, /* requires an AT-compatible keyboard controller */
|
||||
DEVICE_PS2 = 0x20, /* requires a PS/1 or PS/2 system */
|
||||
DEVICE_ISA = 0x40, /* requires the ISA bus */
|
||||
DEVICE_CBUS = 0x80, /* requires the C-BUS bus */
|
||||
DEVICE_PCMCIA = 0x100, /* requires the PCMCIA bus */
|
||||
DEVICE_MCA = 0x200, /* requires the MCA bus */
|
||||
DEVICE_HIL = 0x400, /* requires the HP HIL bus */
|
||||
DEVICE_EISA = 0x800, /* requires the EISA bus */
|
||||
DEVICE_OLB = 0x1000, /* requires the OPTi local bus */
|
||||
DEVICE_VLB = 0x2000, /* requires the VLB bus */
|
||||
DEVICE_PCI = 0x4000, /* requires the PCI bus */
|
||||
DEVICE_CARDBUS = 0x8000, /* requires the CardBus bus */
|
||||
DEVICE_USB = 0x10000, /* requires the USB bus */
|
||||
DEVICE_AGP = 0x20000, /* requires the AGP bus */
|
||||
DEVICE_AC97 = 0x40000, /* requires the AC'97 bus */
|
||||
DEVICE_COM = 0x80000, /* requires a serial port */
|
||||
DEVICE_LPT = 0x100000, /* requires a parallel port */
|
||||
DEVICE_KBC = 0x200000, /* is a keyboard controller */
|
||||
|
||||
DEVICE_EXTPARAMS = 0x40000000, /* accepts extended parameters */
|
||||
|
||||
|
@@ -28,18 +28,25 @@
|
||||
#define MACHINE_BUS_ISA 0x00000001 /* sys has ISA bus */
|
||||
#define MACHINE_BUS_CASSETTE 0x00000002 /* sys has cassette port */
|
||||
#define MACHINE_BUS_CARTRIDGE 0x00000004 /* sys has two cartridge bays */
|
||||
#define MACHINE_BUS_ISA16 0x00000008 /* sys has ISA16 bus - PC/AT architecture */
|
||||
#define MACHINE_BUS_CBUS 0x00000010 /* sys has C-BUS bus */
|
||||
#define MACHINE_BUS_PS2_LATCH 0x00000020 /* system has PS/2 keyboard controller IRQ latch */
|
||||
#define MACHINE_BUS_PS2_PORTS 0x00000040 /* system has PS/2 keyboard and mouse ports */
|
||||
#define MACHINE_BUS_PCJR 0x00000008 /* sys has PCjr sidecar bus */
|
||||
#define MACHINE_BUS_DM_KBC 0x00000010 /* system has keyboard controller that supports
|
||||
both XT and AT keyboards */
|
||||
#define MACHINE_BUS_ISA16 0x00000020 /* sys has ISA16 bus - PC/AT architecture */
|
||||
#define MACHINE_BUS_CBUS 0x00000040 /* sys has C-BUS bus */
|
||||
#define MACHINE_BUS_PCMCIA 0x00000080 /* sys has PCMCIA bus */
|
||||
#define MACHINE_BUS_PS2_LATCH 0x00000100 /* system has PS/2 keyboard controller IRQ latch */
|
||||
#define MACHINE_BUS_PS2_PORTS 0x00000200 /* system has PS/2 keyboard and mouse ports */
|
||||
#define MACHINE_BUS_PS2 (MACHINE_BUS_PS2_LATCH | MACHINE_BUS_PS2_PORTS)
|
||||
#define MACHINE_BUS_EISA 0x00000080 /* sys has EISA bus */
|
||||
#define MACHINE_BUS_VLB 0x00000100 /* sys has VL bus */
|
||||
#define MACHINE_BUS_MCA 0x00000200 /* sys has MCA bus */
|
||||
#define MACHINE_BUS_PCI 0x00000400 /* sys has PCI bus */
|
||||
#define MACHINE_BUS_PCMCIA 0x00000800 /* sys has PCMCIA bus */
|
||||
#define MACHINE_BUS_AGP 0x00001000 /* sys has AGP bus */
|
||||
#define MACHINE_BUS_AC97 0x00002000 /* sys has AC97 bus (ACR/AMR/CNR slot) */
|
||||
#define MACHINE_BUS_HIL 0x00000400 /* system has HP HIL keyboard and mouse ports */
|
||||
#define MACHINE_BUS_EISA 0x00000800 /* sys has EISA bus */
|
||||
#define MACHINE_BUS_OLB 0x00001000 /* sys has OPTi local bus */
|
||||
#define MACHINE_BUS_VLB 0x00002000 /* sys has VL bus */
|
||||
#define MACHINE_BUS_MCA 0x00004000 /* sys has MCA bus */
|
||||
#define MACHINE_BUS_PCI 0x00008000 /* sys has PCI bus */
|
||||
#define MACHINE_BUS_CARDBUS 0x00010000 /* sys has CardBus bus */
|
||||
#define MACHINE_BUS_USB 0x00020000 /* sys has USB bus */
|
||||
#define MACHINE_BUS_AGP 0x00040000 /* sys has AGP bus */
|
||||
#define MACHINE_BUS_AC97 0x00080000 /* sys has AC97 bus (ACR/AMR/CNR slot) */
|
||||
/* Aliases. */
|
||||
#define MACHINE_CASSETTE (MACHINE_BUS_CASSETTE) /* sys has cassette port */
|
||||
#define MACHINE_CARTRIDGE (MACHINE_BUS_CARTRIDGE) /* sys has two cartridge bays */
|
||||
|
Reference in New Issue
Block a user