psikyo4: Fixed MT05688 (nw)

Also enabled GAME_SUPPORTS_SAVE since the driver and the needed cores seem to support save just fine and quick testing didn't show any problem.
This commit is contained in:
Ivan Vangelista 2014-08-25 12:09:41 +00:00
parent a16673b284
commit bfe36f3ac4
3 changed files with 16 additions and 14 deletions

View File

@ -949,11 +949,11 @@ DRIVER_INIT_MEMBER(psikyo4_state,hotgmck)
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */ /* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */
GAME( 1997, hotgmck, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick (Japan)", 0 ) GAME( 1997, hotgmck, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1998, hgkairak, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick Kairakuten (Japan)", 0 ) GAME( 1998, hgkairak, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick Kairakuten (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1999, hotgmck3, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 3 Digital Surfing (Japan)", 0 ) GAME( 1999, hotgmck3, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 3 Digital Surfing (Japan)", GAME_SUPPORTS_SAVE )
GAME( 2000, hotgm4ev, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 4 Ever (Japan)", 0 ) GAME( 2000, hotgm4ev, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 4 Ever (Japan)", GAME_SUPPORTS_SAVE )
GAME( 2001, hotgmcki, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Mahjong Hot Gimmick Integral (Japan)", 0 ) GAME( 2001, hotgmcki, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Mahjong Hot Gimmick Integral (Japan)", GAME_SUPPORTS_SAVE )
GAME( 2000, loderndf, 0, ps4small, loderndf, driver_device, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. B)", 0 ) GAME( 2000, loderndf, 0, ps4small, loderndf, driver_device, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. B)", GAME_SUPPORTS_SAVE )
GAME( 2000, loderndfa,loderndf, ps4small, loderndf, driver_device, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. A)", 0 ) GAME( 2000, loderndfa,loderndf, ps4small, loderndf, driver_device, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. A)", GAME_SUPPORTS_SAVE )
GAME( 2000, hotdebut, 0, ps4small, hotdebut, driver_device, 0, ROT0, "MOSS / Psikyo", "Quiz de Idol! Hot Debut (Japan)", 0 ) GAME( 2000, hotdebut, 0, ps4small, hotdebut, driver_device, 0, ROT0, "MOSS / Psikyo", "Quiz de Idol! Hot Debut (Japan)", GAME_SUPPORTS_SAVE )

View File

@ -28,7 +28,8 @@ public:
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "lpalette"), m_palette(*this, "lpalette"),
m_palette2(*this, "rpalette"), m_palette2(*this, "rpalette"),
m_screen(*this, "screen") m_lscreen(*this, "lscreen"),
m_rscreen(*this, "rscreen")
{ } { }
/* memory pointers */ /* memory pointers */
@ -48,6 +49,10 @@ public:
required_device<sh2_device> m_maincpu; required_device<sh2_device> m_maincpu;
required_device<eeprom_serial_93cxx_device> m_eeprom; required_device<eeprom_serial_93cxx_device> m_eeprom;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
required_device<palette_device> m_palette2;
required_device<screen_device> m_lscreen;
required_device<screen_device> m_rscreen;
DECLARE_WRITE32_MEMBER(ps4_paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w); DECLARE_WRITE32_MEMBER(ps4_paletteram32_RRRRRRRRGGGGGGGGBBBBBBBBxxxxxxxx_dword_w);
DECLARE_WRITE32_MEMBER(ps4_bgpen_1_dword_w); DECLARE_WRITE32_MEMBER(ps4_bgpen_1_dword_w);
@ -72,8 +77,4 @@ public:
void set_hotgmck_pcm_bank( int n ); void set_hotgmck_pcm_bank( int n );
void install_hotgmck_pcm_bank(); void install_hotgmck_pcm_bank();
DECLARE_WRITE_LINE_MEMBER(irqhandler); DECLARE_WRITE_LINE_MEMBER(irqhandler);
required_device<palette_device> m_palette;
required_device<palette_device> m_palette2;
optional_device<screen_device> m_screen;
}; };

View File

@ -95,7 +95,8 @@ void psikyo4_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprec
if ((!scr && flipscreen1) || (scr && flipscreen2)) if ((!scr && flipscreen1) || (scr && flipscreen2))
{ {
ypos = m_screen->visible_area().max_y + 1 - ypos - high * 16; /* Screen Height depends on game */ /* Screen Height depends on game */
(!scr && flipscreen1) ? ypos = m_lscreen->visible_area().max_y + 1 - ypos - high * 16 : ypos = m_rscreen->visible_area().max_y + 1 - ypos - high * 16;
xpos = 40 * 8 - xpos - wide * 16; xpos = 40 * 8 - xpos - wide * 16;
flipx = !flipx; flipx = !flipx;
flipy = !flipy; flipy = !flipy;