Previous 199869 Revisions Next

r18794 Wednesday 31st October, 2012 at 12:30:01 UTC by Robbbert
Williams s6a : sound improved; algar inputs working; fixed display.
Williams s7 : sound improvements; moved Rat Race to s9.
[src/mame/drivers]s6a.c s7.c s9.c
[src/mame/layout]s6a.lay

trunk/src/mame/layout/s6a.lay
r18793r18794
66
77   <element name="digit" defstate="0">
88      <led7seg>
9         <color red="1.0" green="0.25" blue="0.0" />
9         <color red="1.0" green="0.0" blue="0.0" />
1010      </led7seg>
1111   </element>
12   <element name="red_led">
13      <disk><color red="1.0" green="0.0" blue="0.0" /></disk>
12   <element name="diag" defstate="0">
13      <led7seg>
14         <color red="1.0" green="0.0" blue="1.0" />
15      </led7seg>
1416   </element>
1517   <element name="background">
1618      <rect>
r18793r18794
2931
3032      <!-- Background -->
3133      <backdrop element="background">
32         <bounds left="0" top="20" right="274" bottom="394" />
34         <bounds left="0" top="20" right="318" bottom="394" />
3335      </backdrop>
3436
3537      <!-- LEDs -->
3638
3739      <!-- Player 1 Score -->
3840
39      <bezel name="digit0" element="digit">
41      <bezel name="digit1" element="digit">
4042         <bounds left="10" top="45" right="44" bottom="84" />
4143      </bezel>
42      <bezel name="digit1" element="digit">
44      <bezel name="digit2" element="digit">
4345         <bounds left="54" top="45" right="88" bottom="84" />
4446      </bezel>
45      <bezel name="digit2" element="digit">
47      <bezel name="digit3" element="digit">
4648         <bounds left="98" top="45" right="132" bottom="84" />
4749      </bezel>
48      <bezel name="digit3" element="digit">
50      <bezel name="digit4" element="digit">
4951         <bounds left="142" top="45" right="176" bottom="84" />
5052      </bezel>
51      <bezel name="digit4" element="digit">
53      <bezel name="digit5" element="digit">
5254         <bounds left="186" top="45" right="220" bottom="84" />
5355      </bezel>
54      <bezel name="digit5" element="digit">
56      <bezel name="digit6" element="digit">
5557         <bounds left="230" top="45" right="264" bottom="84" />
5658      </bezel>
59      <bezel name="digit7" element="digit">
60         <bounds left="274" top="45" right="308" bottom="84" />
61      </bezel>
5762
5863      <!-- Player 2 Score -->
59      <bezel name="digit8" element="digit">
64      <bezel name="digit9" element="digit">
6065         <bounds left="10" top="105" right="44" bottom="144" />
6166      </bezel>
62      <bezel name="digit9" element="digit">
67      <bezel name="digit10" element="digit">
6368         <bounds left="54" top="105" right="88" bottom="144" />
6469      </bezel>
65      <bezel name="digit10" element="digit">
70      <bezel name="digit11" element="digit">
6671         <bounds left="98" top="105" right="132" bottom="144" />
6772      </bezel>
68      <bezel name="digit11" element="digit">
73      <bezel name="digit12" element="digit">
6974         <bounds left="142" top="105" right="176" bottom="144" />
7075      </bezel>
71      <bezel name="digit12" element="digit">
76      <bezel name="digit13" element="digit">
7277         <bounds left="186" top="105" right="220" bottom="144" />
7378      </bezel>
74      <bezel name="digit13" element="digit">
79      <bezel name="digit14" element="digit">
7580         <bounds left="230" top="105" right="264" bottom="144" />
7681      </bezel>
82      <bezel name="digit15" element="digit">
83         <bounds left="274" top="105" right="308" bottom="144" />
84      </bezel>
7785
7886      <!-- Player 3 Score -->
79      <bezel name="digit16" element="digit">
87      <bezel name="digit17" element="digit">
8088         <bounds left="10" top="165" right="44" bottom="204" />
8189      </bezel>
82      <bezel name="digit17" element="digit">
90      <bezel name="digit18" element="digit">
8391         <bounds left="54" top="165" right="88" bottom="204" />
8492      </bezel>
85      <bezel name="digit18" element="digit">
93      <bezel name="digit19" element="digit">
8694         <bounds left="98" top="165" right="132" bottom="204" />
8795      </bezel>
88      <bezel name="digit19" element="digit">
96      <bezel name="digit20" element="digit">
8997         <bounds left="142" top="165" right="176" bottom="204" />
9098      </bezel>
91      <bezel name="digit20" element="digit">
99      <bezel name="digit21" element="digit">
92100         <bounds left="186" top="165" right="220" bottom="204" />
93101      </bezel>
94      <bezel name="digit21" element="digit">
102      <bezel name="digit22" element="digit">
95103         <bounds left="230" top="165" right="264" bottom="204" />
96104      </bezel>
105      <bezel name="digit23" element="digit">
106         <bounds left="274" top="165" right="308" bottom="204" />
107      </bezel>
97108
98109      <!-- Player 4 Score -->
99      <bezel name="digit24" element="digit">
110      <bezel name="digit25" element="digit">
100111         <bounds left="10" top="225" right="44" bottom="264" />
101112      </bezel>
102      <bezel name="digit25" element="digit">
113      <bezel name="digit26" element="digit">
103114         <bounds left="54" top="225" right="88" bottom="264" />
104115      </bezel>
105      <bezel name="digit26" element="digit">
116      <bezel name="digit27" element="digit">
106117         <bounds left="98" top="225" right="132" bottom="264" />
107118      </bezel>
108      <bezel name="digit27" element="digit">
119      <bezel name="digit28" element="digit">
109120         <bounds left="142" top="225" right="176" bottom="264" />
110121      </bezel>
111      <bezel name="digit28" element="digit">
122      <bezel name="digit29" element="digit">
112123         <bounds left="186" top="225" right="220" bottom="264" />
113124      </bezel>
114      <bezel name="digit29" element="digit">
125      <bezel name="digit30" element="digit">
115126         <bounds left="230" top="225" right="264" bottom="264" />
116127      </bezel>
128      <bezel name="digit31" element="digit">
129         <bounds left="274" top="225" right="308" bottom="264" />
130      </bezel>
117131
118132      <!-- Credits and Balls -->
119      <bezel name="digit14" element="digit">
133      <bezel name="digit16" element="digit">
120134         <bounds left="10" top="345" right="44" bottom="384" />
121135      </bezel>
122      <bezel name="digit15" element="digit">
136      <bezel name="digit24" element="digit">
123137         <bounds left="54" top="345" right="88" bottom="384" />
124138      </bezel>
125      <bezel name="digit8" element="digit">
139      <bezel name="digit60" element="diag">
140         <bounds left="142" top="345" right="176" bottom="384" />
141      </bezel>
142      <bezel name="digit0" element="digit">
126143         <bounds left="186" top="345" right="220" bottom="384" />
127144      </bezel>
128      <bezel name="digit7" element="digit">
145      <bezel name="digit8" element="digit">
129146         <bounds left="230" top="345" right="264" bottom="384" />
130147      </bezel>
131148      <bezel element="P0"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
132149      <bezel element="P1"><bounds left="30" right="88" top="330" bottom="342" /></bezel>
133      <bezel name="text3" element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel>
134      <bezel name="text2" element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel>
135      <bezel name="text1" element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel>
136      <bezel name="text0" element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel>
137      <bezel name="led0" element="red_led">
138         <bounds left="110" right="125" top="360" bottom="375" /></bezel>
139      <bezel name="led1" element="red_led">
140         <bounds left="144" right="159" top="360" bottom="375" /></bezel>
150      <bezel element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel>
151      <bezel element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel>
152      <bezel element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel>
153      <bezel element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel>
141154   </view>
142155</mamelayout>
trunk/src/mame/drivers/s7.c
r18793r18794
4444   DECLARE_WRITE8_MEMBER(lamp1_w) { };
4545   DECLARE_WRITE8_MEMBER(sol0_w) { };
4646   DECLARE_WRITE8_MEMBER(sol1_w) { };
47   DECLARE_WRITE8_MEMBER(sol2_w) { };
47   DECLARE_WRITE8_MEMBER(sol2_w);
4848   DECLARE_WRITE8_MEMBER(sol3_w);
4949   DECLARE_WRITE8_MEMBER(sound_w);
5050   DECLARE_READ8_MEMBER(dips_r);
r18793r18794
5656   DECLARE_READ_LINE_MEMBER(pia28_cb1_r);
5757   DECLARE_WRITE_LINE_MEMBER(pia_ca2_w);
5858   DECLARE_WRITE_LINE_MEMBER(pia_cb2_w);
59   DECLARE_WRITE_LINE_MEMBER(pia21_ca2_w);
59   DECLARE_WRITE_LINE_MEMBER(pia21_ca2_w) { };
6060   DECLARE_WRITE_LINE_MEMBER(pia21_cb2_w) { }; // enable solenoids
6161   DECLARE_WRITE_LINE_MEMBER(pia22_ca2_w) { }; //ST5
6262   DECLARE_WRITE_LINE_MEMBER(pia22_cb2_w) { }; //ST-solenoids enable
r18793r18794
8888   UINT8 m_sound_data;
8989   UINT8 m_strobe;
9090   UINT8 m_kbdrow;
91   bool m_ca1;
91   bool m_cb1;
9292   bool m_data_ok;
9393};
9494
r18793r18794
106106
107107static ADDRESS_MAP_START( s7_audio_map, AS_PROGRAM, 8, s7_state )
108108   AM_RANGE(0x0000, 0x00ff) AM_RAM
109   AM_RANGE(0x0400, 0x0403) AM_DEVREADWRITE("pia", pia6821_device, read, write)
110   AM_RANGE(0x8000, 0xffff) AM_ROM
109   AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pia", pia6821_device, read, write)
110   AM_RANGE(0xA000, 0xffff) AM_ROM
111111ADDRESS_MAP_END
112112
113113static INPUT_PORTS_START( s7 )
r18793r18794
185185   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Main Diag") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, s7_state, main_nmi, 1)
186186   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Advance") PORT_CODE(KEYCODE_0)
187187   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Up/Down") PORT_CODE(KEYCODE_9)
188
189   PORT_START("DSW0")
190   PORT_DIPNAME( 0x01, 0x01, "SW01" )
191   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
192   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
193   PORT_DIPNAME( 0x02, 0x02, "SW02" )
194   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
195   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
196   PORT_DIPNAME( 0x04, 0x04, "SW03" )
197   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
198   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
199   PORT_DIPNAME( 0x08, 0x08, "SW04" )
200   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
201   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
202   PORT_DIPNAME( 0x10, 0x10, "SW05" )
203   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
204   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
205   PORT_DIPNAME( 0x20, 0x20, "SW06" )
206   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
207   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
208   PORT_DIPNAME( 0x40, 0x40, "SW07" )
209   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
210   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
211   PORT_DIPNAME( 0x80, 0x80, "SW08" )
212   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
213   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
214
215   PORT_START("DSW1")
216   PORT_DIPNAME( 0x01, 0x01, "SW11" )
217   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
218   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
219   PORT_DIPNAME( 0x02, 0x02, "SW12" )
220   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
221   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
222   PORT_DIPNAME( 0x04, 0x04, "SW13" )
223   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
224   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
225   PORT_DIPNAME( 0x08, 0x08, "SW14" )
226   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
227   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
228   PORT_DIPNAME( 0x10, 0x10, "SW15" )
229   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
230   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
231   PORT_DIPNAME( 0x20, 0x20, "SW16" )
232   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
233   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
234   PORT_DIPNAME( 0x40, 0x40, "SW17" )
235   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
236   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
237   PORT_DIPNAME( 0x80, 0x80, "SW18" )
238   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
239   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
188240INPUT_PORTS_END
189241
190242MACHINE_RESET_MEMBER( s7_state, s7 )
191243{
192244   m_t_c = 0;
193245   // reset the IRQ state
194   m_pia->ca1_w(1);
246   m_pia->cb1_w(1);
195247}
196248
197249INPUT_CHANGED_MEMBER( s7_state::main_nmi )
r18793r18794
208260      m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
209261}
210262
263WRITE8_MEMBER( s7_state::sol2_w )
264{
265   m_pia21->ca1_w(BIT(data, 5));
266}
267
211268WRITE8_MEMBER( s7_state::sol3_w )
212269{
213270//  if (BIT(data, 1))
r18793r18794
217274WRITE8_MEMBER( s7_state::sound_w )
218275{
219276   m_sound_data = data;
277   m_cb1 = ((m_sound_data & 0x8f) != 0x8f);
278   m_pia->cb1_w(m_cb1);
220279}
221280
222READ_LINE_MEMBER( s7_state::pia21_ca1_r )
223{
224// sound busy
225   return 1;
226}
227
228WRITE_LINE_MEMBER( s7_state::pia21_ca2_w )
229{
230// sound ns
231   m_ca1 = state;
232   m_pia->ca1_w(m_ca1);
233}
234
235281static const pia6821_interface pia21_intf =
236282{
237283   DEVCB_DRIVER_MEMBER(s7_state, dac_r),      /* port A in */
238284   DEVCB_NULL,      /* port B in */
239   DEVCB_DRIVER_LINE_MEMBER(s7_state, pia21_ca1_r),      /* line CA1 in */
285   DEVCB_NULL,      /* line CA1 in */
240286   DEVCB_LINE_GND,      /* line CB1 in */
241   DEVCB_NULL,      /* line CA2 in */
287   DEVCB_LINE_VCC,      /* line CA2 in */
242288   DEVCB_NULL,      /* line CB2 in */
243289   DEVCB_DRIVER_MEMBER(s7_state, sound_w),      /* port A out */
244290   DEVCB_DRIVER_MEMBER(s7_state, sol2_w),      /* port B out */
r18793r18794
298344WRITE8_MEMBER( s7_state::dig0_w )
299345{
300346   static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7447
301   data &= 0x7f;
302347   m_strobe = data & 15;
303348   m_data_ok = true;
304349   output_set_digit_value(60, patterns[data>>4]); // diag digit
r18793r18794
315360   m_data_ok = false;
316361}
317362
363READ8_MEMBER( s7_state::dips_r )
364{
365   if (BIT(ioport("DIAGS")->read(), 4) )
366   {
367      switch (m_strobe)
368      {
369      case 0:
370         return ioport("DSW0")->read() & 15;
371         break;
372      case 1:
373         return ioport("DSW0")->read() << 4;
374         break;
375      case 2:
376         return ioport("DSW1")->read() & 15;
377         break;
378      case 3:
379         return ioport("DSW1")->read() << 4;
380         break;
381      }
382   }
383   return 0xff;
384}
385
318386static const pia6821_interface pia28_intf =
319387{
320   DEVCB_NULL,      /* port A in */
388   DEVCB_DRIVER_MEMBER(s7_state, dips_r),      /* port A in */
321389   DEVCB_NULL,      /* port B in */
322390   DEVCB_DRIVER_LINE_MEMBER(s7_state, pia28_ca1_r),      /* line CA1 in */
323391   DEVCB_DRIVER_LINE_MEMBER(s7_state, pia28_cb1_r),      /* line CB1 in */
r18793r18794
359427   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE)      /* IRQB */
360428};
361429
362READ_LINE_MEMBER( s7_state::pia_ca1_r )
430WRITE_LINE_MEMBER( s7_state::pia_cb2_w )
363431{
364   return m_ca1;
365}
366
367WRITE_LINE_MEMBER( s7_state::pia_ca2_w )
368{
369432// speech clock
370433   hc55516_clock_w(m_hc55516, state);
371434}
372435
373WRITE_LINE_MEMBER( s7_state::pia_cb2_w )
436WRITE_LINE_MEMBER( s7_state::pia_ca2_w )
374437{
375438// speech data
376439   hc55516_digit_w(m_hc55516, state);
r18793r18794
388451
389452static const pia6821_interface pia_intf =
390453{
391   DEVCB_DRIVER_MEMBER(s7_state, dac_r),      /* port A in */
392   DEVCB_NULL,      /* port B in */
393   DEVCB_DRIVER_LINE_MEMBER(s7_state, pia_ca1_r),      /* line CA1 in */
454   DEVCB_NULL,      /* port A in */
455   DEVCB_DRIVER_MEMBER(s7_state, dac_r),      /* port B in */
456   DEVCB_LINE_VCC,      /* line CA1 in */
394457   DEVCB_LINE_GND,      /* line CB1 in */
395458   DEVCB_NULL,      /* line CA2 in */
396459   DEVCB_NULL,      /* line CB2 in */
397   DEVCB_DRIVER_MEMBER(s7_state, sound_w),      /* port A out */
398   DEVCB_DRIVER_MEMBER(s7_state, dac_w),      /* port B out */
460   DEVCB_DRIVER_MEMBER(s7_state, dac_w),      /* port A out */
461   DEVCB_NULL,      /* port B out */
399462   DEVCB_DRIVER_LINE_MEMBER(s7_state, pia_ca2_w),      /* line CA2 out */
400463   DEVCB_DRIVER_LINE_MEMBER(s7_state, pia_cb2_w),      /* line CB2 out */
401464   DEVCB_CPU_INPUT_LINE("audiocpu", M6800_IRQ_LINE),      /* IRQA */
r18793r18794
445508
446509
447510/*----------------------------
448/ Barracora- Sys.7 (Game #510)
449/----------------------------*/
450ROM_START(barra_l1)
451   ROM_REGION(0x10000, "maincpu", 0)
452   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(522e944e) SHA1(0fa17b7912f8129e40de5fed8c3ccccc0a2a9366) )
453   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
454   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
455   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(2a0e0171) SHA1(f1f2d4c1baed698d3b7cf2e88a2c28056e859920) )
456
457   ROM_REGION(0x10000, "audiocpu", 0)
458   ROM_LOAD("sound4.716", 0x7800, 0x0800, CRC(67ea12e7) SHA1(f81e97183442736d5766a7e5e074bc6539e8ced0))
459   ROM_RELOAD( 0xf800, 0x0800)
460ROM_END
461
462/*----------------------------
463511/ Black Knight - Sys.7 (Game #500)
464512/----------------------------*/
465513ROM_START(bk_l4)
466514   ROM_REGION(0x10000, "maincpu", 0)
515   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(104b78da) SHA1(c3af2563b3b380fe0e154b737799f6beacf8998c) )
467516   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(fcbe3d44) SHA1(92ec4d41beea205ba29530624b68dd1139053535) )
468   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
469517   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
470   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(104b78da) SHA1(c3af2563b3b380fe0e154b737799f6beacf8998c) )
518   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
471519
472520   ROM_REGION(0x10000, "audiocpu", 0)
473521   ROM_LOAD("speech7.532", 0xb000, 0x1000, CRC(c7e229bf) SHA1(3b2ab41031f507963af828639f1690dc350737af))
r18793r18794
494542
495543ROM_START(bk_l3)
496544   ROM_REGION(0x10000, "maincpu", 0)
497   ROM_LOAD("bkl3_14.bin", 0xe000, 0x0800, CRC(74c37e4f) SHA1(8946b110901d0660676fba0c204aa2bc78223508) )
498   ROM_RELOAD( 0x6000, 0x0800)
499   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
500   ROM_RELOAD( 0x7000, 0x1000)
501   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
502   ROM_RELOAD( 0x6800, 0x0800)
503   ROM_LOAD("bkl3_26.bin", 0xd800, 0x0800, CRC(6acc34a0) SHA1(3adad61d27e6416630f96554687bb66d3016166a) )
504   ROM_RELOAD( 0x5800, 0x0800)
545   ROM_LOAD("bkl3_26.bin", 0x5800, 0x0800, CRC(6acc34a0) SHA1(3adad61d27e6416630f96554687bb66d3016166a) )
546   ROM_LOAD("bkl3_14.bin", 0x6000, 0x0800, CRC(74c37e4f) SHA1(8946b110901d0660676fba0c204aa2bc78223508) )
547   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
548   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
549
505550   ROM_REGION(0x10000, "audiocpu", 0)
506   ROM_LOAD("sound12.716", 0x7800, 0x0800, CRC(6d454c0e) SHA1(21640b9ed3bdbae8bf27629891f355304e467c64))
507   ROM_RELOAD( 0xf800, 0x0800)
508   ROM_LOAD("speech7.532", 0x3000, 0x1000, CRC(c7e229bf) SHA1(3b2ab41031f507963af828639f1690dc350737af))
509   ROM_RELOAD( 0xb000, 0x1000)
510   ROM_LOAD("speech5.532", 0x4000, 0x1000, CRC(411bc92f) SHA1(6c8d26fd13ed5eeba5cc40886d39c65a64beb377))
511   ROM_RELOAD( 0xc000, 0x1000)
512   ROM_LOAD("speech6.532", 0x5000, 0x1000, CRC(fc985005) SHA1(9df4ad12cf98a5a92b8f933e6b6788a292c8776b))
513   ROM_RELOAD( 0xd000, 0x1000)
514   ROM_LOAD("speech4.532", 0x6000, 0x1000, CRC(f36f12e5) SHA1(24fb192ad029cd35c08f4899b76d527776a4895b))
515   ROM_RELOAD( 0xe000, 0x1000)
551   ROM_LOAD("speech7.532", 0xb000, 0x1000, CRC(c7e229bf) SHA1(3b2ab41031f507963af828639f1690dc350737af))
552   ROM_LOAD("speech5.532", 0xc000, 0x1000, CRC(411bc92f) SHA1(6c8d26fd13ed5eeba5cc40886d39c65a64beb377))
553   ROM_LOAD("speech6.532", 0xd000, 0x1000, CRC(fc985005) SHA1(9df4ad12cf98a5a92b8f933e6b6788a292c8776b))
554   ROM_LOAD("speech4.532", 0xe000, 0x1000, CRC(f36f12e5) SHA1(24fb192ad029cd35c08f4899b76d527776a4895b))
555   ROM_LOAD("sound12.716", 0xf800, 0x0800, CRC(6d454c0e) SHA1(21640b9ed3bdbae8bf27629891f355304e467c64))
516556ROM_END
517557
518558/*-----------------------------------
r18793r18794
520560/-----------------------------------*/
521561ROM_START(csmic_l1)
522562   ROM_REGION(0x10000, "maincpu", 0)
523   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(ac66c0dc) SHA1(9e2ac0e956008c2d56ffd564c983e127bc4af7ae) )
524   ROM_RELOAD( 0x6000, 0x0800)
525   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
526   ROM_RELOAD( 0x7000, 0x1000)
527   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
528   ROM_RELOAD( 0x6800, 0x0800)
529   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(a259eba0) SHA1(0c5acae3beacb8abb0160dd8a580d3514ca557fe) )
530   ROM_RELOAD( 0x5800, 0x0800)
531   ROM_REGION(0x10000, "audiocpu", 0)
532   ROM_LOAD("sound12.716", 0x7800, 0x0800, CRC(af41737b) SHA1(8be4e7cebe5a821e859550c0350f0fc9cc00b2a9))
533   ROM_RELOAD( 0xf800, 0x0800)
534ROM_END
563   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(a259eba0) SHA1(0c5acae3beacb8abb0160dd8a580d3514ca557fe) )
564   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(ac66c0dc) SHA1(9e2ac0e956008c2d56ffd564c983e127bc4af7ae) )
565   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
566   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
535567
536 /*----------------------------
537/ Defender - Sys.7 (Game #517)
538/----------------------------*/
539// Multiplex solenoid requires custom solenoid handler.
540ROM_START(dfndr_l4)
541   ROM_REGION(0x10000, "maincpu", 0)
542   ROM_LOAD("ic20.532", 0xd000, 0x1000, CRC(e99e64a2) SHA1(a6cde9cb771063778cae706c740b73ce9bce9aa5))
543   ROM_RELOAD( 0x5000, 0x1000)
544   ROM_LOAD("ic14.532", 0xe000, 0x1000, CRC(959ec419) SHA1(f400d3a1feba0e149d24f4e1a8d240fe900b3f0b))
545   ROM_RELOAD( 0x6000, 0x1000)
546   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165))
547   ROM_RELOAD( 0x7000, 0x1000)
548568   ROM_REGION(0x10000, "audiocpu", 0)
549   ROM_LOAD("sound12.716", 0x7800, 0x0800, CRC(cabaec58) SHA1(9605a1c299ed109a4ebcfa7ed6985ecc815c9e0c))
550   ROM_RELOAD( 0xf800, 0x0800)
569   ROM_LOAD("sound12.716", 0xf800, 0x0800, CRC(af41737b) SHA1(8be4e7cebe5a821e859550c0350f0fc9cc00b2a9))
551570ROM_END
552571
553
554572/*--------------------------------
555/ Firepower II- Sys.7 (Game #521)
556/-------------------------------*/
557ROM_START(fpwr2_l2)
558   ROM_REGION(0x10000, "maincpu", 0)
559   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(a29688dd) SHA1(83815154bbaf51dd789112664d772a876efee3da) )
560   ROM_RELOAD( 0x6000, 0x0800)
561   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
562   ROM_RELOAD( 0x7000, 0x1000)
563   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
564   ROM_RELOAD( 0x6800, 0x0800)
565   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(1068939d) SHA1(f15c3a149bafee6d74e359399de88fd122b93441) )
566   ROM_RELOAD( 0x5800, 0x0800)
567   ROM_REGION(0x10000, "audiocpu", 0)
568   ROM_LOAD("sound3.716", 0x7800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
569   ROM_RELOAD( 0xf800, 0x0800)
570ROM_END
571
572/*-------------------------------
573/ Hyperball - Sys.7 - (Game #509)
574/-------------------------------*/
575ROM_START(hypbl_l4)
576   ROM_REGION(0x10000, "maincpu", 0)
577   ROM_LOAD("ic20.532", 0xd000, 0x1000, CRC(d13962e8) SHA1(e23310be100060c9803682680066b965aa5efb16))
578   ROM_RELOAD( 0x5000, 0x1000)
579   ROM_LOAD("ic14.532", 0xe000, 0x1000, CRC(8090fe71) SHA1(0f1f40c0ee8da5b2fd51efeb8be7c20d6465239e))
580   ROM_RELOAD( 0x6000, 0x1000)
581   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(6f4c0c4c) SHA1(1036067e2c85da867983e6e51ee2a7b5135000df))
582   ROM_RELOAD( 0x7000, 0x1000)
583   ROM_REGION(0x10000, "audiocpu", 0)
584   ROM_LOAD("sound12.532", 0x7000, 0x1000, CRC(06051e5e) SHA1(f0ab4be812ceaf771829dd549f2a612156102a93))
585   ROM_RELOAD( 0xf000, 0x1000)
586ROM_END
587
588/*---------------------------
589/ Joust - Sys.7 (Game #519)
590/--------------------------*/
591ROM_START(jst_l2)
592   ROM_REGION(0x10000, "maincpu", 0)
593   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(c4cae4bf) SHA1(ff6e48364561402b16e40a41fa1b89e7723dd38a) )
594   ROM_RELOAD( 0x6000, 0x0800)
595   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
596   ROM_RELOAD( 0x7000, 0x1000)
597   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
598   ROM_RELOAD( 0x6800, 0x0800)
599   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(63eea5d8) SHA1(55c26ee94809f087bd886575a5e47efc93160190) )
600   ROM_RELOAD( 0x5800, 0x0800)
601   ROM_REGION(0x10000, "audiocpu", 0)
602   ROM_LOAD("sound12.532", 0x7000, 0x1000, CRC(3bbc90bf) SHA1(82154e719ceca5c72d1ab034bc4ff5e3ebb36832))
603   ROM_RELOAD( 0xf000, 0x1000)
604ROM_END
605
606
607/*--------------------------------
608573/ Jungle Lord - Sys.7 (Game #503)
609574/--------------------------------*/
610575ROM_START(jngld_l2)
611576   ROM_REGION(0x10000, "maincpu", 0)
612   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(6e5a6374) SHA1(738ecef807de9fee6fd1e832b35511c11173914c) )
613   ROM_RELOAD( 0x6000, 0x0800)
614   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
615   ROM_RELOAD( 0x7000, 0x1000)
616   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
617   ROM_RELOAD( 0x6800, 0x0800)
618   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(4714b1f1) SHA1(01f8593a926df69fb8ae79260f11c5f6b868cd51) )
619   ROM_RELOAD( 0x5800, 0x0800)
620   ROM_REGION(0x10000, "audiocpu", 0)
621   ROM_LOAD("sound3.716", 0x7800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
622   ROM_RELOAD( 0xf800, 0x0800)
623   ROM_LOAD("speech7.532", 0x3000, 0x1000, CRC(83ffb695) SHA1(f9151bdfdefd5c178ca7eb5122f62b700d64f41a))
624   ROM_RELOAD( 0xb000, 0x1000)
625   ROM_LOAD("speech5.532", 0x4000, 0x1000, CRC(754bd474) SHA1(c05f48bb07085683de469603880eafd28dffd9f5))
626   ROM_RELOAD( 0xc000, 0x1000)
627   ROM_LOAD("speech6.532", 0x5000, 0x1000, CRC(f2ac6a52) SHA1(5b3e743eac382d571fd049f92ea9955342b9ffa0))
628   ROM_RELOAD( 0xd000, 0x1000)
629ROM_END
577   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(4714b1f1) SHA1(01f8593a926df69fb8ae79260f11c5f6b868cd51) )
578   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(6e5a6374) SHA1(738ecef807de9fee6fd1e832b35511c11173914c) )
579   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
580   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
630581
631/*---------------------------
632/ Laser Cue - Sys.7 (Game #520)
633/--------------------------*/
634ROM_START(lsrcu_l2)
635   ROM_REGION(0x10000, "maincpu", 0)
636   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(39fc350d) SHA1(46e95f4016907c21c69472e6ef4a68a9adc3be77) )
637   ROM_RELOAD( 0x6000, 0x0800)
638   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
639   ROM_RELOAD( 0x7000, 0x1000)
640   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
641   ROM_RELOAD( 0x6800, 0x0800)
642   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(db4a09e7) SHA1(5ea454c852303e12cc606c2c1e403b72e0a99f25) )
643   ROM_RELOAD( 0x5800, 0x0800)
644582   ROM_REGION(0x10000, "audiocpu", 0)
645   ROM_LOAD("sound12.716", 0x7800, 0x0800, CRC(1888c635) SHA1(5dcdaee437a69c6027c24310f0cd2cae4e89fa05))
646   ROM_RELOAD( 0xf800, 0x0800)
583   ROM_LOAD("speech7.532", 0xb000, 0x1000, CRC(83ffb695) SHA1(f9151bdfdefd5c178ca7eb5122f62b700d64f41a))
584   ROM_LOAD("speech5.532", 0xc000, 0x1000, CRC(754bd474) SHA1(c05f48bb07085683de469603880eafd28dffd9f5))
585   ROM_LOAD("speech6.532", 0xd000, 0x1000, CRC(f2ac6a52) SHA1(5b3e743eac382d571fd049f92ea9955342b9ffa0))
586   ROM_LOAD("sound3.716", 0xf800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
647587ROM_END
648588
649589/*--------------------------------
r18793r18794
651591/--------------------------------*/
652592ROM_START(pharo_l2)
653593   ROM_REGION(0x10000, "maincpu", 0)
654   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(cef00088) SHA1(e0c6b776eddc060c42a483de6cc96a1c9f2afcf7) )
655   ROM_RELOAD( 0x6000, 0x0800)
656   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
657   ROM_RELOAD( 0x7000, 0x1000)
658   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
659   ROM_RELOAD( 0x6800, 0x0800)
660   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(2afbcd1f) SHA1(98bb3a74548b7d9c5d7b8432369658ed32e8be07) )
661   ROM_RELOAD( 0x5800, 0x0800)
594   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(2afbcd1f) SHA1(98bb3a74548b7d9c5d7b8432369658ed32e8be07) )
595   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(cef00088) SHA1(e0c6b776eddc060c42a483de6cc96a1c9f2afcf7) )
596   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
597   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
598
662599   ROM_REGION(0x10000, "audiocpu", 0)
663   ROM_LOAD("sound12.716", 0x7800, 0x0800, CRC(b0e3a04b) SHA1(eac54376fe77acf46e485ab561a01220910c1fd6))
664   ROM_RELOAD( 0xf800, 0x0800)
665   ROM_LOAD("speech7.532", 0x3000, 0x1000, CRC(e087f8a1) SHA1(49c2ad60d82d02f0529329f7cb4b57339d6546c6))
666   ROM_RELOAD( 0xb000, 0x1000)
667   ROM_LOAD("speech5.532", 0x4000, 0x1000, CRC(d72863dc) SHA1(e24ad970ed202165230fab999be42bea0f861fdd))
668   ROM_RELOAD( 0xc000, 0x1000)
669   ROM_LOAD("speech6.532", 0x5000, 0x1000, CRC(d29830bd) SHA1(88f6c508f2a7000bbf6c9c26e1029cf9a241d5ca))
670   ROM_RELOAD( 0xd000, 0x1000)
671   ROM_LOAD("speech4.532", 0x6000, 0x1000, CRC(9ecc23fd) SHA1(bf5947d186141504fd182065533d4efbfd27441d))
672   ROM_RELOAD( 0xe000, 0x1000)
600   ROM_LOAD("speech7.532", 0xb000, 0x1000, CRC(e087f8a1) SHA1(49c2ad60d82d02f0529329f7cb4b57339d6546c6))
601   ROM_LOAD("speech5.532", 0xc000, 0x1000, CRC(d72863dc) SHA1(e24ad970ed202165230fab999be42bea0f861fdd))
602   ROM_LOAD("speech6.532", 0xd000, 0x1000, CRC(d29830bd) SHA1(88f6c508f2a7000bbf6c9c26e1029cf9a241d5ca))
603   ROM_LOAD("speech4.532", 0xe000, 0x1000, CRC(9ecc23fd) SHA1(bf5947d186141504fd182065533d4efbfd27441d))
604   ROM_LOAD("sound12.716", 0xf800, 0x0800, CRC(b0e3a04b) SHA1(eac54376fe77acf46e485ab561a01220910c1fd6))
673605ROM_END
674606
675607/*-----------------------------------
r18793r18794
677609/-----------------------------------*/
678610ROM_START(solar_l2)
679611   ROM_REGION(0x10000, "maincpu", 0)
680   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(cec19a55) SHA1(a1c0f7cc36e5fc7be4e8bcc80896f77eb4c23b1a) )
681   ROM_RELOAD( 0x6000, 0x0800)
682   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
683   ROM_RELOAD( 0x7000, 0x1000)
684   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
685   ROM_RELOAD( 0x6800, 0x0800)
686   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(b667ee32) SHA1(bb4b5270d9cd36207b68e8c6883538d08aae1778) )
687   ROM_RELOAD( 0x5800, 0x0800)
612   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(b667ee32) SHA1(bb4b5270d9cd36207b68e8c6883538d08aae1778) )
613   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(cec19a55) SHA1(a1c0f7cc36e5fc7be4e8bcc80896f77eb4c23b1a) )
614   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
615   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
616
688617   ROM_REGION(0x10000, "audiocpu", 0)
689618   ROM_LOAD("sound12.716", 0x7800, 0x0800, CRC(05a2230c) SHA1(c57cd7628310aa8f68ca24217aad1ead066a1a82))
690619   ROM_RELOAD( 0xf800, 0x0800)
691620ROM_END
692621
693/*-----------------------------
694/ Star Light - Sys.7 (Game #530)
695/-----------------------------*/
696ROM_START(strlt_l1)
622/*-----------------------------------
623/ Thunderball - Sys.7 (Game #508) - Prototype
624/-----------------------------------*/
625ROM_START(thund_p1)
697626   ROM_REGION(0x10000, "maincpu", 0)
698   ROM_LOAD("ic20.532", 0xd000, 0x1000, CRC(66876b56) SHA1(6fab43fbb67c7b602ca595c20a41fc1553afdb65))
699   ROM_RELOAD( 0x5000, 0x1000)
700   ROM_LOAD("ic14.532", 0xe000, 0x1000, CRC(292f1c4a) SHA1(0b5d50331364655672be16236d38d72b28f6dec2))
701   ROM_RELOAD( 0x6000, 0x1000)
702   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(a43d8518) SHA1(fb2289bb7380838d0d817e78c39e5bcb2709373f))
703   ROM_RELOAD( 0x7000, 0x1000)
627   ROM_LOAD("ic20.532", 0x5000, 0x1000, CRC(aa3f07dc) SHA1(f31662972046f9a874380a8dcd1bc9259de5f6ba))
628   ROM_LOAD("ic14.532", 0x6000, 0x1000, CRC(1cd34f1f) SHA1(3f5b5a319570c26a3d34d640fef2ac6c04b83b70))
629   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165))
630
704631   ROM_REGION(0x10000, "audiocpu", 0)
705   ROM_LOAD("sound3.716", 0x7800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
706   ROM_RELOAD( 0xf800, 0x0800)
632   ROM_LOAD("speech7.532", 0xb000, 0x1000, CRC(33e1b041) SHA1(f50c0311bde69fa6e8071e297a81cc3ef3dcf44f))
633   ROM_LOAD("speech5.532", 0xc000, 0x1000, CRC(11780c80) SHA1(bcc5efcd69b4f776feef32484a872863847d64cd))
634   ROM_LOAD("speech6.532", 0xd000, 0x1000, CRC(ab688698) SHA1(e0cbac44a6fe30a49da478c32500a0b43903cc2b))
635   ROM_LOAD("speech4.532", 0xe000, 0x1000, CRC(2a4d6f4b) SHA1(e6f8a1a6e6abc81f980a4938d98abb250e8e1e3b))
636   ROM_LOAD("sound12.532", 0xf000, 0x1000, CRC(cc70af52) SHA1(d9c2840acdcd69aab39fc647dd4819eccc06af33))
707637ROM_END
708638
709/*-----------------------------
710/ Time Fantasy - Sys.7 (Game #515)
711/-----------------------------*/
712ROM_START(tmfnt_l5)
639/*-------------------------------
640/ Hyperball - Sys.7 - (Game #509)
641/-------------------------------*/
642ROM_START(hypbl_l4)
713643   ROM_REGION(0x10000, "maincpu", 0)
714   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(56b8e5ad) SHA1(84d6ab59032282cdccb3bdce0365c1fc766d0e5b) )
715   ROM_RELOAD( 0x6000, 0x0800)
716   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
717   ROM_RELOAD( 0x7000, 0x1000)
718   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
719   ROM_RELOAD( 0x6800, 0x0800)
720   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(0f86947c) SHA1(e775f44b4ca5dae5ec2626fa84fae83c4f0c5c33) )
721   ROM_RELOAD( 0x5800, 0x0800)
644   ROM_LOAD("ic20.532", 0x5000, 0x1000, CRC(d13962e8) SHA1(e23310be100060c9803682680066b965aa5efb16))
645   ROM_LOAD("ic14.532", 0x6000, 0x1000, CRC(8090fe71) SHA1(0f1f40c0ee8da5b2fd51efeb8be7c20d6465239e))
646   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(6f4c0c4c) SHA1(1036067e2c85da867983e6e51ee2a7b5135000df))
647
722648   ROM_REGION(0x10000, "audiocpu", 0)
723   ROM_LOAD("sound3.716", 0x7800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
724   ROM_RELOAD( 0xf800, 0x0800)
649   ROM_LOAD("sound12.532", 0xf000, 0x1000, CRC(06051e5e) SHA1(f0ab4be812ceaf771829dd549f2a612156102a93))
725650ROM_END
726651
727652/*----------------------------
653/ Barracora- Sys.7 (Game #510)
654/----------------------------*/
655ROM_START(barra_l1)
656   ROM_REGION(0x10000, "maincpu", 0)
657   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(2a0e0171) SHA1(f1f2d4c1baed698d3b7cf2e88a2c28056e859920) )
658   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(522e944e) SHA1(0fa17b7912f8129e40de5fed8c3ccccc0a2a9366) )
659   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
660   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
661
662   ROM_REGION(0x10000, "audiocpu", 0)
663   ROM_LOAD("sound4.716", 0xf800, 0x0800, CRC(67ea12e7) SHA1(f81e97183442736d5766a7e5e074bc6539e8ced0))
664ROM_END
665
666/*----------------------------
728667/ Varkon- Sys.7 (Game #512)
729668/----------------------------*/
730669ROM_START(vrkon_l1)
r18793r18794
738677   ROM_LOAD("sound12.716", 0xf800, 0x0800, CRC(d13db2bb) SHA1(862546bbdd1476906948f7324b7434c29df79baa))
739678ROM_END
740679
680/*-----------------------------
681/ Time Fantasy - Sys.7 (Game #515)
682/-----------------------------*/
683ROM_START(tmfnt_l5)
684   ROM_REGION(0x10000, "maincpu", 0)
685   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(0f86947c) SHA1(e775f44b4ca5dae5ec2626fa84fae83c4f0c5c33) )
686   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(56b8e5ad) SHA1(84d6ab59032282cdccb3bdce0365c1fc766d0e5b) )
687   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
688   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
689
690   ROM_REGION(0x10000, "audiocpu", 0)
691   ROM_LOAD("sound3.716", 0xf800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
692ROM_END
693
741694/*----------------------------
742695/ Warlok- Sys.7 (Game #516)
743696/----------------------------*/
744697ROM_START(wrlok_l3)
745698   ROM_REGION(0x10000, "maincpu", 0)
746   ROM_LOAD("ic14.716", 0xe000, 0x0800, CRC(291be241) SHA1(77fffa878f760583ef152a7939867621a61d58dc) )
747   ROM_RELOAD( 0x6000, 0x0800)
748   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
749   ROM_RELOAD( 0x7000, 0x1000)
750   ROM_LOAD("ic20.716", 0xe800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
751   ROM_RELOAD( 0x6800, 0x0800)
752   ROM_LOAD("ic26.716", 0xd800, 0x0800, CRC(44f8b507) SHA1(cdd8455c1e34584e8f1b75d430b8b37d4dd7dff0) )
753   ROM_RELOAD( 0x5800, 0x0800)
699   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(44f8b507) SHA1(cdd8455c1e34584e8f1b75d430b8b37d4dd7dff0) )
700   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(291be241) SHA1(77fffa878f760583ef152a7939867621a61d58dc) )
701   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
702   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
703
754704   ROM_REGION(0x10000, "audiocpu", 0)
755   ROM_LOAD("sound12.716", 0x7800, 0x0800, CRC(5d8e46d6) SHA1(68f8760ad85b8ada81f6ed00eadb9daf37191c53))
756   ROM_RELOAD( 0xf800, 0x0800)
705   ROM_LOAD("sound12.716", 0xf800, 0x0800, CRC(5d8e46d6) SHA1(68f8760ad85b8ada81f6ed00eadb9daf37191c53))
757706ROM_END
758707
759/*-----------------------------------
760/ Thunderball - Sys.7 (Game #508) - Prototype
761/-----------------------------------*/
762ROM_START(thund_p1)
708/*----------------------------
709/ Defender - Sys.7 (Game #517)
710/----------------------------*/
711// Multiplex solenoid requires custom solenoid handler.
712ROM_START(dfndr_l4)
763713   ROM_REGION(0x10000, "maincpu", 0)
764   ROM_LOAD("ic20.532", 0x5000, 0x1000, CRC(aa3f07dc) SHA1(f31662972046f9a874380a8dcd1bc9259de5f6ba))
765   ROM_LOAD("ic14.532", 0x6000, 0x1000, CRC(1cd34f1f) SHA1(3f5b5a319570c26a3d34d640fef2ac6c04b83b70))
714   ROM_LOAD("ic20.532", 0x5000, 0x1000, CRC(e99e64a2) SHA1(a6cde9cb771063778cae706c740b73ce9bce9aa5))
715   ROM_LOAD("ic14.532", 0x6000, 0x1000, CRC(959ec419) SHA1(f400d3a1feba0e149d24f4e1a8d240fe900b3f0b))
766716   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165))
767717
768718   ROM_REGION(0x10000, "audiocpu", 0)
769   ROM_LOAD("speech7.532", 0xb000, 0x1000, CRC(33e1b041) SHA1(f50c0311bde69fa6e8071e297a81cc3ef3dcf44f))
770   ROM_LOAD("speech5.532", 0xc000, 0x1000, CRC(11780c80) SHA1(bcc5efcd69b4f776feef32484a872863847d64cd))
771   ROM_LOAD("speech6.532", 0xd000, 0x1000, CRC(ab688698) SHA1(e0cbac44a6fe30a49da478c32500a0b43903cc2b))
772   ROM_LOAD("speech4.532", 0xe000, 0x1000, CRC(2a4d6f4b) SHA1(e6f8a1a6e6abc81f980a4938d98abb250e8e1e3b))
773   ROM_LOAD("sound12.532", 0xf000, 0x1000, CRC(cc70af52) SHA1(d9c2840acdcd69aab39fc647dd4819eccc06af33))
719   ROM_LOAD("sound12.716", 0xf800, 0x0800, CRC(cabaec58) SHA1(9605a1c299ed109a4ebcfa7ed6985ecc815c9e0c))
774720ROM_END
775721
722/*---------------------------
723/ Joust - Sys.7 (Game #519)
724/--------------------------*/
725ROM_START(jst_l2)
726   ROM_REGION(0x10000, "maincpu", 0)
727   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(63eea5d8) SHA1(55c26ee94809f087bd886575a5e47efc93160190) )
728   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(c4cae4bf) SHA1(ff6e48364561402b16e40a41fa1b89e7723dd38a) )
729   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
730   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
731
732   ROM_REGION(0x10000, "audiocpu", 0)
733   ROM_LOAD("sound12.532", 0xf000, 0x1000, CRC(3bbc90bf) SHA1(82154e719ceca5c72d1ab034bc4ff5e3ebb36832))
734ROM_END
735
736/*---------------------------
737/ Laser Cue - Sys.7 (Game #520)
738/--------------------------*/
739ROM_START(lsrcu_l2)
740   ROM_REGION(0x10000, "maincpu", 0)
741   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(db4a09e7) SHA1(5ea454c852303e12cc606c2c1e403b72e0a99f25) )
742   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(39fc350d) SHA1(46e95f4016907c21c69472e6ef4a68a9adc3be77) )
743   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
744   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
745
746   ROM_REGION(0x10000, "audiocpu", 0)
747   ROM_LOAD("sound12.716", 0xf800, 0x0800, CRC(1888c635) SHA1(5dcdaee437a69c6027c24310f0cd2cae4e89fa05))
748ROM_END
749
750/*--------------------------------
751/ Firepower II- Sys.7 (Game #521)
752/-------------------------------*/
753ROM_START(fpwr2_l2)
754   ROM_REGION(0x10000, "maincpu", 0)
755   ROM_LOAD("ic26.716", 0x5800, 0x0800, CRC(1068939d) SHA1(f15c3a149bafee6d74e359399de88fd122b93441) )
756   ROM_LOAD("ic14.716", 0x6000, 0x0800, CRC(a29688dd) SHA1(83815154bbaf51dd789112664d772a876efee3da) )
757   ROM_LOAD("ic20.716", 0x6800, 0x0800, CRC(dfb4b75a) SHA1(bcf017b01236f755cee419e398bbd8955ae3576a) )
758   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(bb571a17) SHA1(fb0b7f247673dae0744d4188e1a03749a2237165) )
759
760   ROM_REGION(0x10000, "audiocpu", 0)
761   ROM_LOAD("sound3.716", 0xf800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
762ROM_END
763
776764/*-----------------------------
777/ Rat Race - Sys.7 (Game #527)- Prototype
765/ Star Light - Sys.7 (Game #530)
778766/-----------------------------*/
779ROM_START(ratrc_l1)
767ROM_START(strlt_l1)
780768   ROM_REGION(0x10000, "maincpu", 0)
781   ROM_LOAD("ic20.532", 0xd000, 0x1000, CRC(0c5c7c09) SHA1(c93b39ba1460feee5850fcd3ca7cacb72c4c8ff3))
782   ROM_RELOAD( 0x5000, 0x1000)
783   ROM_LOAD("ic14.532", 0xe000, 0x1000, CRC(c6f4bcf4) SHA1(d71c86299139abe3dd376a324315a039be82875c))
784   ROM_RELOAD( 0x6000, 0x1000)
785   ROM_LOAD("ic17.532", 0xf000, 0x1000, CRC(0800c214) SHA1(3343c07fd550bb0759032628e01bb750135dab15))
786   ROM_RELOAD( 0x7000, 0x1000)
769   ROM_LOAD("ic20.532", 0x5000, 0x1000, CRC(66876b56) SHA1(6fab43fbb67c7b602ca595c20a41fc1553afdb65))
770   ROM_LOAD("ic14.532", 0x6000, 0x1000, CRC(292f1c4a) SHA1(0b5d50331364655672be16236d38d72b28f6dec2))
771   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(a43d8518) SHA1(fb2289bb7380838d0d817e78c39e5bcb2709373f))
772
787773   ROM_REGION(0x10000, "audiocpu", 0)
788   ROM_LOAD("b486.bin", 0xe000, 0x2000, CRC(c54b9402) SHA1(c56fc5f105fc2c1166e3b22bb09b72af79e0aec1))
789   ROM_RELOAD(0xc000, 0x2000)
790   ROM_RELOAD(0xa000, 0x2000)
791   ROM_RELOAD(0x8000, 0x2000)
774   ROM_LOAD("sound3.716", 0xf800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
792775ROM_END
793776
794777
778
795779GAME( 1982, vrkon_l1, 0,     s7, s7, driver_device, 0, ROT0, "Williams", "Varkon (L-1)", GAME_IS_SKELETON_MECHANICAL)
796780GAME( 1981, barra_l1, 0,     s7, s7, driver_device, 0, ROT0, "Williams", "Barracora (L-1)", GAME_IS_SKELETON_MECHANICAL)
797781GAME( 1980, bk_l4,    0,     s7, s7, driver_device, 0, ROT0, "Williams", "Black Knight (L-4)", GAME_IS_SKELETON_MECHANICAL)
r18793r18794
810794GAME( 1982, tmfnt_l5, 0,     s7, s7, driver_device, 0, ROT0, "Williams", "Time Fantasy (L-5)", GAME_IS_SKELETON_MECHANICAL)
811795GAME( 1982, wrlok_l3, 0,     s7, s7, driver_device, 0, ROT0, "Williams", "Warlok (L-3)", GAME_IS_SKELETON_MECHANICAL)
812796GAME( 1982, thund_p1, 0,     s7, s7, driver_device, 0, ROT0, "Williams", "Thunderball (P-1)", GAME_IS_SKELETON_MECHANICAL)
813GAME( 1983, ratrc_l1, 0,     s7, s7, driver_device, 0, ROT0, "Williams", "Rat Race (L-1)", GAME_IS_SKELETON_MECHANICAL)
trunk/src/mame/drivers/s9.c
r18793r18794
421421MACHINE_CONFIG_END
422422
423423/*-----------------------------
424/ Rat Race - Sys.7 (Game #527)- Prototype (displays as #500)
425/-----------------------------*/
426ROM_START(ratrc_l1)
427   ROM_REGION(0x10000, "maincpu", 0)
428   ROM_LOAD("ic20.532", 0x5000, 0x1000, CRC(0c5c7c09) SHA1(c93b39ba1460feee5850fcd3ca7cacb72c4c8ff3))
429   ROM_LOAD("ic14.532", 0x6000, 0x1000, CRC(c6f4bcf4) SHA1(d71c86299139abe3dd376a324315a039be82875c))
430   ROM_LOAD("ic17.532", 0x7000, 0x1000, CRC(0800c214) SHA1(3343c07fd550bb0759032628e01bb750135dab15))
431
432   ROM_REGION(0x10000, "audiocpu", 0)
433   ROM_LOAD("b486.bin", 0xe000, 0x2000, CRC(c54b9402) SHA1(c56fc5f105fc2c1166e3b22bb09b72af79e0aec1))
434ROM_END
435
436/*-----------------------------
424437/ Sorcerer (S9) 03/85 (#532)
425438/------------------------------*/
426439ROM_START(sorcr_l1)
r18793r18794
526539   ROM_LOAD("acs_u22.bin", 0x8000, 0x8000, CRC(56c1011a) SHA1(c817a3410c643617f3643897b8f529ae78546b0d))
527540ROM_END
528541
542GAME( 1983, ratrc_l1, 0,        s9, s9, driver_device, 0, ROT0, "Williams", "Rat Race (L-1)", GAME_MECHANICAL | GAME_NOT_WORKING)
529543GAME( 1985, sorcr_l1, sorcr_l2, s9, s9, driver_device, 0, ROT0, "Williams", "Sorcerer (L-1)", GAME_MECHANICAL | GAME_NOT_WORKING)
530544GAME( 1985, sorcr_l2, 0,        s9, s9, driver_device, 0, ROT0, "Williams", "Sorcerer (L-2)", GAME_MECHANICAL | GAME_NOT_WORKING)
531545GAME( 1984, sshtl_l7, 0,        s9, s9, driver_device, 0, ROT0, "Williams", "Space Shuttle (L-7)", GAME_MECHANICAL | GAME_NOT_WORKING)
trunk/src/mame/drivers/s6a.c
r18793r18794
33    Pinball
44    Williams System 6a
55
6    After pressing Start, nothing much works.
6    Sound is working fully via the sound test (F1) key.
7    Algar - mostly works, has sound issues
8    Alien Poker - Can insert coin and start, but no response after that.
79
810ToDo:
9- Almost Everything
11- Inputs
12- Interface to soundcard is problematic
1013
1114
1215************************************************************************************/
r18793r18794
1518#include "machine/genpin.h"
1619#include "cpu/m6800/m6800.h"
1720#include "machine/6821pia.h"
21#include "sound/hc55516.h"
1822#include "sound/dac.h"
1923#include "s6a.lh"
2024
r18793r18794
2731   m_maincpu(*this, "maincpu"),
2832   m_audiocpu(*this, "audiocpu"),
2933   m_dac(*this, "dac"),
30   m_pia0(*this, "pia0"),
31   m_pia1(*this, "pia1"),
32   m_pia2(*this, "pia2"),
33   m_pia3(*this, "pia3"),
34   m_pia4(*this, "pia4")
34   m_hc55516(*this, "hc55516"),
35   m_pia(*this, "pia"),
36   m_pia22(*this, "pia22"),
37   m_pia24(*this, "pia24"),
38   m_pia28(*this, "pia28"),
39   m_pia30(*this, "pia30")
3540   { }
3641
3742   DECLARE_READ8_MEMBER(dac_r);
r18793r18794
4550   DECLARE_READ8_MEMBER(dips_r);
4651   DECLARE_READ8_MEMBER(switch_r);
4752   DECLARE_WRITE8_MEMBER(switch_w);
48   DECLARE_READ_LINE_MEMBER(pia2_ca1_r);
49   DECLARE_READ_LINE_MEMBER(pia2_cb1_r);
50   DECLARE_READ_LINE_MEMBER(pia4_cb1_r);
51   DECLARE_WRITE_LINE_MEMBER(pia0_ca2_w) { }; //ST5
52   DECLARE_WRITE_LINE_MEMBER(pia0_cb2_w) { }; //ST-solenoids enable
53   DECLARE_WRITE_LINE_MEMBER(pia1_ca2_w) { }; //ST2
54   DECLARE_WRITE_LINE_MEMBER(pia1_cb2_w) { }; //ST1
55   DECLARE_WRITE_LINE_MEMBER(pia2_ca2_w) { }; //diag leds enable
56   DECLARE_WRITE_LINE_MEMBER(pia2_cb2_w) { }; //ST6
57   DECLARE_WRITE_LINE_MEMBER(pia3_ca2_w) { }; //ST4
58   DECLARE_WRITE_LINE_MEMBER(pia3_cb2_w) { }; //ST3
53   DECLARE_READ_LINE_MEMBER(pia28_ca1_r);
54   DECLARE_READ_LINE_MEMBER(pia28_cb1_r);
55   DECLARE_READ_LINE_MEMBER(pia_cb1_r);
56   DECLARE_WRITE_LINE_MEMBER(pia_ca2_w);
57   DECLARE_WRITE_LINE_MEMBER(pia_cb2_w);
58   DECLARE_WRITE_LINE_MEMBER(pia22_ca2_w) { }; //ST5
59   DECLARE_WRITE_LINE_MEMBER(pia22_cb2_w) { }; //ST-solenoids enable
60   DECLARE_WRITE_LINE_MEMBER(pia24_ca2_w) { }; //ST2
61   DECLARE_WRITE_LINE_MEMBER(pia24_cb2_w) { }; //ST1
62   DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { }; //diag leds enable
63   DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { }; //ST6
64   DECLARE_WRITE_LINE_MEMBER(pia30_ca2_w) { }; //ST4
65   DECLARE_WRITE_LINE_MEMBER(pia30_cb2_w) { }; //ST3
5966   TIMER_DEVICE_CALLBACK_MEMBER(irq);
6067   DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
6168   DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
6269   DECLARE_MACHINE_RESET(s6a);
63   DECLARE_MACHINE_RESET(s6aa);
6470protected:
6571
6672   // devices
6773   required_device<cpu_device> m_maincpu;
68   optional_device<cpu_device> m_audiocpu;
69   optional_device<dac_device> m_dac;
70   required_device<pia6821_device> m_pia0;
71   required_device<pia6821_device> m_pia1;
72   required_device<pia6821_device> m_pia2;
73   required_device<pia6821_device> m_pia3;
74   optional_device<pia6821_device> m_pia4;
74   required_device<cpu_device> m_audiocpu;
75   required_device<dac_device> m_dac;
76   required_device<hc55516_device> m_hc55516;
77   required_device<pia6821_device> m_pia;
78   required_device<pia6821_device> m_pia22;
79   required_device<pia6821_device> m_pia24;
80   required_device<pia6821_device> m_pia28;
81   required_device<pia6821_device> m_pia30;
7582private:
7683   UINT8 m_t_c;
7784   UINT8 m_sound_data;
r18793r18794
7986   UINT8 m_kbdrow;
8087   bool m_cb1;
8188   bool m_data_ok;
82   bool m_chimes;
8389};
8490
8591static ADDRESS_MAP_START( s6a_main_map, AS_PROGRAM, 8, s6a_state )
8692   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
8793   AM_RANGE(0x0000, 0x00ff) AM_RAM
8894   AM_RANGE(0x0100, 0x01ff) AM_RAM AM_SHARE("nvram")
89   AM_RANGE(0x2200, 0x2203) AM_DEVREADWRITE("pia0", pia6821_device, read, write) // solenoids
90   AM_RANGE(0x2400, 0x2403) AM_DEVREADWRITE("pia1", pia6821_device, read, write) // lamps
91   AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("pia2", pia6821_device, read, write) // display
92   AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("pia3", pia6821_device, read, write) // inputs
95   AM_RANGE(0x2200, 0x2203) AM_DEVREADWRITE("pia22", pia6821_device, read, write) // solenoids
96   AM_RANGE(0x2400, 0x2403) AM_DEVREADWRITE("pia24", pia6821_device, read, write) // lamps
97   AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("pia28", pia6821_device, read, write) // display
98   AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("pia30", pia6821_device, read, write) // inputs
9399   AM_RANGE(0x6000, 0x7fff) AM_ROM
94100ADDRESS_MAP_END
95101
96102static ADDRESS_MAP_START( s6a_audio_map, AS_PROGRAM, 8, s6a_state )
97103   AM_RANGE(0x0000, 0x00ff) AM_RAM
98   AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pia4", pia6821_device, read, write) // sounds
99   AM_RANGE(0x3000, 0x7fff) AM_MIRROR(0x8000) AM_ROM
104   AM_RANGE(0x0400, 0x0403) AM_MIRROR(0x8000) AM_DEVREADWRITE("pia", pia6821_device, read, write) // sounds
105   AM_RANGE(0xA000, 0xffff) AM_ROM
100106ADDRESS_MAP_END
101107
102108static INPUT_PORTS_START( s6a )
r18793r18794
237243MACHINE_RESET_MEMBER( s6a_state, s6a )
238244{
239245   m_t_c = 0;
240   m_chimes = 0;
241246}
242247
243248INPUT_CHANGED_MEMBER( s6a_state::main_nmi )
r18793r18794
250255INPUT_CHANGED_MEMBER( s6a_state::audio_nmi )
251256{
252257   // Diagnostic button sends a pulse to NMI pin
253   if ((newval==CLEAR_LINE) && !m_chimes)
258   if (newval==CLEAR_LINE)
254259      m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
255260}
256261
257262WRITE8_MEMBER( s6a_state::sol0_w )
258263{
259   if (BIT(data, 4))
260      m_samples->start(2, 5); // outhole
264//   if (BIT(data, 4))
265//      m_samples->start(2, 5); // outhole
261266}
262267
263268WRITE8_MEMBER( s6a_state::sol1_w )
264269{
265   if (m_chimes)
266   {
267      if (BIT(data, 0))
268         m_samples->start(1, 1); // 10 chime
270   m_sound_data = ioport("SND")->read();
271   if (BIT(data, 0))
272      m_sound_data &= 0xfe;
269273
270      if (BIT(data, 1))
271         m_samples->start(2, 2); // 100 chime
274   if (BIT(data, 1))
275      m_sound_data &= 0xfd;
272276
273      if (BIT(data, 2))
274         m_samples->start(3, 3); // 1000 chime
277   if (BIT(data, 2))
278      m_sound_data &= 0xfb;
275279
276      // we don't have a 10k chime in samples yet
277      //if (BIT(data, 3))
278         //m_samples->start(1, x); // 10k chime
279   }
280   else
281   {printf("%X ",data);
282      m_sound_data = ioport("SND")->read();
283      if (BIT(data, 0))
284         m_sound_data &= 0xfe;
280   if (BIT(data, 3))
281      m_sound_data &= 0xf7;
285282
286      if (BIT(data, 1))
287         m_sound_data &= 0xfd;
283   if (BIT(data, 4))
284      m_sound_data &= 0x7f;
288285
289      if (BIT(data, 2))
290         m_sound_data &= 0xfb;
286   m_cb1 = ((m_sound_data & 0x7f) != 0x7f);
291287
292      if (BIT(data, 3))
293         m_sound_data &= 0xf7;
288   m_pia->cb1_w(m_cb1);
294289
295      if (BIT(data, 4))
296         m_sound_data &= 0x7f;
297
298      m_cb1 = ((m_sound_data & 0x7f) != 0x7f);
299
300      m_pia4->cb1_w(m_cb1);
301   }
302
303   if (BIT(data, 5))
304      m_samples->start(0, 6); // knocker
290//   if (BIT(data, 5))
291//      m_samples->start(0, 6); // knocker
305292}
306293
307static const pia6821_interface pia0_intf =
294static const pia6821_interface pia22_intf =
308295{
309296   DEVCB_NULL,      /* port A in */
310297   DEVCB_NULL,      /* port B in */
r18793r18794
314301   DEVCB_NULL,      /* line CB2 in */
315302   DEVCB_DRIVER_MEMBER(s6a_state, sol0_w),      /* port A out */
316303   DEVCB_DRIVER_MEMBER(s6a_state, sol1_w),      /* port B out */
317   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia0_ca2_w),      /* line CA2 out */
318   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia0_cb2_w),      /* line CB2 out */
304   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia22_ca2_w),      /* line CA2 out */
305   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia22_cb2_w),      /* line CB2 out */
319306   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE),      /* IRQA */
320307   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE)      /* IRQB */
321308};
r18793r18794
329316{
330317}
331318
332static const pia6821_interface pia1_intf =
319static const pia6821_interface pia24_intf =
333320{
334321   DEVCB_NULL,      /* port A in */
335322   DEVCB_NULL,      /* port B in */
r18793r18794
339326   DEVCB_NULL,      /* line CB2 in */
340327   DEVCB_DRIVER_MEMBER(s6a_state, lamp0_w),      /* port A out */
341328   DEVCB_DRIVER_MEMBER(s6a_state, lamp1_w),      /* port B out */
342   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia1_ca2_w),      /* line CA2 out */
343   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia1_cb2_w),      /* line CB2 out */
329   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia24_ca2_w),      /* line CA2 out */
330   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia24_cb2_w),      /* line CB2 out */
344331   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE),      /* IRQA */
345332   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE)      /* IRQB */
346333};
347334
348READ_LINE_MEMBER( s6a_state::pia2_ca1_r )
335READ_LINE_MEMBER( s6a_state::pia28_ca1_r )
349336{
350337   return BIT(ioport("DIAGS")->read(), 2); // advance button
351338}
352339
353READ_LINE_MEMBER( s6a_state::pia2_cb1_r )
340READ_LINE_MEMBER( s6a_state::pia28_cb1_r )
354341{
355342   return BIT(ioport("DIAGS")->read(), 3); // auto/manual switch
356343}
r18793r18794
397384   m_data_ok = false;
398385}
399386
400static const pia6821_interface pia2_intf =
387static const pia6821_interface pia28_intf =
401388{
402389   DEVCB_DRIVER_MEMBER(s6a_state, dips_r),      /* port A in */
403390   DEVCB_NULL,      /* port B in */
404   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia2_ca1_r),      /* line CA1 in */
405   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia2_cb1_r),      /* line CB1 in */
391   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia28_ca1_r),      /* line CA1 in */
392   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia28_cb1_r),      /* line CB1 in */
406393   DEVCB_NULL,      /* line CA2 in */
407394   DEVCB_NULL,      /* line CB2 in */
408395   DEVCB_DRIVER_MEMBER(s6a_state, dig0_w),      /* port A out */
409396   DEVCB_DRIVER_MEMBER(s6a_state, dig1_w),      /* port B out */
410   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia2_ca2_w),      /* line CA2 out */
411   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia2_cb2_w),      /* line CB2 out */
397   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia28_ca2_w),      /* line CA2 out */
398   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia28_cb2_w),      /* line CB2 out */
412399   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE),      /* IRQA */
413400   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE)      /* IRQB */
414401};
r18793r18794
417404{
418405   char kbdrow[8];
419406   sprintf(kbdrow,"X%X",m_kbdrow);
420   return ioport(kbdrow)->read();
407   return ~ioport(kbdrow)->read();
421408}
422409
423410WRITE8_MEMBER( s6a_state::switch_w )
r18793r18794
425412   m_kbdrow = data;
426413}
427414
428static const pia6821_interface pia3_intf =
415static const pia6821_interface pia30_intf =
429416{
430417   DEVCB_DRIVER_MEMBER(s6a_state, switch_r),      /* port A in */
431418   DEVCB_NULL,      /* port B in */
r18793r18794
435422   DEVCB_NULL,      /* line CB2 in */
436423   DEVCB_NULL,      /* port A out */
437424   DEVCB_DRIVER_MEMBER(s6a_state, switch_w),      /* port B out */
438   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia3_ca2_w),      /* line CA2 out */
439   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia3_cb2_w),      /* line CB2 out */
425   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia30_ca2_w),      /* line CA2 out */
426   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia30_cb2_w),      /* line CB2 out */
440427   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE),      /* IRQA */
441428   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE)      /* IRQB */
442429};
443430
444READ_LINE_MEMBER( s6a_state::pia4_cb1_r )
431READ_LINE_MEMBER( s6a_state::pia_cb1_r )
445432{
446433   return m_cb1;
447434}
448435
436WRITE_LINE_MEMBER( s6a_state::pia_cb2_w )
437{
438// speech clock
439   hc55516_clock_w(m_hc55516, state);
440}
441
442WRITE_LINE_MEMBER( s6a_state::pia_ca2_w )
443{
444// speech data
445   hc55516_digit_w(m_hc55516, state);
446}
447
449448READ8_MEMBER( s6a_state::dac_r )
450{printf("%X ",m_sound_data);
449{
451450   return m_sound_data;
452451}
453452
r18793r18794
456455   m_dac->write_unsigned8(data);
457456}
458457
459static const pia6821_interface pia4_intf =
458static const pia6821_interface pia_intf =
460459{
461460   DEVCB_NULL,      /* port A in */
462461   DEVCB_DRIVER_MEMBER(s6a_state, dac_r),      /* port B in */
463462   DEVCB_NULL,      /* line CA1 in */
464   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia4_cb1_r),      /* line CB1 in */
463   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia_cb1_r),      /* line CB1 in */
465464   DEVCB_NULL,      /* line CA2 in */
466465   DEVCB_NULL,      /* line CB2 in */
467466   DEVCB_DRIVER_MEMBER(s6a_state, dac_w),      /* port A out */
468467   DEVCB_NULL,      /* port B out */
469   DEVCB_NULL,      /* line CA2 out */
470   DEVCB_NULL,      /* line CB2 out */
468   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia_ca2_w),      /* line CA2 out */
469   DEVCB_DRIVER_LINE_MEMBER(s6a_state, pia_cb2_w),      /* line CB2 out */
471470   DEVCB_CPU_INPUT_LINE("audiocpu", M6800_IRQ_LINE),      /* IRQA */
472471   DEVCB_CPU_INPUT_LINE("audiocpu", M6800_IRQ_LINE)      /* IRQB */
473472};
r18793r18794
484483   /* basic machine hardware */
485484   MCFG_CPU_ADD("maincpu", M6802, 3580000)
486485   MCFG_CPU_PROGRAM_MAP(s6a_main_map)
487   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s6a_state, irq, attotime::from_hz(1000))
486   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s6a_state, irq, attotime::from_hz(250))
488487   MCFG_MACHINE_RESET_OVERRIDE(s6a_state, s6a)
489488
490489   /* Video */
r18793r18794
494493   MCFG_FRAGMENT_ADD( genpin_audio )
495494
496495   /* Devices */
497   MCFG_PIA6821_ADD("pia0", pia0_intf)
498   MCFG_PIA6821_ADD("pia1", pia1_intf)
499   MCFG_PIA6821_ADD("pia2", pia2_intf)
500   MCFG_PIA6821_ADD("pia3", pia3_intf)
496   MCFG_PIA6821_ADD("pia22", pia22_intf)
497   MCFG_PIA6821_ADD("pia24", pia24_intf)
498   MCFG_PIA6821_ADD("pia28", pia28_intf)
499   MCFG_PIA6821_ADD("pia30", pia30_intf)
501500   MCFG_NVRAM_ADD_1FILL("nvram")
502501   /* Add the soundcard */
503502   MCFG_CPU_ADD("audiocpu", M6808, 3580000)
r18793r18794
505504   MCFG_SPEAKER_STANDARD_MONO("mono")
506505   MCFG_SOUND_ADD("dac", DAC, 0)
507506   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
508   MCFG_PIA6821_ADD("pia4", pia4_intf)
507   MCFG_SPEAKER_STANDARD_MONO("speech")
508   MCFG_SOUND_ADD("hc55516", HC55516, 0)
509   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speech", 0.50)
510   MCFG_PIA6821_ADD("pia", pia_intf)
509511MACHINE_CONFIG_END
510512
511513
r18793r18794
515517ROM_START(algar_l1)
516518   ROM_REGION(0x10000, "maincpu", 0)
517519   ROM_LOAD("gamerom.716", 0x6000, 0x0800, CRC(6711da23) SHA1(80a46f5a2630977bc1c6e17466e8865083eb9a18))
520   ROM_LOAD("green1.716", 0x7000, 0x0800, CRC(2145f8ab) SHA1(ddf63208559a3a08d4e88327c55426b0eed27654))
518521   ROM_LOAD("green2.716", 0x7800, 0x0800, CRC(1c978a4a) SHA1(1959184764643d58f1740c54bb74c2aad7d667d2))
519   ROM_LOAD("green1.716", 0x7000, 0x0800, CRC(2145f8ab) SHA1(ddf63208559a3a08d4e88327c55426b0eed27654))
520522
521523   ROM_REGION(0x10000, "audiocpu", 0)
522   ROM_LOAD("sound4.716", 0x7800, 0x0800, CRC(67ea12e7) SHA1(f81e97183442736d5766a7e5e074bc6539e8ced0))
524   ROM_LOAD("sound4.716", 0xf800, 0x0800, CRC(67ea12e7) SHA1(f81e97183442736d5766a7e5e074bc6539e8ced0))
523525ROM_END
524526
525527/*-------------------------------
r18793r18794
528530ROM_START(alpok_l6)
529531   ROM_REGION(0x10000, "maincpu", 0)
530532   ROM_LOAD("gamerom6.716", 0x6000, 0x0800, CRC(20538a4a) SHA1(6cdd6b7ded76b3cbd954d371e126e1bbd95a6219))
533   ROM_LOAD("green1.716", 0x7000, 0x0800, CRC(2145f8ab) SHA1(ddf63208559a3a08d4e88327c55426b0eed27654))
531534   ROM_LOAD("green2.716", 0x7800, 0x0800, CRC(1c978a4a) SHA1(1959184764643d58f1740c54bb74c2aad7d667d2))
532   ROM_LOAD("green1.716", 0x7000, 0x0800, CRC(2145f8ab) SHA1(ddf63208559a3a08d4e88327c55426b0eed27654))
533535
534536   ROM_REGION(0x10000, "audiocpu", 0)
535   ROM_LOAD("sound3.716", 0x7800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
536   ROM_LOAD("v_ic7.532", 0x3000, 0x1000, CRC(a66c7ca6) SHA1(6e90081f853fcf66bfeac0a8ee1c762b3760b90b))
537   ROM_LOAD("v_ic5.532", 0x4000, 0x1000, CRC(f16a237a) SHA1(a904138fad5cbc19946bcf0de824e27537dcd621))
538   ROM_LOAD("v_ic6.532", 0x5000, 0x1000, CRC(15a3cc85) SHA1(86002ac78189415ae912e8bc23c92b3b67610d87))
537   ROM_LOAD("v_ic7.532", 0xb000, 0x1000, CRC(a66c7ca6) SHA1(6e90081f853fcf66bfeac0a8ee1c762b3760b90b))
538   ROM_LOAD("v_ic5.532", 0xc000, 0x1000, CRC(f16a237a) SHA1(a904138fad5cbc19946bcf0de824e27537dcd621))
539   ROM_LOAD("v_ic6.532", 0xd000, 0x1000, CRC(15a3cc85) SHA1(86002ac78189415ae912e8bc23c92b3b67610d87))
540   ROM_LOAD("sound3.716", 0xf800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
539541ROM_END
540542
541543ROM_START(alpok_l2)
r18793r18794
545547   ROM_LOAD("green2.716", 0x7800, 0x0800, CRC(1c978a4a) SHA1(1959184764643d58f1740c54bb74c2aad7d667d2))
546548
547549   ROM_REGION(0x10000, "audiocpu", 0)
548   ROM_LOAD("v_ic7.532", 0x3000, 0x1000, CRC(a66c7ca6) SHA1(6e90081f853fcf66bfeac0a8ee1c762b3760b90b))
549   ROM_LOAD("v_ic5.532", 0x4000, 0x1000, CRC(f16a237a) SHA1(a904138fad5cbc19946bcf0de824e27537dcd621))
550   ROM_LOAD("v_ic6.532", 0x5000, 0x1000, CRC(15a3cc85) SHA1(86002ac78189415ae912e8bc23c92b3b67610d87))
551   ROM_LOAD("sound3.716", 0x7800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
550   ROM_LOAD("v_ic7.532", 0xb000, 0x1000, CRC(a66c7ca6) SHA1(6e90081f853fcf66bfeac0a8ee1c762b3760b90b))
551   ROM_LOAD("v_ic5.532", 0xc000, 0x1000, CRC(f16a237a) SHA1(a904138fad5cbc19946bcf0de824e27537dcd621))
552   ROM_LOAD("v_ic6.532", 0xd000, 0x1000, CRC(15a3cc85) SHA1(86002ac78189415ae912e8bc23c92b3b67610d87))
553   ROM_LOAD("sound3.716", 0xf800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
552554ROM_END
553555
554556ROM_START(alpok_f6)
r18793r18794
558560   ROM_LOAD("green2.716", 0x7800, 0x0800, CRC(1c978a4a) SHA1(1959184764643d58f1740c54bb74c2aad7d667d2))
559561
560562   ROM_REGION(0x10000, "audiocpu", 0)
561   ROM_LOAD("5t5014fr.dat", 0x3000, 0x1000, CRC(1d961517) SHA1(c71ee324becfc8cdbecabd1e64b11b5a39ff2483))
562   ROM_LOAD("5t5015fr.dat", 0x4000, 0x1000, CRC(8d065f80) SHA1(0ab22c9b20ab6fe41abab620435ad03652db7a8e))
563   ROM_LOAD("5t5016fr.dat", 0x5000, 0x1000, CRC(0ddf91e9) SHA1(48f5fdfc0c5a66dd318fecb7c90e5f5a684a3876))
564   ROM_LOAD("5t5017fr.dat", 0x6000, 0x1000, CRC(7e546dc1) SHA1(58f8286403978b0d929987189089881d754a9a83))
565   ROM_LOAD("sound3.716", 0x7800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
563   ROM_LOAD("5t5014fr.dat", 0xb000, 0x1000, CRC(1d961517) SHA1(c71ee324becfc8cdbecabd1e64b11b5a39ff2483))
564   ROM_LOAD("5t5015fr.dat", 0xc000, 0x1000, CRC(8d065f80) SHA1(0ab22c9b20ab6fe41abab620435ad03652db7a8e))
565   ROM_LOAD("5t5016fr.dat", 0xd000, 0x1000, CRC(0ddf91e9) SHA1(48f5fdfc0c5a66dd318fecb7c90e5f5a684a3876))
566   ROM_LOAD("5t5017fr.dat", 0xe000, 0x1000, CRC(7e546dc1) SHA1(58f8286403978b0d929987189089881d754a9a83))
567   ROM_LOAD("sound3.716", 0xf800, 0x0800, CRC(55a10d13) SHA1(521d4cdfb0ed8178b3594cedceae93b772a951a4))
566568ROM_END
567569
568570
569GAME(1980,algar_l1, 0,       s6a, s6a, driver_device, 0, ROT0, "Williams", "Algar (L-1)", GAME_IS_SKELETON_MECHANICAL)
570GAME(1980,alpok_l6, 0,       s6a, s6a, driver_device, 0, ROT0, "Williams", "Alien Poker (L-6)", GAME_IS_SKELETON_MECHANICAL)
571GAME(1980,alpok_l2, alpok_l6,s6a, s6a, driver_device, 0, ROT0, "Williams", "Alien Poker (L-2)", GAME_IS_SKELETON_MECHANICAL)
572GAME(1980,alpok_f6, alpok_l6,s6a, s6a, driver_device, 0, ROT0, "Williams", "Alien Poker (L-6 French speech)", GAME_IS_SKELETON_MECHANICAL)
571GAME(1980,algar_l1, 0,       s6a, s6a, driver_device, 0, ROT0, "Williams", "Algar (L-1)", GAME_MECHANICAL | GAME_NOT_WORKING)
572GAME(1980,alpok_l6, 0,       s6a, s6a, driver_device, 0, ROT0, "Williams", "Alien Poker (L-6)", GAME_MECHANICAL | GAME_NOT_WORKING)
573GAME(1980,alpok_l2, alpok_l6,s6a, s6a, driver_device, 0, ROT0, "Williams", "Alien Poker (L-2)", GAME_MECHANICAL | GAME_NOT_WORKING)
574GAME(1980,alpok_f6, alpok_l6,s6a, s6a, driver_device, 0, ROT0, "Williams", "Alien Poker (L-6 French speech)", GAME_MECHANICAL | GAME_NOT_WORKING)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team