summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/exidy440.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/exidy440.h')
-rw-r--r--src/mame/includes/exidy440.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/mame/includes/exidy440.h b/src/mame/includes/exidy440.h
new file mode 100644
index 00000000000..348cdf1a77d
--- /dev/null
+++ b/src/mame/includes/exidy440.h
@@ -0,0 +1,75 @@
+/*************************************************************************
+
+ Exidy 440 hardware
+
+*************************************************************************/
+
+#include "sound/custom.h"
+
+
+#define EXIDY440_MASTER_CLOCK (12979200)
+#define EXIDY440_MAIN_CPU_CLOCK (EXIDY440_MASTER_CLOCK / 8)
+#define EXIDY440_PIXEL_CLOCK (EXIDY440_MASTER_CLOCK / 2)
+#define EXIDY440_HTOTAL (0x1a0)
+#define EXIDY440_HBEND (0x000)
+#define EXIDY440_HBSTART (0x140)
+#define EXIDY440_HSEND (0x178)
+#define EXIDY440_HSSTART (0x160)
+#define EXIDY440_VTOTAL (0x104)
+#define EXIDY440_VBEND (0x000)
+#define EXIDY440_VBSTART (0x0f0)
+#define EXIDY440_VSEND (0x0f8)
+#define EXIDY440_VSSTART (0x0f0)
+
+/* Top Secret has a larger VBLANK area */
+#define TOPSECEX_VBSTART (0x0ec)
+
+
+/*----------- defined in drivers/exidy440.c -----------*/
+
+extern UINT8 exidy440_topsecret;
+void exidy440_bank_select(UINT8 bank);
+
+
+
+/*----------- defined in audio/exidy440.c -----------*/
+
+extern UINT8 exidy440_sound_command;
+extern UINT8 exidy440_sound_command_ack;
+extern UINT8 *exidy440_m6844_data;
+extern UINT8 *exidy440_sound_banks;
+extern UINT8 *exidy440_sound_volume;
+
+void *exidy440_sh_start(int clock, const struct CustomSound_interface *config);
+void exidy440_sh_stop(void *token);
+
+READ8_HANDLER( exidy440_m6844_r );
+WRITE8_HANDLER( exidy440_m6844_w );
+READ8_HANDLER( exidy440_sound_command_r );
+WRITE8_HANDLER( exidy440_sound_volume_w );
+WRITE8_HANDLER( exidy440_sound_interrupt_clear_w );
+
+
+/*----------- defined in video/exidy440.c -----------*/
+
+extern UINT8 *exidy440_imageram;
+extern UINT8 *exidy440_scanline;
+extern UINT8 exidy440_firq_vblank;
+extern UINT8 exidy440_firq_beam;
+extern UINT8 topsecex_yscroll;
+
+INTERRUPT_GEN( exidy440_vblank_interrupt );
+
+VIDEO_START( exidy440 );
+VIDEO_EOF( exidy440 );
+VIDEO_UPDATE( exidy440 );
+
+READ8_HANDLER( exidy440_videoram_r );
+WRITE8_HANDLER( exidy440_videoram_w );
+READ8_HANDLER( exidy440_paletteram_r );
+WRITE8_HANDLER( exidy440_paletteram_w );
+WRITE8_HANDLER( exidy440_spriteram_w );
+WRITE8_HANDLER( exidy440_control_w );
+READ8_HANDLER( exidy440_vertical_pos_r );
+READ8_HANDLER( exidy440_horizontal_pos_r );
+WRITE8_HANDLER( exidy440_interrupt_clear_w );