1 /***************************************************************************
2
3 Cinematronics vector hardware
4
5 driver by Aaron Giles
6
7 Special thanks to Neil Bradley, Zonn Moore, and Jeff Mitchell of the
8 Retrocade Alliance
9
10 Games supported:
11 * Space Wars
12 * Barrier
13 * Star Hawk
14 * Star Castle
15 * Tailgunner
16 * Rip Off
17 * Speed Freak
18 * Sundance
19 * Warrior
20 * Armor Attack
21 * Solar Quest
22 * Demon
23 * War of the Worlds
24 * Boxing Bugs
25
26 ***************************************************************************/
27
28 #include "driver.h"
29 #include "vidhrdw/generic.h"
30 #include "vidhrdw/vector.h"
31 #include "cpu/ccpu/ccpu.h"
32 #include "machine/z80fmly.h"
33 #include "cinemat.h"
34
35
36
37 /*************************************
38 *
39 * Sundance inputs
40 *
41 *************************************/
42
READ16_HANDLER(sundance_input_port_1_r)43 static READ16_HANDLER( sundance_input_port_1_r )
44 {
45 UINT16 val = readinputport(1);
46
47 switch (readinputport(4) & 0x1ff) /* player 1 keypad */
48 {
49 case 0x0001: val &= ~0x1201; break;
50 case 0x0002: val &= ~0x1000; break;
51 case 0x0004: val &= ~0x0001; break;
52 case 0x0008: val &= ~0x4000; break;
53 case 0x0010: val &= ~0x1001; break;
54 case 0x0020: val &= ~0x0200; break;
55 case 0x0040: val &= ~0x4001; break;
56 case 0x0080: val &= ~0x1200; break;
57 case 0x0100: val &= ~0x0201; break;
58 }
59
60 switch (readinputport(5) & 0x1ff) /* player 2 keypad */
61 {
62 case 0x0001: val &= ~0x2500; break;
63 case 0x0002: val &= ~0x2000; break;
64 case 0x0004: val &= ~0x0400; break;
65 case 0x0008: val &= ~0x8000; break;
66 case 0x0010: val &= ~0x2400; break;
67 case 0x0020: val &= ~0x0100; break;
68 case 0x0040: val &= ~0x8400; break;
69 case 0x0080: val &= ~0x2100; break;
70 case 0x0100: val &= ~0x0500; break;
71 }
72
73 return val;
74 }
75
76
77
78 /*************************************
79 *
80 * Speed Freak inputs
81 *
82 *************************************/
83
84 static UINT8 speedfrk_steer[] = {0xe, 0x6, 0x2, 0x0, 0x3, 0x7, 0xf};
85
READ16_HANDLER(speedfrk_input_port_1_r)86 static READ16_HANDLER( speedfrk_input_port_1_r )
87 {
88 static int last_wheel=0, delta_wheel, last_frame=0, gear=0xe0;
89 int val, current_frame;
90
91 /* check the fake gear input port and determine the bit settings for the gear */
92 if ((input_port_5_r(0) & 0xf0) != 0xf0)
93 gear = input_port_5_r(0) & 0xf0;
94
95 val = (input_port_1_word_r(0, 0) & 0xff00) | gear;
96
97 /* add the start key into the mix */
98 if (input_port_1_word_r(0, 0) & 0x80)
99 val |= 0x80;
100 else
101 val &= ~0x80;
102
103 /* and for the cherry on top, we add the scrambled analog steering */
104 current_frame = cpu_getcurrentframe();
105 if (current_frame > last_frame)
106 {
107 /* the shift register is cleared once per 'frame' */
108 delta_wheel = input_port_4_r(0) - last_wheel;
109 last_wheel += delta_wheel;
110 if (delta_wheel > 3)
111 delta_wheel = 3;
112 else if (delta_wheel < -3)
113 delta_wheel = -3;
114 }
115 last_frame = current_frame;
116
117 val |= speedfrk_steer[delta_wheel + 3];
118
119 return val;
120 }
121
122
123
124 /*************************************
125 *
126 * Boxing Bugs inputs
127 *
128 *************************************/
129
READ16_HANDLER(boxingb_input_port_1_r)130 static READ16_HANDLER( boxingb_input_port_1_r )
131 {
132 if (cinemat_output_port_r(0,0) & 0x80)
133 return ((input_port_4_r(0) & 0x0f) << 12) + input_port_1_word_r(0,0);
134 else
135 return ((input_port_4_r(0) & 0xf0) << 8) + input_port_1_word_r(0,0);
136 }
137
138
139
140 /*************************************
141 *
142 * Video overlays
143 *
144 *************************************/
145
146 /* Overlay based on colours shown in videos: */
147 /* https://www.youtube.com/watch?v=D6DkKPy3Q_I */
148 /* https://www.youtube.com/watch?v=8HHRCA6CS8k */
149 /* Overlay is quite visible in a lot of machines so is reproduced */
150 /* faithfully here. */
151 #define STARCAS_RED MAKE_ARGB(0x24,0xff,0x20,0x20)
152 #define STARCAS_ORANGE MAKE_ARGB(0x24,0xff,0xa5,0x00)
153 #define STARCAS_YELLOW MAKE_ARGB(0x24,0xff,0xff,0x20)
154 #define STARCAS_BLUE MAKE_ARGB(0x24,0x1f,0x75,0xfe)
155 OVERLAY_START( starcas_overlay )
156 OVERLAY_RECT( 0.0, 0.0, 1.0, 1.0, STARCAS_BLUE)
157 OVERLAY_DISK_NOBLEND( 0.5, 0.5, 0.1225, STARCAS_RED)
158 OVERLAY_DISK_NOBLEND( 0.5, 0.5, 0.0950, STARCAS_ORANGE)
159 OVERLAY_DISK_NOBLEND( 0.5, 0.5, 0.0725, STARCAS_YELLOW)
160 OVERLAY_END
161
162
163 /* Overlay based on colours shown in videos: */
164 /* https://www.youtube.com/watch?v=kbm5sw2eHQs */
165 /* https://www.youtube.com/watch?v=9mMjxeSmUrs */
166 #define TAILG_CYAN MAKE_ARGB(0x04,0x20,0xff,0xff)
OVERLAY_START(tailg_overlay)167 OVERLAY_START( tailg_overlay )
168 OVERLAY_RECT( 0.0, 0.0, 1.0, 1.0, TAILG_CYAN)
169 OVERLAY_END
170
171
172 /* Overlay based on colours shown in video: */
173 /* https://www.youtube.com/watch?v=MPGpq6iTetk */
174 #define SUNDANCE_YELLOW MAKE_ARGB(0x04,0xff,0xff,0x20)
175 OVERLAY_START( sundance_overlay )
176 OVERLAY_RECT( 0.0, 0.0, 1.0, 1.0, SUNDANCE_YELLOW)
177 OVERLAY_END
178
179
180 /* Overlay based on colours shown in videos: */
181 /* https://www.youtube.com/watch?v=jQdK9k86Ivw */
182 /* https://www.youtube.com/watch?v=I2fKvSmph8g */
183 #define SOLARQ_BLUE MAKE_ARGB(0x04,0x1f,0x75,0xfe)
184 #define SOLARQ_RED MAKE_ARGB(0x04,0xff,0x20,0x20)
185 #define SOLARQ_YELLOW MAKE_ARGB(0x04,0xff,0xff,0x20)
186 OVERLAY_START( solarq_overlay )
187 OVERLAY_RECT( 0.0, 0.068, 1.0, 1.0, SOLARQ_BLUE)
188 OVERLAY_RECT( 0.0, 0.0, 1.0, 0.068, SOLARQ_RED)
189 OVERLAY_DISK_NOBLEND( 0.5, 0.5, 0.02, SOLARQ_YELLOW)
190 OVERLAY_END
191
192
193
194 /*************************************
195 *
196 * Main CPU memory handlers
197 *
198 *************************************/
199
200 static MEMORY_READ16_START( readmem )
201 { 0x0000, 0x01ff, MRA16_RAM },
202 { 0x8000, 0xffff, MRA16_ROM },
203 MEMORY_END
204
205
206 static MEMORY_WRITE16_START( writemem )
207 { 0x0000, 0x01ff, MWA16_RAM },
208 { 0x8000, 0xffff, MWA16_ROM },
209 MEMORY_END
210
211
212
213 /*************************************
214 *
215 * Main CPU port handlers
216 *
217 *************************************/
218
219 static PORT_READ16_START( readport )
220 { CCPU_PORT_IOSWITCHES, CCPU_PORT_IOSWITCHES+1, input_port_0_word_r },
221 { CCPU_PORT_IOINPUTS, CCPU_PORT_IOINPUTS+1, input_port_1_word_r },
222 { CCPU_PORT_IOOUTPUTS, CCPU_PORT_IOOUTPUTS+1, cinemat_output_port_r },
223 { CCPU_PORT_IN_JOYSTICKX, CCPU_PORT_IN_JOYSTICKX+1, input_port_2_word_r },
224 { CCPU_PORT_IN_JOYSTICKY, CCPU_PORT_IN_JOYSTICKY+1, input_port_3_word_r },
225 PORT_END
226
227
228 static PORT_WRITE16_START( writeport )
229 { CCPU_PORT_IOOUTPUTS, CCPU_PORT_IOOUTPUTS+1, cinemat_output_port_w },
230 PORT_END
231
232
233
234 /*************************************
235 *
236 * Port definitions
237 *
238 *************************************/
239
240 /* switch definitions are all mangled; for ease of use, I created these handy macros */
241
242 #define SW7 0x40
243 #define SW6 0x02
244 #define SW5 0x04
245 #define SW4 0x08
246 #define SW3 0x01
247 #define SW2 0x20
248 #define SW1 0x10
249
250 #define SW7OFF SW7
251 #define SW6OFF SW6
252 #define SW5OFF SW5
253 #define SW4OFF SW4
254 #define SW3OFF SW3
255 #define SW2OFF SW2
256 #define SW1OFF SW1
257
258 #define SW7ON 0
259 #define SW6ON 0
260 #define SW5ON 0
261 #define SW4ON 0
262 #define SW3ON 0
263 #define SW2ON 0
264 #define SW1ON 0
265
266
267 INPUT_PORTS_START( spacewar )
268 PORT_START /* switches */
269 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
270 PORT_DIPNAME( SW2|SW1, SW2ON |SW1ON, "Time" )
271 PORT_DIPSETTING( SW2OFF|SW1OFF, "0:45/coin" )
272 PORT_DIPSETTING( SW2ON |SW1ON, "1:00/coin" )
273 PORT_DIPSETTING( SW2ON |SW1OFF, "1:30/coin" )
274 PORT_DIPSETTING( SW2OFF|SW1ON, "2:00/coin" )
275 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
276 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
277 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
278 PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
279 PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
280 PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
281 PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
282
283 PORT_START /* inputs */
284 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
285 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
286 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
287 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
288 PORT_BITX( 0x0800, IP_ACTIVE_LOW, 0, "Option 0", KEYCODE_0_PAD, IP_JOY_NONE )
289 PORT_BITX( 0x0400, IP_ACTIVE_LOW, 0, "Option 5", KEYCODE_5_PAD, IP_JOY_NONE )
290 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
291 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
292 PORT_BITX( 0x0080, IP_ACTIVE_LOW, 0, "Option 7", KEYCODE_7_PAD, IP_JOY_NONE )
293 PORT_BITX( 0x0040, IP_ACTIVE_LOW, 0, "Option 2", KEYCODE_2_PAD, IP_JOY_NONE )
294 PORT_BITX( 0x0020, IP_ACTIVE_LOW, 0, "Option 6", KEYCODE_6_PAD, IP_JOY_NONE )
295 PORT_BITX( 0x0010, IP_ACTIVE_LOW, 0, "Option 1", KEYCODE_1_PAD, IP_JOY_NONE )
296 PORT_BITX( 0x0008, IP_ACTIVE_LOW, 0, "Option 9", KEYCODE_9_PAD, IP_JOY_NONE )
297 PORT_BITX( 0x0004, IP_ACTIVE_LOW, 0, "Option 4", KEYCODE_4_PAD, IP_JOY_NONE )
298 PORT_BITX( 0x0002, IP_ACTIVE_LOW, 0, "Option 8", KEYCODE_8_PAD, IP_JOY_NONE )
299 PORT_BITX( 0x0001, IP_ACTIVE_LOW, 0, "Option 3", KEYCODE_3_PAD, IP_JOY_NONE )
300
301 PORT_START /* analog stick X - unused */
302 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
303
304 PORT_START /* analog stick Y - unused */
305 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
306 INPUT_PORTS_END
307
308
309 INPUT_PORTS_START( barrier )
310 PORT_START /* switches */
311 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
312 PORT_DIPNAME( SW1, SW1ON, DEF_STR( Lives ) )
313 PORT_DIPSETTING( SW1ON, "3" )
314 PORT_DIPSETTING( SW1OFF, "5" )
315 PORT_DIPNAME( SW2, SW2OFF, DEF_STR( Demo_Sounds ) )
316 PORT_DIPSETTING( SW2ON, DEF_STR( Off ) )
317 PORT_DIPSETTING( SW2OFF, DEF_STR( On ) )
318 PORT_DIPNAME( SW3, SW3OFF, DEF_STR( Unknown ) )
319 PORT_DIPSETTING( SW3OFF, DEF_STR( Off ) )
320 PORT_DIPSETTING( SW3ON, DEF_STR( On ) )
321 PORT_DIPNAME( SW4, SW4OFF, DEF_STR( Unknown ) )
322 PORT_DIPSETTING( SW4OFF, DEF_STR( Off ) )
323 PORT_DIPSETTING( SW4ON, DEF_STR( On ) )
324 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
325 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
326 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
327 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Unknown ) )
328 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
329 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
330 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
331 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
332 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
333
334 PORT_START /* inputs */
335 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_PLAYER2 )
336 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_PLAYER1 )
337 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_PLAYER2 )
338 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_PLAYER1 )
339 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_START1 )
340 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_PLAYER2 )
341 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_PLAYER1 )
342 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_PLAYER2 )
343 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
344 PORT_BITX( 0x0040, IP_ACTIVE_LOW, 0, "Skill C", KEYCODE_C, IP_JOY_NONE )
345 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
346 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
347 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_PLAYER1 )
348 PORT_BITX( 0x0004, IP_ACTIVE_LOW, 0, "Skill B", KEYCODE_B, IP_JOY_NONE )
349 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
350 PORT_BITX( 0x0001, IP_ACTIVE_LOW, 0, "Skill A", KEYCODE_A, IP_JOY_NONE )
351
352 PORT_START /* analog stick X - unused */
353 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
354
355 PORT_START /* analog stick Y - unused */
356 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
357 INPUT_PORTS_END
358
359
360 /* TODO: 4way or 8way stick? */
361 INPUT_PORTS_START( starhawk )
362 PORT_START /* switches */
363 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 2 )
364 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
365 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
366 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
367 PORT_BIT ( SW6, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
368 PORT_BIT ( SW5, IP_ACTIVE_LOW, IPT_START2 )
369 PORT_BIT ( SW4, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
370 PORT_BIT ( SW3, IP_ACTIVE_LOW, IPT_START1 )
371 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1OFF, "Game Time" )
372 PORT_DIPSETTING( SW2OFF|SW1OFF, "2:00/4:00" )
373 PORT_DIPSETTING( SW2ON |SW1OFF, "1:30/3:00" )
374 PORT_DIPSETTING( SW2OFF|SW1ON, "1:00/2:00" )
375 PORT_DIPSETTING( SW2ON |SW1ON, "0:45/1:30" )
376
377 PORT_START /* input */
378 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
379 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
380 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
381 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
382 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
383 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
384 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
385 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
386 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
387 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
388 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
389 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
390 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
391 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
392 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
393 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
394
395 PORT_START /* analog stick X - unused */
396 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
397
398 PORT_START /* analog stick Y - unused */
399 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
400 INPUT_PORTS_END
401
402
403 INPUT_PORTS_START( starcas )
404 PORT_START /* switches */
405 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
406 PORT_SERVICE( SW7, SW7ON )
407 PORT_DIPNAME( SW4|SW3, SW4OFF|SW3OFF, DEF_STR( Coinage ) )
408 PORT_DIPSETTING( SW4ON |SW3OFF, DEF_STR( 2C_1C ) )
409 PORT_DIPSETTING( SW4ON |SW3ON, DEF_STR( 4C_3C ) )
410 PORT_DIPSETTING( SW4OFF|SW3OFF, DEF_STR( 1C_1C ) )
411 PORT_DIPSETTING( SW4OFF|SW3ON, DEF_STR( 2C_3C ) )
412 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1OFF, DEF_STR( Lives ) )
413 PORT_DIPSETTING( SW2OFF|SW1OFF, "3" )
414 PORT_DIPSETTING( SW2ON |SW1OFF, "4" )
415 PORT_DIPSETTING( SW2OFF|SW1ON, "5" )
416 PORT_DIPSETTING( SW2ON |SW1ON, "6" )
417 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
418 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
419 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
420 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Unknown ) )
421 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
422 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
423
424 PORT_START /* inputs */
425 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
426 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
427 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
428 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 )
429 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
430 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON2 )
431 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
432 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
433 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
434 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
435 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
436 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
437 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
438 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_START2 )
439 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
440 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
441
442 PORT_START /* analog stick X - unused */
443 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
444
445 PORT_START /* analog stick Y - unused */
446 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
447 INPUT_PORTS_END
448
449
450 INPUT_PORTS_START( tailg )
451 PORT_START /* switches */
452 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
453 PORT_DIPNAME( SW6|SW2|SW1, SW6OFF|SW2OFF|SW1OFF, "Shield Points" )
454 PORT_DIPSETTING( SW6ON |SW2ON |SW1ON, "15" )
455 PORT_DIPSETTING( SW6ON |SW2OFF|SW1ON, "20" )
456 PORT_DIPSETTING( SW6ON |SW2ON |SW1OFF, "30" )
457 PORT_DIPSETTING( SW6ON |SW2OFF|SW1OFF, "40" )
458 PORT_DIPSETTING( SW6OFF|SW2ON |SW1ON, "50" )
459 PORT_DIPSETTING( SW6OFF|SW2OFF|SW1ON, "60" )
460 PORT_DIPSETTING( SW6OFF|SW2ON |SW1OFF, "70" )
461 PORT_DIPSETTING( SW6OFF|SW2OFF|SW1OFF, "80" )
462 PORT_DIPNAME( SW3, SW3OFF, DEF_STR( Coinage ) )
463 PORT_DIPSETTING( SW3ON, DEF_STR( 2C_1C ) )
464 PORT_DIPSETTING( SW3OFF, DEF_STR( 1C_1C ) )
465 PORT_DIPNAME( SW4, SW4OFF, DEF_STR( Unknown ) )
466 PORT_DIPSETTING( SW4OFF, DEF_STR( Off ) )
467 PORT_DIPSETTING( SW4ON, DEF_STR( On ) )
468 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
469 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
470 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
471 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
472 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
473 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
474
475 PORT_START /* inputs */
476 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
477 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
478 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
479 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
480 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
481 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
482 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
483 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
484 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
485 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 )
486 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 )
487 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
488 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
489 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED )
490 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
491 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_UNUSED )
492
493 PORT_START /* analog stick X */
494 PORT_ANALOG( 0xfff, 0x800, IPT_AD_STICK_X, 100, 50, 0x200, 0xe00 )
495
496 PORT_START /* analog stick Y */
497 PORT_ANALOG( 0xfff, 0x800, IPT_AD_STICK_Y, 100, 50, 0x200, 0xe00 )
498 INPUT_PORTS_END
499
500
501 INPUT_PORTS_START( ripoff )
502 PORT_START /* switches */
503 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
504 PORT_SERVICE( SW7, SW7OFF )
505 PORT_DIPNAME( SW6, SW6ON, "Scores" )
506 PORT_DIPSETTING( SW6ON, "Individual" )
507 PORT_DIPSETTING( SW6OFF, "Combined" )
508 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Demo_Sounds ) )
509 PORT_DIPSETTING( SW5ON, DEF_STR( Off ) )
510 PORT_DIPSETTING( SW5OFF, DEF_STR( On ) )
511 PORT_DIPNAME( SW4|SW3, SW4ON |SW3ON, DEF_STR( Coinage ) )
512 PORT_DIPSETTING( SW4ON |SW3OFF, DEF_STR( 2C_1C ) )
513 PORT_DIPSETTING( SW4OFF|SW3OFF, DEF_STR( 4C_3C ) )
514 PORT_DIPSETTING( SW4ON |SW3ON, DEF_STR( 1C_1C ) )
515 PORT_DIPSETTING( SW4OFF|SW3ON, DEF_STR( 2C_3C ) )
516 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1OFF, DEF_STR( Lives ) )
517 PORT_DIPSETTING( SW2ON |SW1OFF, "4" )
518 PORT_DIPSETTING( SW2OFF|SW1OFF, "8" )
519 PORT_DIPSETTING( SW2ON |SW1ON, "12" )
520 PORT_DIPSETTING( SW2OFF|SW1ON, "16" )
521
522 PORT_START /* inputs */
523 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
524 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
525 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
526 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
527 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
528 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
529 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
530 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
531 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
532 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
533 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
534 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
535 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
536 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
537 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_START1 )
538 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
539
540 PORT_START /* analog stick X - unused */
541 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
542
543 PORT_START /* analog stick Y - unused */
544 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
545 INPUT_PORTS_END
546
547
548 INPUT_PORTS_START( speedfrk )
549 PORT_START /* switches */
550 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
551 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
552 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
553 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
554 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Unknown ) )
555 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
556 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
557 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
558 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
559 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
560 PORT_DIPNAME( SW4, SW4OFF, DEF_STR( Unknown ) )
561 PORT_DIPSETTING( SW4OFF, DEF_STR( Off ) )
562 PORT_DIPSETTING( SW4ON, DEF_STR( On ) )
563 PORT_DIPNAME( SW3, SW3OFF, DEF_STR( Unknown ) )
564 PORT_DIPSETTING( SW3OFF, DEF_STR( Off ) )
565 PORT_DIPSETTING( SW3ON, DEF_STR( On ) )
566 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1ON, "Extra Time" )
567 PORT_DIPSETTING( SW2ON |SW1ON, "69" )
568 PORT_DIPSETTING( SW2ON |SW1OFF, "99" )
569 PORT_DIPSETTING( SW2OFF|SW1ON, "129" )
570 PORT_DIPSETTING( SW2OFF|SW1OFF, "159" )
571
572 PORT_START /* inputs */
573 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
574 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
575 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
576 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
577 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
578 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
579 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
580 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 ) /* gas */
581 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
582 PORT_BIT ( 0x0070, IP_ACTIVE_LOW, IPT_UNUSED ) /* gear shift, fake below */
583 PORT_BIT ( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) /* steering wheel, fake below */
584
585 PORT_START /* analog stick X - unused */
586 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
587
588 PORT_START /* analog stick Y - unused */
589 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
590
591 PORT_START /* fake - steering wheel (in4) */
592 PORT_ANALOG( 0xff, 0x00, IPT_DIAL, 100, 1, 0x00, 0xff )
593
594 PORT_START /* fake - gear shift (in5) */
595 PORT_BIT ( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
596 PORT_BITX( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2, "1st gear", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
597 PORT_BITX( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2, "2nd gear", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
598 PORT_BITX( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2, "3rd gear", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
599 PORT_BITX( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2, "4th gear", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
600 INPUT_PORTS_END
601
602
603 INPUT_PORTS_START( sundance )
604 PORT_START /* switches */
605 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
606 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
607 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
608 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
609 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Unknown ) )
610 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
611 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
612 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
613 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
614 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
615 PORT_DIPNAME( SW4, SW4OFF, DEF_STR( Unknown ) ) /* supposedly coinage, doesn't work */
616 PORT_DIPSETTING( SW4OFF, DEF_STR( Off ) )
617 PORT_DIPSETTING( SW4ON, DEF_STR( On ) )
618 PORT_DIPNAME( SW3, SW3ON, "Language" )
619 PORT_DIPSETTING( SW3OFF, "Japanese" )
620 PORT_DIPSETTING( SW3ON, "English" )
621 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1ON, "Time" )
622 PORT_DIPSETTING( SW2ON |SW1ON, "0:45/coin" )
623 PORT_DIPSETTING( SW2OFF|SW1ON, "1:00/coin" )
624 PORT_DIPSETTING( SW2ON |SW1OFF, "1:30/coin" )
625 PORT_DIPSETTING( SW2OFF|SW1OFF, "2:00/coin" )
626
627 PORT_START /* inputs */
628 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P2 Pad */
629 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P1 Pad */
630 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P2 Pad */
631 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P1 Pad */
632 PORT_BITX( 0x0800, IP_ACTIVE_LOW, 0, "2 Suns", KEYCODE_COMMA, IP_JOY_NONE )
633 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P2 Pad */
634 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P1 Pad */
635 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P2 Pad */
636 PORT_BITX( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON10 | IPF_PLAYER2, "P2 Shoot", KEYCODE_LCONTROL, IP_JOY_DEFAULT )
637 PORT_BITX( 0x0040, IP_ACTIVE_LOW, 0, "4 Suns", KEYCODE_SLASH, IP_JOY_NONE )
638 PORT_BITX( 0x0020, IP_ACTIVE_LOW, 0, "Toggle Grid", KEYCODE_G, IP_JOY_NONE )
639 PORT_BITX( 0x0010, IP_ACTIVE_LOW, 0, "3 Suns", KEYCODE_STOP, IP_JOY_NONE )
640 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
641 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
642 PORT_BITX( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON10 | IPF_PLAYER1, "P1 Shoot", KEYCODE_0_PAD, IP_JOY_DEFAULT )
643 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_SPECIAL ) /* P1 Pad */
644
645 PORT_START /* analog stick X - unused */
646 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
647
648 PORT_START /* analog stick Y - unused */
649 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
650
651 PORT_START
652 PORT_BITX( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER1, "P1 Pad 1", KEYCODE_7_PAD, IP_JOY_NONE )
653 PORT_BITX( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER1, "P1 Pad 2", KEYCODE_8_PAD, IP_JOY_NONE )
654 PORT_BITX( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON3 | IPF_PLAYER1, "P1 Pad 3", KEYCODE_9_PAD, IP_JOY_NONE )
655 PORT_BITX( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 | IPF_PLAYER1, "P1 Pad 4", KEYCODE_4_PAD, IP_JOY_NONE )
656 PORT_BITX( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 | IPF_PLAYER1, "P1 Pad 5", KEYCODE_5_PAD, IP_JOY_NONE )
657 PORT_BITX( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON6 | IPF_PLAYER1, "P1 Pad 6", KEYCODE_6_PAD, IP_JOY_NONE )
658 PORT_BITX( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON7 | IPF_PLAYER1, "P1 Pad 7", KEYCODE_1_PAD, IP_JOY_NONE )
659 PORT_BITX( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON8 | IPF_PLAYER1, "P1 Pad 8", KEYCODE_2_PAD, IP_JOY_NONE )
660 PORT_BITX( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON9 | IPF_PLAYER1, "P1 Pad 9", KEYCODE_3_PAD, IP_JOY_NONE )
661
662 PORT_START
663 PORT_BITX( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2, "P2 Pad 1", KEYCODE_Q, IP_JOY_NONE )
664 PORT_BITX( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2, "P2 Pad 2", KEYCODE_W, IP_JOY_NONE )
665 PORT_BITX( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON3 | IPF_PLAYER2, "P2 Pad 3", KEYCODE_E, IP_JOY_NONE )
666 PORT_BITX( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 | IPF_PLAYER2, "P2 Pad 4", KEYCODE_A, IP_JOY_NONE )
667 PORT_BITX( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 | IPF_PLAYER2, "P2 Pad 5", KEYCODE_S, IP_JOY_NONE )
668 PORT_BITX( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON6 | IPF_PLAYER2, "P2 Pad 6", KEYCODE_D, IP_JOY_NONE )
669 PORT_BITX( 0x0040, IP_ACTIVE_HIGH, IPT_BUTTON7 | IPF_PLAYER2, "P2 Pad 7", KEYCODE_Z, IP_JOY_NONE )
670 PORT_BITX( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON8 | IPF_PLAYER2, "P2 Pad 8", KEYCODE_X, IP_JOY_NONE )
671 PORT_BITX( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON9 | IPF_PLAYER2, "P2 Pad 9", KEYCODE_C, IP_JOY_NONE )
672 INPUT_PORTS_END
673
674
675 INPUT_PORTS_START( warrior )
676 PORT_START /* switches */
677 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
678 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
679 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
680 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
681 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Unknown ) )
682 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
683 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
684 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
685 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
686 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
687 PORT_DIPNAME( SW4, SW4OFF, DEF_STR( Unknown ) )
688 PORT_DIPSETTING( SW4OFF, DEF_STR( Off ) )
689 PORT_DIPSETTING( SW4ON, DEF_STR( On ) )
690 PORT_SERVICE( SW3, SW3ON )
691 PORT_DIPNAME( SW2, SW2OFF, DEF_STR( Unknown ) )
692 PORT_DIPSETTING( SW2OFF, DEF_STR( Off ) )
693 PORT_DIPSETTING( SW2ON, DEF_STR( On ) )
694 PORT_DIPNAME( SW1, SW1ON, DEF_STR( Unknown ) )
695 PORT_DIPSETTING( SW1OFF, DEF_STR( Off ) )
696 PORT_DIPSETTING( SW1ON, DEF_STR( On ) )
697
698 PORT_START /* inputs */
699 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
700 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_START1 )
701 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_START2 )
702 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
703 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
704 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
705 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
706 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
707 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
708 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
709 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
710 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
711 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
712 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
713 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
714 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
715
716 PORT_START /* analog stick X - unused */
717 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
718
719 PORT_START /* analog stick Y - unused */
720 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
721 INPUT_PORTS_END
722
723
724 INPUT_PORTS_START( armora )
725 PORT_START /* switches */
726 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
727 PORT_SERVICE( SW7, SW7ON )
728 PORT_DIPNAME( SW5, SW5ON, DEF_STR( Demo_Sounds ) )
729 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
730 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
731 PORT_DIPNAME( SW4|SW3, SW4OFF|SW3OFF, DEF_STR( Coinage ) )
732 PORT_DIPSETTING( SW4ON |SW3OFF, DEF_STR( 2C_1C ) )
733 PORT_DIPSETTING( SW4ON |SW3ON, DEF_STR( 4C_3C ) )
734 PORT_DIPSETTING( SW4OFF|SW3OFF, DEF_STR( 1C_1C ) )
735 PORT_DIPSETTING( SW4OFF|SW3ON, DEF_STR( 2C_3C ) )
736 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1OFF, DEF_STR( Lives ) )
737 PORT_DIPSETTING( SW2ON |SW1ON, "2" )
738 PORT_DIPSETTING( SW2OFF|SW1ON, "3" )
739 PORT_DIPSETTING( SW2ON |SW1OFF, "4" )
740 PORT_DIPSETTING( SW2OFF|SW1OFF, "5" )
741
742 PORT_START /* inputs */
743 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
744 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
745 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
746 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
747 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
748 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
749 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
750 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
751 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
752 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
753 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
754 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
755 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
756 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
757 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_START1 )
758 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
759
760 PORT_START /* analog stick X - unused */
761 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
762
763 PORT_START /* analog stick Y - unused */
764 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
765 INPUT_PORTS_END
766
767
768 INPUT_PORTS_START( solarq )
769 PORT_START /* switches */
770 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
771 PORT_SERVICE( SW7, SW7ON )
772 PORT_DIPNAME( SW2, SW2OFF, DEF_STR( Bonus_Life ) )
773 PORT_DIPSETTING( SW2OFF, "25 captures" )
774 PORT_DIPSETTING( SW2ON, "40 captures" )
775 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Free_Play ) )
776 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
777 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
778 PORT_DIPNAME( SW1|SW3, SW1OFF|SW3OFF, DEF_STR( Coinage ) )
779 PORT_DIPSETTING( SW3ON |SW1OFF, DEF_STR( 2C_1C ) )
780 PORT_DIPSETTING( SW3ON |SW1ON, DEF_STR( 4C_3C ) )
781 PORT_DIPSETTING( SW3OFF|SW1OFF, DEF_STR( 1C_1C ) )
782 PORT_DIPSETTING( SW3OFF|SW1ON, DEF_STR( 2C_3C ) )
783 PORT_DIPNAME( SW5|SW4, SW5OFF|SW5OFF, DEF_STR( Lives ) )
784 PORT_DIPSETTING( SW5OFF|SW4OFF, "2" )
785 PORT_DIPSETTING( SW5ON |SW4OFF, "3" )
786 PORT_DIPSETTING( SW5OFF|SW4ON, "4" )
787 PORT_DIPSETTING( SW5ON |SW4ON, "5" )
788
789 PORT_START /* inputs */
790 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
791 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
792 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
793 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
794 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
795 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
796 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
797 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
798 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
799 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
800 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
801 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
802 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_START1 ) /* also hyperspace */
803 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
804 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
805 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
806 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_START2 ) /* also nova */
807 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
808
809 PORT_START /* analog stick X - unused */
810 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
811
812 PORT_START /* analog stick Y - unused */
813 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
814 INPUT_PORTS_END
815
816
817 INPUT_PORTS_START( demon )
818 PORT_START /* switches */
819 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
820 PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Free_Play ) )
821 PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
822 PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
823 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Unknown ) )
824 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
825 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
826 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
827 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
828 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
829 PORT_DIPNAME( SW3|SW4, SW3ON |SW4ON, DEF_STR( Lives ) )
830 PORT_DIPSETTING( SW3ON |SW4ON, "3")
831 PORT_DIPSETTING( SW3OFF|SW4ON, "4" )
832 PORT_DIPSETTING( SW3ON |SW4OFF, "5" )
833 PORT_DIPSETTING( SW3OFF|SW4OFF, "6" )
834 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1OFF, DEF_STR( Coinage ) )
835 PORT_DIPSETTING( SW2ON |SW1OFF, DEF_STR( 2C_1C ) )
836 PORT_DIPSETTING( SW2ON |SW1ON, DEF_STR( 4C_3C ) )
837 PORT_DIPSETTING( SW2OFF|SW1OFF, DEF_STR( 1C_1C ) )
838 PORT_DIPSETTING( SW2OFF|SW1ON, DEF_STR( 2C_3C ) )
839
840 PORT_START /* inputs */
841 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* also mapped to Button 3, player 2 */
842 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
843 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
844 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
845 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
846 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
847 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
848 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_TILT )
849 PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
850 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
851 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
852 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
853 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
854 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
855 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
856 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
857
858 PORT_START /* analog stick X - unused */
859 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
860
861 PORT_START /* analog stick Y - unused */
862 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
863 INPUT_PORTS_END
864
865
866 INPUT_PORTS_START( wotw )
867 PORT_START /* switches */
868 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
869 PORT_SERVICE( SW7, SW7OFF )
870 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Free_Play ) )
871 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
872 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
873 PORT_DIPNAME( SW4, SW4OFF, DEF_STR( Coinage ) )
874 PORT_DIPSETTING( SW4OFF, DEF_STR( 1C_1C ) )
875 PORT_DIPSETTING( SW4ON, DEF_STR( 2C_3C ) )
876 PORT_DIPNAME( SW2, SW2OFF, DEF_STR( Lives ) )
877 PORT_DIPSETTING( SW2OFF, "3" )
878 PORT_DIPSETTING( SW2ON, "5" )
879 PORT_DIPNAME( SW1, SW1OFF, DEF_STR( Unknown ) )
880 PORT_DIPSETTING( SW1OFF, DEF_STR( Off ) )
881 PORT_DIPSETTING( SW1ON, DEF_STR( On ) )
882 PORT_DIPNAME( SW3, SW3OFF, DEF_STR( Unknown ) )
883 PORT_DIPSETTING( SW3OFF, DEF_STR( Off ) )
884 PORT_DIPSETTING( SW3ON, DEF_STR( On ) )
885 PORT_DIPNAME( SW5, SW5OFF, DEF_STR( Unknown ) )
886 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
887 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
888
889 PORT_START /* inputs */
890 PORT_BIT ( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
891 PORT_BIT ( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
892 PORT_BIT ( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
893 PORT_BIT ( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 )
894 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
895 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON2 )
896 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
897 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
898 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
899 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
900 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED )
901 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
902 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
903 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_START2 )
904 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
905 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
906
907 PORT_START /* analog stick X - unused */
908 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
909
910 PORT_START /* analog stick Y - unused */
911 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
912 INPUT_PORTS_END
913
914
915 INPUT_PORTS_START( boxingb )
916 PORT_START /* switches */
917 PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_COIN1, 1 )
918 PORT_SERVICE( SW7, SW7OFF )
919 PORT_DIPNAME( SW6, SW6OFF, DEF_STR( Free_Play ) )
920 PORT_DIPSETTING( SW6OFF, DEF_STR( Off ) )
921 PORT_DIPSETTING( SW6ON, DEF_STR( On ) )
922 PORT_DIPNAME( SW5, SW5ON, DEF_STR( Demo_Sounds ) )
923 PORT_DIPSETTING( SW5OFF, DEF_STR( Off ) )
924 PORT_DIPSETTING( SW5ON, DEF_STR( On ) )
925 PORT_DIPNAME( SW4, SW4ON, DEF_STR( Bonus_Life ) )
926 PORT_DIPSETTING( SW4ON, "30,000" )
927 PORT_DIPSETTING( SW4OFF, "50,000" )
928 PORT_DIPNAME( SW3, SW3ON, DEF_STR( Lives ) )
929 PORT_DIPSETTING( SW3OFF, "3" )
930 PORT_DIPSETTING( SW3ON, "5" )
931 PORT_DIPNAME( SW2|SW1, SW2OFF|SW1OFF, DEF_STR( Coinage ) )
932 PORT_DIPSETTING( SW2ON |SW1OFF, DEF_STR( 2C_1C ) )
933 PORT_DIPSETTING( SW2ON |SW1ON, DEF_STR( 4C_3C ) )
934 PORT_DIPSETTING( SW2OFF|SW1OFF, DEF_STR( 1C_1C ) )
935 PORT_DIPSETTING( SW2OFF|SW1ON, DEF_STR( 2C_3C ) )
936
937 PORT_START /* inputs */
938 PORT_BIT ( 0xf000, IP_ACTIVE_HIGH, IPT_UNUSED ) /* dial */
939 PORT_BIT ( 0x0800, IP_ACTIVE_LOW, IPT_UNUSED )
940 PORT_BIT ( 0x0400, IP_ACTIVE_LOW, IPT_UNUSED )
941 PORT_BIT ( 0x0200, IP_ACTIVE_LOW, IPT_UNUSED )
942 PORT_BIT ( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
943 PORT_BIT ( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
944 PORT_BIT ( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
945 PORT_BIT ( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
946 PORT_BIT ( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
947 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
948 PORT_BIT ( 0x0008, IP_ACTIVE_LOW, IPT_START1 )
949 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
950 PORT_BIT ( 0x0004, IP_ACTIVE_LOW, IPT_START2 )
951 PORT_BIT ( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
952 PORT_BIT ( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
953
954 PORT_START /* analog stick X - unused */
955 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
956
957 PORT_START /* analog stick Y - unused */
958 PORT_BIT ( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
959
960 PORT_START /* fake (in4) */
961 PORT_ANALOG( 0xff, 0x80, IPT_DIAL, 100, 5, 0x00, 0xff )
962 INPUT_PORTS_END
963
964
965
966 /*************************************
967 *
968 * Machine drivers
969 *
970 *************************************/
971
972 /* Note: the CPU speed is somewhat arbitrary as the cycle timings in
973 the core are incomplete. */
974 static MACHINE_DRIVER_START( cinemat )
975
976 /* basic machine hardware */
977 MDRV_CPU_ADD(CCPU, 5000000)
978 MDRV_CPU_MEMORY(readmem,writemem)
979 MDRV_CPU_PORTS(readport,writeport)
980
981 MDRV_FRAMES_PER_SECOND(38)
982 MDRV_MACHINE_INIT(cinemat_sound)
983
984 /* video hardware */
985 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_VECTOR | VIDEO_RGB_DIRECT)
986 MDRV_SCREEN_SIZE(400, 300)
987 MDRV_VISIBLE_AREA(0, 1024, 0, 768)
988 MDRV_PALETTE_LENGTH(32768)
989
990 MDRV_PALETTE_INIT(cinemat)
991 MDRV_VIDEO_START(cinemat)
992 MDRV_VIDEO_EOF(cinemat)
993 MDRV_VIDEO_UPDATE(vector)
994
995 /* sound hardware */
996 MACHINE_DRIVER_END
997
998
999 static MACHINE_DRIVER_START( spacewar )
1000
1001 /* basic machine hardware */
1002 MDRV_IMPORT_FROM(cinemat)
1003
1004 /* video hardware */
1005 MDRV_VIDEO_UPDATE(spacewar)
1006
1007 /* sound hardware */
1008 MDRV_SOUND_ADD(SAMPLES, spacewar_samples_interface)
1009 MACHINE_DRIVER_END
1010
1011
1012 static MACHINE_DRIVER_START( starcas )
1013
1014 /* basic machine hardware */
1015 MDRV_IMPORT_FROM(cinemat)
1016
1017 /* sound hardware */
1018 MDRV_SOUND_ADD(SAMPLES, starcas_samples_interface)
1019 MACHINE_DRIVER_END
1020
1021
1022 static MACHINE_DRIVER_START( ripoff )
1023
1024 /* basic machine hardware */
1025 MDRV_IMPORT_FROM(cinemat)
1026
1027 /* sound hardware */
1028 MDRV_SOUND_ADD(SAMPLES, ripoff_samples_interface)
1029 MACHINE_DRIVER_END
1030
1031
1032 static MACHINE_DRIVER_START( warrior )
1033
1034 /* basic machine hardware */
1035 MDRV_IMPORT_FROM(cinemat)
1036
1037 /* video hardware */
1038 MDRV_VISIBLE_AREA(0, 1024, 0, 780)
1039
1040 /* sound hardware */
1041 MDRV_SOUND_ADD(SAMPLES, warrior_samples_interface)
1042 MACHINE_DRIVER_END
1043
1044
1045 static MACHINE_DRIVER_START( armora )
1046
1047 /* basic machine hardware */
1048 MDRV_IMPORT_FROM(cinemat)
1049
1050 /* video hardware */
1051 MDRV_VISIBLE_AREA(0, 1024, 0, 772)
1052 /* sound hardware */
1053 MDRV_SOUND_ADD(SAMPLES, armora_samples_interface)
1054 MACHINE_DRIVER_END
1055
1056
1057 static MACHINE_DRIVER_START( solarq )
1058
1059 /* basic machine hardware */
1060 MDRV_IMPORT_FROM(cinemat)
1061
1062 /* sound hardware */
1063 MDRV_SOUND_ADD(SAMPLES, solarq_samples_interface)
1064 MACHINE_DRIVER_END
1065
1066
1067 static MACHINE_DRIVER_START( demon )
1068
1069 /* basic machine hardware */
1070 MDRV_IMPORT_FROM(cinemat)
1071 MDRV_IMPORT_FROM(demon_sound)
1072
1073 /* video hardware */
1074 MDRV_VISIBLE_AREA(0, 1024, 0, 800)
1075 MACHINE_DRIVER_END
1076
1077 static MACHINE_DRIVER_START( sundance )
1078
1079 /* basic machine hardware */
1080 MDRV_IMPORT_FROM(cinemat)
1081
1082 /* sound hardware */
1083 MDRV_SOUND_ADD(SAMPLES, sundance_samples_interface)
1084 MACHINE_DRIVER_END
1085
1086 static MACHINE_DRIVER_START( cincolor )
1087
1088 /* basic machine hardware */
1089 MDRV_IMPORT_FROM(cinemat)
1090
1091 /* video hardware */
1092 MDRV_PALETTE_INIT(cinemat_color)
1093 MACHINE_DRIVER_END
1094
1095
1096
1097
1098 /*************************************
1099 *
1100 * ROM definitions
1101 *
1102 *************************************/
1103
1104 ROM_START( spacewar )
1105 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 4k for code */
1106 ROM_LOAD16_BYTE( "spacewar.1l", 0x8000, 0x0800, CRC(edf0fd53) SHA1(a543d8b95bc77ec061c6b10161a6f3e07401e251) )
1107 ROM_LOAD16_BYTE( "spacewar.2r", 0x8001, 0x0800, CRC(4f21328b) SHA1(8889f1a9353d6bb1e1078829c1ba77557853739b) )
1108 ROM_END
1109
1110
1111 ROM_START( barrier )
1112 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 4k for code */
1113 ROM_LOAD16_BYTE( "barrier.t7", 0x8000, 0x0800, CRC(7c3d68c8) SHA1(1138029552b73e94522b3b48096befc057d603c7) )
1114 ROM_LOAD16_BYTE( "barrier.p7", 0x8001, 0x0800, CRC(aec142b5) SHA1(b268936b82e072f38f1f1dd54e0bc88bcdf19925) )
1115 ROM_END
1116
1117
1118 ROM_START( starhawk )
1119 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 4k for code */
1120 ROM_LOAD16_BYTE( "u7", 0x8000, 0x0800, CRC(376e6c5c) SHA1(7d9530ed2e75464578b541f61408ba64ee9d2a95) )
1121 ROM_LOAD16_BYTE( "r7", 0x8001, 0x0800, CRC(bb71144f) SHA1(79591cd3ef8df78ec26e158f7e82ca0dcd72260d) )
1122 ROM_END
1123
1124
1125 ROM_START( starcas )
1126 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1127 ROM_LOAD16_BYTE( "starcas3.t7", 0x8000, 0x0800, CRC(b5838b5d) SHA1(6ac30be55514cba55180c85af69072b5056d1d4c) )
1128 ROM_LOAD16_BYTE( "starcas3.p7", 0x8001, 0x0800, CRC(f6bc2f4d) SHA1(ef6f01556b154cfb3e37b2a99d6ea6292e5ec844) )
1129 ROM_LOAD16_BYTE( "starcas3.u7", 0x9000, 0x0800, CRC(188cd97c) SHA1(c021e93a01e9c65013073de551a8c24fd1a68bde) )
1130 ROM_LOAD16_BYTE( "starcas3.r7", 0x9001, 0x0800, CRC(c367b69d) SHA1(98354d34ceb03e080b1846611d533be7bdff01cc) )
1131 ROM_END
1132
1133 ROM_START( starcasp )
1134 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1135 ROM_LOAD16_BYTE( "starcasp.t7", 0x8000, 0x0800, CRC(d2c551a2) SHA1(90b5e1c6988839b812028f1baaea16420c011c08) )
1136 ROM_LOAD16_BYTE( "starcasp.p7", 0x8001, 0x0800, CRC(baa4e422) SHA1(9035ac675fcbbb93ae3f658339fdfaef47796dab) )
1137 ROM_LOAD16_BYTE( "starcasp.u7", 0x9000, 0x0800, CRC(26941991) SHA1(4417f2f3e437c1f39ff389362467928f57045d74) )
1138 ROM_LOAD16_BYTE( "starcasp.r7", 0x9001, 0x0800, CRC(5dd151e5) SHA1(f3b0e2bd3121ac0649938eb2f676d171bcc7d4dd) )
1139 ROM_END
1140
1141
1142 ROM_START( starcas1 )
1143 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1144 ROM_LOAD16_BYTE( "starcast.t7", 0x8000, 0x0800, CRC(65d0a225) SHA1(e1fbee5ff42dd040ab2e90bbe2189fcb76d6167e) )
1145 ROM_LOAD16_BYTE( "starcast.p7", 0x8001, 0x0800, CRC(d8f58d9a) SHA1(abba459431dcacc75099b0d340b957be71b89cfd) )
1146 ROM_LOAD16_BYTE( "starcast.u7", 0x9000, 0x0800, CRC(d4f35b82) SHA1(cd4561ce8e1d0554ac1a8925bbf46d2c676a3b80) )
1147 ROM_LOAD16_BYTE( "starcast.r7", 0x9001, 0x0800, CRC(9fd3de54) SHA1(17195a490b190e68660829850ff9d702ca1939bb) )
1148 ROM_END
1149
1150 ROM_START( starcase )
1151 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1152 ROM_LOAD16_BYTE( "starcast.t7", 0x8000, 0x0800, CRC(65d0a225) SHA1(e1fbee5ff42dd040ab2e90bbe2189fcb76d6167e) )
1153 ROM_LOAD16_BYTE( "starcast.p7", 0x8001, 0x0800, CRC(d8f58d9a) SHA1(abba459431dcacc75099b0d340b957be71b89cfd) )
1154 ROM_LOAD16_BYTE( "starcast.u7", 0x9000, 0x0800, CRC(d4f35b82) SHA1(cd4561ce8e1d0554ac1a8925bbf46d2c676a3b80) )
1155 ROM_LOAD16_BYTE( "mottoeis.r7", 0x9001, 0x0800, CRC(a2c1ed52) SHA1(ed9743f44ee98c9e7c2a6819ec681af7c7a97fc9) )
1156 ROM_END
1157
1158 ROM_START( stellcas )
1159 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1160 ROM_LOAD16_BYTE( "starcast.t7", 0x8000, 0x0800, CRC(65d0a225) SHA1(e1fbee5ff42dd040ab2e90bbe2189fcb76d6167e) )
1161 ROM_LOAD16_BYTE( "starcast.p7", 0x8001, 0x0800, CRC(d8f58d9a) SHA1(abba459431dcacc75099b0d340b957be71b89cfd) )
1162 ROM_LOAD16_BYTE( "elttron.u7", 0x9000, 0x0800, CRC(d5b44050) SHA1(a5dd6050ab1a3b0275a229845bc5e9524e2da69c) )
1163 ROM_LOAD16_BYTE( "elttron.r7", 0x9001, 0x0800, CRC(6f1f261e) SHA1(a22a52af12a5cfbb9031fdd12c9c78db28f28ff1) )
1164 ROM_END
1165
1166
1167 ROM_START( tailg )
1168 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1169 ROM_LOAD16_BYTE( "tgunner.t70", 0x8000, 0x0800, CRC(21ec9a04) SHA1(b442f34360d1d4769e7bca73a2d79ce97d335460) )
1170 ROM_LOAD16_BYTE( "tgunner.p70", 0x8001, 0x0800, CRC(8d7410b3) SHA1(59ead49bd229a873f15334d0999c872d3d6581d4) )
1171 ROM_LOAD16_BYTE( "tgunner.t71", 0x9000, 0x0800, CRC(2c954ab6) SHA1(9edf189a19b50a9abf458d4ef8ba25b53934385e) )
1172 ROM_LOAD16_BYTE( "tgunner.p71", 0x9001, 0x0800, CRC(8e2c8494) SHA1(65e461ec4938f9895e5ac31442193e06c8731dc1) )
1173 ROM_END
1174
1175
1176 ROM_START( ripoff )
1177 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1178 ROM_LOAD16_BYTE( "ripoff.t7", 0x8000, 0x0800, CRC(40c2c5b8) SHA1(bc1f3b540475c9868443a72790a959b1f36b93c6) )
1179 ROM_LOAD16_BYTE( "ripoff.p7", 0x8001, 0x0800, CRC(a9208afb) SHA1(ea362494855be27a07014832b01e65c1645385d0) )
1180 ROM_LOAD16_BYTE( "ripoff.u7", 0x9000, 0x0800, CRC(29c13701) SHA1(5e7672deffac1fa8f289686a5527adf7e51eb0bb) )
1181 ROM_LOAD16_BYTE( "ripoff.r7", 0x9001, 0x0800, CRC(150bd4c8) SHA1(e1e2f0dfec4f53d8ff67b0e990514c304f496b3a) )
1182 ROM_END
1183
1184
1185 ROM_START( speedfrk )
1186 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1187 ROM_LOAD16_BYTE( "speedfrk.t7", 0x8000, 0x0800, CRC(3552c03f) SHA1(c233dd064195b336556d7405b51065389b228c78) )
1188 ROM_LOAD16_BYTE( "speedfrk.p7", 0x8001, 0x0800, CRC(4b90cdec) SHA1(69e2312acdc22ef52236b1c4dfee9f51fcdcaa52) )
1189 ROM_LOAD16_BYTE( "speedfrk.u7", 0x9000, 0x0800, CRC(616c7cf9) SHA1(3c5bf59a09d85261f69e4b9d499cb7a93d79fb57) )
1190 ROM_LOAD16_BYTE( "speedfrk.r7", 0x9001, 0x0800, CRC(fbe90d63) SHA1(e42b17133464ae48c90263bba01a7d041e938a05) )
1191 ROM_END
1192
1193
1194 ROM_START( sundance )
1195 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1196 ROM_LOAD16_BYTE( "sundance.t7", 0x8000, 0x0800, CRC(d5b9cb19) SHA1(72dca386b48a582186898c32123d61b4fd58632e) )
1197 ROM_LOAD16_BYTE( "sundance.p7", 0x8001, 0x0800, CRC(445c4f20) SHA1(972d0b0613f154ee3347206cae05ee8c36796f84) )
1198 ROM_LOAD16_BYTE( "sundance.u7", 0x9000, 0x0800, CRC(67887d48) SHA1(be225dbd3508fad2711286834880065a4fc0a2fc) )
1199 ROM_LOAD16_BYTE( "sundance.r7", 0x9001, 0x0800, CRC(10b77ebd) SHA1(3d43bd47c498d5ea74a7322f8d25dbc0c0187534) )
1200 ROM_END
1201
1202
1203 ROM_START( warrior )
1204 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 8k for code */
1205 ROM_LOAD16_BYTE( "warrior.t7", 0x8000, 0x0800, CRC(ac3646f9) SHA1(515c3acb638fad27fa57f6b438c8ec0b5b76f319) )
1206 ROM_LOAD16_BYTE( "warrior.p7", 0x8001, 0x0800, CRC(517d3021) SHA1(0483dcaf92c336a07d2c535823348ee886567e85) )
1207 ROM_LOAD16_BYTE( "warrior.u7", 0x9000, 0x0800, CRC(2e39340f) SHA1(4b3cfb3674dd2a668d4d65e28cb37d7ad20f118d) )
1208 ROM_LOAD16_BYTE( "warrior.r7", 0x9001, 0x0800, CRC(8e91b502) SHA1(27614c3a8613f49187039cfb05ee96303caf72ba) )
1209 ROM_END
1210
1211
1212 ROM_START( armora )
1213 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 16k for code */
1214 ROM_LOAD16_BYTE( "ar414le.t6", 0x8000, 0x1000, CRC(d7e71f84) SHA1(0b29278a6a698f07eae597bc0a8650e91eaabffa) )
1215 ROM_LOAD16_BYTE( "ar414lo.p6", 0x8001, 0x1000, CRC(df1c2370) SHA1(b74834d1a591a741892ec41269a831d3590ff766) )
1216 ROM_LOAD16_BYTE( "ar414ue.u6", 0xa000, 0x1000, CRC(b0276118) SHA1(88f33cb2f46a89819c85f810c7cff812e918391e) )
1217 ROM_LOAD16_BYTE( "ar414uo.r6", 0xa001, 0x1000, CRC(229d779f) SHA1(0cbdd83eb224146944049346f30d9c72d3ad5f52) )
1218 ROM_END
1219
1220 ROM_START( armorap )
1221 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 16k for code */
1222 ROM_LOAD16_BYTE( "ar414le.t6", 0x8000, 0x1000, CRC(d7e71f84) SHA1(0b29278a6a698f07eae597bc0a8650e91eaabffa) )
1223 ROM_LOAD16_BYTE( "ar414lo.p6", 0x8001, 0x1000, CRC(df1c2370) SHA1(b74834d1a591a741892ec41269a831d3590ff766) )
1224 ROM_LOAD16_BYTE( "armorp.u7", 0xa000, 0x1000, CRC(4a86bd8a) SHA1(36647805c40688588dde81c7cbf4fe356b0974fc) )
1225 ROM_LOAD16_BYTE( "armorp.r7", 0xa001, 0x1000, CRC(d2dd4eae) SHA1(09afaeb0b8f88edb17e42bd2d754af0ae53e609a) )
1226 ROM_END
1227
1228 ROM_START( armorar )
1229 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 16k for code */
1230 ROM_LOAD16_BYTE( "armorr.t7", 0x8000, 0x0800, CRC(256d1ed9) SHA1(8c101356c3fe93f2f49d5dc9d739f3b37cdb98b5) )
1231 ROM_LOAD16_BYTE( "armorr.p7", 0x8001, 0x0800, CRC(bf75c158) SHA1(4d52630ae0ea2ad16bb5f577ad6d21f52e2f0a3c) )
1232 ROM_LOAD16_BYTE( "armorr.u7", 0x9000, 0x0800, CRC(ba68331d) SHA1(871c3f5b6c2845f270e3a272fdb07aed8b527641) )
1233 ROM_LOAD16_BYTE( "armorr.r7", 0x9001, 0x0800, CRC(fa14c0b3) SHA1(37b233f0dac51eaf7d325628a6cced9367b6b6cb) )
1234 ROM_END
1235
1236
1237 ROM_START( solarq )
1238 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 16k for code */
1239 ROM_LOAD16_BYTE( "solar.6t", 0x8000, 0x1000, CRC(1f3c5333) SHA1(58d847b5f009a0363ae116768b22d0bcfb3d60a4) )
1240 ROM_LOAD16_BYTE( "solar.6p", 0x8001, 0x1000, CRC(d6c16bcc) SHA1(6953bdc698da060d37f6bc33a810ba44595b1257) )
1241 ROM_LOAD16_BYTE( "solar.6u", 0xa000, 0x1000, CRC(a5970e5c) SHA1(9ac07924ca86d003964022cffdd6a0436dde5624) )
1242 ROM_LOAD16_BYTE( "solar.6r", 0xa001, 0x1000, CRC(b763fff2) SHA1(af1fd978e46a4aee3048e6e36c409821d986f7ee) )
1243 ROM_END
1244
1245
1246 ROM_START( demon )
1247 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 16k for code */
1248 ROM_LOAD16_BYTE( "demon.7t", 0x8000, 0x1000, CRC(866596c1) SHA1(65202dcd5c6bf6c11fe76a89682a1505b1870cc9) )
1249 ROM_LOAD16_BYTE( "demon.7p", 0x8001, 0x1000, CRC(1109e2f1) SHA1(c779b6af1ca09e2e295fc9a0e221ddf283b683ed) )
1250 ROM_LOAD16_BYTE( "demon.7u", 0xa000, 0x1000, CRC(d447a3c3) SHA1(32f6fb01231aa4f3d93e32d639a89f0cf9624a71) )
1251 ROM_LOAD16_BYTE( "demon.7r", 0xa001, 0x1000, CRC(64b515f0) SHA1(2dd9a6d784ec1baf31e8c6797ddfdc1423c69470) )
1252
1253 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for code */
1254 ROM_LOAD ( "demon.snd", 0x0000, 0x1000, CRC(1e2cc262) SHA1(2aae537574ac69c92a3c6400b971e994de88d915) )
1255 ROM_END
1256
1257
1258 ROM_START( wotw )
1259 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 16k for code */
1260 ROM_LOAD16_BYTE( "wow_le.t7", 0x8000, 0x1000, CRC(b16440f9) SHA1(9656a26814736f8ff73575063b5ebbb2e8aa7dd0) )
1261 ROM_LOAD16_BYTE( "wow_lo.p7", 0x8001, 0x1000, CRC(bfdf4a5a) SHA1(db4eceb68e17020d0a597ba105ec3b91ce48b7c1) )
1262 ROM_LOAD16_BYTE( "wow_ue.u7", 0xa000, 0x1000, CRC(9b5cea48) SHA1(c2bc002e550a0d36e713d07f6aefa79c70b8e284) )
1263 ROM_LOAD16_BYTE( "wow_uo.r7", 0xa001, 0x1000, CRC(c9d3c866) SHA1(57a47bf06838fe562981321249fe5ae585316f22) )
1264 ROM_END
1265
1266
1267 ROM_START( boxingb )
1268 ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 32k for code */
1269 ROM_LOAD16_BYTE( "u1a", 0x8000, 0x1000, CRC(d3115b0f) SHA1(9448e7ac1cdb5c7e0739623151be230ab630c4ea) )
1270 ROM_LOAD16_BYTE( "u1b", 0x8001, 0x1000, CRC(3a44268d) SHA1(876ebe942ded787cfe357563a33d3e26a1483c5a) )
1271 ROM_LOAD16_BYTE( "u2a", 0xa000, 0x1000, CRC(c97a9cbb) SHA1(8bdeb9ee6b24c0a4554bbf4532a43481a0360019) )
1272 ROM_LOAD16_BYTE( "u2b", 0xa001, 0x1000, CRC(98d34ff5) SHA1(6767a02a99a01712383300f9acb96cdeffbc9c69) )
1273 ROM_LOAD16_BYTE( "u3a", 0xc000, 0x1000, CRC(5bb3269b) SHA1(a9dbc91b1455760f10bad0d2ccf540e040a00d4e) )
1274 ROM_LOAD16_BYTE( "u3b", 0xc001, 0x1000, CRC(85bf83ad) SHA1(9229042e39c53fae56dc93f8996bf3a3fcd35cb8) )
1275 ROM_LOAD16_BYTE( "u4a", 0xe000, 0x1000, CRC(25b51799) SHA1(46465fe62907ae66a0ce730581e4e9ba330d4369) )
1276 ROM_LOAD16_BYTE( "u4b", 0xe001, 0x1000, CRC(7f41de6a) SHA1(d01dffad3cb6e76c535a034ea0277dce5801c5f1) )
1277 ROM_END
1278
1279
1280
1281 /*************************************
1282 *
1283 * Driver initialization
1284 *
1285 *************************************/
1286
1287 static DRIVER_INIT( spacewar )
1288 {
1289 ccpu_Config(0, CCPU_MEMSIZE_4K, CCPU_MONITOR_BILEV);
1290 cinemat_sound_handler = spacewar_sound_w;
1291 }
1292
1293
DRIVER_INIT(barrier)1294 static DRIVER_INIT( barrier )
1295 {
1296 ccpu_Config(1, CCPU_MEMSIZE_4K, CCPU_MONITOR_BILEV);
1297 cinemat_sound_handler = 0;
1298 }
1299
1300
DRIVER_INIT(starhawk)1301 static DRIVER_INIT( starhawk )
1302 {
1303 ccpu_Config(1, CCPU_MEMSIZE_4K, CCPU_MONITOR_BILEV);
1304 cinemat_sound_handler = 0;
1305 }
1306
1307
DRIVER_INIT(starcas)1308 static DRIVER_INIT( starcas )
1309 {
1310 ccpu_Config(1, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
1311 cinemat_sound_handler = starcas_sound_w;
1312 artwork_set_overlay(starcas_overlay);
1313 }
1314
1315
DRIVER_INIT(tailg)1316 static DRIVER_INIT( tailg )
1317 {
1318 ccpu_Config(0, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
1319 cinemat_sound_handler = 0;
1320 artwork_set_overlay(tailg_overlay);
1321 }
1322
1323
DRIVER_INIT(ripoff)1324 static DRIVER_INIT( ripoff )
1325 {
1326 ccpu_Config(1, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
1327 cinemat_sound_handler = ripoff_sound_w;
1328 }
1329
1330
DRIVER_INIT(speedfrk)1331 static DRIVER_INIT( speedfrk )
1332 {
1333 ccpu_Config(0, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
1334 cinemat_sound_handler = 0;
1335
1336 install_port_read16_handler(0, CCPU_PORT_IOINPUTS, CCPU_PORT_IOINPUTS+1, speedfrk_input_port_1_r);
1337 }
1338
1339
DRIVER_INIT(sundance)1340 static DRIVER_INIT( sundance )
1341 {
1342 ccpu_Config(1, CCPU_MEMSIZE_8K, CCPU_MONITOR_16LEV);
1343 cinemat_sound_handler = sundance_sound_w;
1344 artwork_set_overlay(sundance_overlay);
1345
1346 install_port_read16_handler(0, CCPU_PORT_IOINPUTS, CCPU_PORT_IOINPUTS+1, sundance_input_port_1_r);
1347 }
1348
1349
DRIVER_INIT(warrior)1350 static DRIVER_INIT( warrior )
1351 {
1352 ccpu_Config(1, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
1353 cinemat_sound_handler = warrior_sound_w;
1354 }
1355
1356
DRIVER_INIT(armora)1357 static DRIVER_INIT( armora )
1358 {
1359 ccpu_Config(1, CCPU_MEMSIZE_16K, CCPU_MONITOR_BILEV);
1360 cinemat_sound_handler = armora_sound_w;
1361 }
1362
1363
DRIVER_INIT(armorar)1364 static DRIVER_INIT( armorar )
1365 {
1366 ccpu_Config(1, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
1367 cinemat_sound_handler = armora_sound_w;
1368 }
1369
1370
DRIVER_INIT(solarq)1371 static DRIVER_INIT( solarq )
1372 {
1373 ccpu_Config(1, CCPU_MEMSIZE_16K, CCPU_MONITOR_BILEV);
1374 cinemat_sound_handler = solarq_sound_w;
1375 artwork_set_overlay(solarq_overlay);
1376 }
1377
1378
DRIVER_INIT(demon)1379 static DRIVER_INIT( demon )
1380 {
1381 unsigned char *RAM = memory_region(REGION_CPU2);
1382
1383 ccpu_Config(1, CCPU_MEMSIZE_16K, CCPU_MONITOR_BILEV);
1384 cinemat_sound_handler = demon_sound_w;
1385
1386 RAM[0x0091]=0xcb; /* bit 7,a */
1387 RAM[0x0092]=0x7f;
1388 RAM[0x0093]=0xc2; /* jp nz,$0088 */
1389 RAM[0x0094]=0x88;
1390 RAM[0x0095]=0x00;
1391 RAM[0x0096]=0xc3; /* jp $00fd */
1392 RAM[0x0097]=0xfd;
1393 RAM[0x0098]=0x00;
1394 }
1395
1396
DRIVER_INIT(wotw)1397 static DRIVER_INIT( wotw )
1398 {
1399 ccpu_Config(1, CCPU_MEMSIZE_16K, CCPU_MONITOR_WOWCOL);
1400 cinemat_sound_handler = 0;
1401 }
1402
1403
DRIVER_INIT(boxingb)1404 static DRIVER_INIT( boxingb )
1405 {
1406 ccpu_Config(1, CCPU_MEMSIZE_32K, CCPU_MONITOR_WOWCOL);
1407 cinemat_sound_handler = 0;
1408
1409 install_port_read16_handler(0, CCPU_PORT_IOINPUTS, CCPU_PORT_IOINPUTS+1, boxingb_input_port_1_r);
1410 }
1411
1412
1413
1414 /*************************************
1415 *
1416 * Game drivers
1417 *
1418 *************************************/
1419
1420 GAMEC( 1978, spacewar, 0, spacewar, spacewar, spacewar, ROT0, "Cinematronics", "Space Wars", &spacewar_ctrl, NULL )
1421 GAMEX(1979, barrier, 0, cinemat, barrier, barrier, ROT270, "Vectorbeam", "Barrier", GAME_NO_SOUND )
1422 GAMEX(1981, starhawk, 0, cinemat, starhawk, starhawk, ROT0, "Cinematronics", "Star Hawk", GAME_NO_SOUND )
1423 GAME( 1980, starcas, 0, starcas, starcas, starcas, ROT0, "Cinematronics", "Star Castle (version 3)" )
1424 GAME( 1980, starcas1, starcas, starcas, starcas, starcas, ROT0, "Cinematronics", "Star Castle (older)" )
1425 GAME( 1980, starcasp, starcas, starcas, starcas, starcas, ROT0, "Cinematronics", "Star Castle (prototype)" )
1426 GAME( 1980, starcase, starcas, starcas, starcas, starcas, ROT0, "Cinematronics (Mottoeis license)", "Star Castle (Mottoeis)" )
1427 GAME( 1980, stellcas, starcas, starcas, starcas, starcas, ROT0, "bootleg", "Stellar Castle (Elettronolo)" )
1428 GAMEX(1979, tailg, 0, cinemat, tailg, tailg, ROT0, "Cinematronics", "Tailgunner", GAME_NO_SOUND )
1429 GAME( 1979, ripoff, 0, ripoff, ripoff, ripoff, ROT0, "Cinematronics", "Rip Off" )
1430 GAMEX(1979, speedfrk, 0, cinemat, speedfrk, speedfrk, ROT0, "Vectorbeam", "Speed Freak", GAME_NO_SOUND )
1431 GAME( 1979, sundance, 0, sundance, sundance, sundance, ROT270, "Cinematronics", "Sundance" )
1432 GAMEC( 1978, warrior, 0, warrior, warrior, warrior, ROT0, "Vectorbeam", "Warrior", &warrior_ctrl, NULL )
1433 GAME( 1980, armora, 0, armora, armora, armora, ROT0, "Cinematronics", "Armor Attack")
1434 GAME( 1980, armorap, armora, armora, armora, armora, ROT0, "Cinematronics", "Armor Attack (prototype)")
1435 GAME( 1980, armorar, armora, armora, armora, armorar, ROT0, "Cinematronics (Rock-ola license)", "Armor Attack (Rock-ola)" )
1436 GAMEC( 1981, solarq, 0, solarq, solarq, solarq, ORIENTATION_FLIP_X, "Cinematronics", "Solar Quest", &solarq_ctrl, NULL )
1437 GAME( 1982, demon, 0, demon, demon, demon, ROT0, "Rock-ola", "Demon" )
1438 GAMEX( 1981, wotw, 0, cincolor, wotw, wotw, ROT0, "Cinematronics", "War of the Worlds", GAME_IMPERFECT_COLORS | GAME_NO_SOUND )
1439 GAMEX( 1981, boxingb, 0, cincolor, boxingb, boxingb, ROT0, "Cinematronics", "Boxing Bugs", GAME_IMPERFECT_COLORS | GAME_NO_SOUND )
1440