Previous 199869 Revisions Next

r32489 Thursday 2nd October, 2014 at 03:00:46 UTC by Robbbert
placeholders
[src/mame]mame.mak
[src/mame/drivers]s8.c s8a.c*
[src/mame/layout]s8a.lay*

trunk/src/mame/layout/s8a.lay
r0r32489
1<!-- s8.lay -->
2
3<!-- 2012-10-26: Initial version.  [Robbbert] -->
4
5<mamelayout version="2">
6
7   <element name="digit" defstate="0">
8      <led7seg>
9         <color red="1.0" green="1.0" blue="0.0" />
10      </led7seg>
11   </element>
12   <element name="diag" defstate="0">
13      <led7seg>
14         <color red="1.0" green="0.0" blue="1.0" />
15      </led7seg>
16   </element>
17   <element name="background">
18      <rect>
19         <bounds left="0" top="0" right="1" bottom="1" />
20         <color red="0.0" green="0.0" blue="0.0" />
21      </rect>
22   </element>
23   <element name="P0"><text string="Diag"><color red="1.0" green="1.0" blue="1.0" /></text></element>
24   <element name="P1"><text string="Innings"><color red="1.0" green="1.0" blue="1.0" /></text></element>
25   <element name="P3"><text string="Visitors"><color red="1.0" green="1.0" blue="1.0" /></text></element>
26   <element name="P4"><text string="Home"><color red="1.0" green="1.0" blue="1.0" /></text></element>
27   <element name="P5"><text string="Strikes"><color red="1.0" green="1.0" blue="1.0" /></text></element>
28   <element name="P6"><text string="Outs"><color red="1.0" green="1.0" blue="1.0" /></text></element>
29
30   <view name="Default Layout">
31
32      <!-- Background -->
33      <backdrop element="background">
34         <bounds left="0" top="20" right="318" bottom="154" />
35      </backdrop>
36
37      <!-- LEDs -->
38
39      <bezel name="digit1" element="digit">
40         <bounds left="10" top="45" right="44" bottom="84" />
41      </bezel>
42      <bezel name="digit2" element="digit">
43         <bounds left="54" top="45" right="88" bottom="84" />
44      </bezel>
45      <bezel name="digit3" element="digit">
46         <bounds left="98" top="45" right="132" bottom="84" />
47      </bezel>
48      <bezel name="digit4" element="digit">
49         <bounds left="142" top="45" right="176" bottom="84" />
50      </bezel>
51      <bezel name="digit5" element="digit">
52         <bounds left="186" top="45" right="220" bottom="84" />
53      </bezel>
54      <bezel name="digit6" element="digit">
55         <bounds left="230" top="45" right="264" bottom="84" />
56      </bezel>
57      <bezel name="digit7" element="digit">
58         <bounds left="274" top="45" right="308" bottom="84" />
59      </bezel>
60
61      <!-- Player 4 Score -->
62      <bezel name="digit9" element="digit">
63         <bounds left="10" top="105" right="44" bottom="144" />
64      </bezel>
65      <bezel name="digit10" element="digit">
66         <bounds left="54" top="105" right="88" bottom="144" />
67      </bezel>
68      <bezel name="digit11" element="digit">
69         <bounds left="98" top="105" right="132" bottom="144" />
70      </bezel>
71      <bezel name="digit12" element="digit">
72         <bounds left="142" top="105" right="176" bottom="144" />
73      </bezel>
74      <bezel name="digit13" element="digit">
75         <bounds left="186" top="105" right="220" bottom="144" />
76      </bezel>
77      <bezel name="digit60" element="diag">
78         <bounds left="230" top="105" right="264" bottom="144" />
79      </bezel>
80      <bezel name="digit15" element="digit">
81         <bounds left="274" top="105" right="308" bottom="144" />
82      </bezel>
83
84      <bezel element="P0"><bounds left="230" right="258" top="90" bottom="102" /></bezel>
85      <bezel element="P1"><bounds left="30" right="88" top="90" bottom="102" /></bezel>
86      <bezel element="P3"><bounds left="45" right="95" top="30" bottom="42" /></bezel>
87      <bezel element="P4"><bounds left="220" right="274" top="30" bottom="42" /></bezel>
88      <bezel element="P5"><bounds left="170" right="230" top="90" bottom="102" /></bezel>
89      <bezel element="P6"><bounds left="270" right="310" top="90" bottom="102" /></bezel>
90   </view>
91</mamelayout>
Property changes on: trunk/src/mame/layout/s8a.lay
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/mame/drivers/s8a.c
r0r32489
1// license:MAME
2// copyright-holders:Robbbert
3/***********************************************************************************
4
5  PINBALL
6  Williams System 8: Still Crazy
7
8  The very first time run, the display will show the model number (526 or 543).
9  Press F3 to clear this, then follow instructions below.
10
11  A novelty game where the playfield is completely vertical. It has
12  4 flippers and the idea is to get the ball up to the alcohol 'still' before
13  the 'revenuers' do. The idea didn't catch on, and the game was not officially
14  released. 1 player. The display shows Score and Batch. There is no credit
15  display.
16
17ToDo:
18- Make Still Crazy layout.
19- Get Still Crazy coin-in to register.
20  Workaround:
21  - Start in debug mode, g to run the game, go to memory view and enter credits
22    into location 0x738. (example: 90 gives 90 credits). Quit.
23  - Start in non-debug mode. Press 1 to start, it works fine, apart from the
24    knocker making a lot of noise. Keys to use: A then any key on that row.
25
26************************************************************************************/
27
28
29#include "machine/genpin.h"
30#include "cpu/m6800/m6800.h"
31#include "machine/6821pia.h"
32#include "sound/dac.h"
33#include "s8a.lh"
34
35
36class s8a_state : public genpin_class
37{
38public:
39   s8a_state(const machine_config &mconfig, device_type type, const char *tag)
40      : genpin_class(mconfig, type, tag)
41      , m_maincpu(*this, "maincpu")
42      , m_audiocpu(*this, "audiocpu")
43      , m_dac(*this, "dac")
44      , m_pias(*this, "pias")
45      , m_pia21(*this, "pia21")
46      , m_pia24(*this, "pia24")
47      , m_pia28(*this, "pia28")
48      , m_pia30(*this, "pia30")
49   { }
50
51   DECLARE_READ8_MEMBER(dac_r);
52   DECLARE_WRITE8_MEMBER(dac_w);
53   DECLARE_WRITE8_MEMBER(dig0_w);
54   DECLARE_WRITE8_MEMBER(dig1_w);
55   DECLARE_WRITE8_MEMBER(lamp0_w);
56   DECLARE_WRITE8_MEMBER(lamp1_w) { };
57   DECLARE_WRITE8_MEMBER(sol2_w) { }; // solenoids 8-15
58   DECLARE_WRITE8_MEMBER(sol3_w); // solenoids 0-7
59   DECLARE_WRITE8_MEMBER(sound_w);
60   DECLARE_READ8_MEMBER(dips_r);
61   DECLARE_READ8_MEMBER(switch_r);
62   DECLARE_WRITE8_MEMBER(switch_w);
63   DECLARE_READ_LINE_MEMBER(pia21_ca1_r);
64   DECLARE_READ_LINE_MEMBER(pia28_ca1_r);
65   DECLARE_READ_LINE_MEMBER(pia28_cb1_r);
66   DECLARE_WRITE_LINE_MEMBER(pias_ca2_w);
67   DECLARE_WRITE_LINE_MEMBER(pias_cb2_w);
68   DECLARE_WRITE_LINE_MEMBER(pia21_ca2_w);
69   DECLARE_WRITE_LINE_MEMBER(pia21_cb2_w) { }; // enable solenoids
70   DECLARE_WRITE_LINE_MEMBER(pia24_cb2_w) { }; // dummy to stop error log filling up
71   DECLARE_WRITE_LINE_MEMBER(pia28_ca2_w) { }; // comma3&4
72   DECLARE_WRITE_LINE_MEMBER(pia28_cb2_w) { }; // comma1&2
73   TIMER_DEVICE_CALLBACK_MEMBER(irq);
74   DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
75   DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
76   DECLARE_MACHINE_RESET(s8);
77private:
78   UINT8 m_t_c;
79   UINT8 m_sound_data;
80   UINT8 m_strobe;
81   UINT8 m_kbdrow;
82   bool m_data_ok;
83   required_device<cpu_device> m_maincpu;
84   required_device<cpu_device> m_audiocpu;
85   required_device<dac_device> m_dac;
86   required_device<pia6821_device> m_pias;
87   required_device<pia6821_device> m_pia21;
88   required_device<pia6821_device> m_pia24;
89   required_device<pia6821_device> m_pia28;
90   required_device<pia6821_device> m_pia30;
91};
92
93static ADDRESS_MAP_START( s8_main_map, AS_PROGRAM, 8, s8a_state )
94   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
95   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
96   AM_RANGE(0x2100, 0x2103) AM_DEVREADWRITE("pia21", pia6821_device, read, write) // sound+solenoids
97   AM_RANGE(0x2200, 0x2200) AM_WRITE(sol3_w) // solenoids
98   AM_RANGE(0x2400, 0x2403) AM_DEVREADWRITE("pia24", pia6821_device, read, write) // lamps
99   AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("pia28", pia6821_device, read, write) // display
100   AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("pia30", pia6821_device, read, write) // inputs
101   AM_RANGE(0x5000, 0x7fff) AM_ROM
102ADDRESS_MAP_END
103
104static ADDRESS_MAP_START( s8_audio_map, AS_PROGRAM, 8, s8a_state )
105   AM_RANGE(0x0000, 0x00ff) AM_RAM
106   AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("pias", pia6821_device, read, write)
107   AM_RANGE(0x8000, 0xffff) AM_ROM
108ADDRESS_MAP_END
109
110static INPUT_PORTS_START( s8 )
111   PORT_START("X0")
112   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
113
114   PORT_START("X1")
115   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
116   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER )
117   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START )
118   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 )
119   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
120   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
121   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER )
122   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER )
123
124   PORT_START("X2")
125   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A)
126   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S)
127   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D)
128   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F)
129   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G)
130   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H)
131   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J)
132   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K)
133
134   PORT_START("X4")
135   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L)
136   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z)
137   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C)
138   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V)
139   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B)
140   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N)
141   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M)
142   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA)
143
144   PORT_START("X8")
145   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_STOP)
146   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH)
147   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_COLON)
148   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE)
149   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X)
150   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS)
151   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS)
152   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE)
153
154   PORT_START("X10")
155   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE)
156   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE)
157   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH)
158   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER)
159   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT)
160   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT)
161   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_UP)
162   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_DOWN)
163
164   PORT_START("X20")
165   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q)
166   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W)
167   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E)
168   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R)
169   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y)
170   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U)
171   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I)
172   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_O)
173
174   PORT_START("X40")
175   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
176
177   PORT_START("X80")
178   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
179
180   PORT_START("DIAGS")
181   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Audio Diag") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, s8a_state, audio_nmi, 1)
182   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Main Diag") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, s8a_state, main_nmi, 1)
183   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Advance") PORT_CODE(KEYCODE_0)
184   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Up/Down") PORT_CODE(KEYCODE_9)
185INPUT_PORTS_END
186
187MACHINE_RESET_MEMBER( s8a_state, s8 )
188{
189   m_t_c = 0;
190}
191
192INPUT_CHANGED_MEMBER( s8a_state::main_nmi )
193{
194   // Diagnostic button sends a pulse to NMI pin
195   if (newval==CLEAR_LINE)
196      m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
197}
198
199INPUT_CHANGED_MEMBER( s8a_state::audio_nmi )
200{
201   // Diagnostic button sends a pulse to NMI pin
202   if (newval==CLEAR_LINE)
203      m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
204}
205
206WRITE8_MEMBER( s8a_state::sol3_w )
207{
208   if (BIT(data, 1))
209      m_samples->start(0, 6); // knocker
210}
211
212WRITE8_MEMBER( s8a_state::sound_w )
213{
214   m_sound_data = data;
215}
216
217READ_LINE_MEMBER( s8a_state::pia21_ca1_r )
218{
219// sound busy
220   return 1;
221}
222
223WRITE_LINE_MEMBER( s8a_state::pia21_ca2_w )
224{
225// sound ns
226   m_pias->ca1_w(state);
227}
228
229WRITE8_MEMBER( s8a_state::lamp0_w )
230{
231   m_maincpu->set_input_line(M6800_IRQ_LINE, CLEAR_LINE);
232}
233
234READ_LINE_MEMBER( s8a_state::pia28_ca1_r )
235{
236   return BIT(ioport("DIAGS")->read(), 2); // advance button
237}
238
239READ_LINE_MEMBER( s8a_state::pia28_cb1_r )
240{
241   return BIT(ioport("DIAGS")->read(), 3); // up/down switch
242}
243
244WRITE8_MEMBER( s8a_state::dig0_w )
245{
246   static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7447
247   data &= 0x7f;
248   m_strobe = data & 15;
249   m_data_ok = true;
250   output_set_digit_value(60, patterns[data>>4]); // diag digit
251}
252
253WRITE8_MEMBER( s8a_state::dig1_w )
254{
255   static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0, 0, 0, 0, 0, 0 }; // MC14558
256   if (m_data_ok)
257   {
258      output_set_digit_value(m_strobe+16, patterns[data&15]);
259      output_set_digit_value(m_strobe, patterns[data>>4]);
260   }
261   m_data_ok = false;
262}
263
264READ8_MEMBER( s8a_state::switch_r )
265{
266   char kbdrow[8];
267   sprintf(kbdrow,"X%X",m_kbdrow);
268   return ~ioport(kbdrow)->read();
269}
270
271WRITE8_MEMBER( s8a_state::switch_w )
272{
273   m_kbdrow = data;
274}
275
276READ8_MEMBER( s8a_state::dac_r )
277{
278   return m_sound_data;
279}
280
281WRITE8_MEMBER( s8a_state::dac_w )
282{
283   m_dac->write_unsigned8(data);
284}
285
286TIMER_DEVICE_CALLBACK_MEMBER( s8a_state::irq)
287{
288   if (m_t_c > 0x70)
289      m_maincpu->set_input_line(M6800_IRQ_LINE, ASSERT_LINE);
290   else
291      m_t_c++;
292}
293
294static MACHINE_CONFIG_START( s8, s8a_state )
295   /* basic machine hardware */
296   MCFG_CPU_ADD("maincpu", M6802, 4000000)
297   MCFG_CPU_PROGRAM_MAP(s8_main_map)
298   MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s8a_state, irq, attotime::from_hz(250))
299   MCFG_MACHINE_RESET_OVERRIDE(s8a_state, s8)
300
301   /* Video */
302   MCFG_DEFAULT_LAYOUT(layout_s8a)
303
304   /* Sound */
305   MCFG_FRAGMENT_ADD( genpin_audio )
306
307   /* Devices */
308   MCFG_DEVICE_ADD("pia21", PIA6821, 0)
309   MCFG_PIA_READPA_HANDLER(READ8(s8a_state, dac_r))
310   MCFG_PIA_READCA1_HANDLER(READLINE(s8a_state, pia21_ca1_r))
311   MCFG_PIA_WRITEPA_HANDLER(WRITE8(s8a_state, sound_w))
312   MCFG_PIA_WRITEPB_HANDLER(WRITE8(s8a_state, sol2_w))
313   MCFG_PIA_CA2_HANDLER(WRITELINE(s8a_state, pia21_ca2_w))
314   MCFG_PIA_CB2_HANDLER(WRITELINE(s8a_state, pia21_cb2_w))
315   MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
316   MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
317
318   MCFG_DEVICE_ADD("pia24", PIA6821, 0)
319   MCFG_PIA_WRITEPA_HANDLER(WRITE8(s8a_state, lamp0_w))
320   MCFG_PIA_WRITEPB_HANDLER(WRITE8(s8a_state, lamp1_w))
321   MCFG_PIA_CB2_HANDLER(WRITELINE(s8a_state, pia24_cb2_w))
322   MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
323   MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
324
325   MCFG_DEVICE_ADD("pia28", PIA6821, 0)
326   MCFG_PIA_READCA1_HANDLER(READLINE(s8a_state, pia28_ca1_r))
327   MCFG_PIA_READCB1_HANDLER(READLINE(s8a_state, pia28_cb1_r))
328   MCFG_PIA_WRITEPA_HANDLER(WRITE8(s8a_state, dig0_w))
329   MCFG_PIA_WRITEPB_HANDLER(WRITE8(s8a_state, dig1_w))
330   MCFG_PIA_CA2_HANDLER(WRITELINE(s8a_state, pia28_ca2_w))
331   MCFG_PIA_CB2_HANDLER(WRITELINE(s8a_state, pia28_cb2_w))
332   MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
333   MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
334
335   MCFG_DEVICE_ADD("pia30", PIA6821, 0)
336   MCFG_PIA_READPA_HANDLER(READ8(s8a_state, switch_r))
337   MCFG_PIA_WRITEPB_HANDLER(WRITE8(s8a_state, switch_w))
338   MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
339   MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6802_cpu_device, irq_line))
340
341   MCFG_NVRAM_ADD_1FILL("nvram")
342
343   /* Add the soundcard */
344   MCFG_CPU_ADD("audiocpu", M6808, 4000000)
345   MCFG_CPU_PROGRAM_MAP(s8_audio_map)
346   MCFG_SPEAKER_STANDARD_MONO("mono")
347   MCFG_SOUND_ADD("dac", DAC, 0)
348   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
349
350   MCFG_DEVICE_ADD("pias", PIA6821, 0)
351   MCFG_PIA_READPA_HANDLER(READ8(s8a_state, dac_r))
352   MCFG_PIA_WRITEPA_HANDLER(WRITE8(s8a_state, sound_w))
353   MCFG_PIA_WRITEPB_HANDLER(WRITE8(s8a_state, dac_w))
354   MCFG_PIA_CA2_HANDLER(NULL)
355   MCFG_PIA_CB2_HANDLER(NULL)
356   MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("audiocpu", m6808_cpu_device, irq_line))
357   MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("audiocpu", m6808_cpu_device, irq_line))
358MACHINE_CONFIG_END
359
360
361/*----------------------------
362/ Still Crazy (#543) 06/1984
363/-----------------------------*/
364ROM_START(scrzy_l1)
365   ROM_REGION(0x10000, "maincpu", 0)
366   ROM_LOAD("ic20.bin", 0x6000, 0x2000, CRC(b0df42e6) SHA1(bb10268d7b820d1de0c20e1b79aba558badd072b) )
367
368   ROM_REGION(0x10000, "audiocpu", 0)
369   ROM_LOAD("ic49.bin", 0xc000, 0x4000, CRC(bcc8ccc4) SHA1(2312f9cc4f5a2dadfbfa61d13c31bb5838adf152) )
370ROM_END
371
372GAME(1984,scrzy_l1, 0,        s8, s8, driver_device, 0, ROT0, "Williams", "Still Crazy", GAME_MECHANICAL | GAME_NOT_WORKING)
Property changes on: trunk/src/mame/drivers/s8a.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mame/drivers/s8.c
r32488r32489
409409   ROM_LOAD("cpu_u49.128", 0xc000, 0x4000, CRC(b0161712) SHA1(5850f1f1f11e3ac9b9629cff2b26c4ad32436b55))
410410ROM_END
411411
412/*----------------------------
413/ Still Crazy (#543) 06/1984
414/-----------------------------*/
415ROM_START(scrzy_l1)
416   ROM_REGION(0x10000, "maincpu", 0)
417   ROM_LOAD("ic20.bin", 0x6000, 0x2000, CRC(b0df42e6) SHA1(bb10268d7b820d1de0c20e1b79aba558badd072b) )
418412
419   ROM_REGION(0x10000, "audiocpu", 0)
420   ROM_LOAD("ic49.bin", 0xc000, 0x4000, CRC(bcc8ccc4) SHA1(2312f9cc4f5a2dadfbfa61d13c31bb5838adf152) )
421ROM_END
422
423413GAME(1984,pfevr_l2, 0,        s8, s8, driver_device, 0, ROT0, "Williams", "Pennant Fever (L-2)", GAME_MECHANICAL)
424414GAME(1984,pfevr_p3, pfevr_l2, s8, s8, driver_device, 0, ROT0, "Williams", "Pennant Fever (P-3)", GAME_MECHANICAL)
425GAME(1984,scrzy_l1, 0,        s8, s8, driver_device, 0, ROT0, "Williams", "Still Crazy", GAME_MECHANICAL | GAME_NOT_WORKING)
trunk/src/mame/mame.mak
r32488r32489
21612161   $(DRIVERS)/s6a.o \
21622162   $(DRIVERS)/s7.o \
21632163   $(DRIVERS)/s8.o \
2164   $(DRIVERS)/s8a.o \
21642165   $(DRIVERS)/s9.o \
21652166   $(DRIVERS)/sam.o \
21662167   $(DRIVERS)/sleic.o \
r32488r32489
28012802$(DRIVERS)/rowamet.o:   $(LAYOUT)/rowamet.lh
28022803
28032804$(DRIVERS)/s3.o:        $(LAYOUT)/s3.lh
2804
28052805$(DRIVERS)/s4.o:        $(LAYOUT)/s4.lh
2806
28072806$(DRIVERS)/s6.o:        $(LAYOUT)/s6.lh
2808
28092807$(DRIVERS)/s6a.o:       $(LAYOUT)/s6a.lh
2810
28112808$(DRIVERS)/s7.o:        $(LAYOUT)/s7.lh
2812
28132809$(DRIVERS)/s8.o:        $(LAYOUT)/s8.lh
2814
2810$(DRIVERS)/s8a.o:       $(LAYOUT)/s8a.lh
28152811$(DRIVERS)/s9.o:        $(LAYOUT)/s9.lh
2816
28172812$(DRIVERS)/s11.o:       $(LAYOUT)/s11.lh
28182813$(DRIVERS)/s11a.o:      $(LAYOUT)/s11a.lh
28192814$(DRIVERS)/s11b.o:      $(LAYOUT)/s11b.lh

Previous 199869 Revisions Next


© 1997-2024 The MAME Team