diff options
author | Devin Acker <d@revenant1.net> | 2020-10-24 18:54:59 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-24 18:54:59 -0400 |
commit | 90f1b52d75ad975e97b84504b221983d94ecdc4a (patch) | |
tree | 362a8db0bca149d4b8d1864b472f30ff0aa268db | |
parent | 62dbdf7b38baca4d94efd03d7de95a5c61254727 (diff) |
fix a Genesis VDP status bit which was breaking Mega Play 68k->Z80 comms (#7390)
* 315_5313.cpp: only set interlace frame status bit when interlace is enabled
* megaplay.cpp: promote to working
-rw-r--r-- | src/devices/video/315_5313.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/megaplay.cpp | 34 |
2 files changed, 16 insertions, 22 deletions
diff --git a/src/devices/video/315_5313.cpp b/src/devices/video/315_5313.cpp index 4360a4e78a1..69f86f67ccc 100644 --- a/src/devices/video/315_5313.cpp +++ b/src/devices/video/315_5313.cpp @@ -1078,13 +1078,15 @@ u16 sega315_5313_device::ctrl_port_r() /* Megalo Mania also fussy - cares about pending flag*/ const int sprite_overflow = 0; - const int odd_frame = m_imode_odd_frame^1; + int odd_frame = 0; int hblank_flag = 0; const int dma_active = 0; int vblank = m_vblank_flag; const int fifo_empty = 1; const int fifo_full = 0; + if (m_imode & 1) odd_frame = m_imode_odd_frame ^ 1; + const u16 hpos = get_hposition(); if (hpos > 400) hblank_flag = 1; diff --git a/src/mame/drivers/megaplay.cpp b/src/mame/drivers/megaplay.cpp index be3943762bd..ee6b19592ad 100644 --- a/src/mame/drivers/megaplay.cpp +++ b/src/mame/drivers/megaplay.cpp @@ -3,14 +3,6 @@ /* -Driver is marked as NOT WORKING because interaction between BIOS and 68k side is -not fully understood. The BIOS often doesn't register that a game has been started -and leaves the 'PRESS P1 OR P2 START' message onscreen during gameplay as a result. -If this happens, the games usually then crash when you run out of lives as they end -up in an unknown state. - - - About MegaPlay: Megaplay games are specially designed Genesis games, produced for arcade use. @@ -1014,18 +1006,18 @@ didn't have original Sega part numbers it's probably a converted TWC cart ** Probably reused cart case */ -/* -- */ GAME( 1993, megaplay, 0, megaplay, megaplay, mplay_state, init_megaplay, ROT0, "Sega", "Mega Play BIOS", MACHINE_IS_BIOS_ROOT | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 01 */ GAME( 1993, mp_sonic, megaplay, megaplay, mp_sonic, mplay_state, init_megaplay, ROT0, "Sega", "Sonic The Hedgehog (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 02 */ GAME( 1993, mp_gaxe2, megaplay, megaplay, mp_gaxe2, mplay_state, init_megaplay, ROT0, "Sega", "Golden Axe II (Mega Play) (Rev B)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 02 */ GAME( 1993, mp_gaxe2a,mp_gaxe2, megaplay, mp_gaxe2, mplay_state, init_megaplay, ROT0, "Sega", "Golden Axe II (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 03 */ GAME( 1993, mp_gslam, megaplay, megaplay, mp_gslam, mplay_state, init_megaplay, ROT0, "Sega", "Grand Slam (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 04 */ GAME( 1993, mp_twcup, megaplay, megaplay, mp_twc, mplay_state, init_megaplay, ROT0, "Sega", "Tecmo World Cup (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 05 */ GAME( 1993, mp_sor2, megaplay, megaplay, mp_sor2, mplay_state, init_megaplay, ROT0, "Sega", "Streets of Rage II (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 06 */ GAME( 1993, mp_bio, megaplay, megaplay, mp_bio, mplay_state, init_megaplay, ROT0, "Sega", "Bio-hazard Battle (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 07 */ GAME( 1993, mp_soni2, megaplay, megaplay, mp_soni2, mplay_state, init_megaplay, ROT0, "Sega", "Sonic The Hedgehog 2 (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) +/* -- */ GAME( 1993, megaplay, 0, megaplay, megaplay, mplay_state, init_megaplay, ROT0, "Sega", "Mega Play BIOS", MACHINE_IS_BIOS_ROOT | MACHINE_IMPERFECT_GRAPHICS ) +/* 01 */ GAME( 1993, mp_sonic, megaplay, megaplay, mp_sonic, mplay_state, init_megaplay, ROT0, "Sega", "Sonic The Hedgehog (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 02 */ GAME( 1993, mp_gaxe2, megaplay, megaplay, mp_gaxe2, mplay_state, init_megaplay, ROT0, "Sega", "Golden Axe II (Mega Play) (Rev B)", MACHINE_IMPERFECT_GRAPHICS ) +/* 02 */ GAME( 1993, mp_gaxe2a,mp_gaxe2, megaplay, mp_gaxe2, mplay_state, init_megaplay, ROT0, "Sega", "Golden Axe II (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 03 */ GAME( 1993, mp_gslam, megaplay, megaplay, mp_gslam, mplay_state, init_megaplay, ROT0, "Sega", "Grand Slam (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 04 */ GAME( 1993, mp_twcup, megaplay, megaplay, mp_twc, mplay_state, init_megaplay, ROT0, "Sega", "Tecmo World Cup (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 05 */ GAME( 1993, mp_sor2, megaplay, megaplay, mp_sor2, mplay_state, init_megaplay, ROT0, "Sega", "Streets of Rage II (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 06 */ GAME( 1993, mp_bio, megaplay, megaplay, mp_bio, mplay_state, init_megaplay, ROT0, "Sega", "Bio-hazard Battle (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 07 */ GAME( 1993, mp_soni2, megaplay, megaplay, mp_soni2, mplay_state, init_megaplay, ROT0, "Sega", "Sonic The Hedgehog 2 (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) /* 08 - Columns 3? see below */ -/* 09 */ GAME( 1993, mp_shnb3, megaplay, megaplay, mp_shnb3, mplay_state, init_megaplay, ROT0, "Sega", "Shinobi III (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 10 */ GAME( 1993, mp_gunhe, megaplay, megaplay, mp_gunhe, mplay_state, init_megaplay, ROT0, "Sega", "Gunstar Heroes (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) -/* 11 */ GAME( 1993, mp_mazin, megaplay, megaplay, mp_mazin, mplay_state, init_megaplay, ROT0, "Sega", "Mazin Wars / Mazin Saga (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) +/* 09 */ GAME( 1993, mp_shnb3, megaplay, megaplay, mp_shnb3, mplay_state, init_megaplay, ROT0, "Sega", "Shinobi III (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 10 */ GAME( 1993, mp_gunhe, megaplay, megaplay, mp_gunhe, mplay_state, init_megaplay, ROT0, "Sega", "Gunstar Heroes (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) +/* 11 */ GAME( 1993, mp_mazin, megaplay, megaplay, mp_mazin, mplay_state, init_megaplay, ROT0, "Sega", "Mazin Wars / Mazin Saga (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) -/* ?? */ GAME( 1993, mp_col3, megaplay, megaplay, mp_col3, mplay_state, init_megaplay, ROT0, "Sega", "Columns III (Mega Play)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS ) +/* ?? */ GAME( 1993, mp_col3, megaplay, megaplay, mp_col3, mplay_state, init_megaplay, ROT0, "Sega", "Columns III (Mega Play)", MACHINE_IMPERFECT_GRAPHICS ) |