trunk/src/mame/drivers/s11.c
| r18855 | r18856 | |
| 1 | | /* |
| 1 | /**************************************************************************************** |
| 2 | |
| 3 | Pinball |
| 2 | 4 | Williams System 11 |
| 3 | | */ |
| 4 | 5 | |
| 6 | Status of games: |
| 5 | 7 | |
| 6 | | #include "emu.h" |
| 8 | |
| 9 | ToDo: |
| 10 | |
| 11 | *****************************************************************************************/ |
| 12 | |
| 13 | |
| 14 | #include "machine/genpin.h" |
| 7 | 15 | #include "cpu/m6800/m6800.h" |
| 16 | #include "cpu/m6809/m6809.h" |
| 17 | #include "machine/6821pia.h" |
| 18 | #include "sound/hc55516.h" |
| 19 | #include "sound/2151intf.h" |
| 20 | #include "sound/dac.h" |
| 21 | #include "s11.lh" |
| 8 | 22 | |
| 9 | | class williams_s11_state : public driver_device |
| 23 | |
| 24 | class s11_state : public genpin_class |
| 10 | 25 | { |
| 11 | 26 | public: |
| 12 | | williams_s11_state(const machine_config &mconfig, device_type type, const char *tag) |
| 13 | | : driver_device(mconfig, type, tag), |
| 14 | | m_maincpu(*this, "maincpu") |
| 27 | s11_state(const machine_config &mconfig, device_type type, const char *tag) |
| 28 | : genpin_class(mconfig, type, tag), |
| 29 | m_maincpu(*this, "maincpu"), |
| 30 | m_audiocpu(*this, "audiocpu"), |
| 31 | m_bgcpu(*this, "bgcpu"), |
| 32 | m_dac(*this, "dac"), |
| 33 | m_dac1(*this, "dac1"), |
| 34 | m_hc55516(*this, "hc55516"), |
| 35 | m_pias(*this, "pias"), |
| 36 | m_pia21(*this, "pia21"), |
| 37 | m_pia24(*this, "pia24"), |
| 38 | m_pia28(*this, "pia28"), |
| 39 | m_pia2c(*this, "pia2c"), |
| 40 | m_pia30(*this, "pia30"), |
| 41 | m_pia34(*this, "pia34"), |
| 42 | m_pia40(*this, "pia40") |
| 15 | 43 | { } |
| 16 | 44 | |
| 45 | DECLARE_READ8_MEMBER(dac_r); |
| 46 | DECLARE_WRITE8_MEMBER(dac_w); |
| 47 | DECLARE_WRITE8_MEMBER(bank_w); |
| 48 | DECLARE_WRITE8_MEMBER(dig0_w); |
| 49 | DECLARE_WRITE8_MEMBER(dig1_w); |
| 50 | DECLARE_WRITE8_MEMBER(lamp0_w); |
| 51 | DECLARE_WRITE8_MEMBER(lamp1_w) { }; |
| 52 | DECLARE_WRITE8_MEMBER(sol2_w) { }; // solenoids 8-15 |
| 53 | DECLARE_WRITE8_MEMBER(sol3_w); // solenoids 0-7 |
| 54 | DECLARE_WRITE8_MEMBER(sound_w); |
| 55 | DECLARE_WRITE8_MEMBER(pia2c_pa_w); |
| 56 | DECLARE_WRITE8_MEMBER(pia2c_pb_w); |
| 57 | DECLARE_WRITE8_MEMBER(pia34_pa_w); |
| 58 | DECLARE_WRITE8_MEMBER(pia34_pb_w); |
| 59 | DECLARE_WRITE8_MEMBER(pia40_pa_w); |
| 60 | DECLARE_READ8_MEMBER(dips_r); |
| 61 | DECLARE_READ8_MEMBER(switch_r); |
| 62 | DECLARE_WRITE8_MEMBER(switch_w); |
| 63 | DECLARE_READ_LINE_MEMBER(pias_ca1_r); |
| 64 | DECLARE_READ_LINE_MEMBER(pia21_ca1_r); |
| 65 | DECLARE_READ_LINE_MEMBER(pia28_ca1_r); |
| 66 | DECLARE_READ_LINE_MEMBER(pia28_cb1_r); |
| 67 | DECLARE_WRITE_LINE_MEMBER(pias_ca2_w); |
| 68 | DECLARE_WRITE_LINE_MEMBER(pias_cb2_w); |
| 69 | DECLARE_WRITE_LINE_MEMBER(pia21_ca2_w); |
| 70 | DECLARE_WRITE_LINE_MEMBER(pia21_cb2_w) { }; // enable solenoids |
| 71 | DECLARE_WRITE_LINE_MEMBER(pia24_cb2_w) { }; // dummy to stop error log filling up |
| 72 | DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { }; // comma3&4 |
| 73 | DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { }; // comma1&2 |
| 74 | DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w); |
| 75 | TIMER_DEVICE_CALLBACK_MEMBER(irq); |
| 76 | DECLARE_INPUT_CHANGED_MEMBER(main_nmi); |
| 77 | DECLARE_INPUT_CHANGED_MEMBER(audio_nmi); |
| 78 | DECLARE_MACHINE_RESET(s11); |
| 79 | DECLARE_DRIVER_INIT(s11); |
| 17 | 80 | protected: |
| 18 | 81 | |
| 19 | 82 | // devices |
| 20 | 83 | required_device<cpu_device> m_maincpu; |
| 21 | | |
| 22 | | // driver_device overrides |
| 23 | | virtual void machine_reset(); |
| 24 | | public: |
| 25 | | DECLARE_DRIVER_INIT(williams_s11); |
| 84 | required_device<cpu_device> m_audiocpu; |
| 85 | required_device<cpu_device> m_bgcpu; |
| 86 | required_device<dac_device> m_dac; |
| 87 | required_device<dac_device> m_dac1; |
| 88 | required_device<hc55516_device> m_hc55516; |
| 89 | required_device<pia6821_device> m_pias; |
| 90 | required_device<pia6821_device> m_pia21; |
| 91 | required_device<pia6821_device> m_pia24; |
| 92 | required_device<pia6821_device> m_pia28; |
| 93 | required_device<pia6821_device> m_pia2c; |
| 94 | required_device<pia6821_device> m_pia30; |
| 95 | required_device<pia6821_device> m_pia34; |
| 96 | required_device<pia6821_device> m_pia40; |
| 97 | private: |
| 98 | UINT8 m_t_c; |
| 99 | UINT8 m_sound_data; |
| 100 | UINT8 m_strobe; |
| 101 | UINT8 m_kbdrow; |
| 102 | bool m_ca1; |
| 103 | bool m_data_ok; |
| 26 | 104 | }; |
| 27 | 105 | |
| 106 | static ADDRESS_MAP_START( s11_main_map, AS_PROGRAM, 8, s11_state ) |
| 107 | AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram") |
| 108 | AM_RANGE(0x2100, 0x2103) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids |
| 109 | AM_RANGE(0x2200, 0x2200) AM_WRITE(sol3_w) // solenoids |
| 110 | AM_RANGE(0x2400, 0x2403) AM_DEVREADWRITE("pia24", pia6821_device, read, write) // lamps |
| 111 | AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("pia28", pia6821_device, read, write) // display |
| 112 | AM_RANGE(0x2c00, 0x2c03) AM_DEVREADWRITE("pia2c", pia6821_device, read, write) // alphanumeric display |
| 113 | AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("pia30", pia6821_device, read, write) // inputs |
| 114 | AM_RANGE(0x3400, 0x3403) AM_DEVREADWRITE("pia34", pia6821_device, read, write) // widget |
| 115 | AM_RANGE(0x4000, 0xffff) AM_ROM |
| 116 | ADDRESS_MAP_END |
| 28 | 117 | |
| 29 | | static ADDRESS_MAP_START( williams_s11_map, AS_PROGRAM, 8, williams_s11_state ) |
| 30 | | AM_RANGE(0x0000, 0xffff) AM_NOP |
| 118 | static ADDRESS_MAP_START( s11_audio_map, AS_PROGRAM, 8, s11_state ) |
| 119 | AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_RAM |
| 120 | AM_RANGE(0x1000, 0x1fff) AM_WRITE(bank_w) |
| 121 | AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_DEVREADWRITE("pias", pia6821_device, read, write) |
| 122 | AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank0") |
| 123 | AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1") |
| 31 | 124 | ADDRESS_MAP_END |
| 32 | 125 | |
| 33 | | static INPUT_PORTS_START( williams_s11 ) |
| 126 | static ADDRESS_MAP_START( s11_bg_map, AS_PROGRAM, 8, s11_state ) |
| 127 | AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM |
| 128 | AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("ym2151", ym2151_device, read, write) |
| 129 | AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia40", pia6821_device, read, write) |
| 130 | AM_RANGE(0x8000, 0xffff) AM_ROM |
| 131 | ADDRESS_MAP_END |
| 132 | |
| 133 | static INPUT_PORTS_START( s11 ) |
| 134 | PORT_START("X0") |
| 135 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 136 | |
| 137 | PORT_START("X1") |
| 138 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) |
| 139 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) |
| 140 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START ) |
| 141 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 ) |
| 142 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) |
| 143 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) |
| 144 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) |
| 145 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) |
| 146 | |
| 147 | PORT_START("X2") |
| 148 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) |
| 149 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) |
| 150 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) |
| 151 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) |
| 152 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) |
| 153 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) |
| 154 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) |
| 155 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) |
| 156 | |
| 157 | PORT_START("X4") |
| 158 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) |
| 159 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z) |
| 160 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C) |
| 161 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) |
| 162 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) |
| 163 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) |
| 164 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M) |
| 165 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA) |
| 166 | |
| 167 | PORT_START("X8") |
| 168 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_STOP) |
| 169 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH) |
| 170 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COLON) |
| 171 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE) |
| 172 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) |
| 173 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS) |
| 174 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS) |
| 175 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE) |
| 176 | |
| 177 | PORT_START("X10") |
| 178 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE) |
| 179 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE) |
| 180 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH) |
| 181 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER) |
| 182 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT) |
| 183 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT) |
| 184 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_UP) |
| 185 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_DOWN) |
| 186 | |
| 187 | PORT_START("X20") |
| 188 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) |
| 189 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) |
| 190 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) |
| 191 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) |
| 192 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) |
| 193 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) |
| 194 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) |
| 195 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_O) |
| 196 | |
| 197 | PORT_START("X40") |
| 198 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 199 | |
| 200 | PORT_START("X80") |
| 201 | PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 202 | |
| 203 | PORT_START("DIAGS") |
| 204 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Audio Diag") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, s11_state, audio_nmi, 1) |
| 205 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Main Diag") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, s11_state, main_nmi, 1) |
| 206 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Advance") PORT_CODE(KEYCODE_0) |
| 207 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Up/Down") PORT_CODE(KEYCODE_9) |
| 34 | 208 | INPUT_PORTS_END |
| 35 | 209 | |
| 36 | | void williams_s11_state::machine_reset() |
| 210 | MACHINE_RESET_MEMBER( s11_state, s11 ) |
| 37 | 211 | { |
| 212 | m_t_c = 0; |
| 213 | membank("bank0")->set_entry(0); |
| 214 | membank("bank1")->set_entry(0); |
| 38 | 215 | } |
| 39 | 216 | |
| 40 | | DRIVER_INIT_MEMBER(williams_s11_state,williams_s11) |
| 217 | INPUT_CHANGED_MEMBER( s11_state::main_nmi ) |
| 41 | 218 | { |
| 219 | // Diagnostic button sends a pulse to NMI pin |
| 220 | if (newval==CLEAR_LINE) |
| 221 | m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); |
| 42 | 222 | } |
| 43 | 223 | |
| 44 | | static MACHINE_CONFIG_START( williams_s11, williams_s11_state ) |
| 224 | INPUT_CHANGED_MEMBER( s11_state::audio_nmi ) |
| 225 | { |
| 226 | // Diagnostic button sends a pulse to NMI pin |
| 227 | if (newval==CLEAR_LINE) |
| 228 | m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); |
| 229 | } |
| 230 | |
| 231 | WRITE8_MEMBER( s11_state::sol3_w ) |
| 232 | { |
| 233 | |
| 234 | } |
| 235 | |
| 236 | WRITE8_MEMBER( s11_state::sound_w ) |
| 237 | { |
| 238 | m_sound_data = data; |
| 239 | } |
| 240 | |
| 241 | WRITE_LINE_MEMBER( s11_state::pia21_ca2_w ) |
| 242 | { |
| 243 | // sound ns |
| 244 | m_ca1 = state; |
| 245 | m_pias->ca1_w(m_ca1); |
| 246 | } |
| 247 | |
| 248 | static const pia6821_interface pia21_intf = |
| 249 | { |
| 250 | DEVCB_DRIVER_MEMBER(s11_state, dac_r), /* port A in */ |
| 251 | DEVCB_NULL, /* port B in */ |
| 252 | DEVCB_NULL, /* line CA1 in */ |
| 253 | DEVCB_LINE_GND, /* line CB1 in */ |
| 254 | DEVCB_NULL, /* line CA2 in */ |
| 255 | DEVCB_NULL, /* line CB2 in */ |
| 256 | DEVCB_DRIVER_MEMBER(s11_state, sound_w), /* port A out */ |
| 257 | DEVCB_DRIVER_MEMBER(s11_state, sol2_w), /* port B out */ |
| 258 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pia21_ca2_w), /* line CA2 out */ |
| 259 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pia21_cb2_w), /* line CB2 out */ |
| 260 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE), /* IRQA */ |
| 261 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE) /* IRQB */ |
| 262 | }; |
| 263 | |
| 264 | WRITE8_MEMBER( s11_state::lamp0_w ) |
| 265 | { |
| 266 | m_maincpu->set_input_line(M6800_IRQ_LINE, CLEAR_LINE); |
| 267 | } |
| 268 | |
| 269 | static const pia6821_interface pia24_intf = |
| 270 | { |
| 271 | DEVCB_NULL, /* port A in */ |
| 272 | DEVCB_NULL, /* port B in */ |
| 273 | DEVCB_LINE_GND, /* line CA1 in */ |
| 274 | DEVCB_LINE_GND, /* line CB1 in */ |
| 275 | DEVCB_LINE_VCC, /* line CA2 in */ |
| 276 | DEVCB_LINE_VCC, /* line CB2 in */ |
| 277 | DEVCB_DRIVER_MEMBER(s11_state, lamp0_w), /* port A out */ |
| 278 | DEVCB_DRIVER_MEMBER(s11_state, lamp1_w), /* port B out */ |
| 279 | DEVCB_NULL, /* line CA2 out */ |
| 280 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pia24_cb2_w), /* line CB2 out */ |
| 281 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE), /* IRQA */ |
| 282 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE) /* IRQB */ |
| 283 | }; |
| 284 | |
| 285 | READ_LINE_MEMBER( s11_state::pia28_ca1_r ) |
| 286 | { |
| 287 | return BIT(ioport("DIAGS")->read(), 2); // advance button |
| 288 | } |
| 289 | |
| 290 | READ_LINE_MEMBER( s11_state::pia28_cb1_r ) |
| 291 | { |
| 292 | return BIT(ioport("DIAGS")->read(), 3); // up/down switch |
| 293 | } |
| 294 | |
| 295 | WRITE8_MEMBER( s11_state::dig0_w ) |
| 296 | { |
| 297 | static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7447 |
| 298 | data &= 0x7f; |
| 299 | m_strobe = data & 15;printf("C=%X ",m_strobe); |
| 300 | m_data_ok = true; |
| 301 | output_set_digit_value(60, patterns[data>>4]); // diag digit |
| 302 | } |
| 303 | |
| 304 | WRITE8_MEMBER( s11_state::dig1_w ) |
| 305 | { |
| 306 | static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0, 0, 0, 0, 0, 0 }; // MC14558 |
| 307 | if (m_data_ok) |
| 308 | { |
| 309 | output_set_digit_value(m_strobe+16, patterns[data&15]); |
| 310 | output_set_digit_value(m_strobe, patterns[data>>4]); |
| 311 | } |
| 312 | m_data_ok = false; |
| 313 | } |
| 314 | |
| 315 | static const pia6821_interface pia28_intf = |
| 316 | { |
| 317 | DEVCB_NULL, /* port A in */ |
| 318 | DEVCB_NULL, /* port B in */ |
| 319 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_ca1_r), /* line CA1 in */ |
| 320 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_cb1_r), /* line CB1 in */ |
| 321 | DEVCB_NULL, /* line CA2 in */ |
| 322 | DEVCB_NULL, /* line CB2 in */ |
| 323 | DEVCB_DRIVER_MEMBER(s11_state, dig0_w), /* port A out */ |
| 324 | DEVCB_DRIVER_MEMBER(s11_state, dig1_w), /* port B out */ |
| 325 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_ca2_w), /* line CA2 out */ |
| 326 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_cb2_w), /* line CB2 out */ |
| 327 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE), /* IRQA */ |
| 328 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE) /* IRQB */ |
| 329 | }; |
| 330 | |
| 331 | WRITE8_MEMBER( s11_state::pia2c_pa_w ) |
| 332 | {printf("0=%X ",data); |
| 333 | } |
| 334 | |
| 335 | WRITE8_MEMBER( s11_state::pia2c_pb_w ) |
| 336 | {printf("1=%X ",data); |
| 337 | } |
| 338 | |
| 339 | static const pia6821_interface pia2c_intf = |
| 340 | { |
| 341 | DEVCB_NULL, /* port A in */ |
| 342 | DEVCB_NULL, /* port B in */ |
| 343 | DEVCB_NULL, /* line CA1 in */ |
| 344 | DEVCB_NULL, /* line CB1 in */ |
| 345 | DEVCB_NULL, /* line CA2 in */ |
| 346 | DEVCB_NULL, /* line CB2 in */ |
| 347 | DEVCB_DRIVER_MEMBER(s11_state, pia2c_pa_w), /* port A out */ |
| 348 | DEVCB_DRIVER_MEMBER(s11_state, pia2c_pb_w), /* port B out */ |
| 349 | DEVCB_NULL, /* line CA2 out */ |
| 350 | DEVCB_NULL, /* line CB2 out */ |
| 351 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE), /* IRQA */ |
| 352 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE) /* IRQB */ |
| 353 | }; |
| 354 | |
| 355 | READ8_MEMBER( s11_state::switch_r ) |
| 356 | { |
| 357 | char kbdrow[8]; |
| 358 | sprintf(kbdrow,"X%X",m_kbdrow); |
| 359 | return ~ioport(kbdrow)->read(); |
| 360 | } |
| 361 | |
| 362 | WRITE8_MEMBER( s11_state::switch_w ) |
| 363 | { |
| 364 | m_kbdrow = data; |
| 365 | } |
| 366 | |
| 367 | static const pia6821_interface pia30_intf = |
| 368 | { |
| 369 | DEVCB_DRIVER_MEMBER(s11_state, switch_r), /* port A in */ |
| 370 | DEVCB_NULL, /* port B in */ |
| 371 | DEVCB_LINE_GND, /* line CA1 in */ |
| 372 | DEVCB_LINE_GND, /* line CB1 in */ |
| 373 | DEVCB_LINE_VCC, /* line CA2 in */ |
| 374 | DEVCB_LINE_VCC, /* line CB2 in */ |
| 375 | DEVCB_NULL, /* port A out */ |
| 376 | DEVCB_DRIVER_MEMBER(s11_state, switch_w), /* port B out */ |
| 377 | DEVCB_NULL, /* line CA2 out */ |
| 378 | DEVCB_NULL, /* line CB2 out */ |
| 379 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE), /* IRQA */ |
| 380 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE) /* IRQB */ |
| 381 | }; |
| 382 | |
| 383 | WRITE8_MEMBER( s11_state::pia34_pa_w ) |
| 384 | {printf("2=%X ",data); |
| 385 | } |
| 386 | |
| 387 | WRITE8_MEMBER( s11_state::pia34_pb_w ) |
| 388 | {printf("3=%X ",data); |
| 389 | } |
| 390 | |
| 391 | static const pia6821_interface pia34_intf = |
| 392 | { |
| 393 | DEVCB_NULL, /* port A in */ |
| 394 | DEVCB_NULL, /* port B in */ |
| 395 | DEVCB_NULL, /* line CA1 in */ |
| 396 | DEVCB_NULL, /* line CB1 in */ |
| 397 | DEVCB_NULL, /* line CA2 in */ |
| 398 | DEVCB_NULL, /* line CB2 in */ |
| 399 | DEVCB_DRIVER_MEMBER(s11_state, pia34_pa_w), /* port A out */ |
| 400 | DEVCB_DRIVER_MEMBER(s11_state, pia34_pb_w), /* port B out */ |
| 401 | DEVCB_NULL, /* line CA2 out */ |
| 402 | DEVCB_NULL, /* line CB2 out */ |
| 403 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE), /* IRQA */ |
| 404 | DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE) /* IRQB */ |
| 405 | }; |
| 406 | |
| 407 | WRITE8_MEMBER( s11_state::bank_w ) |
| 408 | { |
| 409 | membank("bank0")->set_entry(BIT(data, 1)); |
| 410 | membank("bank1")->set_entry(BIT(data, 0)); |
| 411 | } |
| 412 | |
| 413 | READ_LINE_MEMBER( s11_state::pias_ca1_r ) |
| 414 | { |
| 415 | return m_ca1; |
| 416 | } |
| 417 | |
| 418 | WRITE_LINE_MEMBER( s11_state::pias_ca2_w ) |
| 419 | { |
| 420 | // speech clock |
| 421 | hc55516_clock_w(m_hc55516, state); |
| 422 | } |
| 423 | |
| 424 | WRITE_LINE_MEMBER( s11_state::pias_cb2_w ) |
| 425 | { |
| 426 | // speech data |
| 427 | hc55516_digit_w(m_hc55516, state); |
| 428 | } |
| 429 | |
| 430 | READ8_MEMBER( s11_state::dac_r ) |
| 431 | { |
| 432 | return m_sound_data; |
| 433 | } |
| 434 | |
| 435 | WRITE8_MEMBER( s11_state::dac_w ) |
| 436 | { |
| 437 | m_dac->write_unsigned8(data); |
| 438 | } |
| 439 | |
| 440 | static const pia6821_interface pias_intf = |
| 441 | { |
| 442 | DEVCB_DRIVER_MEMBER(s11_state, dac_r), /* port A in */ |
| 443 | DEVCB_NULL, /* port B in */ |
| 444 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_ca1_r), /* line CA1 in */ |
| 445 | DEVCB_NULL, /* line CB1 in */ |
| 446 | DEVCB_NULL, /* line CA2 in */ |
| 447 | DEVCB_NULL, /* line CB2 in */ |
| 448 | DEVCB_DRIVER_MEMBER(s11_state, sound_w), /* port A out */ |
| 449 | DEVCB_DRIVER_MEMBER(s11_state, dac_w), /* port B out */ |
| 450 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_ca2_w), /* line CA2 out */ |
| 451 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_cb2_w), /* line CB2 out */ |
| 452 | DEVCB_CPU_INPUT_LINE("audiocpu", M6800_IRQ_LINE), /* IRQA */ |
| 453 | DEVCB_CPU_INPUT_LINE("audiocpu", M6800_IRQ_LINE) /* IRQB */ |
| 454 | }; |
| 455 | |
| 456 | WRITE8_MEMBER( s11_state::pia40_pa_w ) |
| 457 | { |
| 458 | m_dac1->write_unsigned8(data); |
| 459 | } |
| 460 | |
| 461 | WRITE_LINE_MEMBER( s11_state::ym2151_irq_w) |
| 462 | { |
| 463 | m_pia40->ca1_w(!state); |
| 464 | } |
| 465 | |
| 466 | static const pia6821_interface pia40_intf = |
| 467 | { |
| 468 | DEVCB_DRIVER_MEMBER(s11_state, dac_r), /* port A in */ |
| 469 | DEVCB_NULL, /* port B in */ |
| 470 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_ca1_r), /* line CA1 in */ |
| 471 | DEVCB_NULL, /* line CB1 in */ |
| 472 | DEVCB_LINE_VCC, /* line CA2 in */ |
| 473 | DEVCB_NULL, /* line CB2 in */ |
| 474 | DEVCB_DRIVER_MEMBER(s11_state, pia40_pa_w), /* port A out */ |
| 475 | DEVCB_DRIVER_MEMBER(s11_state, dac_w), /* port B out */ |
| 476 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_ca2_w), /* line CA2 out */ |
| 477 | DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_cb2_w), /* line CB2 out */ |
| 478 | DEVCB_CPU_INPUT_LINE("bgcpu", M6809_FIRQ_LINE), /* IRQA */ |
| 479 | DEVCB_CPU_INPUT_LINE("bgcpu", INPUT_LINE_NMI) /* IRQB */ |
| 480 | }; |
| 481 | |
| 482 | DRIVER_INIT_MEMBER( s11_state, s11 ) |
| 483 | { |
| 484 | UINT8 *ROM = memregion("audiocpu")->base(); |
| 485 | membank("bank0")->configure_entries(0, 2, &ROM[0x10000], 0x4000); |
| 486 | membank("bank1")->configure_entries(0, 2, &ROM[0x18000], 0x4000); |
| 487 | membank("bank0")->set_entry(0); |
| 488 | membank("bank1")->set_entry(0); |
| 489 | } |
| 490 | |
| 491 | TIMER_DEVICE_CALLBACK_MEMBER( s11_state::irq) |
| 492 | { |
| 493 | if (m_t_c > 0x70) |
| 494 | { |
| 495 | m_maincpu->set_input_line(M6800_IRQ_LINE, ASSERT_LINE); |
| 496 | m_pias->cb1_w(0); |
| 497 | } |
| 498 | else |
| 499 | m_t_c++; |
| 500 | } |
| 501 | |
| 502 | static MACHINE_CONFIG_START( s11, s11_state ) |
| 45 | 503 | /* basic machine hardware */ |
| 46 | | MCFG_CPU_ADD("maincpu", M6800, 1000000) |
| 47 | | MCFG_CPU_PROGRAM_MAP(williams_s11_map) |
| 504 | MCFG_CPU_ADD("maincpu", M6800, 4000000) |
| 505 | MCFG_CPU_PROGRAM_MAP(s11_main_map) |
| 506 | MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s11_state, irq, attotime::from_hz(250)) |
| 507 | MCFG_MACHINE_RESET_OVERRIDE(s11_state, s11) |
| 508 | |
| 509 | /* Video */ |
| 510 | MCFG_DEFAULT_LAYOUT(layout_s11) |
| 511 | |
| 512 | /* Sound */ |
| 513 | MCFG_FRAGMENT_ADD( genpin_audio ) |
| 514 | |
| 515 | /* Devices */ |
| 516 | MCFG_PIA6821_ADD("pia21", pia21_intf) |
| 517 | MCFG_PIA6821_ADD("pia24", pia24_intf) |
| 518 | MCFG_PIA6821_ADD("pia28", pia28_intf) |
| 519 | MCFG_PIA6821_ADD("pia2c", pia2c_intf) |
| 520 | MCFG_PIA6821_ADD("pia30", pia30_intf) |
| 521 | MCFG_PIA6821_ADD("pia34", pia34_intf) |
| 522 | MCFG_NVRAM_ADD_0FILL("nvram") |
| 523 | |
| 524 | /* Add the soundcard */ |
| 525 | MCFG_CPU_ADD("audiocpu", M6808, 3580000) |
| 526 | MCFG_CPU_PROGRAM_MAP(s11_audio_map) |
| 527 | |
| 528 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 529 | MCFG_DAC_ADD("dac") |
| 530 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 531 | |
| 532 | MCFG_SPEAKER_STANDARD_MONO("speech") |
| 533 | MCFG_SOUND_ADD("hc55516", HC55516, 0) |
| 534 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speech", 0.50) |
| 535 | |
| 536 | MCFG_PIA6821_ADD("pias", pias_intf) |
| 537 | |
| 538 | /* Add the background music card */ |
| 539 | MCFG_CPU_ADD("bgcpu", M6809E, 4000000) // MC68B09E |
| 540 | MCFG_CPU_PROGRAM_MAP(s11_bg_map) |
| 541 | |
| 542 | MCFG_SPEAKER_STANDARD_MONO("bg") |
| 543 | MCFG_YM2151_ADD("ym2151", 3580000) |
| 544 | MCFG_YM2151_IRQ_HANDLER(WRITELINE(s11_state, ym2151_irq_w)) |
| 545 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) |
| 546 | |
| 547 | MCFG_DAC_ADD("dac1") |
| 548 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) |
| 549 | |
| 550 | MCFG_PIA6821_ADD("pia40", pia40_intf) |
| 48 | 551 | MACHINE_CONFIG_END |
| 49 | 552 | |
| 50 | | /*-------------------- |
| 51 | | / Gold Mine (#920) |
| 52 | | /--------------------*/ |
| 53 | | ROM_START(gmine_l2) |
| 54 | | ROM_REGION(0x10000, "maincpu", 0) |
| 55 | | ROM_LOAD("u27.128", 0x8000, 0x4000, CRC(99c6e049) SHA1(356faec0598a54892050a28857e9eb5cdbf35833)) |
| 56 | | ROM_RELOAD( 0xc000, 0x4000) |
| 57 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 58 | | ROM_REGION(0x10000, "sound2", 0) |
| 59 | | ROM_LOAD("u21.256", 0x0000, 0x8000, CRC(3b801570) SHA1(50b50ff826dcb031a30940fa3099bd3a8d773831)) |
| 60 | | ROM_LOAD("u22.256", 0x8000, 0x8000, CRC(08352101) SHA1(a7437847a71cf037a80686292f9616b1e08922df)) |
| 61 | | ROM_END |
| 62 | 553 | |
| 63 | | /*-------------------- |
| 64 | | / Grand Lizard 04/86 |
| 65 | | /--------------------*/ |
| 554 | /*---------------------------- |
| 555 | / Grand Lizard 04/86 (#523) |
| 556 | /-----------------------------*/ |
| 66 | 557 | ROM_START(grand_l4) |
| 67 | 558 | ROM_REGION(0x10000, "maincpu", 0) |
| 68 | 559 | ROM_LOAD("lzrd_u26.l4", 0x4000, 0x2000, CRC(5fe50db6) SHA1(7e2adfefce5c33ad605606574dbdfb2642aa0e85)) |
| 69 | 560 | ROM_RELOAD( 0x6000, 0x2000) |
| 70 | 561 | ROM_LOAD("lzrd_u27.l4", 0x8000, 0x8000, CRC(6462ca55) SHA1(0ebfa998d3cefc213ada9ed815d44977120e5d6d)) |
| 71 | | ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF) |
| 72 | | ROM_REGION(0x10000, "sound2", 0) |
| 73 | | ROM_LOAD("lzrd_u21.l1", 0x4000, 0x4000, CRC(98859d37) SHA1(08429b9e6a3b3007815373dc280b985e3441aa9f)) |
| 74 | | ROM_LOAD("lzrd_u22.l1", 0xc000, 0x4000, CRC(4e782eba) SHA1(b44ab499128300175bdb57f07ffe2992c82e47e4)) |
| 75 | | ROM_RELOAD( 0x8000, 0x4000) |
| 76 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 77 | | ROM_REGION(0x30000, "sound1", 0) |
| 78 | | ROM_LOAD("lzrd_u4.l1", 0x00000, 0x8000, CRC(4baafc11) SHA1(3507f5f37e02688fa56cf5bb303eaccdcedede06)) |
| 79 | | ROM_RELOAD(0x00000+0x8000, 0x8000) |
| 562 | |
| 563 | // according to the manual these should be 32K roms just like the other games here |
| 564 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 565 | ROM_LOAD("lzrd_u21.l1", 0x1c000, 0x4000, CRC(98859d37) SHA1(08429b9e6a3b3007815373dc280b985e3441aa9f)) |
| 566 | ROM_RELOAD( 0x18000, 0x4000) |
| 567 | ROM_LOAD("lzrd_u22.l1", 0x14000, 0x4000, CRC(4e782eba) SHA1(b44ab499128300175bdb57f07ffe2992c82e47e4)) |
| 568 | ROM_RELOAD( 0x10000, 0x4000) |
| 569 | |
| 570 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 571 | ROM_LOAD("lzrd_u4.l1", 0x8000, 0x8000, CRC(4baafc11) SHA1(3507f5f37e02688fa56cf5bb303eaccdcedede06)) |
| 80 | 572 | ROM_END |
| 81 | 573 | |
| 82 | | /*-------------------- |
| 83 | | / High Speed 01/86 |
| 84 | | /--------------------*/ |
| 574 | /*------------------------- |
| 575 | / High Speed 01/86 (#541) |
| 576 | /--------------------------*/ |
| 85 | 577 | ROM_START(hs_l4) |
| 86 | 578 | ROM_REGION(0x10000, "maincpu", 0) |
| 87 | 579 | ROM_LOAD("hs_u26.l4", 0x4000, 0x2000, CRC(38b73830) SHA1(df89670f3df2b657dcf1f8ee08e506e54e016028)) |
| 88 | 580 | ROM_RELOAD( 0x6000, 0x2000) |
| 89 | 581 | ROM_LOAD("hs_u27.l4", 0x8000, 0x8000, CRC(24c6f7f0) SHA1(bb0058650ec0908f88b6a202df79e971b46f8594)) |
| 90 | | ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF) |
| 91 | | ROM_REGION(0x10000, "sound2", 0) |
| 92 | | ROM_LOAD("hs_u21.l2", 0x0000, 0x8000, CRC(c0580037) SHA1(675ca65a6a20f8607232c532b4d127641f77d837)) |
| 93 | | ROM_LOAD("hs_u22.l2", 0x8000, 0x8000, CRC(c03be631) SHA1(53823e0f55377a45aa181882c310dd307cf368f5)) |
| 94 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 95 | | ROM_REGION(0x30000, "sound1", 0) |
| 96 | | ROM_LOAD("hs_u4.l1", 0x00000, 0x8000, CRC(0f96e094) SHA1(58650705a02a71ced85f5c2a243722a35282cbf7)) |
| 97 | | ROM_RELOAD(0x00000+0x8000, 0x8000) |
| 582 | |
| 583 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 584 | ROM_LOAD("hs_u21.l2", 0x18000, 0x8000, CRC(c0580037) SHA1(675ca65a6a20f8607232c532b4d127641f77d837)) |
| 585 | ROM_LOAD("hs_u22.l2", 0x10000, 0x8000, CRC(c03be631) SHA1(53823e0f55377a45aa181882c310dd307cf368f5)) |
| 586 | |
| 587 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 588 | ROM_LOAD("hs_u4.l1", 0x8000, 0x8000, CRC(0f96e094) SHA1(58650705a02a71ced85f5c2a243722a35282cbf7)) |
| 98 | 589 | ROM_END |
| 99 | 590 | |
| 100 | 591 | ROM_START(hs_l3) |
| r18855 | r18856 | |
| 102 | 593 | ROM_LOAD("u26-l3.rom", 0x4000, 0x2000, CRC(fd587959) SHA1(20fe6d7bd617b1fa886362ce520393a25be9a632)) |
| 103 | 594 | ROM_RELOAD( 0x6000, 0x2000) |
| 104 | 595 | ROM_LOAD("hs_u27.l4", 0x8000, 0x8000, CRC(24c6f7f0) SHA1(bb0058650ec0908f88b6a202df79e971b46f8594)) |
| 105 | | ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF) |
| 106 | | ROM_REGION(0x10000, "sound2", 0) |
| 107 | | ROM_LOAD("hs_u21.l2", 0x0000, 0x8000, CRC(c0580037) SHA1(675ca65a6a20f8607232c532b4d127641f77d837)) |
| 108 | | ROM_LOAD("hs_u22.l2", 0x8000, 0x8000, CRC(c03be631) SHA1(53823e0f55377a45aa181882c310dd307cf368f5)) |
| 109 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 110 | | ROM_REGION(0x30000, "sound1", 0) |
| 111 | | ROM_LOAD("hs_u4.l1", 0x00000, 0x8000, CRC(0f96e094) SHA1(58650705a02a71ced85f5c2a243722a35282cbf7)) |
| 112 | | ROM_RELOAD(0x00000+0x8000, 0x8000) |
| 596 | |
| 597 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 598 | ROM_LOAD("hs_u21.l2", 0x18000, 0x8000, CRC(c0580037) SHA1(675ca65a6a20f8607232c532b4d127641f77d837)) |
| 599 | ROM_LOAD("hs_u22.l2", 0x10000, 0x8000, CRC(c03be631) SHA1(53823e0f55377a45aa181882c310dd307cf368f5)) |
| 600 | |
| 601 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 602 | ROM_LOAD("hs_u4.l1", 0x8000, 0x8000, CRC(0f96e094) SHA1(58650705a02a71ced85f5c2a243722a35282cbf7)) |
| 113 | 603 | ROM_END |
| 114 | 604 | |
| 115 | | /*-------------------- |
| 116 | | / Road Kings 07/86 |
| 117 | | /--------------------*/ |
| 118 | | ROM_START(rdkng_l4) |
| 605 | /*------------------------- |
| 606 | / Road Kings 07/86 (#542) |
| 607 | /--------------------------*/ |
| 608 | ROM_START(rdkng_l5) |
| 119 | 609 | ROM_REGION(0x10000, "maincpu", 0) |
| 120 | | ROM_LOAD("road_u26.l4", 0x4000, 0x4000, CRC(4ea27d67) SHA1(cf46e8c5e417999150403d6d40adf8c36b1c0347)) |
| 121 | | ROM_LOAD("road_u27.l4", 0x8000, 0x8000, CRC(5b88e755) SHA1(6438505bb335f670e0892126764819a48eec9b88)) |
| 122 | | ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF) |
| 123 | | ROM_REGION(0x10000, "sound2", 0) |
| 124 | | ROM_LOAD("road_u21.l1", 0x0000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 125 | | ROM_LOAD("road_u22.l1", 0x8000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 126 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 127 | | ROM_REGION(0x30000, "sound1", 0) |
| 128 | | ROM_LOAD("road_u4.l1", 0x00000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 129 | | ROM_RELOAD(0x00000+0x8000, 0x8000) |
| 610 | ROM_LOAD("road_u26.l5", 0x4000, 0x4000, CRC(22bcc70e) SHA1(cf46e8c5e417999150403d6d40adf8c36b1c0347)) |
| 611 | ROM_LOAD("road_u27.l1", 0x8000, 0x8000, CRC(3dcad794) SHA1(6438505bb335f670e0892126764819a48eec9b88)) |
| 612 | |
| 613 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 614 | ROM_LOAD("road_u21.l1", 0x18000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 615 | ROM_LOAD("road_u22.l1", 0x10000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 616 | |
| 617 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 618 | ROM_LOAD("road_u4.l1", 0x8000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 130 | 619 | ROM_END |
| 131 | 620 | |
| 132 | 621 | ROM_START(rdkng_l1) |
| 133 | 622 | ROM_REGION(0x10000, "maincpu", 0) |
| 134 | 623 | ROM_LOAD("road_u26.l1", 0x4000, 0x4000, CRC(19abe96b) SHA1(d6c3b6dab328f23cc4506e4f56cd0beeb06fb3cb)) |
| 135 | 624 | ROM_LOAD("road_u27.l1", 0x8000, 0x8000, CRC(3dcad794) SHA1(0cf06f8e16d738f0bc0111e2e12351a26e2f02c6)) |
| 136 | | ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF) |
| 137 | | ROM_REGION(0x10000, "sound2", 0) |
| 138 | | ROM_LOAD("road_u21.l1", 0x0000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 139 | | ROM_LOAD("road_u22.l1", 0x8000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 140 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 141 | | ROM_REGION(0x30000, "sound1", 0) |
| 142 | | ROM_LOAD("road_u4.l1", 0x00000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 143 | | ROM_RELOAD(0x00000+0x8000, 0x8000) |
| 625 | |
| 626 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 627 | ROM_LOAD("road_u21.l1", 0x18000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 628 | ROM_LOAD("road_u22.l1", 0x10000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 629 | |
| 630 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 631 | ROM_LOAD("road_u4.l1", 0x8000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 144 | 632 | ROM_END |
| 145 | 633 | |
| 146 | 634 | ROM_START(rdkng_l2) |
| 147 | 635 | ROM_REGION(0x10000, "maincpu", 0) |
| 148 | 636 | ROM_LOAD("road_u26.l1", 0x4000, 0x4000, CRC(19abe96b) SHA1(d6c3b6dab328f23cc4506e4f56cd0beeb06fb3cb)) |
| 149 | 637 | ROM_LOAD("road_u27.l2", 0x8000, 0x8000, CRC(aff45e2b) SHA1(c52aca20639f519a940951ef04c2bd179a596b30)) |
| 150 | | ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF) |
| 151 | | ROM_REGION(0x10000, "sound2", 0) |
| 152 | | ROM_LOAD("road_u21.l1", 0x0000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 153 | | ROM_LOAD("road_u22.l1", 0x8000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 154 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 155 | | ROM_REGION(0x30000, "sound1", 0) |
| 156 | | ROM_LOAD("road_u4.l1", 0x00000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 157 | | ROM_RELOAD(0x00000+0x8000, 0x8000) |
| 638 | |
| 639 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 640 | ROM_LOAD("road_u21.l1", 0x18000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 641 | ROM_LOAD("road_u22.l1", 0x10000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 642 | |
| 643 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 644 | ROM_LOAD("road_u4.l1", 0x8000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 158 | 645 | ROM_END |
| 159 | 646 | |
| 160 | 647 | ROM_START(rdkng_l3) |
| 161 | 648 | ROM_REGION(0x10000, "maincpu", 0) |
| 162 | 649 | ROM_LOAD("road_u26.l3", 0x4000, 0x4000, CRC(9bade45d) SHA1(c1791724761cdd1d863e12b02655c5fed8936162)) |
| 163 | 650 | ROM_LOAD("road_u27.l3", 0x8000, 0x8000, CRC(97b599dc) SHA1(18524d22a75b0569bb480d847cef8047ee51f91e)) |
| 164 | | ROM_REGION(0x10000, "cpu3", ROMREGION_ERASEFF) |
| 165 | | ROM_REGION(0x10000, "sound2", 0) |
| 166 | | ROM_LOAD("road_u21.l1", 0x0000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 167 | | ROM_LOAD("road_u22.l1", 0x8000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 168 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 169 | | ROM_REGION(0x30000, "sound1", 0) |
| 170 | | ROM_LOAD("road_u4.l1", 0x00000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 171 | | ROM_RELOAD(0x00000+0x8000, 0x8000) |
| 651 | |
| 652 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 653 | ROM_LOAD("road_u21.l1", 0x18000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 654 | ROM_LOAD("road_u22.l1", 0x10000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 655 | |
| 656 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 657 | ROM_LOAD("road_u4.l1", 0x8000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 172 | 658 | ROM_END |
| 173 | 659 | |
| 174 | | /*-------------------- |
| 175 | | / Top Dawg (Shuffle) (#921) |
| 176 | | /--------------------*/ |
| 177 | | ROM_START(tdawg_l1) |
| 660 | ROM_START(rdkng_l4) |
| 178 | 661 | ROM_REGION(0x10000, "maincpu", 0) |
| 179 | | ROM_LOAD("tdu27r1.128", 0x8000, 0x4000, CRC(0b4bb586) SHA1(a927ebf7167609cc84b38c22aa35d0c4d259dd8b)) |
| 180 | | ROM_RELOAD( 0xc000, 0x4000) |
| 181 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 182 | | ROM_REGION(0x10000, "sound2", 0) |
| 183 | | ROM_LOAD("tdsu21r1.256", 0x0000, 0x8000, CRC(6a323227) SHA1(7c7263754e5672c654a2ee9582f0b278e637a909)) |
| 184 | | ROM_LOAD("tdsu22r1.256", 0x8000, 0x8000, CRC(58407eb4) SHA1(6bd9b304c88d9470eae5afb6621187f4a8313573)) |
| 185 | | ROM_END |
| 662 | ROM_LOAD("road_u26.l4", 0x4000, 0x4000, CRC(4ea27d67) SHA1(cf46e8c5e417999150403d6d40adf8c36b1c0347)) |
| 663 | ROM_LOAD("road_u27.l4", 0x8000, 0x8000, CRC(5b88e755) SHA1(6438505bb335f670e0892126764819a48eec9b88)) |
| 186 | 664 | |
| 187 | | /*-------------------- |
| 188 | | / Shuffle Inn (Shuffle) (#922) |
| 189 | | /--------------------*/ |
| 190 | | ROM_START(shfin_l1) |
| 191 | | ROM_REGION(0x10000, "maincpu", 0) |
| 192 | | ROM_LOAD("u27rom-1.rv1", 0x8000, 0x4000, CRC(40cfb74a) SHA1(8cee4212ea8bb6b360060391df3208e1e129d7e5)) |
| 193 | | ROM_RELOAD( 0xc000, 0x4000) |
| 194 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 195 | | ROM_REGION(0x10000, "sound2", 0) |
| 196 | | ROM_LOAD("u21snd-2.rv1", 0x0000, 0x8000, CRC(80ddce05) SHA1(9498260e5ccd2fe0eb03ff321dd34eb945b0213a)) |
| 197 | | ROM_LOAD("u22snd-2.rv1", 0x8000, 0x8000, CRC(6894abaf) SHA1(2d661765fbfce33a73a20778c41233c0bd9933e9)) |
| 665 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 666 | ROM_LOAD("road_u21.l1", 0x18000, 0x8000, CRC(f34efbf4) SHA1(cb5ffe9818994f4681e3492a5cd46f410d2e5353)) |
| 667 | ROM_LOAD("road_u22.l1", 0x10000, 0x8000, CRC(a9803804) SHA1(a400d4621c3f7a6e47546b2f33dc4920183a5a74)) |
| 668 | |
| 669 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 670 | ROM_LOAD("road_u4.l1", 0x8000, 0x8000, CRC(4395b48f) SHA1(2325ce6ba7f6f92f884c302e6f053c31229dc774)) |
| 198 | 671 | ROM_END |
| 199 | 672 | |
| 673 | |
| 674 | /************************ From here, not pinball machines **************************************/ |
| 675 | |
| 200 | 676 | /*-------------------- |
| 201 | 677 | / Tic-Tac-Strike (#919) |
| 202 | 678 | /--------------------*/ |
| r18855 | r18856 | |
| 204 | 680 | ROM_REGION(0x10000, "maincpu", 0) |
| 205 | 681 | ROM_LOAD("u27_l2.128", 0x8000, 0x4000, CRC(edbcab92) SHA1(0f6b2dc01874984f9a17ee873f2fa0b6c9bba5be)) |
| 206 | 682 | ROM_RELOAD( 0xc000, 0x4000) |
| 207 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 208 | | ROM_REGION(0x10000, "sound2", 0) |
| 209 | | ROM_LOAD("tts_u21.256", 0x0000, 0x8000, NO_DUMP) |
| 210 | | ROM_LOAD("tts_u22.256", 0x8000, 0x8000, NO_DUMP) |
| 683 | |
| 684 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 685 | ROM_LOAD("tts_u21.256", 0x18000, 0x8000, NO_DUMP) |
| 686 | ROM_LOAD("tts_u22.256", 0x10000, 0x8000, NO_DUMP) |
| 687 | |
| 688 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 211 | 689 | ROM_END |
| 212 | 690 | |
| 213 | 691 | ROM_START(tts_l1) |
| 214 | 692 | ROM_REGION(0x10000, "maincpu", 0) |
| 215 | 693 | ROM_LOAD("tts_u27.128", 0x8000, 0x4000, CRC(f540c53c) SHA1(1c7a318278ad1afdcbe6aaf81f9b774882b069d6)) |
| 216 | 694 | ROM_RELOAD( 0xc000, 0x4000) |
| 217 | | ROM_REGION(0x10000, "cpu2", ROMREGION_ERASEFF) |
| 218 | | ROM_REGION(0x10000, "sound2", 0) |
| 219 | | ROM_LOAD("tts_u21.256", 0x0000, 0x8000, NO_DUMP) |
| 220 | | ROM_LOAD("tts_u22.256", 0x8000, 0x8000, NO_DUMP) |
| 695 | |
| 696 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 697 | ROM_LOAD("tts_u21.256", 0x18000, 0x8000, NO_DUMP) |
| 698 | ROM_LOAD("tts_u22.256", 0x10000, 0x8000, NO_DUMP) |
| 699 | |
| 700 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 221 | 701 | ROM_END |
| 222 | 702 | |
| 223 | | GAME(1987, gmine_l2, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Gold Mine (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL) |
| 224 | | GAME(1986, grand_l4, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Grand Lizard (L-4)", GAME_IS_SKELETON_MECHANICAL) |
| 225 | | GAME(1986, hs_l4, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "High Speed (L-4)", GAME_IS_SKELETON_MECHANICAL) |
| 226 | | GAME(1986, hs_l3, hs_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "High Speed (L-3)", GAME_IS_SKELETON_MECHANICAL) |
| 227 | | GAME(1986, rdkng_l4, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-4)", GAME_IS_SKELETON_MECHANICAL) |
| 228 | | GAME(1986, rdkng_l1, rdkng_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-1)", GAME_IS_SKELETON_MECHANICAL) |
| 229 | | GAME(1986, rdkng_l2, rdkng_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-2)", GAME_IS_SKELETON_MECHANICAL) |
| 230 | | GAME(1986, rdkng_l3, rdkng_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-3)", GAME_IS_SKELETON_MECHANICAL) |
| 231 | | GAME(1987, tdawg_l1, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Top Dawg (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL) |
| 232 | | GAME(1987, shfin_l1, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Shuffle Inn (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL) |
| 233 | | GAME(1986, tts_l2, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL) |
| 234 | | GAME(1986, tts_l1, tts_l2, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL) |
| 703 | /*------------------------------- |
| 704 | / Gold Mine (Shuffle) (#920) s11b |
| 705 | /--------------------------------*/ |
| 706 | ROM_START(gmine_l2) |
| 707 | ROM_REGION(0x10000, "maincpu", 0) |
| 708 | ROM_LOAD("u27.128", 0x8000, 0x4000, CRC(99c6e049) SHA1(356faec0598a54892050a28857e9eb5cdbf35833)) |
| 709 | ROM_RELOAD( 0xc000, 0x4000) |
| 710 | |
| 711 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 712 | ROM_LOAD("u21.256", 0x18000, 0x8000, CRC(3b801570) SHA1(50b50ff826dcb031a30940fa3099bd3a8d773831)) |
| 713 | ROM_LOAD("u22.256", 0x10000, 0x8000, CRC(08352101) SHA1(a7437847a71cf037a80686292f9616b1e08922df)) |
| 714 | |
| 715 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 716 | ROM_END |
| 717 | |
| 718 | /*------------------------- |
| 719 | / Top Dawg (Shuffle) (#921) |
| 720 | /--------------------------*/ |
| 721 | ROM_START(tdawg_l1) |
| 722 | ROM_REGION(0x10000, "maincpu", 0) |
| 723 | ROM_LOAD("tdu27r1.128", 0x8000, 0x4000, CRC(0b4bb586) SHA1(a927ebf7167609cc84b38c22aa35d0c4d259dd8b)) |
| 724 | ROM_RELOAD( 0xc000, 0x4000) |
| 725 | |
| 726 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 727 | ROM_LOAD("tdsu21r1.256", 0x18000, 0x8000, CRC(6a323227) SHA1(7c7263754e5672c654a2ee9582f0b278e637a909)) |
| 728 | ROM_LOAD("tdsu22r1.256", 0x10000, 0x8000, CRC(58407eb4) SHA1(6bd9b304c88d9470eae5afb6621187f4a8313573)) |
| 729 | |
| 730 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 731 | ROM_END |
| 732 | |
| 733 | /*---------------------------- |
| 734 | / Shuffle Inn (Shuffle) (#922) |
| 735 | /-----------------------------*/ |
| 736 | ROM_START(shfin_l1) |
| 737 | ROM_REGION(0x10000, "maincpu", 0) |
| 738 | ROM_LOAD("u27rom-1.rv1", 0x8000, 0x4000, CRC(40cfb74a) SHA1(8cee4212ea8bb6b360060391df3208e1e129d7e5)) |
| 739 | ROM_RELOAD( 0xc000, 0x4000) |
| 740 | |
| 741 | ROM_REGION(0x20000, "audiocpu", ROMREGION_ERASEFF) |
| 742 | ROM_LOAD("u21snd-2.rv1", 0x18000, 0x8000, CRC(80ddce05) SHA1(9498260e5ccd2fe0eb03ff321dd34eb945b0213a)) |
| 743 | ROM_LOAD("u22snd-2.rv1", 0x10000, 0x8000, CRC(6894abaf) SHA1(2d661765fbfce33a73a20778c41233c0bd9933e9)) |
| 744 | |
| 745 | ROM_REGION(0x10000, "bgcpu", ROMREGION_ERASEFF) |
| 746 | ROM_END |
| 747 | |
| 748 | GAME( 1986, grand_l4, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Grand Lizard (L-4)", GAME_IS_SKELETON_MECHANICAL) |
| 749 | GAME( 1986, hs_l4, 0, s11, s11, s11_state, s11, ROT0, "Williams", "High Speed (L-4)", GAME_IS_SKELETON_MECHANICAL) |
| 750 | GAME( 1986, hs_l3, hs_l4, s11, s11, s11_state, s11, ROT0, "Williams", "High Speed (L-3)", GAME_IS_SKELETON_MECHANICAL) |
| 751 | GAME( 1986, rdkng_l5, rdkng_l4, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-5)", GAME_IS_SKELETON_MECHANICAL) |
| 752 | GAME( 1986, rdkng_l4, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-4)", GAME_IS_SKELETON_MECHANICAL) |
| 753 | GAME( 1986, rdkng_l1, rdkng_l4, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-1)", GAME_IS_SKELETON_MECHANICAL) |
| 754 | GAME( 1986, rdkng_l2, rdkng_l4, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-2)", GAME_IS_SKELETON_MECHANICAL) |
| 755 | GAME( 1986, rdkng_l3, rdkng_l4, s11, s11, s11_state, s11, ROT0, "Williams", "Road Kings (L-3)", GAME_IS_SKELETON_MECHANICAL) |
| 756 | GAME( 1986, tts_l2, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL) |
| 757 | GAME( 1986, tts_l1, tts_l2, s11, s11, s11_state, s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL) |
| 758 | GAME( 1987, gmine_l2, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Gold Mine (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL) |
| 759 | GAME( 1987, tdawg_l1, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Top Dawg (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL) |
| 760 | GAME( 1987, shfin_l1, 0, s11, s11, s11_state, s11, ROT0, "Williams", "Shuffle Inn (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL) |