summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/megadriv_vt_hybrid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/megadriv_vt_hybrid.cpp')
-rw-r--r--src/mame/drivers/megadriv_vt_hybrid.cpp164
1 files changed, 0 insertions, 164 deletions
diff --git a/src/mame/drivers/megadriv_vt_hybrid.cpp b/src/mame/drivers/megadriv_vt_hybrid.cpp
deleted file mode 100644
index 78a9bcd2479..00000000000
--- a/src/mame/drivers/megadriv_vt_hybrid.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:David Haywood
-
-/*
- This is an enhanced 'Mega Drive / Genesis on a Chip' combined with a VT02/VT03 system for the 'Bonus Games' menu
-
- The menu for the MD side of things doesn't work as it needs enhanced chipset emulation?
- at the moment it just boots the game in the lowest ROM bank (Flicky)
-
- TODO:
- hook up the VT side again
-
-*/
-
-#include "emu.h"
-#include "includes/megadriv.h"
-
-class megadriv_vt0203_state : public md_base_state
-{
-public:
- megadriv_vt0203_state(const machine_config &mconfig, device_type type, const char *tag)
- // Mega Drive part
- : md_base_state(mconfig, type, tag),
- m_md_is_running(true),
- m_bank(0),
- m_rom(*this, "maincpu")
- {}
-
- // Mega Drive part
- uint16_t read(offs_t offset);
- void megadriv_vt0203_pal(machine_config &config);
- void megadriv_vt0203_map(address_map &map);
-
-protected:
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
-private:
- bool m_md_is_running;
-
- // Mega Drive part
- int m_bank;
- required_region_ptr<uint16_t> m_rom;
- uint32_t screen_update_hybrid(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- DECLARE_WRITE_LINE_MEMBER(screen_vblank_hybrid);
-
-};
-
-
-// todo, use actual MD map, easier once maps are part of base class.
-void megadriv_vt0203_state::megadriv_vt0203_map(address_map &map)
-{
- map(0x000000, 0x3fffff).r(FUNC(megadriv_vt0203_state::read)); /* Cartridge Program Rom */
- map(0xa00000, 0xa01fff).rw(FUNC(megadriv_vt0203_state::megadriv_68k_read_z80_ram), FUNC(megadriv_vt0203_state::megadriv_68k_write_z80_ram));
- map(0xa02000, 0xa03fff).w(FUNC(megadriv_vt0203_state::megadriv_68k_write_z80_ram));
- map(0xa04000, 0xa04003).rw(FUNC(megadriv_vt0203_state::megadriv_68k_YM2612_read), FUNC(megadriv_vt0203_state::megadriv_68k_YM2612_write));
- map(0xa06000, 0xa06001).w(FUNC(megadriv_vt0203_state::megadriv_68k_z80_bank_write));
- map(0xa10000, 0xa1001f).rw(FUNC(megadriv_vt0203_state::megadriv_68k_io_read), FUNC(megadriv_vt0203_state::megadriv_68k_io_write));
- map(0xa11100, 0xa11101).rw(FUNC(megadriv_vt0203_state::megadriv_68k_check_z80_bus), FUNC(megadriv_vt0203_state::megadriv_68k_req_z80_bus));
- map(0xa11200, 0xa11201).w(FUNC(megadriv_vt0203_state::megadriv_68k_req_z80_reset));
- map(0xc00000, 0xc0001f).rw(m_vdp, FUNC(sega315_5313_device::vdp_r), FUNC(sega315_5313_device::vdp_w));
- map(0xe00000, 0xe0ffff).ram().mirror(0x1f0000).share("megadrive_ram");
-}
-
-uint16_t megadriv_vt0203_state::read(offs_t offset)
-{
- return m_rom[(((m_bank * 0x10000) + (offset << 1)) & (0x400000 - 1))/2];
-}
-
-
-// controller is wired directly into unit, no controller slots
-static INPUT_PORTS_START( megadriv_vt0203 )
- PORT_INCLUDE( md_common )
-
- PORT_MODIFY("PAD1")
-#if 0
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
-#else
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
-#endif
-
- PORT_MODIFY("PAD2")
-#if 0
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
-##else
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
-#endif
-INPUT_PORTS_END
-
-
-void megadriv_vt0203_state::machine_start()
-{
- logerror("megadriv_vt0203_state::machine_start\n");
- md_base_state::machine_start();
-
- m_vdp->stop_timers();
- save_item(NAME(m_bank));
-}
-
-void megadriv_vt0203_state::machine_reset()
-{
- logerror("megadriv_vt0203_state::machine_reset\n");
- md_base_state::machine_reset();
-}
-
-uint32_t megadriv_vt0203_state::screen_update_hybrid(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
-{
- if (m_md_is_running)
- {
- /* Copies a bitmap */
- return screen_update_megadriv(screen, bitmap, cliprect);
- }
-
- return 0;
-}
-
-WRITE_LINE_MEMBER(megadriv_vt0203_state::screen_vblank_hybrid)
-{
- if (m_md_is_running)
- {
- /* Used to Sync the timing */
- md_base_state::screen_vblank_megadriv(state);
- }
-}
-
-
-void megadriv_vt0203_state::megadriv_vt0203_pal(machine_config &config)
-{
- md_pal(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &megadriv_vt0203_state::megadriv_vt0203_map);
-
- m_screen->set_screen_update(FUNC(megadriv_vt0203_state::screen_update_hybrid));
- m_screen->screen_vblank().set(FUNC(megadriv_vt0203_state::screen_vblank_hybrid));
-
- // TODO: add the VT part, this might require refactoring of the VT stuff as the SoC currently contains the screen
- // but instead we'll need to use a shared screen that is reconfigured depending on which part is enabled
-}
-
-
-ROM_START( sarc110 )
- ROM_REGION( 0x1000000, "maincpu", 0 ) // Mega Drive part
- ROM_LOAD16_WORD_SWAP( "superarcade.bin", 0x000000, 0x1000000, CRC(be732867) SHA1(3857b2fbddd6a548c81caf64122e47a0df079be5) )
-
- ROM_REGION( 0x400000, "mainrom", 0 ) // VT02/03 part
- ROM_LOAD( "ic1.prg", 0x00000, 0x400000, CRC(de76f71f) SHA1(ff6b37a76c6463af7ae901918fc008b4a2863951) )
-ROM_END
-
-ROM_START( sarc110a )
- ROM_REGION( 0x1000000, "maincpu", 0 ) // Mega Drive part
- ROM_LOAD16_WORD_SWAP( "superarcade.bin", 0x000000, 0x1000000, CRC(be732867) SHA1(3857b2fbddd6a548c81caf64122e47a0df079be5) )
-
- ROM_REGION( 0x400000, "mainrom", 0 ) // VT02/03 part
- ROM_LOAD( "ic1_ver2.prg", 0x00000, 0x400000, CRC(b97a0dc7) SHA1(bace32d73184df914113de5336e29a7a6f4c03fa) )
-ROM_END
-
-
-CONS( 200?, sarc110, 0, 0, megadriv_vt0203_pal, megadriv_vt0203, megadriv_vt0203_state, init_megadrie, "<unknown>", "Super Arcade 101-in-1 (set 1)", MACHINE_NOT_WORKING)
-CONS( 200?, sarc110a,sarc110, 0, megadriv_vt0203_pal, megadriv_vt0203, megadriv_vt0203_state, init_megadrie, "<unknown>", "Super Arcade 101-in-1 (set 2)", MACHINE_NOT_WORKING)