mirror of
https://github.com/holub/mame
synced 2025-06-22 20:38:50 +03:00
namcos2.cpp: enabled save state support (nw)
This commit is contained in:
parent
50a008dd20
commit
2123d82d90
@ -86,12 +86,12 @@ All sound circuitry is contained on the CPU board, it consists of:
|
||||
The CPU board also contains the frame timing and video image generation
|
||||
circuitry along with text/scroll planes and the palette generator. The system
|
||||
has 8192 pens of which 4096+2048 are displayable at any given time. These
|
||||
pens refernce a 24 bit colour lookup table (R8:G8:B8).
|
||||
pens reference a 24 bit colour lookup table (R8:G8:B8).
|
||||
|
||||
The text/tile plane generator has the following capabilities:
|
||||
|
||||
2 x Static tile planes (36x28 tiles)
|
||||
4 x Scolling tile planes (64x64 tiles)
|
||||
4 x Scrolling tile planes (64x64 tiles)
|
||||
|
||||
Each plane has its own colour index (8 total) that is used alongside the
|
||||
pen number to be looked up in the pen index and generate a 24 bit pixel. Each
|
||||
@ -163,7 +163,7 @@ Interrupt Controller C148 1C0000-1FFFFF R/W D00-D02
|
||||
???????? 1D0XXX
|
||||
???????? 1D4000 trigger master/slave INT?
|
||||
|
||||
Acknowlegde Master/Slave IRQ 1D6XXX ack master/slave INT
|
||||
Acknowledge Master/Slave IRQ 1D6XXX ack master/slave INT
|
||||
Acknowledge EXIRQ 1D8XXX
|
||||
Acknowledge POSIRQ 1DAXXX
|
||||
Acknowledge SCIRQ 1DCXXX
|
||||
@ -197,7 +197,7 @@ Interrupt Controller C148 1C0000-1FFFFF R/W D00-D02
|
||||
SCIRQ level 1CCXXX D00-D02
|
||||
VBLANK IRQ level 1CEXXX D00-D02
|
||||
???????? 1D0XXX
|
||||
Acknowlegde Master/Slave IRQ 1D6XXX
|
||||
Acknowledge Master/Slave IRQ 1D6XXX
|
||||
Acknowledge EXIRQ 1D8XXX
|
||||
Acknowledge POSIRQ 1DAXXX
|
||||
Acknowledge SCIRQ 1DCXXX
|
||||
@ -567,31 +567,31 @@ C102 - Controls CPU access to ROZ Memory Area.
|
||||
/* 68000/6809/63705 Shared memory area - DUAL PORT Memory */
|
||||
/*************************************************************/
|
||||
|
||||
void namcos2_state::GollyGhostUpdateLED_c4( int data )
|
||||
void namcos2_state::GollyGhostUpdateLED_c4(int data)
|
||||
{
|
||||
output().set_value("zip100", data >> 4);
|
||||
output().set_value("zip10", data & 0x0f);
|
||||
}
|
||||
|
||||
void namcos2_state::GollyGhostUpdateLED_c6( int data )
|
||||
void namcos2_state::GollyGhostUpdateLED_c6(int data)
|
||||
{
|
||||
output().set_value("zip1", data >> 4);
|
||||
output().set_value("time10", data & 0x0f);
|
||||
}
|
||||
|
||||
void namcos2_state::GollyGhostUpdateLED_c8( int data )
|
||||
void namcos2_state::GollyGhostUpdateLED_c8(int data)
|
||||
{
|
||||
output().set_value("time1", data >> 4);
|
||||
output().set_value("zap100", data & 0x0f);
|
||||
}
|
||||
|
||||
void namcos2_state::GollyGhostUpdateLED_ca( int data )
|
||||
void namcos2_state::GollyGhostUpdateLED_ca(int data)
|
||||
{
|
||||
output().set_value("zap10", data >> 4);
|
||||
output().set_value("zap1", data & 0x0f);
|
||||
}
|
||||
|
||||
void namcos2_state::GollyGhostUpdateDiorama_c0( int data )
|
||||
void namcos2_state::GollyGhostUpdateDiorama_c0(int data)
|
||||
{
|
||||
if (data & 0x80)
|
||||
{
|
||||
@ -885,7 +885,7 @@ void namcos2_state::c140_default_am(address_map &map)
|
||||
/* */
|
||||
/* NAMCO SYSTEM 2 PORT MACROS */
|
||||
/* */
|
||||
/* Below are the port defintion macros that should be used */
|
||||
/* Below are the port definition macros that should be used */
|
||||
/* as the basis for defining a port set for a Namco System2 */
|
||||
/* game. */
|
||||
/* */
|
||||
@ -1403,7 +1403,7 @@ INPUT_PORTS_END
|
||||
TAB menu.
|
||||
|
||||
This game has a rather unique control setup, 2 lightguns, plus steering hardware. Defaults have been set
|
||||
up to avoid a large number of duplicae buttons. Using these settings (with -mouse) the following mapping is
|
||||
up to avoid a large number of duplicate buttons. Using these settings (with -mouse) the following mapping is
|
||||
given
|
||||
|
||||
Z, X - Steer Car
|
||||
@ -5495,16 +5495,22 @@ void namcos2_state::init_dirtfoxj()
|
||||
void namcos2_state::init_finallap()
|
||||
{
|
||||
m_gametype = NAMCOS2_FINAL_LAP;
|
||||
|
||||
save_item(NAME(m_finallap_prot_count));
|
||||
}
|
||||
|
||||
void namcos2_state::init_finalap2()
|
||||
{
|
||||
m_gametype = NAMCOS2_FINAL_LAP_2;
|
||||
|
||||
save_item(NAME(m_finallap_prot_count));
|
||||
}
|
||||
|
||||
void namcos2_state::init_finalap3()
|
||||
{
|
||||
m_gametype = NAMCOS2_FINAL_LAP_3;
|
||||
|
||||
save_item(NAME(m_finallap_prot_count));
|
||||
}
|
||||
|
||||
void namcos2_state::init_finehour()
|
||||
@ -5675,91 +5681,91 @@ void namcos2_state::init_luckywld()
|
||||
/* and metal hawk have the B version and dragon saber has the C version */
|
||||
|
||||
/* YEAR, NAME, PARENT, MACHINE, INPUT, STATE, INIT, MONITOR,COMPANY, FULLNAME */
|
||||
GAMEL( 1987, finallap, 0, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev E)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1987, finallapd, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev D)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1987, finallapc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1987, finallapjc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1987, finallapjb, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1987, finallap, 0, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev E)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1987, finallapd, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev D)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1987, finallapc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1987, finallapjc, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1987, finallapjb, finallap, finallap, finallap, namcos2_state, init_finallap, ROT0, "Namco", "Final Lap (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
|
||||
GAME( 1988, assault, 0, base2, assault, namcos2_state, init_assault, ROT90, "Namco", "Assault (Rev B)", 0 )
|
||||
GAME( 1988, assaultj, assault, base2, assault, namcos2_state, init_assaultj, ROT90, "Namco", "Assault (Japan)", 0 )
|
||||
GAME( 1988, assaultp, assault, assaultp, assault, namcos2_state, init_assaultp, ROT90, "Namco", "Assault Plus (Japan)", 0)
|
||||
GAME( 1988, assault, 0, base2, assault, namcos2_state, init_assault, ROT90, "Namco", "Assault (Rev B)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1988, assaultj, assault, base2, assault, namcos2_state, init_assaultj, ROT90, "Namco", "Assault (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1988, assaultp, assault, assaultp, assault, namcos2_state, init_assaultp, ROT90, "Namco", "Assault Plus (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1988, metlhawk, 0, metlhawk, metlhawk, namcos2_state, init_metlhawk, ROT90, "Namco", "Metal Hawk (Rev C)", 0 )
|
||||
GAME( 1988, metlhawkj, metlhawk, metlhawk, metlhawk, namcos2_state, init_metlhawk, ROT90, "Namco", "Metal Hawk (Japan, Rev F)", 0 )
|
||||
GAME( 1988, metlhawk, 0, metlhawk, metlhawk, namcos2_state, init_metlhawk, ROT90, "Namco", "Metal Hawk (Rev C)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1988, metlhawkj, metlhawk, metlhawk, metlhawk, namcos2_state, init_metlhawk, ROT90, "Namco", "Metal Hawk (Japan, Rev F)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1988, ordyne, 0, base, base, namcos2_state, init_ordyne, ROT180, "Namco", "Ordyne (World)", 0 )
|
||||
GAME( 1988, ordyneje, ordyne, base, base, namcos2_state, init_ordyne, ROT180, "Namco", "Ordyne (Japan, English Version)", 0 )
|
||||
GAME( 1988, ordynej, ordyne, base, base, namcos2_state, init_ordyne, ROT180, "Namco", "Ordyne (Japan)", 0 )
|
||||
GAME( 1988, ordyne, 0, base, base, namcos2_state, init_ordyne, ROT180, "Namco", "Ordyne (World)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1988, ordyneje, ordyne, base, base, namcos2_state, init_ordyne, ROT180, "Namco", "Ordyne (Japan, English Version)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1988, ordynej, ordyne, base, base, namcos2_state, init_ordyne, ROT180, "Namco", "Ordyne (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1988, mirninja, 0, base, base, namcos2_state, init_mirninja, ROT0, "Namco", "Mirai Ninja (Japan)", 0 )
|
||||
GAME( 1988, mirninja, 0, base, base, namcos2_state, init_mirninja, ROT0, "Namco", "Mirai Ninja (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1988, phelios, 0, base2, base, namcos2_state, init_phelios, ROT90, "Namco", "Phelios", 0)
|
||||
GAME( 1988, pheliosj, phelios, base2, base, namcos2_state, init_phelios, ROT90, "Namco", "Phelios (Japan)", 0)
|
||||
GAME( 1988, phelios, 0, base2, base, namcos2_state, init_phelios, ROT90, "Namco", "Phelios", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1988, pheliosj, phelios, base2, base, namcos2_state, init_phelios, ROT90, "Namco", "Phelios (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1989, dirtfoxj, 0, base2, dirtfox, namcos2_state, init_dirtfoxj, ROT90, "Namco", "Dirt Fox (Japan)", MACHINE_NODEVICE_LAN )
|
||||
GAME( 1989, dirtfoxj, 0, base2, dirtfox, namcos2_state, init_dirtfoxj, ROT90, "Namco", "Dirt Fox (Japan)", MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAMEL( 1989, fourtrax, 0, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1989, fourtraxj, fourtrax, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1989, fourtraxa, fourtrax, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco (Atari license?)", "Four Trax (US?, censored banners)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap ) // boards using the ROM code FX4 were produced for Atari? there's no US region warning or Atari copyright tho, modded version of the World code
|
||||
GAMEL( 1989, fourtrax, 0, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (World)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1989, fourtraxj, fourtrax, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco", "Four Trax (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1989, fourtraxa, fourtrax, finallap, fourtrax, namcos2_state, init_fourtrax, ROT0, "Namco (Atari license?)", "Four Trax (US?, censored banners)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap ) // boards using the ROM code FX4 were produced for Atari? there's no US region warning or Atari copyright tho, modded version of the World code
|
||||
|
||||
GAME( 1989, valkyrie, 0, base3, base, namcos2_state, init_valkyrie, ROT90, "Namco", "Valkyrie no Densetsu (Japan)", 0 )
|
||||
GAME( 1989, valkyrie, 0, base3, base, namcos2_state, init_valkyrie, ROT90, "Namco", "Valkyrie no Densetsu (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1989, finehour, 0, base2, base, namcos2_state, init_finehour, ROT0, "Namco", "Finest Hour (Japan)", 0)
|
||||
GAME( 1989, finehour, 0, base2, base, namcos2_state, init_finehour, ROT0, "Namco", "Finest Hour (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1989, burnforc, 0, base3, base, namcos2_state, init_burnforc, ROT0, "Namco", "Burning Force (Japan, new version (Rev C))", 0 )
|
||||
GAME( 1989, burnforco, burnforc, base3, base, namcos2_state, init_burnforc, ROT0, "Namco", "Burning Force (Japan, old version)", 0 )
|
||||
GAME( 1989, burnforc, 0, base3, base, namcos2_state, init_burnforc, ROT0, "Namco", "Burning Force (Japan, new version (Rev C))", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, burnforco, burnforc, base3, base, namcos2_state, init_burnforc, ROT0, "Namco", "Burning Force (Japan, old version)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1989, marvland, 0, base, base, namcos2_state, init_marvland, ROT0, "Namco", "Marvel Land (US, prototype?)", MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 1989, marvlandj, marvland, base, base, namcos2_state, init_marvlanj, ROT0, "Namco", "Marvel Land (Japan)", 0 )
|
||||
GAME( 1989, marvland, 0, base, base, namcos2_state, init_marvland, ROT0, "Namco", "Marvel Land (US, prototype?)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1989, marvlandj, marvland, base, base, namcos2_state, init_marvlanj, ROT0, "Namco", "Marvel Land (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1990, kyukaidk, 0, base, kyukaidk, namcos2_state, init_kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan, new version (Rev B))", 0 )
|
||||
GAME( 1990, kyukaidko, kyukaidk, base, kyukaidk, namcos2_state, init_kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan, old version)", 0 )
|
||||
GAME( 1990, kyukaidk, 0, base, kyukaidk, namcos2_state, init_kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan, new version (Rev B))", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, kyukaidko, kyukaidk, base, kyukaidk, namcos2_state, init_kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan, old version)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1990, dsaber, 0, base3, base, namcos2_state, init_dsaber, ROT90, "Namco", "Dragon Saber (World, DO2)", 0 )
|
||||
GAME( 1990, dsabera, dsaber, base3, base, namcos2_state, init_dsaber, ROT90, "Namco", "Dragon Saber (World, older?)", 0 )
|
||||
GAME( 1990, dsaberj, dsaber, base3, base, namcos2_state, init_dsaberj, ROT90, "Namco", "Dragon Saber (Japan, Rev B)", 0 )
|
||||
GAME( 1990, dsaber, 0, base3, base, namcos2_state, init_dsaber, ROT90, "Namco", "Dragon Saber (World, DO2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, dsabera, dsaber, base3, base, namcos2_state, init_dsaber, ROT90, "Namco", "Dragon Saber (World, older?)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, dsaberj, dsaber, base3, base, namcos2_state, init_dsaberj, ROT90, "Namco", "Dragon Saber (Japan, Rev B)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAMEL( 1990, finalap2, 0, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1990, finalap2j, finalap2, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1990, finalap2, 0, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1990, finalap2j, finalap2, finalap2, finallap, namcos2_state, init_finalap2, ROT0, "Namco", "Final Lap 2 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
|
||||
GAME( 1990, gollygho, 0, gollygho, gollygho, namcos2_state, init_gollygho, ROT180, "Namco", "Golly! Ghost!", MACHINE_REQUIRES_ARTWORK )
|
||||
GAME( 1990, gollygho, 0, gollygho, gollygho, namcos2_state, init_gollygho, ROT180, "Namco", "Golly! Ghost!", MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1990, rthun2, 0, base3, base, namcos2_state, init_rthun2, ROT0, "Namco", "Rolling Thunder 2", 0 )
|
||||
GAME( 1990, rthun2j, rthun2, base3, base, namcos2_state, init_rthun2j, ROT0, "Namco", "Rolling Thunder 2 (Japan)", 0 )
|
||||
GAME( 1990, rthun2, 0, base3, base, namcos2_state, init_rthun2, ROT0, "Namco", "Rolling Thunder 2", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, rthun2j, rthun2, base3, base, namcos2_state, init_rthun2j, ROT0, "Namco", "Rolling Thunder 2 (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1990, sgunner, 0, sgunner, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner (Rev B)", 0 )
|
||||
GAME( 1990, sgunnerj, sgunner, sgunner, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner (Japan)", 0 )
|
||||
GAME( 1990, sgunner, 0, sgunner, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner (Rev B)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, sgunnerj, sgunner, sgunner, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
// The C68 I/O MCU contains a 1991 copyright, so anything after this point is potentially using that instead of C65, games before this point can't be using it
|
||||
|
||||
GAME( 1991, sgunner2, 0, sgunner2, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner 2 (US)", 0 )
|
||||
GAME( 1991, sgunner2j, sgunner2, sgunner2, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner 2 (Japan, Rev A)", 0 )
|
||||
GAME( 1991, sgunner2, 0, sgunner2, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner 2 (US)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, sgunner2j, sgunner2, sgunner2, sgunner, namcos2_state, init_sgunner2, ROT0, "Namco", "Steel Gunner 2 (Japan, Rev A)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1991, cosmogng, 0, base, base, namcos2_state, init_cosmogng, ROT90, "Namco", "Cosmo Gang the Video (US)", 0 )
|
||||
GAME( 1991, cosmogngj, cosmogng, base, base, namcos2_state, init_cosmogng, ROT90, "Namco", "Cosmo Gang the Video (Japan)", 0 )
|
||||
GAME( 1991, cosmogng, 0, base, base, namcos2_state, init_cosmogng, ROT90, "Namco", "Cosmo Gang the Video (US)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1991, cosmogngj, cosmogng, base, base, namcos2_state, init_cosmogng, ROT90, "Namco", "Cosmo Gang the Video (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1992, bubbletr, 0, gollygho, bubbletr, namcos2_state, init_bubbletr, ROT180, "Namco", "Bubble Trouble - Golly Ghost 2 (World, Rev B)", MACHINE_REQUIRES_ARTWORK )
|
||||
GAME( 1992, bubbletrj, bubbletr, gollygho, bubbletr, namcos2_state, init_bubbletr, ROT180, "Namco", "Bubble Trouble - Golly Ghost 2 (Japan, Rev C)", MACHINE_REQUIRES_ARTWORK )
|
||||
GAME( 1992, bubbletr, 0, gollygho, bubbletr, namcos2_state, init_bubbletr, ROT180, "Namco", "Bubble Trouble - Golly Ghost 2 (World, Rev B)", MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, bubbletrj, bubbletr, gollygho, bubbletr, namcos2_state, init_bubbletr, ROT180, "Namco", "Bubble Trouble - Golly Ghost 2 (Japan, Rev C)", MACHINE_REQUIRES_ARTWORK | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAMEL( 1992, finalap3, 0, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1992, finalap3a, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1992, finalap3j, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1992, finalap3jc, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1992, finalap3bl, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN, layout_finallap )
|
||||
GAMEL( 1992, finalap3, 0, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1992, finalap3a, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (World, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1992, finalap3j, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1992, finalap3jc, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (Japan, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
GAMEL( 1992, finalap3bl, finalap3, finalap3, finalap3, namcos2_state, init_finalap3, ROT0, "Namco", "Final Lap 3 (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE, layout_finallap )
|
||||
|
||||
GAME( 1992, luckywld, 0, luckywld, luckywld, namcos2_state, init_luckywld, ROT0, "Namco", "Lucky & Wild", 0 )
|
||||
GAME( 1992, luckywldj, luckywld, luckywld, luckywld, namcos2_state, init_luckywld, ROT0, "Namco", "Lucky & Wild (Japan)", 0 )
|
||||
GAME( 1992, luckywld, 0, luckywld, luckywld, namcos2_state, init_luckywld, ROT0, "Namco", "Lucky & Wild", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, luckywldj, luckywld, luckywld, luckywld, namcos2_state, init_luckywld, ROT0, "Namco", "Lucky & Wild (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1992, suzuka8h, 0, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1992, suzuka8hj, suzuka8h, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1992, suzuka8h, 0, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (World, Rev C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, suzuka8hj, suzuka8h, suzuka8h, suzuka, namcos2_state, init_suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1992, sws, 0, base_c68, base, namcos2_state, init_sws, ROT0, "Namco", "Super World Stadium (Japan)", 0 )
|
||||
GAME( 1992, sws, 0, base_c68, base, namcos2_state, init_sws, ROT0, "Namco", "Super World Stadium (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1992, sws92, 0, base_c68, base, namcos2_state, init_sws92, ROT0, "Namco", "Super World Stadium '92 (Japan)", 0 )
|
||||
GAME( 1992, sws92g, sws92, base_c68, base, namcos2_state, init_sws92g, ROT0, "Namco", "Super World Stadium '92 Gekitouban (Japan)", 0 )
|
||||
GAME( 1992, sws92, 0, base_c68, base, namcos2_state, init_sws92, ROT0, "Namco", "Super World Stadium '92 (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1992, sws92g, sws92, base_c68, base, namcos2_state, init_sws92g, ROT0, "Namco", "Super World Stadium '92 Gekitouban (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1993, suzuk8h2, 0, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (World, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1993, suzuk8h2j, suzuk8h2, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN )
|
||||
GAME( 1993, suzuk8h2, 0, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (World, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, suzuk8h2j, suzuk8h2, suzuka8h, suzuka, namcos2_state, init_suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (Japan, Rev B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1993, sws93, 0, base_c68, base, namcos2_state, init_sws93, ROT0, "Namco", "Super World Stadium '93 (Japan)", 0 ) // this appears to have a subtitle, what is it?
|
||||
GAME( 1993, sws93, 0, base_c68, base, namcos2_state, init_sws93, ROT0, "Namco", "Super World Stadium '93 (Japan)", MACHINE_SUPPORTS_SAVE ) // this appears to have a subtitle, what is it?
|
||||
|
@ -126,6 +126,11 @@ public:
|
||||
void init_marvland();
|
||||
void init_rthun2();
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
private:
|
||||
|
||||
enum
|
||||
@ -202,7 +207,6 @@ enum
|
||||
void system_reset_w(uint8_t data);
|
||||
void reset_all_subcpus(int state);
|
||||
|
||||
virtual void video_start() override;
|
||||
void video_start_luckywld();
|
||||
void video_start_metlhawk();
|
||||
void video_start_sgunner();
|
||||
@ -218,9 +222,6 @@ enum
|
||||
uint16_t gfx_ctrl_r();
|
||||
void gfx_ctrl_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
void create_shadow_table();
|
||||
void apply_clip( rectangle &clip, const rectangle &cliprect );
|
||||
|
||||
@ -230,7 +231,6 @@ enum
|
||||
required_shared_ptr<uint8_t> m_dpram; /* 2Kx8 */
|
||||
optional_shared_ptr<uint16_t> m_spriteram;
|
||||
uint16_t m_gfx_ctrl;
|
||||
uint16_t m_serial_comms_ctrl[0x8];
|
||||
unsigned m_finallap_prot_count;
|
||||
int m_sendval;
|
||||
|
||||
@ -241,11 +241,11 @@ enum
|
||||
uint16_t namcos2_68k_key_r(offs_t offset);
|
||||
void namcos2_68k_key_w(offs_t offset, uint16_t data);
|
||||
uint16_t namcos2_finallap_prot_r(offs_t offset);
|
||||
void GollyGhostUpdateLED_c4( int data );
|
||||
void GollyGhostUpdateLED_c6( int data );
|
||||
void GollyGhostUpdateLED_c8( int data );
|
||||
void GollyGhostUpdateLED_ca( int data );
|
||||
void GollyGhostUpdateDiorama_c0( int data );
|
||||
void GollyGhostUpdateLED_c4(int data);
|
||||
void GollyGhostUpdateLED_c6(int data);
|
||||
void GollyGhostUpdateLED_c8(int data);
|
||||
void GollyGhostUpdateLED_ca(int data);
|
||||
void GollyGhostUpdateDiorama_c0(int data);
|
||||
void TilemapCB(uint16_t code, int *tile, int *mask);
|
||||
void TilemapCB_finalap2(uint16_t code, int *tile, int *mask);
|
||||
void RozCB_luckywld(uint16_t code, int *tile, int *mask, int which);
|
||||
|
@ -80,13 +80,12 @@ void namcos2_state::machine_start()
|
||||
for (int i = 0; i < 0x10; i++)
|
||||
m_audiobank->configure_entry(i, memregion("audiocpu")->base() + (i % max) * 0x4000);
|
||||
|
||||
save_pointer(NAME(m_eeprom), 0x2000);
|
||||
save_item(NAME(m_sendval));
|
||||
}
|
||||
|
||||
void namcos2_state::machine_reset()
|
||||
{
|
||||
// address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
// address_space &audio_space = m_audiocpu->space(AS_PROGRAM);
|
||||
|
||||
/* Initialise the bank select in the sound CPU */
|
||||
m_audiobank->set_entry(0); /* Page in bank 0 */
|
||||
|
||||
@ -203,7 +202,7 @@ uint16_t namcos2_state::namcos2_68k_key_r(offs_t offset)
|
||||
break;
|
||||
|
||||
case NAMCOS2_STEEL_GUNNER_2:
|
||||
switch( offset )
|
||||
switch(offset)
|
||||
{
|
||||
case 4: return 0x15a;
|
||||
}
|
||||
@ -360,20 +359,19 @@ uint16_t namcos2_state::namcos2_68k_key_r(offs_t offset)
|
||||
|
||||
void namcos2_state::namcos2_68k_key_w(offs_t offset, uint16_t data)
|
||||
{
|
||||
int gametype = m_gametype;
|
||||
if( gametype == NAMCOS2_MARVEL_LAND && offset == 5 )
|
||||
if( m_gametype == NAMCOS2_MARVEL_LAND && offset == 5 )
|
||||
{
|
||||
if (data == 0x615E) m_sendval = 1;
|
||||
}
|
||||
if( gametype == NAMCOS2_ROLLING_THUNDER_2 && offset == 4 )
|
||||
if( m_gametype == NAMCOS2_ROLLING_THUNDER_2 && offset == 4 )
|
||||
{
|
||||
if (data == 0x13EC) m_sendval = 1;
|
||||
}
|
||||
if( gametype == NAMCOS2_ROLLING_THUNDER_2 && offset == 7 )
|
||||
if( m_gametype == NAMCOS2_ROLLING_THUNDER_2 && offset == 7 )
|
||||
{
|
||||
if (data == 0x13EC) m_sendval = 1;
|
||||
}
|
||||
if( gametype == NAMCOS2_MARVEL_LAND && offset == 6 )
|
||||
if( m_gametype == NAMCOS2_MARVEL_LAND && offset == 6 )
|
||||
{
|
||||
if (data == 0x1001) m_sendval = 0;
|
||||
}
|
||||
|
@ -70,6 +70,8 @@ void namcos2_state::create_shadow_table()
|
||||
void namcos2_state::video_start()
|
||||
{
|
||||
create_shadow_table();
|
||||
|
||||
save_item(NAME(m_gfx_ctrl));
|
||||
}
|
||||
|
||||
void namcos2_state::apply_clip(rectangle &clip, const rectangle &cliprect)
|
||||
|
Loading…
Reference in New Issue
Block a user