Extensively cleaned up and changed the CD-ROM code; Removed CD-ROM IOCTTL (it was causing performance and stability issues); Turned a lot of things into device_t's; Added the PS/1 Model 2011 XTA and standalone XTA hard disk controllers, ported from Varcem; Numerous FDC fixes for the PS/1 Model 2121; NVR changes ported from Varcem; The PCap code no longer requires libpcap to be compiled; Numerous fixes to various SCSI controllers; Updated NukedOPL to 1.8; Fixes to OpenAL initialization and closing, should give less Audio issues now; Revorked parts of the common (S)VGA code (also based on code from QEMU); Removed the Removable SCSI hard disks (they were a never finished experiment so there was no need to keep them there); Cleaned up the SCSI hard disk and Iomega ZIP code (but more cleanups of that are coming in the future); In some occasions (IDE hard disks in multiple sector mode and SCSI hard disks) the status bar icon is no longer updated, should improve performance a bit; Redid the way the tertiary and quaternary IDE controllers are configured (and they are now device_t's); Extensively reworked the IDE code and fixed quite a few bugs; Fixes to XT MFM, AT MFM, and AT ESDI code; Some changes to XTIDE and MCA ESDI code; Some fixes to the CD-ROM image handler.
58 lines
1.2 KiB
C
58 lines
1.2 KiB
C
void pci_set_irq_routing(int pci_int, int irq);
|
|
|
|
void pci_enable_mirq(int mirq);
|
|
void pci_set_mirq_routing(int mirq, int irq);
|
|
|
|
uint8_t pci_use_mirq(uint8_t mirq);
|
|
|
|
int pci_irq_is_level(int irq);
|
|
|
|
void pci_set_mirq(uint8_t mirq);
|
|
void pci_set_irq(uint8_t card, uint8_t pci_int);
|
|
void pci_clear_mirq(uint8_t mirq);
|
|
void pci_clear_irq(uint8_t card, uint8_t pci_int);
|
|
|
|
void pci_reset(void);
|
|
void pci_init(int type);
|
|
void pci_register_slot(int card, int type, int inta, int intb, int intc, int intd);
|
|
void pci_close(void);
|
|
uint8_t pci_add_card(uint8_t add_type, uint8_t (*read)(int func, int addr, void *priv), void (*write)(int func, int addr, uint8_t val, void *priv), void *priv);
|
|
|
|
#define PCI_REG_COMMAND 0x04
|
|
|
|
#define PCI_COMMAND_IO 0x01
|
|
#define PCI_COMMAND_MEM 0x02
|
|
|
|
#define PCI_CONFIG_TYPE_1 1
|
|
#define PCI_CONFIG_TYPE_2 2
|
|
|
|
#define PCI_INTA 1
|
|
#define PCI_INTB 2
|
|
#define PCI_INTC 3
|
|
#define PCI_INTD 4
|
|
|
|
#define PCI_MIRQ0 0
|
|
#define PCI_MIRQ1 1
|
|
|
|
#define PCI_IRQ_DISABLED -1
|
|
|
|
enum
|
|
{
|
|
PCI_CARD_NORMAL = 0,
|
|
PCI_CARD_ONBOARD,
|
|
PCI_CARD_SPECIAL
|
|
};
|
|
|
|
|
|
#define PCI_ADD_NORMAL 0x80
|
|
#define PCI_ADD_VIDEO 0x81
|
|
|
|
extern int pci_burst_time, pci_nonburst_time;
|
|
|
|
typedef union {
|
|
uint32_t addr;
|
|
uint8_t addr_regs[4];
|
|
} bar_t;
|
|
|
|
extern void trc_init(void);
|