mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
Merge pull request #592 from ajrhacker/slapstic
One small step toward slapstic modernization (nw)
This commit is contained in:
commit
02b1050f16
@ -428,8 +428,6 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(atarig1_state,atarig1)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(atarig1_state,atarig1)
|
||||
|
||||
@ -461,12 +459,44 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( hydra, atarig1 )
|
||||
MCFG_ATARIRLE_ADD("rle", modesc_hydra)
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 116)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( hydrap, hydra )
|
||||
MCFG_DEVICE_REMOVE("slapstic")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( pitfight9, atarig1 )
|
||||
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 114)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( pitfight7, atarig1 )
|
||||
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 112)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( pitfight, atarig1 )
|
||||
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 111)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( pitfightj, atarig1 )
|
||||
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 113)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( pitfightb, atarig1 )
|
||||
MCFG_ATARIRLE_ADD("rle", modesc_pitfight)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1198,28 +1228,30 @@ ROM_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void atarig1_state::init_common(offs_t slapstic_base, int slapstic, bool is_pitfight)
|
||||
DRIVER_INIT_MEMBER(atarig1_state,hydra)
|
||||
{
|
||||
if (slapstic == -1)
|
||||
{
|
||||
pitfightb_cheap_slapstic_init();
|
||||
save_item(NAME(m_bslapstic_bank));
|
||||
save_item(NAME(m_bslapstic_primed));
|
||||
}
|
||||
else if (slapstic != 0)
|
||||
slapstic_configure(*m_maincpu, slapstic_base, 0, slapstic);
|
||||
|
||||
m_is_pitfight = is_pitfight;
|
||||
slapstic_configure(*m_maincpu, 0x078000, 0);
|
||||
m_is_pitfight = 0;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(atarig1_state,hydra) { init_common(0x078000, 116, 0); }
|
||||
DRIVER_INIT_MEMBER(atarig1_state,hydrap) { init_common(0x000000, 0, 0); }
|
||||
DRIVER_INIT_MEMBER(atarig1_state,hydrap)
|
||||
{
|
||||
m_is_pitfight = 0;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(atarig1_state,pitfight9) { init_common(0x038000, 114, 1); }
|
||||
DRIVER_INIT_MEMBER(atarig1_state,pitfight7) { init_common(0x038000, 112, 1); }
|
||||
DRIVER_INIT_MEMBER(atarig1_state,pitfight) { init_common(0x038000, 111, 1); }
|
||||
DRIVER_INIT_MEMBER(atarig1_state,pitfightj) { init_common(0x038000, 113, 1); }
|
||||
DRIVER_INIT_MEMBER(atarig1_state,pitfightb) { init_common(0x038000, -1, 1); }
|
||||
DRIVER_INIT_MEMBER(atarig1_state,pitfight)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x038000, 0);
|
||||
m_is_pitfight = 1;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(atarig1_state,pitfightb)
|
||||
{
|
||||
pitfightb_cheap_slapstic_init();
|
||||
save_item(NAME(m_bslapstic_bank));
|
||||
save_item(NAME(m_bslapstic_primed));
|
||||
m_is_pitfight = 1;
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -1228,15 +1260,15 @@ DRIVER_INIT_MEMBER(atarig1_state,pitfightb) { init_common(0x038000, -1, 1); }
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1990, hydra, 0, hydra, hydra, atarig1_state, hydra, ROT0, "Atari Games", "Hydra", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, hydrap, hydra, hydra, hydra, atarig1_state, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/14/90)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, hydrap2, hydra, hydra, hydra, atarig1_state, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/25/90)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, hydra, 0, hydra, hydra, atarig1_state, hydra, ROT0, "Atari Games", "Hydra", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, hydrap, hydra, hydrap, hydra, atarig1_state, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/14/90)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, hydrap2, hydra, hydrap, hydra, atarig1_state, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/25/90)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1990, pitfight, 0, pitfight, pitfight, atarig1_state, pitfight9, ROT0, "Atari Games", "Pit Fighter (rev 9)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight7, pitfight, pitfight, pitfight, atarig1_state, pitfight7, ROT0, "Atari Games", "Pit Fighter (rev 7)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight6, pitfight, pitfight, pitfight, atarig1_state, pitfightj, ROT0, "Atari Games", "Pit Fighter (rev 6)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight5, pitfight, pitfight, pitfight, atarig1_state, pitfight7, ROT0, "Atari Games", "Pit Fighter (rev 5)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight4, pitfight, pitfight, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight3, pitfight, pitfight, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfightj, pitfight, pitfight, pitfightj, atarig1_state,pitfightj, ROT0, "Atari Games", "Pit Fighter (Japan, 2 players)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfightb, pitfight, pitfight, pitfight, atarig1_state, pitfightb, ROT0, "bootleg", "Pit Fighter (bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight, 0, pitfight9, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 9)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight7, pitfight, pitfight7, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 7)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight6, pitfight, pitfightj, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 6)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight5, pitfight, pitfight7, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 5)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight4, pitfight, pitfight, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfight3, pitfight, pitfight, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfightj, pitfight, pitfightj, pitfightj, atarig1_state,pitfight, ROT0, "Atari Games", "Pit Fighter (Japan, 2 players)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1990, pitfightb, pitfight, pitfightb, pitfight, atarig1_state, pitfightb, ROT0, "bootleg", "Pit Fighter (bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -713,8 +713,6 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8)
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
|
||||
@ -775,6 +773,30 @@ static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(atarisy1_state, via_pb_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( marble, atarisy1 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 103)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( peterpak, atarisy1 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 107)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( indytemp, atarisy1 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 105)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( roadrunn, atarisy1 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 108)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( roadb109, atarisy1 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 109)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( roadb110, atarisy1 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 110)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -2405,7 +2427,7 @@ ROM_END
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy1_state,marble)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0, 103);
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0);
|
||||
|
||||
m_joystick_type = 0; /* none */
|
||||
m_trackball_type = 1; /* rotated */
|
||||
@ -2414,7 +2436,7 @@ DRIVER_INIT_MEMBER(atarisy1_state,marble)
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy1_state,peterpak)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0, 107);
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0);
|
||||
|
||||
m_joystick_type = 1; /* digital */
|
||||
m_trackball_type = 0; /* none */
|
||||
@ -2423,7 +2445,7 @@ DRIVER_INIT_MEMBER(atarisy1_state,peterpak)
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy1_state,indytemp)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0, 105);
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0);
|
||||
|
||||
m_joystick_type = 1; /* digital */
|
||||
m_trackball_type = 0; /* none */
|
||||
@ -2432,25 +2454,16 @@ DRIVER_INIT_MEMBER(atarisy1_state,indytemp)
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy1_state,roadrunn)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0, 108);
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0);
|
||||
|
||||
m_joystick_type = 2; /* analog */
|
||||
m_trackball_type = 0; /* none */
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy1_state,roadb109)
|
||||
DRIVER_INIT_MEMBER(atarisy1_state,roadblst)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0, 109);
|
||||
|
||||
m_joystick_type = 3; /* pedal */
|
||||
m_trackball_type = 2; /* steering wheel */
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy1_state,roadb110)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0, 110);
|
||||
slapstic_configure(*m_maincpu, 0x080000, 0);
|
||||
|
||||
m_joystick_type = 3; /* pedal */
|
||||
m_trackball_type = 2; /* steering wheel */
|
||||
@ -2464,35 +2477,35 @@ DRIVER_INIT_MEMBER(atarisy1_state,roadb110)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1984, atarisy1, 0, atarisy1, peterpak, atarisy1_state, peterpak, ROT0, "Atari Games", "Atari System 1 BIOS", MACHINE_IS_BIOS_ROOT )
|
||||
GAME( 1984, atarisy1, 0, peterpak, peterpak, atarisy1_state, peterpak, ROT0, "Atari Games", "Atari System 1 BIOS", MACHINE_IS_BIOS_ROOT )
|
||||
|
||||
GAME( 1984, marble, atarisy1, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 1)", 0 )
|
||||
GAME( 1984, marble2, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 2)", 0 )
|
||||
GAME( 1984, marble3, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 3)", 0 )
|
||||
GAME( 1984, marble4, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 4)", 0 )
|
||||
GAME( 1984, marble5, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 5 - LSI Cartridge)", 0 )
|
||||
GAME( 1984, marble, atarisy1, marble, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 1)", 0 )
|
||||
GAME( 1984, marble2, marble, marble, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 2)", 0 )
|
||||
GAME( 1984, marble3, marble, marble, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 3)", 0 )
|
||||
GAME( 1984, marble4, marble, marble, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 4)", 0 )
|
||||
GAME( 1984, marble5, marble, marble, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 5 - LSI Cartridge)", 0 )
|
||||
|
||||
GAME( 1984, peterpak, atarisy1, atarisy1, peterpak, atarisy1_state, peterpak, ROT0, "Atari Games", "Peter Pack-Rat", 0 )
|
||||
GAME( 1984, peterpak, atarisy1, peterpak, peterpak, atarisy1_state, peterpak, ROT0, "Atari Games", "Peter Pack-Rat", 0 )
|
||||
|
||||
GAME( 1985, indytemp, atarisy1, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 1)", 0 )
|
||||
GAME( 1985, indytemp2,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 2)", 0 )
|
||||
GAME( 1985, indytemp3,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 3)", 0 )
|
||||
GAME( 1985, indytemp4,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 4)", 0 )
|
||||
GAME( 1985, indytempd,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (German)", 0 )
|
||||
GAME( 1985, indytempc,indytemp, atarisy1, indytemc, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (Cocktail)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1985, indytemp, atarisy1, indytemp, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 1)", 0 )
|
||||
GAME( 1985, indytemp2,indytemp, indytemp, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 2)", 0 )
|
||||
GAME( 1985, indytemp3,indytemp, indytemp, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 3)", 0 )
|
||||
GAME( 1985, indytemp4,indytemp, indytemp, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 4)", 0 )
|
||||
GAME( 1985, indytempd,indytemp, indytemp, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (German)", 0 )
|
||||
GAME( 1985, indytempc,indytemp, indytemp, indytemc, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (Cocktail)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
GAME( 1985, roadrunn, atarisy1, atarisy1, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 2)", 0 )
|
||||
GAME( 1985, roadrunn2,roadrunn, atarisy1, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1+)", 0 )
|
||||
GAME( 1985, roadrunn1,roadrunn, atarisy1, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1)", 0 )
|
||||
GAME( 1985, roadrunn, atarisy1, roadrunn, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 2)", 0 )
|
||||
GAME( 1985, roadrunn2,roadrunn, roadrunn, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1+)", 0 )
|
||||
GAME( 1985, roadrunn1,roadrunn, roadrunn, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1)", 0 )
|
||||
|
||||
GAME( 1987, roadblst, atarisy1, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (upright, rev 4)", 0 )
|
||||
GAME( 1987, roadblstg, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, German, rev 3)", 0 )
|
||||
GAME( 1987, roadblst3, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, rev 3)", 0 )
|
||||
GAME( 1987, roadblstg2, roadblst, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (upright, German, rev 2)", 0 )
|
||||
GAME( 1987, roadblst2, roadblst, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (upright, rev 2)", 0 )
|
||||
GAME( 1987, roadblstg1, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, German, rev 1)", 0 )
|
||||
GAME( 1987, roadblst1, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, rev 1)", 0 )
|
||||
GAME( 1987, roadblstc, roadblst, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (cockpit, rev 2)", 0 )
|
||||
GAME( 1987, roadblstcg, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (cockpit, German, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1987, roadblstc1, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (cockpit, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1987, roadblstgu, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, German, rev ?)", 0 )
|
||||
GAME( 1987, roadblst, atarisy1, roadb110, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 4)", 0 )
|
||||
GAME( 1987, roadblstg, roadblst, roadb109, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 3)", 0 )
|
||||
GAME( 1987, roadblst3, roadblst, roadb109, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 3)", 0 )
|
||||
GAME( 1987, roadblstg2, roadblst, roadb110, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 2)", 0 )
|
||||
GAME( 1987, roadblst2, roadblst, roadb110, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 2)", 0 )
|
||||
GAME( 1987, roadblstg1, roadblst, roadb109, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 1)", 0 )
|
||||
GAME( 1987, roadblst1, roadblst, roadb109, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 1)", 0 )
|
||||
GAME( 1987, roadblstc, roadblst, roadb110, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, rev 2)", 0 )
|
||||
GAME( 1987, roadblstcg, roadblst, roadb109, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, German, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1987, roadblstc1, roadblst, roadb109, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1987, roadblstgu, roadblst, roadb109, roadblst, atarisy1_state, roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev ?)", 0 )
|
||||
|
@ -1194,8 +1194,6 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, (double)MASTER_CLOCK/2/16/16/16/10)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(atarisy2_state,atarisy2)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(atarisy2_state,atarisy2)
|
||||
|
||||
@ -1241,15 +1239,42 @@ static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( sprint, atarisy2 )
|
||||
static MACHINE_CONFIG_DERIVED( paperboy, atarisy2 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 105)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* basic machine hardware */
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( 720, atarisy2 )
|
||||
/* without the default EEPROM, 720 hangs at startup due to communication
|
||||
issues with the sound CPU; temporarily increasing the sound CPU frequency
|
||||
to ~2.2MHz "fixes" the problem */
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 107)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( ssprint, atarisy2 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 108)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_DEVICE_REMOVE("tms")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( csprint, atarisy2 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 109)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_DEVICE_REMOVE("tms")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( apb, atarisy2 )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 110)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -3132,7 +3157,7 @@ DRIVER_INIT_MEMBER(atarisy2_state,paperboy)
|
||||
int i;
|
||||
UINT8 *cpu1 = memregion("maincpu")->base();
|
||||
|
||||
m_slapstic->slapstic_init(machine(), 105);
|
||||
m_slapstic->slapstic_init();
|
||||
|
||||
/* expand the 16k program ROMs into full 64k chunks */
|
||||
for (i = 0x10000; i < 0x90000; i += 0x20000)
|
||||
@ -3149,10 +3174,7 @@ DRIVER_INIT_MEMBER(atarisy2_state,paperboy)
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy2_state,720)
|
||||
{
|
||||
/* without the default EEPROM, 720 hangs at startup due to communication
|
||||
issues with the sound CPU; temporarily increasing the sound CPU frequency
|
||||
to ~2.2MHz "fixes" the problem */
|
||||
m_slapstic->slapstic_init(machine(), 107);
|
||||
m_slapstic->slapstic_init();
|
||||
|
||||
m_pedal_count = -1;
|
||||
m_tms5220->rsq_w(1); // /RS is tied high on sys2 hw
|
||||
@ -3164,7 +3186,7 @@ DRIVER_INIT_MEMBER(atarisy2_state,ssprint)
|
||||
int i;
|
||||
UINT8 *cpu1 = memregion("maincpu")->base();
|
||||
|
||||
m_slapstic->slapstic_init(machine(), 108);
|
||||
m_slapstic->slapstic_init();
|
||||
|
||||
/* expand the 32k program ROMs into full 64k chunks */
|
||||
for (i = 0x10000; i < 0x90000; i += 0x20000)
|
||||
@ -3179,7 +3201,7 @@ DRIVER_INIT_MEMBER(atarisy2_state,csprint)
|
||||
int i;
|
||||
UINT8 *cpu1 = memregion("maincpu")->base();
|
||||
|
||||
m_slapstic->slapstic_init(machine(), 109);
|
||||
m_slapstic->slapstic_init();
|
||||
|
||||
/* expand the 32k program ROMs into full 64k chunks */
|
||||
for (i = 0x10000; i < 0x90000; i += 0x20000)
|
||||
@ -3191,7 +3213,7 @@ DRIVER_INIT_MEMBER(atarisy2_state,csprint)
|
||||
|
||||
DRIVER_INIT_MEMBER(atarisy2_state,apb)
|
||||
{
|
||||
m_slapstic->slapstic_init(machine(), 110);
|
||||
m_slapstic->slapstic_init();
|
||||
|
||||
m_pedal_count = 2;
|
||||
m_tms5220->rsq_w(1); // /RS is tied high on sys2 hw
|
||||
@ -3205,40 +3227,40 @@ DRIVER_INIT_MEMBER(atarisy2_state,apb)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1984, paperboy, 0, atarisy2, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1984, paperboyr2,paperboy, atarisy2, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1984, paperboyr1,paperboy, atarisy2, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1984, paperboy, 0, paperboy, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1984, paperboyr2,paperboy, paperboy, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1984, paperboyr1,paperboy, paperboy, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1986, 720, 0, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720r3, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720r2, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720r1, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720g, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (German, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720gr1, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (German, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720, 0, 720, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720r3, 720, 720, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720r2, 720, 720, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720r1, 720, 720, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720g, 720, 720, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (German, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, 720gr1, 720, 720, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (German, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1986, ssprint, 0, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprint3, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprint1, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprintg, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprintg1,ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprintf, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (French)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprints, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (Spanish)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprint, 0, ssprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprint3, ssprint, ssprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprint1, ssprint, ssprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprintg, ssprint, ssprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprintg1,ssprint, ssprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprintf, ssprint, ssprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (French)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, ssprints, ssprint, ssprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (Spanish)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1986, csprint, 0, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprint2, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprint1, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprintg, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprintg1,csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprintf, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (French)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprints, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprints1,csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprint, 0, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprint2, csprint, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprint1, csprint, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprintg, csprint, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprintg1,csprint, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprintf, csprint, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (French)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprints, csprint, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, csprints1,csprint, csprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1987, apb, 0, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 7)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb6, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 6)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb5, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 5)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb4, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb3, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb2, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb1, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apbg, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (German)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apbf, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (French)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb, 0, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 7)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb6, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 6)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb5, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 5)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb4, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 4)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb3, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 3)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb2, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 2)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apb1, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apbg, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (German)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1987, apbf, apb, apb, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (French)", MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -330,7 +330,7 @@ static MACHINE_CONFIG_START( atetris, atetris_state )
|
||||
MCFG_CPU_ADD("maincpu", M6502,MASTER_CLOCK/8)
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 101)
|
||||
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
|
||||
@ -367,7 +367,7 @@ static MACHINE_CONFIG_START( atetrisb2, atetris_state )
|
||||
MCFG_CPU_ADD("maincpu", M6502,BOOTLEG_CLOCK/8)
|
||||
MCFG_CPU_PROGRAM_MAP(atetrisb2_map)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 101)
|
||||
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
|
||||
@ -544,7 +544,7 @@ DRIVER_INIT_MEMBER(atetris_state,atetris)
|
||||
{
|
||||
UINT8 *rgn = memregion("maincpu")->base();
|
||||
|
||||
m_slapstic_device->slapstic_init(machine(), 101);
|
||||
m_slapstic_device->slapstic_init();
|
||||
m_slapstic_source = &rgn[0x10000];
|
||||
m_slapstic_base = &rgn[0x04000];
|
||||
}
|
||||
|
@ -389,8 +389,6 @@ static MACHINE_CONFIG_START( cyberbal, cyberbal_state )
|
||||
MCFG_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8)
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, (double)ATARI_CLOCK_14MHz/4/4/16/16/14)
|
||||
@ -466,6 +464,8 @@ MACHINE_CONFIG_END
|
||||
static MACHINE_CONFIG_DERIVED( cyberbalt, cyberbal )
|
||||
MCFG_DEVICE_REMOVE("eeprom")
|
||||
MCFG_ATARI_EEPROM_2816_ADD("eeprom")
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 116)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -997,20 +997,9 @@ ROM_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
DRIVER_INIT_MEMBER(cyberbal_state,cyberbal)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x018000, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(cyberbal_state,cyberbalt)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x018000, 0, 116);
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(cyberbal_state,cyberbal2p)
|
||||
{
|
||||
slapstic_configure(*m_maincpu, 0x018000, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -1021,14 +1010,14 @@ DRIVER_INIT_MEMBER(cyberbal_state,cyberbal2p)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAMEL(1988, cyberbal, 0, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 4)", 0, layout_dualhsxs )
|
||||
GAMEL(1988, cyberbal2, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 2)", 0, layout_dualhsxs )
|
||||
GAMEL(1988, cyberbalp, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (prototype)", 0, layout_dualhsxs )
|
||||
GAMEL(1988, cyberbal, 0, cyberbal, cyberbal, driver_device, 0, ROT0, "Atari Games", "Cyberball (rev 4)", 0, layout_dualhsxs )
|
||||
GAMEL(1988, cyberbal2, cyberbal, cyberbal, cyberbal, driver_device, 0, ROT0, "Atari Games", "Cyberball (rev 2)", 0, layout_dualhsxs )
|
||||
GAMEL(1988, cyberbalp, cyberbal, cyberbal, cyberbal, driver_device, 0, ROT0, "Atari Games", "Cyberball (prototype)", 0, layout_dualhsxs )
|
||||
|
||||
GAME( 1989, cyberbal2p, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 4)", 0 )
|
||||
GAME( 1989, cyberbal2p3, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 3)", 0 )
|
||||
GAME( 1989, cyberbal2p2, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 2)", 0 )
|
||||
GAME( 1989, cyberbal2p1, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 1)", 0 )
|
||||
GAME( 1989, cyberbal2p, cyberbal, cyberbal2p, cyberbal2p, driver_device, 0, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 4)", 0 )
|
||||
GAME( 1989, cyberbal2p3, cyberbal, cyberbal2p, cyberbal2p, driver_device, 0, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 3)", 0 )
|
||||
GAME( 1989, cyberbal2p2, cyberbal, cyberbal2p, cyberbal2p, driver_device, 0, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 2)", 0 )
|
||||
GAME( 1989, cyberbal2p1, cyberbal, cyberbal2p, cyberbal2p, driver_device, 0, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 1)", 0 )
|
||||
|
||||
GAMEL(1989, cyberbalt, cyberbal, cyberbalt, cyberbal, cyberbal_state, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)", 0, layout_dualhsxs )
|
||||
GAMEL(1989, cyberbalt1, cyberbal, cyberbalt, cyberbal, cyberbal_state, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 1)", 0, layout_dualhsxs )
|
||||
|
@ -489,15 +489,13 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( gauntlet, gauntlet_state )
|
||||
static MACHINE_CONFIG_START( gauntlet_base, gauntlet_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68010, ATARI_CLOCK_14MHz/2)
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8)
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
|
||||
@ -545,6 +543,27 @@ static MACHINE_CONFIG_START( gauntlet, gauntlet_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( gauntlet, gauntlet_base )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 104)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( gaunt2p, gauntlet_base )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 107)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( gauntlet2, gauntlet_base )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 106)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( vindctr2, gauntlet_base )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 118)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -1624,10 +1643,10 @@ void gauntlet_state::swap_memory(void *ptr1, void *ptr2, int bytes)
|
||||
}
|
||||
}
|
||||
|
||||
void gauntlet_state::common_init(int slapstic, int vindctr2)
|
||||
void gauntlet_state::common_init(int vindctr2)
|
||||
{
|
||||
UINT8 *rom = memregion("maincpu")->base();
|
||||
slapstic_configure(*m_maincpu, 0x038000, 0, slapstic);
|
||||
slapstic_configure(*m_maincpu, 0x038000, 0);
|
||||
|
||||
/* swap the top and bottom halves of the main CPU ROM images */
|
||||
swap_memory(rom + 0x000000, rom + 0x008000, 0x8000);
|
||||
@ -1643,19 +1662,7 @@ void gauntlet_state::common_init(int slapstic, int vindctr2)
|
||||
|
||||
DRIVER_INIT_MEMBER(gauntlet_state,gauntlet)
|
||||
{
|
||||
common_init(104, 0);
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(gauntlet_state,gaunt2p)
|
||||
{
|
||||
common_init(107, 0);
|
||||
}
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(gauntlet_state,gauntlet2)
|
||||
{
|
||||
common_init(106, 0);
|
||||
common_init(0);
|
||||
}
|
||||
|
||||
|
||||
@ -1665,7 +1672,7 @@ DRIVER_INIT_MEMBER(gauntlet_state,vindctr2)
|
||||
dynamic_buffer data(0x8000);
|
||||
int i;
|
||||
|
||||
common_init(118, 1);
|
||||
common_init(1);
|
||||
|
||||
/* highly strange -- the address bits on the chip at 2J (and only that
|
||||
chip) are scrambled -- this is verified on the schematics! */
|
||||
@ -1701,20 +1708,20 @@ GAME( 1985, gauntletgr3, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet,
|
||||
GAME( 1985, gauntletr2, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 2)", 0 )
|
||||
GAME( 1985, gauntletr1, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 1)", 0 )
|
||||
|
||||
GAME( 1985, gauntlet2p, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, rev 6)", 0 )
|
||||
GAME( 1985, gauntlet2pj, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 5)", 0 )
|
||||
GAME( 1985, gauntlet2pg, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 4)", 0 )
|
||||
GAME( 1985, gauntlet2pr3, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, rev 3)", 0 )
|
||||
GAME( 1985, gauntlet2pj2, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 2)", 0 )
|
||||
GAME( 1985, gauntlet2pg1, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 1)", 0 )
|
||||
GAME( 1985, gauntlet2p, gauntlet, gaunt2p, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (2 Players, rev 6)", 0 )
|
||||
GAME( 1985, gauntlet2pj, gauntlet, gaunt2p, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 5)", 0 )
|
||||
GAME( 1985, gauntlet2pg, gauntlet, gaunt2p, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 4)", 0 )
|
||||
GAME( 1985, gauntlet2pr3, gauntlet, gaunt2p, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (2 Players, rev 3)", 0 )
|
||||
GAME( 1985, gauntlet2pj2, gauntlet, gaunt2p, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 2)", 0 )
|
||||
GAME( 1985, gauntlet2pg1, gauntlet, gaunt2p, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 1)", 0 )
|
||||
|
||||
GAME( 1986, gaunt2, 0, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II", 0 )
|
||||
GAME( 1986, gaunt2g, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (German)", 0 )
|
||||
GAME( 1986, gaunt2, 0, gauntlet2, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet II", 0 )
|
||||
GAME( 1986, gaunt2g, gaunt2, gauntlet2, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet II (German)", 0 )
|
||||
|
||||
GAME( 1986, gaunt22p, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 2)", 0 )
|
||||
GAME( 1986, gaunt22p1, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 1)", 0 )
|
||||
GAME( 1986, gaunt22pg, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, German)", 0 )
|
||||
GAME( 1986, gaunt22p, gaunt2, gauntlet2, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 2)", 0 )
|
||||
GAME( 1986, gaunt22p1, gaunt2, gauntlet2, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 1)", 0 )
|
||||
GAME( 1986, gaunt22pg, gaunt2, gauntlet2, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet II (2 Players, German)", 0 )
|
||||
|
||||
GAME( 1988, vindctr2, 0, gauntlet, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 3)", 0 )
|
||||
GAME( 1988, vindctr2r2, vindctr2, gauntlet, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 2)", 0 )
|
||||
GAME( 1988, vindctr2r1, vindctr2, gauntlet, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 1)", 0 )
|
||||
GAME( 1988, vindctr2, 0, vindctr2, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 3)", 0 )
|
||||
GAME( 1988, vindctr2r2, vindctr2, vindctr2, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 2)", 0 )
|
||||
GAME( 1988, vindctr2r1, vindctr2, vindctr2, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 1)", 0 )
|
||||
|
@ -1425,7 +1425,7 @@ static MACHINE_CONFIG_FRAGMENT( driver_nomsp )
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", harddriv_state, video_int_gen)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(harddriv_state, hd68k_irq_gen, (double)HARDDRIV_MASTER_CLOCK/16/16/16/16/2)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 117)
|
||||
MCFG_SLAPSTIC_68K_ACCESS(1)
|
||||
|
||||
MCFG_CPU_ADD("gsp", TMS34010, HARDDRIV_GSP_CLOCK)
|
||||
@ -1472,6 +1472,7 @@ static MACHINE_CONFIG_FRAGMENT( driver_msp )
|
||||
MCFG_TMS340X0_OUTPUT_INT_CB(WRITELINE(harddriv_state, hdmsp_irq_gen))
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
|
||||
MCFG_DEVICE_REMOVE("slapstic")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1510,6 +1511,7 @@ static MACHINE_CONFIG_FRAGMENT( multisync_msp )
|
||||
MCFG_TMS340X0_OUTPUT_INT_CB(WRITELINE(harddriv_state, hdmsp_irq_gen))
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
|
||||
MCFG_DEVICE_REMOVE("slapstic")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1524,6 +1526,8 @@ static MACHINE_CONFIG_FRAGMENT( multisync2 )
|
||||
|
||||
MCFG_CPU_MODIFY("gsp")
|
||||
MCFG_CPU_PROGRAM_MAP(multisync2_gsp_map)
|
||||
|
||||
MCFG_DEVICE_REMOVE("slapstic")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -1682,6 +1686,7 @@ static MACHINE_CONFIG_FRAGMENT( stunrun )
|
||||
MCFG_CPU_MODIFY("gsp")
|
||||
MCFG_TMS340X0_PIXEL_CLOCK(5000000) /* pixel clock */
|
||||
MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
|
||||
MCFG_DEVICE_REMOVE("slapstic")
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
@ -2018,6 +2023,10 @@ static MACHINE_CONFIG_START( racedriv_panorama_machine, harddriv_new_state )
|
||||
MCFG_DEVICE_MODIFY("mainpcb:duartn68681")
|
||||
MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, harddriv_new_state,tx_a))
|
||||
|
||||
// boots with 'PROGRAM OK' when using standard Hard Drivin' board type (needs 137412-115 slapstic)
|
||||
MCFG_DEVICE_MODIFY("mainpcb:slapstic")
|
||||
MCFG_SLAPSTIC_NUM(115)
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("hack_timer", harddriv_new_state, hack_timer, attotime::from_hz(60))
|
||||
// MCFG_QUANTUM_TIME(attotime::from_hz(60000))
|
||||
MACHINE_CONFIG_END
|
||||
@ -4070,7 +4079,6 @@ Filename Location Label Board
|
||||
ROM_START( racedrivpan )
|
||||
ROM_REGION( 0x200000, "mainpcb:maincpu", 0 ) /* 2MB for 68000 code */
|
||||
// Multisync PBB A045988 - Central Monitor
|
||||
// boots with 'PROGRAM OK' when using standard Hard Drivin' board type (needs 137412-115 slapstic)
|
||||
ROM_LOAD16_BYTE( "088-1002.bin", 0x000000, 0x010000, CRC(49a97391) SHA1(dbe4086cd87669a02d2a2133d0d9e2895946b383) )
|
||||
ROM_LOAD16_BYTE( "088-1001.bin", 0x000001, 0x010000, CRC(4473accc) SHA1(099bda6cfe31d4e53cbe74046679ddf8b874982d) )
|
||||
ROM_LOAD16_BYTE( "088-1004.bin", 0x020000, 0x010000, CRC(33b84ca6) SHA1(9e3cafadfb23bfc4a44e503043cc05db27d939a9) )
|
||||
@ -4652,7 +4660,7 @@ void harddriv_state::init_multisync(int compact_inputs)
|
||||
m_gsp_multisync = TRUE;
|
||||
|
||||
// if we have a JSA board, install the read/write handlers
|
||||
if (m_jsa != nullptr)
|
||||
if (m_jsa.found())
|
||||
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x600000, 0x603fff, read8_delegate(FUNC(atari_jsa_base_device::main_response_r),m_jsa.target()), write8_delegate(FUNC(atari_jsa_base_device::main_command_w),m_jsa.target()), 0xff00);
|
||||
|
||||
/* install handlers for the compact driving games' inputs */
|
||||
@ -4936,7 +4944,7 @@ void harddriv_state::init_racedriv(void)
|
||||
init_driver_sound();
|
||||
|
||||
/* set up the slapstic */
|
||||
m_slapstic_device->slapstic_init(machine(), 117);
|
||||
m_slapstic_device->slapstic_init();
|
||||
m_m68k_slapstic_base = m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xe0000, 0xfffff, read16_delegate(FUNC(harddriv_state::rd68k_slapstic_r), this), write16_delegate(FUNC(harddriv_state::rd68k_slapstic_w), this));
|
||||
|
||||
/* synchronization */
|
||||
@ -4957,7 +4965,7 @@ void harddriv_state::racedrivc_init_common(offs_t gsp_protection)
|
||||
init_driver_sound();
|
||||
|
||||
/* set up the slapstic */
|
||||
m_slapstic_device->slapstic_init(machine(), 117);
|
||||
m_slapstic_device->slapstic_init();
|
||||
m_m68k_slapstic_base = m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xe0000, 0xfffff, read16_delegate(FUNC(harddriv_state::rd68k_slapstic_r), this), write16_delegate(FUNC(harddriv_state::rd68k_slapstic_w), this));
|
||||
|
||||
/* synchronization */
|
||||
@ -4987,7 +4995,7 @@ void harddriv_state::init_racedrivc_panorama_side()
|
||||
init_adsp();
|
||||
|
||||
/* set up the slapstic */
|
||||
m_slapstic_device->slapstic_init(machine(), 117);
|
||||
m_slapstic_device->slapstic_init();
|
||||
m_m68k_slapstic_base = m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xe0000, 0xfffff, read16_delegate(FUNC(harddriv_state::rd68k_slapstic_r), this), write16_delegate(FUNC(harddriv_state::rd68k_slapstic_w), this));
|
||||
|
||||
/* set up protection hacks */
|
||||
@ -5079,7 +5087,7 @@ void harddriv_state::init_strtdriv(void)
|
||||
init_dsk();
|
||||
|
||||
/* set up the slapstic */
|
||||
m_slapstic_device->slapstic_init(machine(), 117);
|
||||
m_slapstic_device->slapstic_init();
|
||||
m_m68k_slapstic_base = m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xe0000, 0xfffff, read16_delegate(FUNC(harddriv_state::rd68k_slapstic_r), this), write16_delegate(FUNC(harddriv_state::rd68k_slapstic_w), this));
|
||||
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xa80000, 0xafffff, read16_delegate(FUNC(harddriv_state::hda68k_port1_r), this));
|
||||
|
@ -339,7 +339,7 @@ static MACHINE_CONFIG_START( rampart, rampart_state )
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 118)
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(rampart_state,rampart)
|
||||
|
||||
@ -481,7 +481,7 @@ DRIVER_INIT_MEMBER(rampart_state,rampart)
|
||||
UINT8 *rom = memregion("maincpu")->base();
|
||||
|
||||
memcpy(&rom[0x140000], &rom[0x40000], 0x8000);
|
||||
slapstic_configure(*m_maincpu, 0x140000, 0x438000, 118);
|
||||
slapstic_configure(*m_maincpu, 0x140000, 0x438000);
|
||||
}
|
||||
|
||||
|
||||
|
@ -333,8 +333,6 @@ static MACHINE_CONFIG_START( starwars, starwars_state )
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(starwars_state, irq0_line_assert, CLOCK_3KHZ / 12)
|
||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(CLOCK_3KHZ / 128))
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK / 8)
|
||||
MCFG_CPU_PROGRAM_MAP(sound_map)
|
||||
|
||||
@ -378,6 +376,11 @@ static MACHINE_CONFIG_START( starwars, starwars_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( esb, starwars )
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 101)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -558,7 +561,7 @@ DRIVER_INIT_MEMBER(starwars_state,esb)
|
||||
UINT8 *rom = memregion("maincpu")->base();
|
||||
|
||||
/* init the slapstic */
|
||||
m_slapstic_device->slapstic_init(machine(), 101);
|
||||
m_slapstic_device->slapstic_init();
|
||||
m_slapstic_source = &rom[0x14000];
|
||||
m_slapstic_base = &rom[0x08000];
|
||||
|
||||
@ -603,4 +606,4 @@ GAME( 1983, starwarso,starwars, starwars, starwars, starwars_state, starwars, RO
|
||||
|
||||
GAME( 1983, tomcatsw, tomcat, starwars, starwars, starwars_state, starwars, ROT0, "Atari", "TomCat (Star Wars hardware, prototype)", MACHINE_NO_SOUND )
|
||||
|
||||
GAME( 1985, esb, 0, starwars, esb, starwars_state, esb, ROT0, "Atari Games", "The Empire Strikes Back", 0 )
|
||||
GAME( 1985, esb, 0, esb, esb, starwars_state, esb, ROT0, "Atari Games", "The Empire Strikes Back", 0 )
|
||||
|
@ -184,7 +184,7 @@ static MACHINE_CONFIG_START( xybots, xybots_state )
|
||||
MCFG_CPU_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", atarigen_state, video_int_gen)
|
||||
|
||||
MCFG_SLAPSTIC_ADD("slapstic")
|
||||
MCFG_SLAPSTIC_ADD("slapstic", 107)
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(xybots_state,xybots)
|
||||
|
||||
@ -395,7 +395,7 @@ ROM_END
|
||||
DRIVER_INIT_MEMBER(xybots_state,xybots)
|
||||
{
|
||||
m_h256 = 0x0400;
|
||||
slapstic_configure(*m_maincpu, 0x008000, 0, 107);
|
||||
slapstic_configure(*m_maincpu, 0x008000, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -55,9 +55,6 @@ public:
|
||||
void update_bank(int bank);
|
||||
DECLARE_DRIVER_INIT(hydrap);
|
||||
DECLARE_DRIVER_INIT(hydra);
|
||||
DECLARE_DRIVER_INIT(pitfight9);
|
||||
DECLARE_DRIVER_INIT(pitfight7);
|
||||
DECLARE_DRIVER_INIT(pitfightj);
|
||||
DECLARE_DRIVER_INIT(pitfight);
|
||||
DECLARE_DRIVER_INIT(pitfightb);
|
||||
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
|
||||
@ -67,6 +64,5 @@ public:
|
||||
DECLARE_VIDEO_START(atarig1);
|
||||
UINT32 screen_update_atarig1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
private:
|
||||
void init_common(offs_t slapstic_base, int slapstic, bool is_pitfight);
|
||||
void pitfightb_cheap_slapstic_init();
|
||||
};
|
||||
|
@ -72,8 +72,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(via_pa_r);
|
||||
DECLARE_WRITE8_MEMBER(via_pb_w);
|
||||
DECLARE_READ8_MEMBER(via_pb_r);
|
||||
DECLARE_DRIVER_INIT(roadb110);
|
||||
DECLARE_DRIVER_INIT(roadb109);
|
||||
DECLARE_DRIVER_INIT(roadblst);
|
||||
DECLARE_DRIVER_INIT(peterpak);
|
||||
DECLARE_DRIVER_INIT(marble);
|
||||
DECLARE_DRIVER_INIT(roadrunn);
|
||||
|
@ -78,8 +78,6 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(sound_68k_w);
|
||||
DECLARE_WRITE16_MEMBER(sound_68k_dac_w);
|
||||
DECLARE_DRIVER_INIT(cyberbalt);
|
||||
DECLARE_DRIVER_INIT(cyberbal2p);
|
||||
DECLARE_DRIVER_INIT(cyberbal);
|
||||
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
|
||||
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
|
||||
DECLARE_MACHINE_START(cyberbal);
|
||||
|
@ -47,9 +47,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(sound_ctl_w);
|
||||
DECLARE_WRITE8_MEMBER(mixer_w);
|
||||
void swap_memory(void *ptr1, void *ptr2, int bytes);
|
||||
void common_init(int slapstic, int vindctr2);
|
||||
DECLARE_DRIVER_INIT(gauntlet2);
|
||||
DECLARE_DRIVER_INIT(gaunt2p);
|
||||
void common_init(int vindctr2);
|
||||
DECLARE_DRIVER_INIT(gauntlet);
|
||||
DECLARE_DRIVER_INIT(vindctr2);
|
||||
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
|
||||
|
@ -23,8 +23,9 @@
|
||||
|
||||
extern const device_type SLAPSTIC;
|
||||
|
||||
#define MCFG_SLAPSTIC_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, SLAPSTIC, 0)
|
||||
#define MCFG_SLAPSTIC_ADD(_tag, _chip) \
|
||||
MCFG_DEVICE_ADD(_tag, SLAPSTIC, 0) \
|
||||
MCFG_SLAPSTIC_NUM(_chip)
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -123,6 +124,9 @@ enum
|
||||
};
|
||||
|
||||
|
||||
#define MCFG_SLAPSTIC_NUM(_chipnum) \
|
||||
atari_slapstic_device::static_set_chipnum(*device, _chipnum);
|
||||
|
||||
#define MCFG_SLAPSTIC_68K_ACCESS(_type) \
|
||||
atari_slapstic_device::static_set_access68k(*device, _type);
|
||||
|
||||
@ -134,10 +138,10 @@ public:
|
||||
// construction/destruction
|
||||
atari_slapstic_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
void slapstic_init(running_machine &machine, int chip);
|
||||
void slapstic_reset(void);
|
||||
void slapstic_init();
|
||||
void slapstic_reset();
|
||||
|
||||
int slapstic_bank(void);
|
||||
int slapstic_bank();
|
||||
int slapstic_tweak(address_space &space, offs_t offset);
|
||||
|
||||
int alt2_kludge(address_space &space, offs_t offset);
|
||||
@ -148,6 +152,13 @@ public:
|
||||
dev.access_68k = type;
|
||||
}
|
||||
|
||||
static void static_set_chipnum(device_t &device, int chipnum)
|
||||
{
|
||||
atari_slapstic_device &dev = downcast<atari_slapstic_device &>(device);
|
||||
dev.m_chipnum = chipnum;
|
||||
}
|
||||
|
||||
int m_chipnum;
|
||||
|
||||
UINT8 state;
|
||||
UINT8 current_bank;
|
||||
@ -168,6 +179,7 @@ public:
|
||||
protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_validity_check(validity_checker &valid) const override;
|
||||
|
||||
|
||||
private:
|
||||
|
@ -1004,7 +1004,7 @@ void atarigen_state::machine_reset()
|
||||
// reset the slapstic
|
||||
if (m_slapstic_num != 0)
|
||||
{
|
||||
if (!m_slapstic_device)
|
||||
if (!m_slapstic_device.found())
|
||||
fatalerror("Slapstic device is missing?\n");
|
||||
|
||||
m_slapstic_device->slapstic_reset();
|
||||
@ -1179,8 +1179,8 @@ void atarigen_state::device_post_load()
|
||||
{
|
||||
if (m_slapstic_num != 0)
|
||||
{
|
||||
if (!m_slapstic_device)
|
||||
fatalerror("Slapstic device is missing?\n");
|
||||
if (!m_slapstic_device.found())
|
||||
fatalerror("Slapstic device is missing?\n");
|
||||
|
||||
slapstic_update_bank(m_slapstic_device->slapstic_bank());
|
||||
}
|
||||
@ -1214,37 +1214,30 @@ DIRECT_UPDATE_MEMBER(atarigen_state::slapstic_setdirect)
|
||||
// slapstic and sets the chip number.
|
||||
//-------------------------------------------------
|
||||
|
||||
void atarigen_state::slapstic_configure(cpu_device &device, offs_t base, offs_t mirror, int chipnum)
|
||||
void atarigen_state::slapstic_configure(cpu_device &device, offs_t base, offs_t mirror)
|
||||
{
|
||||
// reset in case we have no state
|
||||
m_slapstic_num = chipnum;
|
||||
m_slapstic = nullptr;
|
||||
if (!m_slapstic_device.found())
|
||||
fatalerror("Slapstic device is missing\n");
|
||||
|
||||
// if we have a chip, install it
|
||||
if (chipnum != 0)
|
||||
{
|
||||
if (!m_slapstic_device)
|
||||
fatalerror("Slapstic device is missing\n");
|
||||
// initialize the slapstic
|
||||
m_slapstic_num = m_slapstic_device->m_chipnum;
|
||||
m_slapstic_device->slapstic_init();
|
||||
|
||||
// initialize the slapstic
|
||||
m_slapstic_device->slapstic_init(machine(), chipnum);
|
||||
// install the memory handlers
|
||||
address_space &program = device.space(AS_PROGRAM);
|
||||
m_slapstic = program.install_readwrite_handler(base, base + 0x7fff, 0, mirror, read16_delegate(FUNC(atarigen_state::slapstic_r), this), write16_delegate(FUNC(atarigen_state::slapstic_w), this));
|
||||
program.set_direct_update_handler(direct_update_delegate(FUNC(atarigen_state::slapstic_setdirect), this));
|
||||
|
||||
// install the memory handlers
|
||||
address_space &program = device.space(AS_PROGRAM);
|
||||
m_slapstic = program.install_readwrite_handler(base, base + 0x7fff, 0, mirror, read16_delegate(FUNC(atarigen_state::slapstic_r), this), write16_delegate(FUNC(atarigen_state::slapstic_w), this));
|
||||
program.set_direct_update_handler(direct_update_delegate(FUNC(atarigen_state::slapstic_setdirect), this));
|
||||
// allocate memory for a copy of bank 0
|
||||
m_slapstic_bank0.resize(0x2000);
|
||||
memcpy(&m_slapstic_bank0[0], m_slapstic, 0x2000);
|
||||
|
||||
// allocate memory for a copy of bank 0
|
||||
m_slapstic_bank0.resize(0x2000);
|
||||
memcpy(&m_slapstic_bank0[0], m_slapstic, 0x2000);
|
||||
// ensure we recopy memory for the bank
|
||||
m_slapstic_bank = 0xff;
|
||||
|
||||
// ensure we recopy memory for the bank
|
||||
m_slapstic_bank = 0xff;
|
||||
|
||||
// install an opcode base handler if we are a 68000 or variant
|
||||
m_slapstic_base = base;
|
||||
m_slapstic_mirror = mirror;
|
||||
}
|
||||
// install an opcode base handler if we are a 68000 or variant
|
||||
m_slapstic_base = base;
|
||||
m_slapstic_mirror = mirror;
|
||||
}
|
||||
|
||||
|
||||
@ -1256,7 +1249,7 @@ void atarigen_state::slapstic_configure(cpu_device &device, offs_t base, offs_t
|
||||
|
||||
WRITE16_MEMBER(atarigen_state::slapstic_w)
|
||||
{
|
||||
if (!m_slapstic_device)
|
||||
if (!m_slapstic_device.found())
|
||||
fatalerror("Slapstic device is missing?\n");
|
||||
|
||||
slapstic_update_bank(m_slapstic_device->slapstic_tweak(space, offset));
|
||||
@ -1270,7 +1263,7 @@ WRITE16_MEMBER(atarigen_state::slapstic_w)
|
||||
|
||||
READ16_MEMBER(atarigen_state::slapstic_r)
|
||||
{
|
||||
if (!m_slapstic_device)
|
||||
if (!m_slapstic_device.found())
|
||||
fatalerror("Slapstic device is missing?\n");
|
||||
|
||||
// fetch the result from the current bank first
|
||||
|
@ -355,7 +355,7 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(video_int_ack_w);
|
||||
|
||||
// slapstic helpers
|
||||
void slapstic_configure(cpu_device &device, offs_t base, offs_t mirror, int chipnum);
|
||||
void slapstic_configure(cpu_device &device, offs_t base, offs_t mirror);
|
||||
void slapstic_update_bank(int bank);
|
||||
DECLARE_DIRECT_UPDATE_MEMBER(slapstic_setdirect);
|
||||
DECLARE_WRITE16_MEMBER(slapstic_w);
|
||||
|
@ -54,11 +54,11 @@ void harddriv_state::device_reset()
|
||||
{
|
||||
/* generic reset */
|
||||
//atarigen_state::machine_reset();
|
||||
m_slapstic_device->slapstic_reset();
|
||||
if (m_slapstic_device.found()) m_slapstic_device->slapstic_reset();
|
||||
|
||||
/* halt several of the DSPs to start */
|
||||
if (m_adsp != nullptr) m_adsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
|
||||
if (m_dsp32 != nullptr) m_dsp32->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
|
||||
if (m_adsp.found()) m_adsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
|
||||
if (m_dsp32.found()) m_dsp32->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
|
||||
|
||||
m_last_gsp_shiftreg = 0;
|
||||
|
||||
@ -72,14 +72,14 @@ void harddriv_state::device_reset()
|
||||
m_adsp_br = 0;
|
||||
m_adsp_xflag = 0;
|
||||
|
||||
if (m_ds3sdsp != nullptr)
|
||||
if (m_ds3sdsp.found())
|
||||
{
|
||||
m_ds3sdsp->load_boot_data(m_ds3sdsp->region()->base(), m_ds3sdsp_pgm_memory);
|
||||
m_ds3sdsp_timer_en = 0;
|
||||
m_ds3sdsp_internal_timer->adjust(attotime::never);
|
||||
}
|
||||
|
||||
if (m_ds3xdsp != nullptr)
|
||||
if (m_ds3xdsp.found())
|
||||
{
|
||||
m_ds3xdsp->load_boot_data(m_ds3xdsp->region()->base(), m_ds3xdsp_pgm_memory);
|
||||
m_ds3xdsp_timer_en = 0;
|
||||
@ -173,7 +173,7 @@ READ16_MEMBER( harddriv_state::hd68k_msp_io_r )
|
||||
UINT16 result;
|
||||
offset = (offset / 2) ^ 1;
|
||||
m_hd34010_host_access = TRUE;
|
||||
result = (m_msp != nullptr) ? m_msp->host_r(space, offset, 0xffff) : 0xffff;
|
||||
result = m_msp.found() ? m_msp->host_r(space, offset, 0xffff) : 0xffff;
|
||||
m_hd34010_host_access = FALSE;
|
||||
return result;
|
||||
}
|
||||
@ -182,7 +182,7 @@ READ16_MEMBER( harddriv_state::hd68k_msp_io_r )
|
||||
WRITE16_MEMBER( harddriv_state::hd68k_msp_io_w )
|
||||
{
|
||||
offset = (offset / 2) ^ 1;
|
||||
if (m_msp != nullptr)
|
||||
if (m_msp.found())
|
||||
{
|
||||
m_hd34010_host_access = TRUE;
|
||||
m_msp->host_w(space, offset, data, 0xffff);
|
||||
@ -302,7 +302,7 @@ READ16_MEMBER( harddriv_state::hd68k_adc12_r )
|
||||
|
||||
READ16_MEMBER( harddriv_state::hd68k_sound_reset_r )
|
||||
{
|
||||
if (m_jsa != nullptr)
|
||||
if (m_jsa.found())
|
||||
m_jsa->reset();
|
||||
return ~0;
|
||||
}
|
||||
@ -404,12 +404,12 @@ WRITE16_MEMBER( harddriv_state::hd68k_nwr_w )
|
||||
break;
|
||||
case 6: /* /GSPRES */
|
||||
logerror("Write to /GSPRES(%d)\n", data);
|
||||
if (m_gsp != nullptr)
|
||||
if (m_gsp.found())
|
||||
m_gsp->set_input_line(INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
|
||||
break;
|
||||
case 7: /* /MSPRES */
|
||||
logerror("Write to /MSPRES(%d)\n", data);
|
||||
if (m_msp != nullptr)
|
||||
if (m_msp.found())
|
||||
m_msp->set_input_line(INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
|
||||
break;
|
||||
}
|
||||
@ -859,7 +859,7 @@ WRITE16_MEMBER( harddriv_state::hd68k_ds3_control_w )
|
||||
{
|
||||
case 0:
|
||||
/* SRES - reset sound CPU */
|
||||
if (m_ds3sdsp)
|
||||
if (m_ds3sdsp.found())
|
||||
{
|
||||
m_ds3sdsp->set_input_line(INPUT_LINE_RESET, val ? CLEAR_LINE : ASSERT_LINE);
|
||||
m_ds3sdsp->load_boot_data(m_ds3sdsp->region()->base(), m_ds3sdsp_pgm_memory);
|
||||
@ -879,7 +879,7 @@ WRITE16_MEMBER( harddriv_state::hd68k_ds3_control_w )
|
||||
|
||||
case 1:
|
||||
/* XRES - reset sound helper CPU */
|
||||
if (m_ds3xdsp)
|
||||
if (m_ds3xdsp.found())
|
||||
{
|
||||
m_ds3xdsp->set_input_line(INPUT_LINE_RESET, val ? CLEAR_LINE : ASSERT_LINE);
|
||||
m_ds3xdsp->load_boot_data(m_ds3xdsp->region()->base(), m_ds3xdsp_pgm_memory);
|
||||
@ -1510,11 +1510,11 @@ WRITE16_MEMBER( harddriv_state::hd68k_dsk_control_w )
|
||||
switch (offset & 7)
|
||||
{
|
||||
case 0: /* DSPRESTN */
|
||||
if (m_dsp32) m_dsp32->set_input_line(INPUT_LINE_RESET, val ? CLEAR_LINE : ASSERT_LINE);
|
||||
if (m_dsp32.found()) m_dsp32->set_input_line(INPUT_LINE_RESET, val ? CLEAR_LINE : ASSERT_LINE);
|
||||
break;
|
||||
|
||||
case 1: /* DSPZN */
|
||||
if (m_dsp32) m_dsp32->set_input_line(INPUT_LINE_HALT, val ? CLEAR_LINE : ASSERT_LINE);
|
||||
if (m_dsp32.found()) m_dsp32->set_input_line(INPUT_LINE_HALT, val ? CLEAR_LINE : ASSERT_LINE);
|
||||
break;
|
||||
|
||||
case 2: /* ZW1 */
|
||||
@ -1578,7 +1578,7 @@ READ16_MEMBER( harddriv_state::hd68k_dsk_rom_r )
|
||||
WRITE16_MEMBER( harddriv_state::hd68k_dsk_dsp32_w )
|
||||
{
|
||||
m_dsk_pio_access = TRUE;
|
||||
if (m_dsp32) m_dsp32->pio_w(offset, data);
|
||||
if (m_dsp32.found()) m_dsp32->pio_w(offset, data);
|
||||
m_dsk_pio_access = FALSE;
|
||||
}
|
||||
|
||||
@ -1587,7 +1587,7 @@ READ16_MEMBER( harddriv_state::hd68k_dsk_dsp32_r )
|
||||
{
|
||||
UINT16 result;
|
||||
m_dsk_pio_access = TRUE;
|
||||
if (m_dsp32) result = m_dsp32->pio_r(offset);
|
||||
if (m_dsp32.found()) result = m_dsp32->pio_r(offset);
|
||||
else result = 0x00;
|
||||
|
||||
m_dsk_pio_access = FALSE;
|
||||
|
@ -182,6 +182,7 @@
|
||||
|
||||
|
||||
#include "includes/slapstic.h"
|
||||
#include "validity.h"
|
||||
|
||||
|
||||
extern const device_type SLAPSTIC = &device_creator<atari_slapstic_device>;
|
||||
@ -736,6 +737,12 @@ static const struct slapstic_data *const slapstic_table[] =
|
||||
};
|
||||
|
||||
|
||||
void atari_slapstic_device::device_validity_check(validity_checker &valid) const
|
||||
{
|
||||
// only a small number of chips are known to exist
|
||||
if (m_chipnum < 101 || m_chipnum > 118 || !slapstic_table[m_chipnum - 101])
|
||||
osd_printf_error("Unknown slapstic number: %d\n", m_chipnum);
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -744,23 +751,17 @@ static const struct slapstic_data *const slapstic_table[] =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void atari_slapstic_device::slapstic_init(running_machine &machine, int chip)
|
||||
void atari_slapstic_device::slapstic_init()
|
||||
{
|
||||
if (access_68k == -1)
|
||||
{
|
||||
/* see if we're 68k or 6502/6809 based */
|
||||
device_type cputype = machine.device(":maincpu")->type();
|
||||
device_type cputype = machine().device(":maincpu")->type();
|
||||
access_68k = (cputype == M68000 || cputype == M68010);
|
||||
}
|
||||
|
||||
/* only a small number of chips are known to exist */
|
||||
if (chip < 101 || chip > 118)
|
||||
return;
|
||||
|
||||
/* set up the parameters */
|
||||
if (!slapstic_table[chip - 101])
|
||||
return;
|
||||
slapstic = *slapstic_table[chip - 101];
|
||||
slapstic = *slapstic_table[m_chipnum - 101];
|
||||
|
||||
/* reset the chip */
|
||||
slapstic_reset();
|
||||
|
Loading…
Reference in New Issue
Block a user