diff options
Diffstat (limited to 'src/mame/machine/midwayic.h')
-rw-r--r-- | src/mame/machine/midwayic.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/mame/machine/midwayic.h b/src/mame/machine/midwayic.h new file mode 100644 index 00000000000..c63c35d8cc0 --- /dev/null +++ b/src/mame/machine/midwayic.h @@ -0,0 +1,55 @@ +/*************************************************************************** + + Emulation of various Midway ICs + +***************************************************************************/ + + +/* 1st generation Midway serial PIC */ +void midway_serial_pic_init(int upper); +void midway_serial_pic_reset_w(int state); +UINT8 midway_serial_pic_status_r(void); +UINT8 midway_serial_pic_r(void); +void midway_serial_pic_w(UINT8 data); + + +/* 2nd generation Midway serial/NVRAM/RTC PIC */ +void midway_serial_pic2_init(int upper, int yearoffs); +void midway_serial_pic2_set_default_nvram(const UINT8 *nvram); +UINT8 midway_serial_pic2_status_r(void); +UINT8 midway_serial_pic2_r(void); +void midway_serial_pic2_w(UINT8 data); +NVRAM_HANDLER( midway_serial_pic2 ); + + +/* I/O ASIC connected to 2nd generation PIC */ +void midway_ioasic_init(int shuffle, int upper, int yearoffs, void (*irq_callback)(int)); +void midway_ioasic_set_auto_ack(int auto_ack); +void midway_ioasic_set_shuffle_state(int state); +void midway_ioasic_reset(void); +void midway_ioasic_fifo_w(UINT16 data); +void midway_ioasic_fifo_reset_w(int state); +void midway_ioasic_fifo_full_w(UINT16 data); +READ32_HANDLER( midway_ioasic_r ); +WRITE32_HANDLER( midway_ioasic_w ); +READ32_HANDLER( midway_ioasic_packed_r ); +WRITE32_HANDLER( midway_ioasic_packed_w ); + +enum +{ + MIDWAY_IOASIC_STANDARD = 0, + MIDWAY_IOASIC_BLITZ99, + MIDWAY_IOASIC_CARNEVIL, + MIDWAY_IOASIC_CALSPEED, + MIDWAY_IOASIC_MACE, + MIDWAY_IOASIC_GAUNTDL, + MIDWAY_IOASIC_VAPORTRX, + MIDWAY_IOASIC_SFRUSHRK, + MIDWAY_IOASIC_HYPRDRIV +}; + + + +/* IDE ASIC maps the IDE registers */ +READ32_HANDLER( midway_ide_asic_r ); +WRITE32_HANDLER( midway_ide_asic_w ); |