diff options
Diffstat (limited to 'src/mame/includes/genesis.h')
-rw-r--r-- | src/mame/includes/genesis.h | 101 |
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 ) \ + + |