Previous 199869 Revisions Next

r19578 Sunday 16th December, 2012 at 02:00:03 UTC by Barry Rodewald
s11: Added Language jumper
    Added communication to background music board
    Made Ball/Match display a 7-segment LED.
[src/mame/drivers]s11.c
[src/mame/layout]s11.lay

trunk/src/mame/layout/s11.lay
r19577r19578
99         <color red="1.0" green="0.0" blue="0.0" />
1010      </led14segsc>
1111   </element>
12   <element name="ldigit" defstate="0">
13      <led7seg>
14         <color red="1.0" green="0.0" blue="0.0" />
15      </led7seg>
16   </element>
1217   <element name="diag" defstate="0">
1318      <led7seg>
1419         <color red="1.0" green="0.0" blue="1.0" />
r19577r19578
139144      <bezel name="digit60" element="diag">
140145         <bounds left="142" top="345" right="176" bottom="380" />
141146      </bezel>
142      <bezel name="digit0" element="digit">
147      <bezel name="digit0" element="ldigit">
143148         <bounds left="186" top="345" right="220" bottom="384" />
144149      </bezel>
145      <bezel name="digit8" element="digit">
150      <bezel name="digit8" element="ldigit">
146151         <bounds left="230" top="345" right="264" bottom="384" />
147152      </bezel>
148153      <bezel element="P0"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
trunk/src/mame/drivers/s11.c
r19577r19578
77
88
99ToDo:
10- Determine what drives the background sound (atm it's a guess)
10- Background music is slow in High Speed
1111- Can coin up but not start
12- Doesn't react to the Advance button very well
1213
1314*****************************************************************************************/
1415
r19577r19578
5859   DECLARE_WRITE8_MEMBER(pia2c_pb_w);
5960   DECLARE_WRITE8_MEMBER(pia34_pa_w);
6061   DECLARE_WRITE8_MEMBER(pia34_pb_w);
62   DECLARE_WRITE_LINE_MEMBER(pia34_cb2_w);
6163   DECLARE_WRITE8_MEMBER(pia40_pa_w);
6264   DECLARE_READ8_MEMBER(dips_r);
6365   DECLARE_READ8_MEMBER(switch_r);
6466   DECLARE_WRITE8_MEMBER(switch_w);
6567   DECLARE_READ_LINE_MEMBER(pias_ca1_r);
6668   DECLARE_READ_LINE_MEMBER(pia21_ca1_r);
69   DECLARE_READ8_MEMBER(pia28_w7_r);
6770   DECLARE_READ_LINE_MEMBER(pia28_ca1_r);
6871   DECLARE_READ_LINE_MEMBER(pia28_cb1_r);
6972   DECLARE_WRITE_LINE_MEMBER(pias_ca2_w);
r19577r19578
208211   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)
209212   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)
210213   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Advance") PORT_CODE(KEYCODE_0)
211   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Up/Down") PORT_CODE(KEYCODE_9)
214   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Up/Down") PORT_CODE(KEYCODE_9) PORT_TOGGLE
215   PORT_CONFNAME( 0x10, 0x00, "Language" )
216   PORT_CONFSETTING( 0x00, "German" )
217   PORT_CONFSETTING( 0x10, "English" )
212218INPUT_PORTS_END
213219
214220MACHINE_RESET_MEMBER( s11_state, s11 )
r19577r19578
289295
290296READ_LINE_MEMBER( s11_state::pia28_ca1_r )
291297{
292   return BIT(ioport("DIAGS")->read(), 2); // advance button
298   return BIT(ioport("DIAGS")->read(), 2) ? 1 : 0; // advance button
293299}
294300
295301READ_LINE_MEMBER( s11_state::pia28_cb1_r )
296302{
297   return BIT(ioport("DIAGS")->read(), 3); // up/down switch
303   return BIT(ioport("DIAGS")->read(), 3) ? 1 : 0; // up/down switch
298304}
299305
300306WRITE8_MEMBER( s11_state::dig0_w )
r19577r19578
318324   }
319325}
320326
327READ8_MEMBER( s11_state::pia28_w7_r)
328{
329   if(BIT(ioport("DIAGS")->read(), 4))  // W7 Jumper
330      return 0x00;
331   return 0x80;
332}
333
321334static const pia6821_interface pia28_intf =
322335{
323   DEVCB_NULL,      /* port A in */
336   DEVCB_DRIVER_MEMBER(s11_state, pia28_w7_r),      /* port A in */
324337   DEVCB_NULL,      /* port B in */
325338   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_ca1_r),      /* line CA1 in */
326339   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia28_cb1_r),      /* line CB1 in */
r19577r19578
413426
414427WRITE8_MEMBER( s11_state::pia34_pb_w )
415428{
429   m_pia40->portb_w(data);
430   m_pia40->cb1_w(1);
431   m_pia40->cb1_w(0);
416432}
417433
434WRITE_LINE_MEMBER( s11_state::pia34_cb2_w )
435{
436
437}
438
418439static const pia6821_interface pia34_intf =
419440{
420441   DEVCB_NULL,      /* port A in */
r19577r19578
426447   DEVCB_DRIVER_MEMBER(s11_state, pia34_pa_w),      /* port A out */
427448   DEVCB_DRIVER_MEMBER(s11_state, pia34_pb_w),      /* port B out */
428449   DEVCB_NULL,      /* line CA2 out */
429   DEVCB_NULL,      /* line CB2 out */
450   DEVCB_DRIVER_LINE_MEMBER(s11_state, pia34_cb2_w),      /* line CB2 out */
430451   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE),   /* IRQA */
431452   DEVCB_CPU_INPUT_LINE("maincpu", M6800_IRQ_LINE)      /* IRQB */
432453};
r19577r19578
493514static const pia6821_interface pia40_intf =
494515{
495516   DEVCB_NULL,      /* port A in */
496   DEVCB_DRIVER_MEMBER(s11_state, dac_r),      /* port B in */
517   DEVCB_NULL,//_DRIVER_MEMBER(s11_state, dac_r),      /* port B in */
497518   DEVCB_DRIVER_LINE_MEMBER(s11_state, pias_ca1_r),      /* line CA1 in */
498519   DEVCB_NULL,      /* line CB1 in */
499520   DEVCB_LINE_VCC,      /* line CA2 in */
r19577r19578
530551   /* basic machine hardware */
531552   MCFG_CPU_ADD("maincpu", M6800, 4000000)
532553   MCFG_CPU_PROGRAM_MAP(s11_main_map)
533   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s11_state, irq, attotime::from_hz(250))
554   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s11_state, irq, attotime::from_hz(500))
534555   MCFG_MACHINE_RESET_OVERRIDE(s11_state, s11)
535556
536557   /* Video */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team