summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/genesis.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/genesis.h')
-rw-r--r--src/mame/includes/genesis.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/src/mame/includes/genesis.h b/src/mame/includes/genesis.h
new file mode 100644
index 00000000000..6f326b857f9
--- /dev/null
+++ b/src/mame/includes/genesis.h
@@ -0,0 +1,101 @@
+/* Todo, reorganise, cleanup etc.*/
+
+#include "sound/okim6295.h"
+#include "sound/sn76496.h"
+#include "sound/2612intf.h"
+#include "sound/upd7759.h"
+
+/*----------- defined in drivers/megaplay.c -----------*/
+
+extern UINT16 *ic36_ram;
+extern UINT8 bios_6204;
+extern UINT8 bios_ctrl[6];
+
+/*----------- defined in drivers/megatech.c -----------*/
+
+extern UINT32 bios_ctrl_inputs;
+
+/*----------- defined in drivers/genesis.c -----------*/
+
+extern UINT8 *genesis_z80_ram;
+extern UINT16 *genesis_68k_ram;
+extern MACHINE_START( genesis );
+extern MACHINE_RESET( genesis );
+extern READ16_HANDLER ( megaplay_genesis_io_r );
+extern WRITE16_HANDLER ( genesis_io_w );
+extern UINT16 *genesis_io_ram;
+extern READ16_HANDLER(genesis_ctrl_r);
+extern READ16_HANDLER ( megaplay_68k_to_z80_r );
+extern READ8_HANDLER ( genesis_z80_r );
+extern READ8_HANDLER ( genesis_z80_bank_r );
+extern WRITE8_HANDLER ( genesis_z80_w );
+extern WRITE16_HANDLER(genesis_ctrl_w);
+extern WRITE16_HANDLER ( genesis_68k_to_z80_w );
+extern READ16_HANDLER ( genesis_io_r );
+extern READ16_HANDLER ( genesis_68k_to_z80_r );
+extern INTERRUPT_GEN( genesis_vblank_interrupt );
+extern void genesis_irq2_interrupt(int state);
+
+/*----------- defined in video/genesis.c -----------*/
+
+extern UINT8 genesis_vdp_regs[];
+extern UINT16 genesis_bg_pal_lookup[];
+extern UINT16 genesis_sp_pal_lookup[];
+
+VIDEO_START( genesis );
+VIDEO_START( segac2 );
+
+VIDEO_UPDATE( genesis );
+VIDEO_UPDATE( segac2 );
+VIDEO_UPDATE( megaplay );
+
+void segac2_enable_display(int enable);
+
+READ16_HANDLER ( genesis_vdp_r );
+WRITE16_HANDLER( genesis_vdp_w );
+
+/* Generic Input Ports */
+#define GENESIS_PORTS \
+ PORT_START \
+ \
+ PORT_START /* Player 1 Controls - part 1 */ \
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) \
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) \
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) \
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) \
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) \
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) \
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ \
+ PORT_START /* Player 1 Controls - part 2 */ \
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) \
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) \
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) \
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) \
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ \
+ PORT_START /* Player 2 Controls - part 1 */ \
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) \
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) \
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) \
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) \
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) \
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) \
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ \
+ PORT_START /* Player 2 Controls - part 2 */ \
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) \
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) \
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) \
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) \
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) \
+
+