diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index b6df146d0bc..3bf48aae76b 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -3002,7 +3002,7 @@ files { MAME_DIR .. "src/mame/machine/segabb.cpp", MAME_DIR .. "src/mame/machine/segabb.h", MAME_DIR .. "src/mame/machine/megadriv.cpp", - MAME_DIR .. "src/mame/includes/md_cons.h", + MAME_DIR .. "src/mame/includes/megadriv.h", MAME_DIR .. "src/mame/drivers/megadrvb.cpp", MAME_DIR .. "src/mame/drivers/megaplay.cpp", MAME_DIR .. "src/mame/drivers/megatech.cpp", diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 664274101bb..11c057ccbc0 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2437,7 +2437,6 @@ files { MAME_DIR .. "src/mame/machine/dccons.cpp", MAME_DIR .. "src/mame/drivers/megadriv.cpp", MAME_DIR .. "src/mame/includes/megadriv.h", - MAME_DIR .. "src/mame/includes/md_cons.h", MAME_DIR .. "src/mame/drivers/saturn.cpp", MAME_DIR .. "src/mame/drivers/segapico.cpp", MAME_DIR .. "src/mame/drivers/sega_sawatte.cpp", diff --git a/src/mame/drivers/megadriv.cpp b/src/mame/drivers/megadriv.cpp index e72c8816197..dbbcd3186a2 100644 --- a/src/mame/drivers/megadriv.cpp +++ b/src/mame/drivers/megadriv.cpp @@ -2,7 +2,7 @@ // copyright-holders:David Haywood #include "emu.h" -#include "includes/md_cons.h" +#include "includes/megadriv.h" #include "sound/sn76496.h" #include "imagedev/chd_cd.h" diff --git a/src/mame/drivers/segapico.cpp b/src/mame/drivers/segapico.cpp index 5efbeb7ceef..1df769c0363 100644 --- a/src/mame/drivers/segapico.cpp +++ b/src/mame/drivers/segapico.cpp @@ -118,7 +118,7 @@ C = MB3514 / 9325 M36 */ #include "emu.h" -#include "includes/md_cons.h" +#include "includes/megadriv.h" #include "sound/315-5641.h" #include "softlist.h" diff --git a/src/mame/includes/md_cons.h b/src/mame/includes/md_cons.h deleted file mode 100644 index f7fc4e5054c..00000000000 --- a/src/mame/includes/md_cons.h +++ /dev/null @@ -1,56 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:David Haywood - -#include "includes/megadriv.h" -#include "bus/megadrive/md_slot.h" -#include "bus/megadrive/md_carts.h" -#include "machine/mega32x.h" -#include "machine/megacd.h" - - -class md_cons_state : public md_base_state -{ -public: - md_cons_state(const machine_config &mconfig, device_type type, const char *tag) - : md_base_state(mconfig, type, tag), - m_32x(*this,"sega32x"), - m_segacd(*this,"segacd"), - m_cart(*this, "mdslot"), - m_tmss(*this, "tmss") - { } - - ioport_port *m_io_ctrlr; - ioport_port *m_io_pad3b[4]; - ioport_port *m_io_pad6b[2][4]; - - optional_device m_32x; - optional_device m_segacd; - optional_device m_cart; - optional_region_ptr m_tmss; - - DECLARE_DRIVER_INIT(mess_md_common); - DECLARE_DRIVER_INIT(genesis); - DECLARE_DRIVER_INIT(md_eur); - DECLARE_DRIVER_INIT(md_jpn); - - READ8_MEMBER(mess_md_io_read_data_port); - WRITE16_MEMBER(mess_md_io_write_data_port); - - DECLARE_MACHINE_START( md_common ); // setup ioport_port - DECLARE_MACHINE_START( ms_megadriv ); // setup ioport_port + install cartslot handlers - DECLARE_MACHINE_START( ms_megacd ); // setup ioport_port + dma delay for cd - DECLARE_MACHINE_RESET( ms_megadriv ); - - void screen_eof_console(screen_device &screen, bool state); - - DECLARE_DEVICE_IMAGE_LOAD_MEMBER( _32x_cart ); - - void _32x_scanline_callback(int x, UINT32 priority, UINT16 &lineptr); - void _32x_interrupt_callback(int scanline, int irq6); - void _32x_scanline_helper_callback(int scanline); - - void install_cartslot(); - void install_tmss(); - DECLARE_READ16_MEMBER(tmss_r); - DECLARE_WRITE16_MEMBER(tmss_swap_w); -}; diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h index b2461c802c5..6b3fcf7c564 100644 --- a/src/mame/includes/megadriv.h +++ b/src/mame/includes/megadriv.h @@ -8,6 +8,12 @@ #include "sound/sn76496.h" #include "video/315_5313.h" +/* Megadrive Console Specific */ +#include "bus/megadrive/md_slot.h" +#include "bus/megadrive/md_carts.h" +#include "machine/mega32x.h" +#include "machine/megacd.h" + #define MASTER_CLOCK_NTSC 53693175 #define MASTER_CLOCK_PAL 53203424 @@ -164,3 +170,52 @@ public: DECLARE_MACHINE_START(md_bootleg) { MACHINE_START_CALL_MEMBER(megadriv); m_vdp->stop_timers(); } DECLARE_MACHINE_START(md_6button); }; + + +class md_cons_state : public md_base_state +{ +public: + md_cons_state(const machine_config &mconfig, device_type type, const char *tag) + : md_base_state(mconfig, type, tag), + m_32x(*this,"sega32x"), + m_segacd(*this,"segacd"), + m_cart(*this, "mdslot"), + m_tmss(*this, "tmss") + { } + + ioport_port *m_io_ctrlr; + ioport_port *m_io_pad3b[4]; + ioport_port *m_io_pad6b[2][4]; + + optional_device m_32x; + optional_device m_segacd; + optional_device m_cart; + optional_region_ptr m_tmss; + + DECLARE_DRIVER_INIT(mess_md_common); + DECLARE_DRIVER_INIT(genesis); + DECLARE_DRIVER_INIT(md_eur); + DECLARE_DRIVER_INIT(md_jpn); + + READ8_MEMBER(mess_md_io_read_data_port); + WRITE16_MEMBER(mess_md_io_write_data_port); + + DECLARE_MACHINE_START( md_common ); // setup ioport_port + DECLARE_MACHINE_START( ms_megadriv ); // setup ioport_port + install cartslot handlers + DECLARE_MACHINE_START( ms_megacd ); // setup ioport_port + dma delay for cd + DECLARE_MACHINE_RESET( ms_megadriv ); + + void screen_eof_console(screen_device &screen, bool state); + + DECLARE_DEVICE_IMAGE_LOAD_MEMBER( _32x_cart ); + + void _32x_scanline_callback(int x, UINT32 priority, UINT16 &lineptr); + void _32x_interrupt_callback(int scanline, int irq6); + void _32x_scanline_helper_callback(int scanline); + + void install_cartslot(); + void install_tmss(); + DECLARE_READ16_MEMBER(tmss_r); + DECLARE_WRITE16_MEMBER(tmss_swap_w); +}; +