s9.c : tidy up.

This commit is contained in:
Robbbert 2014-10-02 12:13:15 +00:00
parent e339f189d0
commit 0e203ff848
4 changed files with 144 additions and 145 deletions

View File

@ -246,7 +246,7 @@ WRITE8_MEMBER( s11_state::dig1_w )
}
}
READ8_MEMBER( s11_state::pia28_w7_r)
READ8_MEMBER( s11_state::pia28_w7_r )
{
UINT8 ret = 0x80;
@ -357,7 +357,7 @@ WRITE8_MEMBER( s11_state::pia40_pa_w )
m_dac1->write_unsigned8(data);
}
WRITE_LINE_MEMBER( s11_state::ym2151_irq_w)
WRITE_LINE_MEMBER( s11_state::ym2151_irq_w )
{
if(m_pia40)
{
@ -368,7 +368,7 @@ WRITE_LINE_MEMBER( s11_state::ym2151_irq_w)
}
}
WRITE_LINE_MEMBER( s11_state::pia40_cb2_w)
WRITE_LINE_MEMBER( s11_state::pia40_cb2_w )
{
m_pia34->cb1_w(state); // To Widget MCB1 through CPU Data interface
}
@ -448,7 +448,7 @@ static MACHINE_CONFIG_START( s11, s11_state )
MCFG_PIA_IRQA_HANDLER(WRITELINE(s11_state, pia_irq))
MCFG_PIA_IRQB_HANDLER(WRITELINE(s11_state, pia_irq))
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_NVRAM_ADD_0FILL("nvram")
/* Add the soundcard */
MCFG_CPU_ADD("audiocpu", M6808, XTAL_4MHz)
@ -456,11 +456,11 @@ static MACHINE_CONFIG_START( s11, s11_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_DAC_ADD("dac")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speech", 0.50)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speech", 1.00)
MCFG_DEVICE_ADD("pias", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(READ8(s11_state, dac_r))
@ -681,6 +681,7 @@ GAME( 1986, rdkng_l4, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Roa
GAME( 1986, rdkng_l1, rdkng_l4, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-1)", GAME_MECHANICAL | GAME_NOT_WORKING)
GAME( 1986, rdkng_l2, rdkng_l4, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-2)", GAME_MECHANICAL | GAME_NOT_WORKING)
GAME( 1986, rdkng_l3, rdkng_l4, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-3)", GAME_MECHANICAL | GAME_NOT_WORKING)
GAME( 1986, tts_l2, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-2)", GAME_MECHANICAL | GAME_NOT_WORKING | GAME_NO_SOUND)
GAME( 1986, tts_l1, tts_l2, s11, s11, s11_state, s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-1)", GAME_MECHANICAL | GAME_NOT_WORKING | GAME_NO_SOUND)
GAME( 1987, gmine_l2, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Gold Mine (Shuffle) (L-2)", GAME_MECHANICAL | GAME_NOT_WORKING)

View File

@ -126,7 +126,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( s8 )
PORT_START("X0")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
@ -140,7 +140,8 @@ static INPUT_PORTS_START( s8 )
PORT_START("X2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A)
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F)
PORT_BIT( 0xf6, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X4")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L)
@ -155,19 +156,19 @@ static INPUT_PORTS_START( s8 )
PORT_START("X8")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_STOP)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH)
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X10")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X20")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X40")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X80")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DIAGS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Audio Diag") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, s8_state, audio_nmi, 1)

View File

@ -102,7 +102,7 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( s8 )
PORT_START("X0")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
@ -125,22 +125,22 @@ static INPUT_PORTS_START( s8 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K)
PORT_START("X4")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X8")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X10")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X20")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X40")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("X80")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("DIAGS")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Audio Diag") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, s8a_state, audio_nmi, 1)

View File

@ -2,18 +2,38 @@
// copyright-holders:Robbbert
/****************************************************************************************
PINBALL
Williams System 9
PINBALL
Williams System 9
Status of games:
- Sorcerer: seems to work, but START button doesn't do anything
- Space Shuttle: seems to work, but START button doesn't do anything
- Comet: Works
- Strike Zone: not a pinball machine; seems to work; display to be fixed
- Alley Cats: not a pinball machine; seems to work; soundboard is not supported yet
When first started, it shows the game number and stops. Press F3 to initialise the
nvram. In theory you can then press the diagnostic buttons; or you then enter coins
and start playing.
Each game has its own switches, you need to know the outhole and slam-tilt ones.
Note that T is also a tilt, but it may take 3 hits to activate it.
A number of games are multiball therefore they either cannot start or the outhole
is ineffective/unknown. All games can coin up.
Rat Race is played in a one-player cocktail cabinet, the player uses a joystick
to tilt the board, to coax the ball into following lit arrows in a maze. After
a successful navigation, the maze changes to something else faster and harder.
It's almost an arcade game done mechanically. Obviously there is no way to emulate it
in its intended form. Probably would have been a nice game, but it never passed the
prototype stage. Currently it runs but the player display flashes randoms ones while
a sound is produced every couple of seconds.
Game Outhole Tilt Notes
----------------------------------------------------------------------------------
Sorcerer Cannot start
Space Shuttle Cannot start
Comet Mostly works
Rat Race Not working
ToDo:
- Diagnostic buttons do not work
*****************************************************************************************/
@ -30,20 +50,19 @@ class s9_state : public genpin_class
{
public:
s9_state(const machine_config &mconfig, device_type type, const char *tag)
: genpin_class(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_dac(*this, "dac"),
m_hc55516(*this, "hc55516"),
m_pias(*this, "pias"),
m_pia21(*this, "pia21"),
m_pia24(*this, "pia24"),
m_pia28(*this, "pia28"),
m_pia30(*this, "pia30")
: genpin_class(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_audiocpu(*this, "audiocpu")
, m_dac(*this, "dac")
, m_hc55516(*this, "hc55516")
, m_pias(*this, "pias")
, m_pia21(*this, "pia21")
, m_pia24(*this, "pia24")
, m_pia28(*this, "pia28")
, m_pia30(*this, "pia30")
{ }
DECLARE_READ8_MEMBER(dac_r);
DECLARE_WRITE8_MEMBER(dac_w);
DECLARE_WRITE8_MEMBER(dig0_w);
DECLARE_WRITE8_MEMBER(dig1_w);
DECLARE_WRITE8_MEMBER(lamp0_w);
@ -57,8 +76,6 @@ public:
DECLARE_READ_LINE_MEMBER(pia21_ca1_r);
DECLARE_READ_LINE_MEMBER(pia28_ca1_r);
DECLARE_READ_LINE_MEMBER(pia28_cb1_r);
DECLARE_WRITE_LINE_MEMBER(pias_ca2_w);
DECLARE_WRITE_LINE_MEMBER(pias_cb2_w);
DECLARE_WRITE_LINE_MEMBER(pia21_ca2_w);
DECLARE_WRITE_LINE_MEMBER(pia21_cb2_w) { }; // enable solenoids
DECLARE_WRITE_LINE_MEMBER(pia24_cb2_w) { }; // dummy to stop error log filling up
@ -68,9 +85,12 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
DECLARE_MACHINE_RESET(s9);
protected:
// devices
private:
UINT8 m_t_c;
UINT8 m_sound_data;
UINT8 m_strobe;
UINT8 m_kbdrow;
bool m_data_ok;
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<dac_device> m_dac;
@ -80,12 +100,6 @@ protected:
required_device<pia6821_device> m_pia24;
required_device<pia6821_device> m_pia28;
required_device<pia6821_device> m_pia30;
private:
UINT8 m_t_c;
UINT8 m_sound_data;
UINT8 m_strobe;
UINT8 m_kbdrow;
bool m_data_ok;
};
static ADDRESS_MAP_START( s9_main_map, AS_PROGRAM, 8, s9_state )
@ -96,13 +110,13 @@ static ADDRESS_MAP_START( s9_main_map, AS_PROGRAM, 8, s9_state )
AM_RANGE(0x2400, 0x2403) AM_DEVREADWRITE("pia24", pia6821_device, read, write) // lamps
AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("pia28", pia6821_device, read, write) // display
AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("pia30", pia6821_device, read, write) // inputs
AM_RANGE(0x4000, 0x7fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROM AM_REGION("roms", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( s9_audio_map, AS_PROGRAM, 8, s9_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("pias", pia6821_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("audioroms", 0)
ADDRESS_MAP_END
static INPUT_PORTS_START( s9 )
@ -263,7 +277,7 @@ READ8_MEMBER( s9_state::switch_r )
{
char kbdrow[8];
sprintf(kbdrow,"X%X",m_kbdrow);
return ~ioport(kbdrow)->read();
return ioport(kbdrow)->read() ^ 0xff;
}
WRITE8_MEMBER( s9_state::switch_w )
@ -271,29 +285,12 @@ WRITE8_MEMBER( s9_state::switch_w )
m_kbdrow = data;
}
WRITE_LINE_MEMBER( s9_state::pias_ca2_w )
{
// speech clock
m_hc55516->clock_w(state);
}
WRITE_LINE_MEMBER( s9_state::pias_cb2_w )
{
// speech data
m_hc55516->digit_w(state);
}
READ8_MEMBER( s9_state::dac_r )
{
return m_sound_data;
}
WRITE8_MEMBER( s9_state::dac_w )
{
m_dac->write_unsigned8(data);
}
TIMER_DEVICE_CALLBACK_MEMBER( s9_state::irq)
TIMER_DEVICE_CALLBACK_MEMBER( s9_state::irq )
{
if (m_t_c > 0x70)
m_maincpu->set_input_line(M6800_IRQ_LINE, ASSERT_LINE);
@ -303,7 +300,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( s9_state::irq)
static MACHINE_CONFIG_START( s9, s9_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M6808, 4000000)
MCFG_CPU_ADD("maincpu", M6808, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(s9_main_map)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s9_state, irq, attotime::from_hz(250))
MCFG_MACHINE_RESET_OVERRIDE(s9_state, s9)
@ -348,147 +345,147 @@ static MACHINE_CONFIG_START( s9, s9_state )
MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6808_cpu_device, irq_line))
MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6808_cpu_device, irq_line))
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_NVRAM_ADD_0FILL("nvram")
/* Add the soundcard */
MCFG_CPU_ADD("audiocpu", M6808, 4000000)
MCFG_CPU_ADD("audiocpu", M6808, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(s9_audio_map)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("dac", DAC, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speech", 0.50)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speech", 1.00)
MCFG_DEVICE_ADD("pias", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(READ8(s9_state, dac_r))
MCFG_PIA_WRITEPA_HANDLER(WRITE8(s9_state, sound_w))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(s9_state, dac_w))
MCFG_PIA_CA2_HANDLER(WRITELINE(s9_state, pias_ca2_w))
MCFG_PIA_CB2_HANDLER(WRITELINE(s9_state, pias_cb2_w))
MCFG_PIA_WRITEPB_HANDLER(DEVWRITE8("dac", dac_device, write_unsigned8))
MCFG_PIA_CA2_HANDLER(DEVWRITELINE("hc55516", hc55516_device, clock_w))
MCFG_PIA_CB2_HANDLER(DEVWRITELINE("hc55516", hc55516_device, digit_w))
MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("audiocpu", m6808_cpu_device, irq_line))
MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("audiocpu", m6808_cpu_device, irq_line))
MACHINE_CONFIG_END
/*-----------------------------
/ Rat Race - Sys.7 (Game #527)- Prototype (displays as #500)
/ Rat Race - Sys.9 (Game #527)- Prototype (displays as #500)
/-----------------------------*/
ROM_START(ratrc_l1)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("ic20.532", 0x5000, 0x1000, CRC(0c5c7c09) SHA1(c93b39ba1460feee5850fcd3ca7cacb72c4c8ff3))
ROM_LOAD("ic14.532", 0x6000, 0x1000, CRC(c6f4bcf4) SHA1(d71c86299139abe3dd376a324315a039be82875c))
ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(0800c214) SHA1(3343c07fd550bb0759032628e01bb750135dab15))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("ic20.532", 0x1000, 0x1000, CRC(0c5c7c09) SHA1(c93b39ba1460feee5850fcd3ca7cacb72c4c8ff3))
ROM_LOAD("ic14.532", 0x2000, 0x1000, CRC(c6f4bcf4) SHA1(d71c86299139abe3dd376a324315a039be82875c))
ROM_LOAD("ic17.532", 0x3000, 0x1000, CRC(0800c214) SHA1(3343c07fd550bb0759032628e01bb750135dab15))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("b486.bin", 0xe000, 0x2000, CRC(c54b9402) SHA1(c56fc5f105fc2c1166e3b22bb09b72af79e0aec1))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("b486.bin", 0x6000, 0x2000, CRC(c54b9402) SHA1(c56fc5f105fc2c1166e3b22bb09b72af79e0aec1))
ROM_END
/*-----------------------------
/ Sorcerer (S9) 03/85 (#532)
/------------------------------*/
ROM_START(sorcr_l1)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("cpu_u19.732", 0x5000, 0x1000, CRC(88b6837d) SHA1(d26b06342741443406a72ba48a70e82df62bb26e))
ROM_LOAD("cpu_u20.764", 0x6000, 0x2000, CRC(c235b692) SHA1(d3b97fad2d501c894570601b387933c7644f64e6))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("cpu_u19.732", 0x1000, 0x1000, CRC(88b6837d) SHA1(d26b06342741443406a72ba48a70e82df62bb26e))
ROM_LOAD("cpu_u20.764", 0x2000, 0x2000, CRC(c235b692) SHA1(d3b97fad2d501c894570601b387933c7644f64e6))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("spch_u7.732", 0x8000, 0x1000, CRC(bba9ed18) SHA1(8e37ba8cb6bbc1e0afeef230088beda4513adddb))
ROM_LOAD("spch_u5.732", 0x9000, 0x1000, CRC(d48c68ad) SHA1(b1391b87519ad47be3dcce7f8581f871e6a3669f))
ROM_LOAD("spch_u6.732", 0xa000, 0x1000, CRC(a5c54d47) SHA1(4e1206412ecf52ae61c9df2055e0715749a6325d))
ROM_LOAD("spch_u4.732", 0xb000, 0x1000, CRC(0c81902d) SHA1(6d8f703327e5c73a321fc4aa3a67ce68fff82d70))
ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(a0bae1e4) SHA1(dc5172aa1d59191d4119da20757cb2c2469f8fe3))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("spch_u7.732", 0x0000, 0x1000, CRC(bba9ed18) SHA1(8e37ba8cb6bbc1e0afeef230088beda4513adddb))
ROM_LOAD("spch_u5.732", 0x1000, 0x1000, CRC(d48c68ad) SHA1(b1391b87519ad47be3dcce7f8581f871e6a3669f))
ROM_LOAD("spch_u6.732", 0x2000, 0x1000, CRC(a5c54d47) SHA1(4e1206412ecf52ae61c9df2055e0715749a6325d))
ROM_LOAD("spch_u4.732", 0x3000, 0x1000, CRC(0c81902d) SHA1(6d8f703327e5c73a321fc4aa3a67ce68fff82d70))
ROM_LOAD("cpu_u49.128", 0x4000, 0x4000, CRC(a0bae1e4) SHA1(dc5172aa1d59191d4119da20757cb2c2469f8fe3))
ROM_END
ROM_START(sorcr_l2)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("cpu_u19.l2", 0x5000, 0x1000, CRC(faf738db) SHA1(a3b3f4160dc837ddf5379e1edb0eafeefcc11e3d))
ROM_LOAD("cpu_u20.l2", 0x6000, 0x2000, CRC(74fc8117) SHA1(c228c76ade670603f77bb324e6794ec6dd358285))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("cpu_u19.l2", 0x1000, 0x1000, CRC(faf738db) SHA1(a3b3f4160dc837ddf5379e1edb0eafeefcc11e3d))
ROM_LOAD("cpu_u20.l2", 0x2000, 0x2000, CRC(74fc8117) SHA1(c228c76ade670603f77bb324e6794ec6dd358285))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("spch_u7.732", 0x8000, 0x1000, CRC(bba9ed18) SHA1(8e37ba8cb6bbc1e0afeef230088beda4513adddb))
ROM_LOAD("spch_u5.732", 0x9000, 0x1000, CRC(d48c68ad) SHA1(b1391b87519ad47be3dcce7f8581f871e6a3669f))
ROM_LOAD("spch_u6.732", 0xa000, 0x1000, CRC(a5c54d47) SHA1(4e1206412ecf52ae61c9df2055e0715749a6325d))
ROM_LOAD("spch_u4.732", 0xb000, 0x1000, CRC(0c81902d) SHA1(6d8f703327e5c73a321fc4aa3a67ce68fff82d70))
ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(a0bae1e4) SHA1(dc5172aa1d59191d4119da20757cb2c2469f8fe3))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("spch_u7.732", 0x0000, 0x1000, CRC(bba9ed18) SHA1(8e37ba8cb6bbc1e0afeef230088beda4513adddb))
ROM_LOAD("spch_u5.732", 0x1000, 0x1000, CRC(d48c68ad) SHA1(b1391b87519ad47be3dcce7f8581f871e6a3669f))
ROM_LOAD("spch_u6.732", 0x2000, 0x1000, CRC(a5c54d47) SHA1(4e1206412ecf52ae61c9df2055e0715749a6325d))
ROM_LOAD("spch_u4.732", 0x3000, 0x1000, CRC(0c81902d) SHA1(6d8f703327e5c73a321fc4aa3a67ce68fff82d70))
ROM_LOAD("cpu_u49.128", 0x4000, 0x4000, CRC(a0bae1e4) SHA1(dc5172aa1d59191d4119da20757cb2c2469f8fe3))
ROM_END
/*---------------------------------
/ Space Shuttle (S9) 12/84 (#535)
/----------------------------------*/
ROM_START(sshtl_l7)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("cpu_u20.128", 0x4000, 0x4000, CRC(848ad54c) SHA1(4e4ce5fb970da37706472f94a27fd912e1ecb1a0))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("cpu_u20.128", 0x0000, 0x4000, CRC(848ad54c) SHA1(4e4ce5fb970da37706472f94a27fd912e1ecb1a0))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("spch_u5.732", 0x9000, 0x1000, CRC(13edd4e5) SHA1(46c4052c31ddc20bb87445636f8fe3b6f7bff856))
ROM_LOAD("spch_u6.732", 0xa000, 0x1000, CRC(cf48b2e7) SHA1(fe55419a5d40b3a4e8c02a92746b25a075b8efd3))
ROM_LOAD("spch_u4.732", 0xb000, 0x1000, CRC(b0d03c5e) SHA1(46b952f71a7ecc03e22e427875f6e16a9d124067))
ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(8050ae27) SHA1(e3f5e9398f61b075620ecd075617a8dac3c07d0e))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("spch_u5.732", 0x1000, 0x1000, CRC(13edd4e5) SHA1(46c4052c31ddc20bb87445636f8fe3b6f7bff856))
ROM_LOAD("spch_u6.732", 0x2000, 0x1000, CRC(cf48b2e7) SHA1(fe55419a5d40b3a4e8c02a92746b25a075b8efd3))
ROM_LOAD("spch_u4.732", 0x3000, 0x1000, CRC(b0d03c5e) SHA1(46b952f71a7ecc03e22e427875f6e16a9d124067))
ROM_LOAD("cpu_u49.128", 0x4000, 0x4000, CRC(8050ae27) SHA1(e3f5e9398f61b075620ecd075617a8dac3c07d0e))
ROM_END
/*-------------------------
/ Comet (S9) 06/85 (#540)
/--------------------------*/
ROM_START(comet_l4)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("cpu_u20.128", 0x4000, 0x4000, CRC(36193600) SHA1(efdc44ef26c2def8f860a0296e27b2c3dac55ec8))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("cpu_u20.128", 0x0000, 0x4000, CRC(36193600) SHA1(efdc44ef26c2def8f860a0296e27b2c3dac55ec8))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("spch_u7.732", 0x8000, 0x1000, CRC(36545b22) SHA1(f4a026f3fa58dce81b439d76120a6769f4632955))
ROM_LOAD("spch_u5.732", 0x9000, 0x1000, CRC(89f7ede5) SHA1(bbfbd991c9e005c2fa36d8458803b121f4933618))
ROM_LOAD("spch_u6.732", 0xa000, 0x1000, CRC(6ba2aba6) SHA1(783b4e9b38db8677d91f86cb4805f0fa1ae8f856))
ROM_LOAD("spch_u4.732", 0xb000, 0x1000, CRC(d0215c49) SHA1(4f0925a826199b6e8baa5e7fbff5cde9e31d505b))
ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(f1db0cbe) SHA1(59b7f36fb2003b90b288abeff56df62ce50f10c6))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("spch_u7.732", 0x0000, 0x1000, CRC(36545b22) SHA1(f4a026f3fa58dce81b439d76120a6769f4632955))
ROM_LOAD("spch_u5.732", 0x1000, 0x1000, CRC(89f7ede5) SHA1(bbfbd991c9e005c2fa36d8458803b121f4933618))
ROM_LOAD("spch_u6.732", 0x2000, 0x1000, CRC(6ba2aba6) SHA1(783b4e9b38db8677d91f86cb4805f0fa1ae8f856))
ROM_LOAD("spch_u4.732", 0x3000, 0x1000, CRC(d0215c49) SHA1(4f0925a826199b6e8baa5e7fbff5cde9e31d505b))
ROM_LOAD("cpu_u49.128", 0x4000, 0x4000, CRC(f1db0cbe) SHA1(59b7f36fb2003b90b288abeff56df62ce50f10c6))
ROM_END
ROM_START(comet_l5)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("cpu_u20.l5", 0x4000, 0x4000, CRC(d153d9ab) SHA1(0b97591b8ba35207b1427900486d69078ae122bc))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("cpu_u20.l5", 0x0000, 0x4000, CRC(d153d9ab) SHA1(0b97591b8ba35207b1427900486d69078ae122bc))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("spch_u7.732", 0x8000, 0x1000, CRC(36545b22) SHA1(f4a026f3fa58dce81b439d76120a6769f4632955))
ROM_LOAD("spch_u5.732", 0x9000, 0x1000, CRC(89f7ede5) SHA1(bbfbd991c9e005c2fa36d8458803b121f4933618))
ROM_LOAD("spch_u6.732", 0xa000, 0x1000, CRC(6ba2aba6) SHA1(783b4e9b38db8677d91f86cb4805f0fa1ae8f856))
ROM_LOAD("spch_u4.732", 0xb000, 0x1000, CRC(d0215c49) SHA1(4f0925a826199b6e8baa5e7fbff5cde9e31d505b))
ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(f1db0cbe) SHA1(59b7f36fb2003b90b288abeff56df62ce50f10c6))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("spch_u7.732", 0x0000, 0x1000, CRC(36545b22) SHA1(f4a026f3fa58dce81b439d76120a6769f4632955))
ROM_LOAD("spch_u5.732", 0x1000, 0x1000, CRC(89f7ede5) SHA1(bbfbd991c9e005c2fa36d8458803b121f4933618))
ROM_LOAD("spch_u6.732", 0x2000, 0x1000, CRC(6ba2aba6) SHA1(783b4e9b38db8677d91f86cb4805f0fa1ae8f856))
ROM_LOAD("spch_u4.732", 0x3000, 0x1000, CRC(d0215c49) SHA1(4f0925a826199b6e8baa5e7fbff5cde9e31d505b))
ROM_LOAD("cpu_u49.128", 0x4000, 0x4000, CRC(f1db0cbe) SHA1(59b7f36fb2003b90b288abeff56df62ce50f10c6))
ROM_END
/*--------------------------------
/ Strike Zone (Shuffle) (#916)
/---------------------------------*/
ROM_START(szone_l5)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("sz_u19r5.732", 0x5000, 0x1000, CRC(c79c46cb) SHA1(422ba74ae67bebbe02f85a9a8df0e3072f3cebc0))
ROM_LOAD("sz_u20r5.764", 0x6000, 0x2000, CRC(9b5b3be2) SHA1(fce051a60b6eecd9bc07273892b14046b251b372))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("sz_u19r5.732", 0x1000, 0x1000, CRC(c79c46cb) SHA1(422ba74ae67bebbe02f85a9a8df0e3072f3cebc0))
ROM_LOAD("sz_u20r5.764", 0x2000, 0x2000, CRC(9b5b3be2) SHA1(fce051a60b6eecd9bc07273892b14046b251b372))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("szs_u49.128", 0xc000, 0x4000, CRC(144c3c07) SHA1(57be6f336f200079cd698b13f8fa4755cf694274))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("szs_u49.128", 0x4000, 0x4000, CRC(144c3c07) SHA1(57be6f336f200079cd698b13f8fa4755cf694274))
ROM_END
ROM_START(szone_l2)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("sz_u19r2.732", 0x5000, 0x1000, CRC(c0e4238b) SHA1(eae60ccd5b5001671cd6d2685fd588494d052d1e))
ROM_LOAD("sz_u20r2.764", 0x6000, 0x2000, CRC(91c08137) SHA1(86da08f346f85810fceceaa7b9824ab76a68da54))
ROM_REGION(0x4000, "roms", 0)
ROM_LOAD("sz_u19r2.732", 0x1000, 0x1000, CRC(c0e4238b) SHA1(eae60ccd5b5001671cd6d2685fd588494d052d1e))
ROM_LOAD("sz_u20r2.764", 0x2000, 0x2000, CRC(91c08137) SHA1(86da08f346f85810fceceaa7b9824ab76a68da54))
ROM_REGION(0x10000, "audiocpu", 0)
ROM_LOAD("szs_u49.128", 0xc000, 0x4000, CRC(144c3c07) SHA1(57be6f336f200079cd698b13f8fa4755cf694274))
ROM_REGION(0x8000, "audioroms", 0)
ROM_LOAD("szs_u49.128", 0x4000, 0x4000, CRC(144c3c07) SHA1(57be6f336f200079cd698b13f8fa4755cf694274))
ROM_END
/*------------------------------
/ Alley Cats (Shuffle) (#918)
/-------------------------------*/
ROM_START(alcat_l7)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("u26_rev7.rom", 0x5000, 0x1000, CRC(4d274dd3) SHA1(80d72bd0f85ce2cac04f6d9f59dc1fcccc86d402))
ROM_LOAD("u27_rev7.rom", 0x6000, 0x2000, CRC(9c7faf8a) SHA1(dc1a561948b9a303f7924d7bebcd972db766827b))
ROM_REGION(0x4000, "roms", 0) // system 9 mainboard
ROM_LOAD("u26_rev7.rom", 0x1000, 0x1000, CRC(4d274dd3) SHA1(80d72bd0f85ce2cac04f6d9f59dc1fcccc86d402))
ROM_LOAD("u27_rev7.rom", 0x2000, 0x2000, CRC(9c7faf8a) SHA1(dc1a561948b9a303f7924d7bebcd972db766827b))
ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF)
ROM_REGION(0x20000, "audiocpu", 0) // System 11 soundboard
ROM_LOAD("acs_u21.bin", 0x18000, 0x8000, CRC(c54cd329) SHA1(4b86b10e60a30c4de5d97129074f5657447be676))
ROM_LOAD("acs_u22.bin", 0x10000, 0x8000, CRC(56c1011a) SHA1(c817a3410c643617f3643897b8f529ae78546b0d))
ROM_REGION(0x10000, "sound2", 0) // System 11 soundboard
ROM_LOAD("acs_u21.bin", 0x0000, 0x8000, CRC(c54cd329) SHA1(4b86b10e60a30c4de5d97129074f5657447be676))
ROM_LOAD("acs_u22.bin", 0x8000, 0x8000, CRC(56c1011a) SHA1(c817a3410c643617f3643897b8f529ae78546b0d))
ROM_REGION(0x8000, "audioroms", ROMREGION_ERASEFF)
ROM_END
GAME( 1983, ratrc_l1, 0, s9, s9, driver_device, 0, ROT0, "Williams", "Rat Race (L-1)", GAME_MECHANICAL | GAME_NOT_WORKING)
GAME( 1985, sorcr_l1, sorcr_l2, s9, s9, driver_device, 0, ROT0, "Williams", "Sorcerer (L-1)", GAME_MECHANICAL | GAME_NOT_WORKING)
GAME( 1985, sorcr_l2, 0, s9, s9, driver_device, 0, ROT0, "Williams", "Sorcerer (L-2)", GAME_MECHANICAL | GAME_NOT_WORKING)