1 /***************************************************************************
2
3 Atari Cyberball hardware
4
5 driver by Aaron Giles
6
7 Games supported:
8 * Cyberball (1988) [3 sets]
9 * Cyberball 2072, 2-players (1989) [4 sets]
10 * Tournament Cyberball 2072 (1989) [2 sets]
11
12 Known bugs:
13 * none at this time
14
15 ****************************************************************************
16
17 Memory map (TBA)
18
19 ***************************************************************************/
20
21
22 #include "driver.h"
23 #include "machine/atarigen.h"
24 #include "sndhrdw/atarijsa.h"
25 #include "cyberbal.h"
26
27
28
29 /*************************************
30 *
31 * Initialization
32 *
33 *************************************/
34
update_interrupts(void)35 static void update_interrupts(void)
36 {
37 int newstate1 = 0;
38 int newstate2 = 0;
39 int temp;
40
41 if (atarigen_sound_int_state)
42 newstate1 |= 1;
43 if (atarigen_video_int_state)
44 newstate2 |= 1;
45
46 if (newstate1)
47 cpu_set_irq_line(0, newstate1, ASSERT_LINE);
48 else
49 cpu_set_irq_line(0, 7, CLEAR_LINE);
50
51 if (newstate2)
52 cpu_set_irq_line(2, newstate2, ASSERT_LINE);
53 else
54 cpu_set_irq_line(2, 7, CLEAR_LINE);
55
56 /* check for screen swapping */
57 temp = readinputport(2);
58 if (temp & 1) cyberbal_set_screen(0);
59 else if (temp & 2) cyberbal_set_screen(1);
60 }
61
62
MACHINE_INIT(cyberbal)63 static MACHINE_INIT( cyberbal )
64 {
65 atarigen_eeprom_reset();
66 atarigen_slapstic_reset();
67 atarigen_interrupt_reset(update_interrupts);
68 atarigen_scanline_timer_reset(cyberbal_scanline_update, 8);
69 atarigen_sound_io_reset(1);
70
71 cyberbal_sound_reset();
72
73 /* CPU 2 doesn't run until reset */
74 cpu_set_reset_line(2, ASSERT_LINE);
75
76 /* make sure we're pointing to the right screen by default */
77 cyberbal_set_screen(0);
78 }
79
80
cyberb2p_update_interrupts(void)81 static void cyberb2p_update_interrupts(void)
82 {
83 int newstate = 0;
84
85 if (atarigen_video_int_state)
86 newstate |= 1;
87 if (atarigen_sound_int_state)
88 newstate |= 3;
89
90 if (newstate)
91 cpu_set_irq_line(0, newstate, ASSERT_LINE);
92 else
93 cpu_set_irq_line(0, 7, CLEAR_LINE);
94 }
95
96
MACHINE_INIT(cyberb2p)97 static MACHINE_INIT( cyberb2p )
98 {
99 atarigen_eeprom_reset();
100 atarigen_interrupt_reset(cyberb2p_update_interrupts);
101 atarigen_scanline_timer_reset(cyberbal_scanline_update, 8);
102 atarijsa_reset();
103
104 /* make sure we're pointing to the only screen */
105 cyberbal_set_screen(0);
106 }
107
108
109
110 /*************************************
111 *
112 * I/O read dispatch.
113 *
114 *************************************/
115
READ16_HANDLER(special_port0_r)116 static READ16_HANDLER( special_port0_r )
117 {
118 int temp = readinputport(0);
119 if (atarigen_cpu_to_sound_ready) temp ^= 0x0080;
120 return temp;
121 }
122
123
READ16_HANDLER(special_port2_r)124 static READ16_HANDLER( special_port2_r )
125 {
126 int temp = readinputport(2);
127 if (atarigen_cpu_to_sound_ready) temp ^= 0x2000;
128 return temp;
129 }
130
131
READ16_HANDLER(sound_state_r)132 static READ16_HANDLER( sound_state_r )
133 {
134 int temp = 0xffff;
135 if (atarigen_cpu_to_sound_ready) temp ^= 0xffff;
136 return temp;
137 }
138
139
140
141 /*************************************
142 *
143 * Extra I/O handlers.
144 *
145 *************************************/
146
WRITE16_HANDLER(p2_reset_w)147 static WRITE16_HANDLER( p2_reset_w )
148 {
149 cpu_set_reset_line(2, CLEAR_LINE);
150 }
151
152
153
154 /*************************************
155 *
156 * Main CPU memory handlers
157 *
158 *************************************/
159
MEMORY_READ16_START(main_readmem)160 static MEMORY_READ16_START( main_readmem )
161 { 0x000000, 0x03ffff, MRA16_ROM },
162 { 0xfc0000, 0xfc0fff, atarigen_eeprom_r },
163 { 0xfc8000, 0xfcffff, atarigen_sound_upper_r },
164 { 0xfe0000, 0xfe0fff, special_port0_r },
165 { 0xfe1000, 0xfe1fff, input_port_1_word_r },
166 { 0xfe8000, 0xfe8fff, cyberbal_paletteram_1_r },
167 { 0xfec000, 0xfecfff, cyberbal_paletteram_0_r },
168 { 0xff0000, 0xff37ff, MRA16_BANK1 }, /* shared */
169 { 0xff3800, 0xff3fff, MRA16_BANK2 }, /* shared */
170 { 0xff4000, 0xff77ff, MRA16_BANK3 }, /* shared */
171 { 0xff7800, 0xff9fff, MRA16_BANK4 }, /* shared */
172 { 0xffa000, 0xffbfff, MRA16_BANK5 }, /* shared */
173 { 0xffc000, 0xffffff, MRA16_BANK6 },
174 MEMORY_END
175
176
177 static MEMORY_WRITE16_START( main_writemem )
178 { 0x000000, 0x03ffff, MWA16_ROM },
179 { 0xfc0000, 0xfc0fff, atarigen_eeprom_w, &atarigen_eeprom, &atarigen_eeprom_size },
180 { 0xfd0000, 0xfd1fff, atarigen_eeprom_enable_w },
181 { 0xfd2000, 0xfd3fff, atarigen_sound_reset_w },
182 { 0xfd4000, 0xfd5fff, watchdog_reset16_w },
183 { 0xfd6000, 0xfd7fff, p2_reset_w },
184 { 0xfd8000, 0xfd9fff, atarigen_sound_upper_w },
185 { 0xfe8000, 0xfe8fff, cyberbal_paletteram_1_w, &cyberbal_paletteram_1 },
186 { 0xfec000, 0xfecfff, cyberbal_paletteram_0_w, &cyberbal_paletteram_0 },
187 { 0xff0000, 0xff1fff, atarigen_playfield2_w, &atarigen_playfield2 },
188 { 0xff2000, 0xff2fff, atarigen_alpha2_w, &atarigen_alpha2 },
189 { 0xff3000, 0xff37ff, atarimo_1_spriteram_w, &atarimo_1_spriteram },
190 { 0xff3800, 0xff3fff, MWA16_BANK2 },
191 { 0xff4000, 0xff5fff, atarigen_playfield_w, &atarigen_playfield },
192 { 0xff6000, 0xff6fff, atarigen_alpha_w, &atarigen_alpha },
193 { 0xff7000, 0xff77ff, atarimo_0_spriteram_w, &atarimo_0_spriteram },
194 { 0xff7800, 0xff9fff, MWA16_BANK4 },
195 { 0xffa000, 0xffbfff, MWA16_NOP },
196 { 0xffc000, 0xffffff, MWA16_BANK6 },
197 MEMORY_END
198
199
200
201 /*************************************
202 *
203 * Extra CPU memory handlers
204 *
205 *************************************/
206
207 static MEMORY_READ16_START( extra_readmem )
208 { 0x000000, 0x03ffff, MRA16_ROM },
209 { 0xfe0000, 0xfe0fff, special_port0_r },
210 { 0xfe1000, 0xfe1fff, input_port_1_word_r },
211 { 0xfe8000, 0xfe8fff, cyberbal_paletteram_1_r },
212 { 0xfec000, 0xfecfff, cyberbal_paletteram_0_r },
213 { 0xff0000, 0xff37ff, MRA16_BANK1 },
214 { 0xff3800, 0xff3fff, MRA16_BANK2 },
215 { 0xff4000, 0xff77ff, MRA16_BANK3 },
216 { 0xff7800, 0xff9fff, MRA16_BANK4 },
217 { 0xffa000, 0xffbfff, MRA16_BANK5 },
218 { 0xffc000, 0xffffff, MRA16_BANK6 },
219 MEMORY_END
220
221
222 static MEMORY_WRITE16_START( extra_writemem )
223 { 0x000000, 0x03ffff, MWA16_ROM },
224 { 0xfc0000, 0xfdffff, atarigen_video_int_ack_w },
225 { 0xfe8000, 0xfe8fff, cyberbal_paletteram_1_w },
226 { 0xfec000, 0xfecfff, cyberbal_paletteram_0_w },
227 { 0xff0000, 0xff1fff, atarigen_playfield2_w },
228 { 0xff2000, 0xff2fff, atarigen_alpha2_w },
229 { 0xff3000, 0xff37ff, atarimo_1_spriteram_w },
230 { 0xff3800, 0xff3fff, MWA16_BANK2 },
231 { 0xff4000, 0xff5fff, atarigen_playfield_w },
232 { 0xff6000, 0xff6fff, atarigen_alpha_w },
233 { 0xff7000, 0xff77ff, atarimo_0_spriteram_w },
234 { 0xff7800, 0xff9fff, MWA16_BANK4 },
235 { 0xffa000, 0xffbfff, MWA16_BANK5 },
236 { 0xffc000, 0xffffff, MWA16_NOP },
237 MEMORY_END
238
239
240
241 /*************************************
242 *
243 * Sound CPU memory handlers
244 *
245 *************************************/
246
247 MEMORY_READ_START( sound_readmem )
248 { 0x0000, 0x1fff, MRA_RAM },
249 { 0x2000, 0x2001, YM2151_status_port_0_r },
250 { 0x2802, 0x2803, atarigen_6502_irq_ack_r },
251 { 0x2c00, 0x2c01, atarigen_6502_sound_r },
252 { 0x2c02, 0x2c03, cyberbal_special_port3_r },
253 { 0x2c04, 0x2c05, cyberbal_sound_68k_6502_r },
254 { 0x2c06, 0x2c07, cyberbal_sound_6502_stat_r },
255 { 0x3000, 0x3fff, MRA_BANK8 },
256 { 0x4000, 0xffff, MRA_ROM },
257 MEMORY_END
258
259
260 MEMORY_WRITE_START( sound_writemem )
261 { 0x0000, 0x1fff, MWA_RAM },
262 { 0x2000, 0x2000, YM2151_register_port_0_w },
263 { 0x2001, 0x2001, YM2151_data_port_0_w },
264 { 0x2800, 0x2801, cyberbal_sound_68k_6502_w },
265 { 0x2802, 0x2803, atarigen_6502_irq_ack_w },
266 { 0x2804, 0x2805, atarigen_6502_sound_w },
267 { 0x2806, 0x2807, cyberbal_sound_bank_select_w },
268 { 0x3000, 0xffff, MWA_ROM },
269 MEMORY_END
270
271
272
273 /*************************************
274 *
275 * 68000 Sound CPU memory handlers
276 *
277 *************************************/
278
279 static MEMORY_READ16_START( sound_68k_readmem )
280 { 0x000000, 0x03ffff, MRA16_ROM },
281 { 0xff8000, 0xff87ff, cyberbal_sound_68k_r },
282 { 0xfff000, 0xffffff, MRA16_RAM },
283 MEMORY_END
284
285
286 static MEMORY_WRITE16_START( sound_68k_writemem )
287 { 0x000000, 0x03ffff, MWA16_ROM },
288 { 0xff8800, 0xff8fff, cyberbal_sound_68k_w },
289 { 0xff9000, 0xff97ff, cyberbal_io_68k_irq_ack_w },
290 { 0xff9800, 0xff9fff, cyberbal_sound_68k_dac_w },
291 { 0xfff000, 0xffffff, MWA16_RAM },
292 MEMORY_END
293
294
295
296 /*************************************
297 *
298 * 2-player main CPU memory handlers
299 *
300 *************************************/
301
302 static MEMORY_READ16_START( cyberb2p_readmem )
303 { 0x000000, 0x07ffff, MRA16_ROM },
304 { 0xfc0000, 0xfc0003, input_port_0_word_r },
305 { 0xfc2000, 0xfc2003, input_port_1_word_r },
306 { 0xfc4000, 0xfc4003, special_port2_r },
307 { 0xfc6000, 0xfc6003, atarigen_sound_upper_r },
308 { 0xfc8000, 0xfc8fff, atarigen_eeprom_r },
309 { 0xfca000, 0xfcafff, MRA16_RAM },
310 { 0xfe0000, 0xfe0003, sound_state_r },
311 { 0xff0000, 0xffffff, MRA16_RAM },
312 MEMORY_END
313
314
315 static MEMORY_WRITE16_START( cyberb2p_writemem )
316 { 0x000000, 0x07ffff, MWA16_ROM },
317 { 0xfc8000, 0xfc8fff, atarigen_eeprom_w, &atarigen_eeprom, &atarigen_eeprom_size },
318 { 0xfca000, 0xfcafff, atarigen_666_paletteram_w, &paletteram16 },
319 { 0xfd0000, 0xfd0003, atarigen_eeprom_enable_w },
320 { 0xfd2000, 0xfd2003, atarigen_sound_reset_w },
321 { 0xfd4000, 0xfd4003, watchdog_reset16_w },
322 { 0xfd6000, 0xfd6003, atarigen_video_int_ack_w },
323 { 0xfd8000, 0xfd8003, atarigen_sound_upper_w },
324 { 0xff0000, 0xff1fff, atarigen_playfield_w, &atarigen_playfield },
325 { 0xff2000, 0xff2fff, atarigen_alpha_w, &atarigen_alpha },
326 { 0xff3000, 0xff37ff, atarimo_0_spriteram_w, &atarimo_0_spriteram },
327 { 0xff3800, 0xffffff, MWA16_RAM },
328 MEMORY_END
329
330
331
332 /*************************************
333 *
334 * Port definitions
335 *
336 *************************************/
337
338 INPUT_PORTS_START( cyberbal )
339 PORT_START /* fe0000 */
340 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER4 )
341 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER4 )
342 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER4 )
343 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER4 )
344 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
345 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
346 PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
347 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER3 )
348 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER3 )
349 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER3 )
350 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER3 )
351 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
352 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
353 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
354 PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
355
356 PORT_START /* fe1000 */
357 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
358 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
359 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
360 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
361 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
362 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
363 PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
364 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
365 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
366 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
367 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
368 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED )
369 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
370 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
371 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_VBLANK )
372
373 PORT_START /* fake port for screen switching */
374 #if (CYBERBALL_DUAL_MODE)
375 PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
376 #else
377 PORT_BITX( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON2, "Select Left Screen", KEYCODE_9, IP_JOY_NONE )
378 PORT_BITX( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2, "Select Right Screen", KEYCODE_0, IP_JOY_NONE )
379 PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNUSED )
380 #endif
381
382 PORT_START /* audio board port */
383 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
384 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
385 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN4 )
386 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN3 )
387 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
388 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* output buffer full */
389 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) /* input buffer full */
390 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* self test */
391 INPUT_PORTS_END
392
393
394 INPUT_PORTS_START( cyberb2p )
395 PORT_START /* fc0000 */
396 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
397 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
398 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
399 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
400 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
401 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
402 PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNUSED )
403
404 PORT_START /* fc2000 */
405 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
406 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
407 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
408 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
409 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED )
410 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
411 PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNUSED )
412
413 PORT_START /* fc4000 */
414 PORT_BIT( 0x1fff, IP_ACTIVE_LOW, IPT_UNUSED )
415 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
416 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_VBLANK )
417 PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
418
419 JSA_II_PORT /* audio board port */
420 INPUT_PORTS_END
421
422
423
424 /*************************************
425 *
426 * Graphics definitions
427 *
428 *************************************/
429
430 static struct GfxLayout pfanlayout =
431 {
432 16,8,
433 RGN_FRAC(1,1),
434 4,
435 { 0, 1, 2, 3 },
436 { 0,0, 4,4, 8,8, 12,12, 16,16, 20,20, 24,24, 28,28 },
437 { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8 },
438 32*8
439 };
440
441 static struct GfxLayout pfanlayout_interleaved =
442 {
443 16,8,
444 RGN_FRAC(1,2),
445 4,
446 { 0, 1, 2, 3 },
447 { RGN_FRAC(1,2)+0,RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4,RGN_FRAC(1,2)+4, 0,0, 4,4, RGN_FRAC(1,2)+8,RGN_FRAC(1,2)+8, RGN_FRAC(1,2)+12,RGN_FRAC(1,2)+12, 8,8, 12,12 },
448 { 0*8, 2*8, 4*8, 6*8, 8*8, 10*8, 12*8, 14*8 },
449 16*8
450 };
451
452 static struct GfxLayout molayout =
453 {
454 16,8,
455 RGN_FRAC(1,4),
456 4,
457 { 0, 1, 2, 3 },
458 { RGN_FRAC(3,4)+0, RGN_FRAC(3,4)+4, RGN_FRAC(2,4)+0, RGN_FRAC(2,4)+4, RGN_FRAC(1,4)+0, RGN_FRAC(1,4)+4, 0, 4,
459 RGN_FRAC(3,4)+8, RGN_FRAC(3,4)+12, RGN_FRAC(2,4)+8, RGN_FRAC(2,4)+12, RGN_FRAC(1,4)+8, RGN_FRAC(1,4)+12, 8, 12 },
460 { 0*8, 2*8, 4*8, 6*8, 8*8, 10*8, 12*8, 14*8 },
461 16*8
462 };
463
464 static struct GfxDecodeInfo gfxdecodeinfo[] =
465 {
466 { REGION_GFX2, 0, &pfanlayout, 0, 128 },
467 { REGION_GFX1, 0, &molayout, 0x600, 16 },
468 { REGION_GFX3, 0, &pfanlayout, 0x780, 8 },
469 { -1 }
470 };
471
472 static struct GfxDecodeInfo gfxdecodeinfo_interleaved[] =
473 {
474 { REGION_GFX2, 0, &pfanlayout_interleaved, 0, 128 },
475 { REGION_GFX1, 0, &molayout, 0x600, 16 },
476 { REGION_GFX3, 0, &pfanlayout_interleaved, 0x780, 8 },
477 { -1 }
478 };
479
480
481
482 /*************************************
483 *
484 * Sound definitions
485 *
486 *************************************/
487
488 static struct YM2151interface ym2151_interface =
489 {
490 1,
491 ATARI_CLOCK_14MHz/4,
492 #if (CYBERBALL_DUAL_MODE)
493 { YM3012_VOL(60,MIXER_PAN_LEFT,60,MIXER_PAN_RIGHT) },
494 #else
495 { YM3012_VOL(30,MIXER_PAN_CENTER,30,MIXER_PAN_CENTER) },
496 #endif
497 { atarigen_ym2151_irq_gen }
498 };
499
500
501 static struct DACinterface dac_interface =
502 {
503 2,
504 #if (CYBERBALL_DUAL_MODE)
505 { MIXER(100,MIXER_PAN_RIGHT), MIXER(100,MIXER_PAN_LEFT) }
506 #else
507 { MIXER(50,MIXER_PAN_CENTER), MIXER(50,MIXER_PAN_CENTER) }
508 #endif
509 };
510
511
512
513 /*************************************
514 *
515 * Machine driver
516 *
517 *************************************/
518
519 static MACHINE_DRIVER_START( cyberbal )
520
521 /* basic machine hardware */
522 MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz/2)
523 MDRV_CPU_MEMORY(main_readmem,main_writemem)
524
525 MDRV_CPU_ADD(M6502, ATARI_CLOCK_14MHz/8)
526 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
527 MDRV_CPU_PERIODIC_INT(atarigen_6502_irq_gen,(UINT32)(1000000000.0/((double)ATARI_CLOCK_14MHz/4/4/16/16/14)))
528
529 MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz/2)
530 MDRV_CPU_MEMORY(extra_readmem,extra_writemem)
531 MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
532
533 MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz/2)
534 MDRV_CPU_MEMORY(sound_68k_readmem,sound_68k_writemem)
535 MDRV_CPU_PERIODIC_INT(cyberbal_sound_68k_irq_gen,10000)
536
537 MDRV_FRAMES_PER_SECOND(60)
538 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
539 MDRV_INTERLEAVE(10)
540
541 MDRV_MACHINE_INIT(cyberbal)
542 MDRV_NVRAM_HANDLER(atarigen)
543
544 /* video hardware */
545 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_PIXEL_ASPECT_RATIO_1_2 | VIDEO_UPDATE_BEFORE_VBLANK)
546 #if (CYBERBALL_DUAL_MODE)
547 MDRV_SCREEN_SIZE(42*16*2, 30*8)
548 MDRV_VISIBLE_AREA(0*8, 42*16*2-1, 0*8, 30*8-1)
549 MDRV_ASPECT_RATIO(8,3)
550 #else
551 MDRV_SCREEN_SIZE(42*16, 30*8)
552 MDRV_VISIBLE_AREA(0*8, 42*16-1, 0*8, 30*8-1)
553 #endif
554 MDRV_GFXDECODE(gfxdecodeinfo_interleaved)
555 MDRV_PALETTE_LENGTH(4096)
556
557 MDRV_VIDEO_START(cyberbal)
558 MDRV_VIDEO_UPDATE(cyberbal)
559
560 /* sound hardware */
561 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
562 MDRV_SOUND_ADD(YM2151, ym2151_interface)
563 MDRV_SOUND_ADD(DAC, dac_interface)
564 MACHINE_DRIVER_END
565
566
567 static MACHINE_DRIVER_START( cyberb2p )
568
569 /* basic machine hardware */
570 MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz/2)
571 MDRV_CPU_MEMORY(cyberb2p_readmem,cyberb2p_writemem)
572 MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
573
574 MDRV_FRAMES_PER_SECOND(60)
575 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
576
577 MDRV_MACHINE_INIT(cyberb2p)
578 MDRV_NVRAM_HANDLER(atarigen)
579
580 /* video hardware */
581 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_PIXEL_ASPECT_RATIO_1_2 | VIDEO_UPDATE_BEFORE_VBLANK)
582 MDRV_SCREEN_SIZE(42*16, 30*8)
583 MDRV_VISIBLE_AREA(0*8, 42*16-1, 0*8, 30*8-1)
584 MDRV_GFXDECODE(gfxdecodeinfo)
585 MDRV_PALETTE_LENGTH(2048)
586
587 MDRV_VIDEO_START(cyberb2p)
588 MDRV_VIDEO_UPDATE(cyberbal)
589
590 /* sound hardware */
591 MDRV_IMPORT_FROM(jsa_ii_mono)
592 MACHINE_DRIVER_END
593
594
595
596 /*************************************
597 *
598 * ROM definition(s)
599 *
600 *************************************/
601
602 ROM_START( cyberbal )
603 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 4*64k for 68000 code */
604 ROM_LOAD16_BYTE( "4123-1m.064", 0x000000, 0x010000, CRC(fb872740) SHA1(15e6721d466fe56d7c97c6801e214b32803a0a0d) )
605 ROM_LOAD16_BYTE( "4124-1kl.064", 0x000001, 0x010000, CRC(87babad9) SHA1(acdc6b5976445e203de19eb03697e307fe6da77d) )
606
607 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
608 ROM_LOAD( "2131-2f.064", 0x010000, 0x004000, CRC(bd7e3d84) SHA1(f87878042fc79fa3883136b31ac15ddc22c6023c) )
609 ROM_CONTINUE( 0x004000, 0x00c000 )
610
611 ROM_REGION( 0x40000, REGION_CPU3, 0 ) /* 4*64k for 68000 code */
612 ROM_LOAD16_BYTE( "2127-3cd.064", 0x000000, 0x010000, CRC(3e5feb1f) SHA1(9f92f496adbdf74e394e0d710d6471b9666ba5e5) )
613 ROM_LOAD16_BYTE( "2128-1b.064", 0x000001, 0x010000, CRC(4e642cc3) SHA1(f708b6dd4360380bb10059d66df66b07966210b4) )
614 ROM_LOAD16_BYTE( "1129-1cd.064", 0x020000, 0x010000, CRC(db11d2f0) SHA1(da9f49af533cbc732b17699040c7930070a90644) )
615 ROM_LOAD16_BYTE( "1130-3b.064", 0x020001, 0x010000, CRC(fd86b8aa) SHA1(46310efed762632ed176a08aaec41e48aad41cc1) )
616
617 ROM_REGION16_BE( 0x40000, REGION_CPU4, 0 ) /* 256k for 68000 sound code */
618 ROM_LOAD16_BYTE( "1132-3cd.064", 0x000000, 0x010000, CRC(ca5ce8d8) SHA1(69dc83d43d8c9dc7ce3207e70f48fcfc5ddda0cc) )
619 ROM_LOAD16_BYTE( "1133-1b.064", 0x000001, 0x010000, CRC(ffeb8746) SHA1(0d8d28b2d997ff3cf01b4ef25b75fa5a69754af4) )
620 ROM_LOAD16_BYTE( "1134-1cd.064", 0x020000, 0x010000, CRC(bcbd4c00) SHA1(f0bfcdf0b5491e15872b543e99b834ae384cbf18) )
621 ROM_LOAD16_BYTE( "1135-3b.064", 0x020001, 0x010000, CRC(d520f560) SHA1(fb0b8d021458379188c424a343622c46ad74edaa) )
622
623 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
624 ROM_LOAD( "1105-15a.064", 0x000000, 0x010000, CRC(e770eb3e) SHA1(e9f9e9e05774005c8be3bbdc19985b59a0081ef4) )
625 ROM_LOAD( "1109-16a.064", 0x010000, 0x010000, CRC(40db00da) SHA1(d92d856b06f6ba11621ba7aab3d40653b3c70159) )
626 ROM_LOAD( "2113-18a.064", 0x020000, 0x010000, CRC(52bb08fb) SHA1(08caa156923daf444e0caafb2cdff0704c90ef1f) )
627 ROM_LOAD( "1117-19a.064", 0x030000, 0x010000, CRC(0a11d877) SHA1(876cbeffd815c084d7cbd937067d65c04aeebce5) )
628 ROM_LOAD( "1106-11a.064", 0x050000, 0x010000, CRC(6f53c7c1) SHA1(5856d714c3af338be58156b404fb1e5a89c24cf9) )
629 ROM_LOAD( "1110-12a.064", 0x060000, 0x010000, CRC(5de609e5) SHA1(bbea36a4cbbfeab113925951ef097673eddf26a8) )
630 ROM_LOAD( "2114-13a.064", 0x070000, 0x010000, CRC(e6f95010) SHA1(42b14cf0dadfab9ce1032385fd21339b46edcfc2) )
631 ROM_LOAD( "1118-14a.064", 0x080000, 0x010000, CRC(47f56ced) SHA1(62e80191e1879ffb6c736aec004bbc30a366363f) )
632 ROM_LOAD( "1107-15c.064", 0x0a0000, 0x010000, CRC(c8f1f7ff) SHA1(2e0374901871d66a243f87bc4b9cbdde5505f0ec) )
633 ROM_LOAD( "1111-16c.064", 0x0b0000, 0x010000, CRC(6bf0bf98) SHA1(7d2b3b61da3749b352a6bf3f1ae1cb736b5b8386) )
634 ROM_LOAD( "2115-18c.064", 0x0c0000, 0x010000, CRC(c3168603) SHA1(43e00fc739d1b3dd6d925bad63058fe74c1efc74) )
635 ROM_LOAD( "1119-19c.064", 0x0d0000, 0x010000, CRC(7ff29d09) SHA1(81458b058f0b037778f255b5afe94a44aba74829) )
636 ROM_LOAD( "1108-11c.064", 0x0f0000, 0x010000, CRC(99629412) SHA1(53a91b2a1ac62259ec9f78421b22c7b22f4233d6) )
637 ROM_LOAD( "1112-12c.064", 0x100000, 0x010000, CRC(aa198cb7) SHA1(aad4a60210289d2e5a93aac336ba995ed6ac4886) )
638 ROM_LOAD( "2116-13c.064", 0x110000, 0x010000, CRC(6cf79a67) SHA1(7f3271b575cf0b5033b5b19f0e71fae251040fc6) )
639 ROM_LOAD( "1120-14c.064", 0x120000, 0x010000, CRC(40bdf767) SHA1(c57aaea838abeaea1a0060c45c2f33c38a51edb3) )
640
641 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
642 ROM_LOAD( "1101-9lm.064", 0x000000, 0x010000, CRC(a64b4da8) SHA1(f68778adb56a1eb964acdbc7e9d690a8a83f170b) )
643 ROM_LOAD( "1102-8lm.064", 0x010000, 0x010000, CRC(ca91ec1b) SHA1(970c64e19893503cae796daee63b2d7d08eaf551) )
644 ROM_LOAD( "110311lm.064", 0x020000, 0x010000, CRC(ee29d1d1) SHA1(2a7fea25728c66ce482de76299413ef5da01beef) )
645 ROM_LOAD( "110410lm.064", 0x030000, 0x010000, CRC(882649f8) SHA1(fbaea597b6e318234e41df245023643f448a4938) )
646
647 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
648 ROM_LOAD( "1121-15n.064", 0x000000, 0x010000, CRC(0ca1e3b3) SHA1(d934bc9a1def4404fb86175878404cbb18127a11) )
649 ROM_LOAD( "1122-16n.064", 0x010000, 0x010000, CRC(882f4e1c) SHA1(f7517ff03502ff029fb375260a35e45414567433) )
650 ROM_END
651
652
653 ROM_START( cyberba2 )
654 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 4*64k for 68000 code */
655 ROM_LOAD16_BYTE( "2123-1m.064", 0x000000, 0x010000, CRC(502676e8) SHA1(c0f1f1ce50d3df21cb81244268faef6c303cdfab) )
656 ROM_LOAD16_BYTE( "2124-1kl.064", 0x000001, 0x010000, CRC(30f55915) SHA1(ab93ec46f282ab9a0cd47c989537a7e036975e3f) )
657
658 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
659 ROM_LOAD( "2131-2f.064", 0x010000, 0x004000, CRC(bd7e3d84) SHA1(f87878042fc79fa3883136b31ac15ddc22c6023c) )
660 ROM_CONTINUE( 0x004000, 0x00c000 )
661
662 ROM_REGION( 0x40000, REGION_CPU3, 0 ) /* 4*64k for 68000 code */
663 ROM_LOAD16_BYTE( "2127-3cd.064", 0x000000, 0x010000, CRC(3e5feb1f) SHA1(9f92f496adbdf74e394e0d710d6471b9666ba5e5) )
664 ROM_LOAD16_BYTE( "2128-1b.064", 0x000001, 0x010000, CRC(4e642cc3) SHA1(f708b6dd4360380bb10059d66df66b07966210b4) )
665 ROM_LOAD16_BYTE( "1129-1cd.064", 0x020000, 0x010000, CRC(db11d2f0) SHA1(da9f49af533cbc732b17699040c7930070a90644) )
666 ROM_LOAD16_BYTE( "1130-3b.064", 0x020001, 0x010000, CRC(fd86b8aa) SHA1(46310efed762632ed176a08aaec41e48aad41cc1) )
667
668 ROM_REGION16_BE( 0x40000, REGION_CPU4, 0 ) /* 256k for 68000 sound code */
669 ROM_LOAD16_BYTE( "1132-3cd.064", 0x000000, 0x010000, CRC(ca5ce8d8) SHA1(69dc83d43d8c9dc7ce3207e70f48fcfc5ddda0cc) )
670 ROM_LOAD16_BYTE( "1133-1b.064", 0x000001, 0x010000, CRC(ffeb8746) SHA1(0d8d28b2d997ff3cf01b4ef25b75fa5a69754af4) )
671 ROM_LOAD16_BYTE( "1134-1cd.064", 0x020000, 0x010000, CRC(bcbd4c00) SHA1(f0bfcdf0b5491e15872b543e99b834ae384cbf18) )
672 ROM_LOAD16_BYTE( "1135-3b.064", 0x020001, 0x010000, CRC(d520f560) SHA1(fb0b8d021458379188c424a343622c46ad74edaa) )
673
674 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
675 ROM_LOAD( "1105-15a.064", 0x000000, 0x010000, CRC(e770eb3e) SHA1(e9f9e9e05774005c8be3bbdc19985b59a0081ef4) )
676 ROM_LOAD( "1109-16a.064", 0x010000, 0x010000, CRC(40db00da) SHA1(d92d856b06f6ba11621ba7aab3d40653b3c70159) )
677 ROM_LOAD( "2113-18a.064", 0x020000, 0x010000, CRC(52bb08fb) SHA1(08caa156923daf444e0caafb2cdff0704c90ef1f) )
678 ROM_LOAD( "1117-19a.064", 0x030000, 0x010000, CRC(0a11d877) SHA1(876cbeffd815c084d7cbd937067d65c04aeebce5) )
679 ROM_LOAD( "1106-11a.064", 0x050000, 0x010000, CRC(6f53c7c1) SHA1(5856d714c3af338be58156b404fb1e5a89c24cf9) )
680 ROM_LOAD( "1110-12a.064", 0x060000, 0x010000, CRC(5de609e5) SHA1(bbea36a4cbbfeab113925951ef097673eddf26a8) )
681 ROM_LOAD( "2114-13a.064", 0x070000, 0x010000, CRC(e6f95010) SHA1(42b14cf0dadfab9ce1032385fd21339b46edcfc2) )
682 ROM_LOAD( "1118-14a.064", 0x080000, 0x010000, CRC(47f56ced) SHA1(62e80191e1879ffb6c736aec004bbc30a366363f) )
683 ROM_LOAD( "1107-15c.064", 0x0a0000, 0x010000, CRC(c8f1f7ff) SHA1(2e0374901871d66a243f87bc4b9cbdde5505f0ec) )
684 ROM_LOAD( "1111-16c.064", 0x0b0000, 0x010000, CRC(6bf0bf98) SHA1(7d2b3b61da3749b352a6bf3f1ae1cb736b5b8386) )
685 ROM_LOAD( "2115-18c.064", 0x0c0000, 0x010000, CRC(c3168603) SHA1(43e00fc739d1b3dd6d925bad63058fe74c1efc74) )
686 ROM_LOAD( "1119-19c.064", 0x0d0000, 0x010000, CRC(7ff29d09) SHA1(81458b058f0b037778f255b5afe94a44aba74829) )
687 ROM_LOAD( "1108-11c.064", 0x0f0000, 0x010000, CRC(99629412) SHA1(53a91b2a1ac62259ec9f78421b22c7b22f4233d6) )
688 ROM_LOAD( "1112-12c.064", 0x100000, 0x010000, CRC(aa198cb7) SHA1(aad4a60210289d2e5a93aac336ba995ed6ac4886) )
689 ROM_LOAD( "2116-13c.064", 0x110000, 0x010000, CRC(6cf79a67) SHA1(7f3271b575cf0b5033b5b19f0e71fae251040fc6) )
690 ROM_LOAD( "1120-14c.064", 0x120000, 0x010000, CRC(40bdf767) SHA1(c57aaea838abeaea1a0060c45c2f33c38a51edb3) )
691
692 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
693 ROM_LOAD( "1101-9lm.064", 0x000000, 0x010000, CRC(a64b4da8) SHA1(f68778adb56a1eb964acdbc7e9d690a8a83f170b) )
694 ROM_LOAD( "1102-8lm.064", 0x010000, 0x010000, CRC(ca91ec1b) SHA1(970c64e19893503cae796daee63b2d7d08eaf551) )
695 ROM_LOAD( "110311lm.064", 0x020000, 0x010000, CRC(ee29d1d1) SHA1(2a7fea25728c66ce482de76299413ef5da01beef) )
696 ROM_LOAD( "110410lm.064", 0x030000, 0x010000, CRC(882649f8) SHA1(fbaea597b6e318234e41df245023643f448a4938) )
697
698 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
699 ROM_LOAD( "1121-15n.064", 0x000000, 0x010000, CRC(0ca1e3b3) SHA1(d934bc9a1def4404fb86175878404cbb18127a11) )
700 ROM_LOAD( "1122-16n.064", 0x010000, 0x010000, CRC(882f4e1c) SHA1(f7517ff03502ff029fb375260a35e45414567433) )
701 ROM_END
702
703
704 ROM_START( cyberbap )
705 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 4*64k for 68000 code */
706 ROM_LOAD16_BYTE( "0123-1m.064", 0x000000, 0x010000, CRC(59bac810) SHA1(d4742b2b554c2ad62a2ea7152db3f06a06cddd67) )
707 ROM_LOAD16_BYTE( "0124-1kl.064", 0x000001, 0x010000, CRC(e48e6dd3) SHA1(4d45bc66c0a3eb1174db7f19c5dee54dabad68f3) )
708
709 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
710 ROM_LOAD( "0131-2f.064", 0x010000, 0x004000, CRC(c72b71ce) SHA1(6d3d8f437cf55ccaaa4490daa69f402902944686) )
711 ROM_CONTINUE( 0x004000, 0x00c000 )
712
713 ROM_REGION( 0x40000, REGION_CPU3, 0 ) /* 4*64k for 68000 code */
714 ROM_LOAD16_BYTE( "0127-3cd.064", 0x000000, 0x010000, CRC(37ad3420) SHA1(e9c1ea59f5f9a133822a49027b4abf02af855ca2) )
715 ROM_LOAD16_BYTE( "0128-1b.064", 0x000001, 0x010000, CRC(d89aa8af) SHA1(b9faca1a775c1d699335a5ac0e1d25e8370c02a7) )
716 ROM_LOAD16_BYTE( "1129-1cd.064", 0x020000, 0x010000, CRC(db11d2f0) SHA1(da9f49af533cbc732b17699040c7930070a90644) )
717 ROM_LOAD16_BYTE( "1130-3b.064", 0x020001, 0x010000, CRC(fd86b8aa) SHA1(46310efed762632ed176a08aaec41e48aad41cc1) )
718
719 ROM_REGION16_BE( 0x40000, REGION_CPU4, 0 ) /* 256k for 68000 sound code */
720 ROM_LOAD16_BYTE( "0132-3cd.064", 0x000000, 0x010000, CRC(392a442c) SHA1(e108456167f433808b452edb3351d283b5cf7a50) )
721 ROM_LOAD16_BYTE( "0133-1b.064", 0x000001, 0x010000, CRC(a0a11cf9) SHA1(b28a379cb49d051b6ccff877255409e1231d3030) )
722 ROM_LOAD16_BYTE( "1134-1cd.064", 0x020000, 0x010000, CRC(bcbd4c00) SHA1(f0bfcdf0b5491e15872b543e99b834ae384cbf18) )
723 ROM_LOAD16_BYTE( "1135-3b.064", 0x020001, 0x010000, CRC(d520f560) SHA1(fb0b8d021458379188c424a343622c46ad74edaa) )
724
725 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
726 ROM_LOAD( "1105-15a.064", 0x000000, 0x010000, CRC(e770eb3e) SHA1(e9f9e9e05774005c8be3bbdc19985b59a0081ef4) )
727 ROM_LOAD( "1109-16a.064", 0x010000, 0x010000, CRC(40db00da) SHA1(d92d856b06f6ba11621ba7aab3d40653b3c70159) )
728 ROM_LOAD( "2113-18a.064", 0x020000, 0x010000, CRC(52bb08fb) SHA1(08caa156923daf444e0caafb2cdff0704c90ef1f) )
729 ROM_LOAD( "1117-19a.064", 0x030000, 0x010000, CRC(0a11d877) SHA1(876cbeffd815c084d7cbd937067d65c04aeebce5) )
730 ROM_LOAD( "1106-11a.064", 0x050000, 0x010000, CRC(6f53c7c1) SHA1(5856d714c3af338be58156b404fb1e5a89c24cf9) )
731 ROM_LOAD( "1110-12a.064", 0x060000, 0x010000, CRC(5de609e5) SHA1(bbea36a4cbbfeab113925951ef097673eddf26a8) )
732 ROM_LOAD( "2114-13a.064", 0x070000, 0x010000, CRC(e6f95010) SHA1(42b14cf0dadfab9ce1032385fd21339b46edcfc2) )
733 ROM_LOAD( "1118-14a.064", 0x080000, 0x010000, CRC(47f56ced) SHA1(62e80191e1879ffb6c736aec004bbc30a366363f) )
734 ROM_LOAD( "1107-15c.064", 0x0a0000, 0x010000, CRC(c8f1f7ff) SHA1(2e0374901871d66a243f87bc4b9cbdde5505f0ec) )
735 ROM_LOAD( "1111-16c.064", 0x0b0000, 0x010000, CRC(6bf0bf98) SHA1(7d2b3b61da3749b352a6bf3f1ae1cb736b5b8386) )
736 ROM_LOAD( "2115-18c.064", 0x0c0000, 0x010000, CRC(c3168603) SHA1(43e00fc739d1b3dd6d925bad63058fe74c1efc74) )
737 ROM_LOAD( "1119-19c.064", 0x0d0000, 0x010000, CRC(7ff29d09) SHA1(81458b058f0b037778f255b5afe94a44aba74829) )
738 ROM_LOAD( "1108-11c.064", 0x0f0000, 0x010000, CRC(99629412) SHA1(53a91b2a1ac62259ec9f78421b22c7b22f4233d6) )
739 ROM_LOAD( "1112-12c.064", 0x100000, 0x010000, CRC(aa198cb7) SHA1(aad4a60210289d2e5a93aac336ba995ed6ac4886) )
740 ROM_LOAD( "2116-13c.064", 0x110000, 0x010000, CRC(6cf79a67) SHA1(7f3271b575cf0b5033b5b19f0e71fae251040fc6) )
741 ROM_LOAD( "1120-14c.064", 0x120000, 0x010000, CRC(40bdf767) SHA1(c57aaea838abeaea1a0060c45c2f33c38a51edb3) )
742
743 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
744 ROM_LOAD( "1101-9lm.064", 0x000000, 0x010000, CRC(a64b4da8) SHA1(f68778adb56a1eb964acdbc7e9d690a8a83f170b) )
745 ROM_LOAD( "1102-8lm.064", 0x010000, 0x010000, CRC(ca91ec1b) SHA1(970c64e19893503cae796daee63b2d7d08eaf551) )
746 ROM_LOAD( "110311lm.064", 0x020000, 0x010000, CRC(ee29d1d1) SHA1(2a7fea25728c66ce482de76299413ef5da01beef) )
747 ROM_LOAD( "110410lm.064", 0x030000, 0x010000, CRC(882649f8) SHA1(fbaea597b6e318234e41df245023643f448a4938) )
748
749 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
750 ROM_LOAD( "1121-15n.064", 0x000000, 0x010000, CRC(0ca1e3b3) SHA1(d934bc9a1def4404fb86175878404cbb18127a11) )
751 ROM_LOAD( "1122-16n.064", 0x010000, 0x010000, CRC(882f4e1c) SHA1(f7517ff03502ff029fb375260a35e45414567433) )
752 ROM_END
753
754
755 ROM_START( cyberb2p )
756 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 8*64k for 68000 code */
757 ROM_LOAD16_BYTE( "4019-10c.071", 0x000000, 0x010000, CRC(20c6b09c) SHA1(b12f9247621fe0242171140256b7b92c996dcb19) )
758 ROM_LOAD16_BYTE( "4020-10d.071", 0x000001, 0x010000, CRC(eaa6c524) SHA1(0bc48dca1f10fbb3dec441d06f447637b6c70356) )
759 ROM_LOAD16_BYTE( "4021-21c.071", 0x020000, 0x010000, CRC(89ffa885) SHA1(d276209fd72c753d23571464e51d701a54cc3e0e) )
760 ROM_LOAD16_BYTE( "4022-21d.071", 0x020001, 0x010000, CRC(35da3402) SHA1(7b51e0fb202699457a3b8e2bd8a68fef0889435f) )
761 ROM_LOAD16_BYTE( "2023-15c.071", 0x040000, 0x010000, CRC(e541b08f) SHA1(345843209b02fb50cb08f55f80036046873b834f) )
762 ROM_LOAD16_BYTE( "2024-15d.071", 0x040001, 0x010000, CRC(5a77ee95) SHA1(441a45a358eb78cc140c96dc4c42b30e1929ad07) )
763 ROM_LOAD16_BYTE( "1025-27c.071", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
764 ROM_LOAD16_BYTE( "1026-27d.071", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
765
766 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
767 ROM_LOAD( "1042-1b.071", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
768 ROM_CONTINUE( 0x004000, 0x00c000 )
769
770 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
771 ROM_LOAD( "1001-55l.071", 0x000000, 0x020000, CRC(586ba107) SHA1(f15d4489f5834ea5fe695f43cb9d1c2401179870) )
772 ROM_LOAD( "1005-43l.071", 0x020000, 0x020000, CRC(a53e6248) SHA1(4f2466c6af74a5498468801b1de7adfc34873d5d) )
773 ROM_LOAD( "1032-18a.071", 0x040000, 0x010000, CRC(131f52a0) SHA1(fa50ea82d26c36dd6a135e22dee509676d1dfe86) )
774 ROM_LOAD( "1002-55n.071", 0x050000, 0x020000, CRC(0f71f86c) SHA1(783f33ba5cc1b2f0c42b8515b1cf8b6a2270acb9) )
775 ROM_LOAD( "1006-43n.071", 0x070000, 0x020000, CRC(df0ab373) SHA1(3d511236eb55a773c66643158c6ef2c4dce53b68) )
776 ROM_LOAD( "1033-13a.071", 0x090000, 0x010000, CRC(b6270943) SHA1(356e58dfd30c6db15264eceacef0eacda99aabae) )
777 ROM_LOAD( "1003-90l.071", 0x0a0000, 0x020000, CRC(1cf373a2) SHA1(c8538855bb82fc03e26c64fc9008fbd0c66fac09) )
778 ROM_LOAD( "1007-78l.071", 0x0c0000, 0x020000, CRC(f2ffab24) SHA1(6c5c90a9d9b342414a0d6258dd27b0b84bf0af0b) )
779 ROM_LOAD( "1034-18c.071", 0x0e0000, 0x010000, CRC(6514f0bd) SHA1(e887dfb9e0334a7d94e7124cea6101d9ac7f0ab6) )
780 ROM_LOAD( "1004-90n.071", 0x0f0000, 0x020000, CRC(537f6de3) SHA1(d5d385c3ff07aaef7bd3bd4f6c8066948a45ce9c) )
781 ROM_LOAD( "1008-78n.071", 0x110000, 0x020000, CRC(78525bbb) SHA1(98ece6c0672cb60f818b8005c76cc4ae1d24b104) )
782 ROM_LOAD( "1035-13c.071", 0x130000, 0x010000, CRC(1be3e5c8) SHA1(1a4d0e0d53b902c28977c8598e363c7b61c9c1c8) )
783
784 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
785 ROM_LOAD( "1013-10k.071", 0x000000, 0x010000, CRC(cdf6e3d6) SHA1(476644065b82e2ea553dfb51844c0bbf3313c481) )
786 ROM_LOAD( "1014-16f.071", 0x010000, 0x010000, CRC(ec2fef3e) SHA1(07ed472fa1723ebf82d608667df70511a50dca3e) )
787 ROM_LOAD( "1015-16k.071", 0x020000, 0x010000, CRC(e866848f) SHA1(35b438dcc1947151a7aafe919b9adf33d7a8fb77) )
788 ROM_LOAD( "1016-10f.071", 0x030000, 0x010000, CRC(9b9a393c) SHA1(db4ceb33756bab0ac7bea30e6c7345d06a0f4aa2) )
789
790 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
791 ROM_LOAD( "1017-32n.071", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
792 ROM_LOAD( "1018-32l.071", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
793
794 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* 256k for ADPCM samples */
795 ROM_LOAD( "1043-7k.071", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
796 ROM_LOAD( "1044-7j.071", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
797 ROM_LOAD( "1045-7e.071", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
798 ROM_LOAD( "1046-7d.071", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
799 ROM_END
800
801
802 ROM_START( cyberb23 )
803 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 8*64k for 68000 code */
804 ROM_LOAD16_BYTE( "3019-10c.071", 0x000000, 0x010000, CRC(029f8cb6) SHA1(528ab6357592313b41964102c14b90862c05f248) )
805 ROM_LOAD16_BYTE( "3020-10d.071", 0x000001, 0x010000, CRC(1871b344) SHA1(2b6f2f4760af0f0e1e0b6cb34017dcdca7635e60) )
806 ROM_LOAD16_BYTE( "3021-21c.071", 0x020000, 0x010000, CRC(fd7ebead) SHA1(4118c865897c7a9f73de200ea9766fe190547606) )
807 ROM_LOAD16_BYTE( "3022-21d.071", 0x020001, 0x010000, CRC(173ccad4) SHA1(4a8d2751b338dbb6dc556dfab13799561fee4836) )
808 ROM_LOAD16_BYTE( "2023-15c.071", 0x040000, 0x010000, CRC(e541b08f) SHA1(345843209b02fb50cb08f55f80036046873b834f) )
809 ROM_LOAD16_BYTE( "2024-15d.071", 0x040001, 0x010000, CRC(5a77ee95) SHA1(441a45a358eb78cc140c96dc4c42b30e1929ad07) )
810 ROM_LOAD16_BYTE( "1025-27c.071", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
811 ROM_LOAD16_BYTE( "1026-27d.071", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
812
813 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
814 ROM_LOAD( "1042-1b.071", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
815 ROM_CONTINUE( 0x004000, 0x00c000 )
816
817 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
818 ROM_LOAD( "1001-55l.071", 0x000000, 0x020000, CRC(586ba107) SHA1(f15d4489f5834ea5fe695f43cb9d1c2401179870) )
819 ROM_LOAD( "1005-43l.071", 0x020000, 0x020000, CRC(a53e6248) SHA1(4f2466c6af74a5498468801b1de7adfc34873d5d) )
820 ROM_LOAD( "1032-18a.071", 0x040000, 0x010000, CRC(131f52a0) SHA1(fa50ea82d26c36dd6a135e22dee509676d1dfe86) )
821 ROM_LOAD( "1002-55n.071", 0x050000, 0x020000, CRC(0f71f86c) SHA1(783f33ba5cc1b2f0c42b8515b1cf8b6a2270acb9) )
822 ROM_LOAD( "1006-43n.071", 0x070000, 0x020000, CRC(df0ab373) SHA1(3d511236eb55a773c66643158c6ef2c4dce53b68) )
823 ROM_LOAD( "1033-13a.071", 0x090000, 0x010000, CRC(b6270943) SHA1(356e58dfd30c6db15264eceacef0eacda99aabae) )
824 ROM_LOAD( "1003-90l.071", 0x0a0000, 0x020000, CRC(1cf373a2) SHA1(c8538855bb82fc03e26c64fc9008fbd0c66fac09) )
825 ROM_LOAD( "1007-78l.071", 0x0c0000, 0x020000, CRC(f2ffab24) SHA1(6c5c90a9d9b342414a0d6258dd27b0b84bf0af0b) )
826 ROM_LOAD( "1034-18c.071", 0x0e0000, 0x010000, CRC(6514f0bd) SHA1(e887dfb9e0334a7d94e7124cea6101d9ac7f0ab6) )
827 ROM_LOAD( "1004-90n.071", 0x0f0000, 0x020000, CRC(537f6de3) SHA1(d5d385c3ff07aaef7bd3bd4f6c8066948a45ce9c) )
828 ROM_LOAD( "1008-78n.071", 0x110000, 0x020000, CRC(78525bbb) SHA1(98ece6c0672cb60f818b8005c76cc4ae1d24b104) )
829 ROM_LOAD( "1035-13c.071", 0x130000, 0x010000, CRC(1be3e5c8) SHA1(1a4d0e0d53b902c28977c8598e363c7b61c9c1c8) )
830
831 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
832 ROM_LOAD( "1013-10k.071", 0x000000, 0x010000, CRC(cdf6e3d6) SHA1(476644065b82e2ea553dfb51844c0bbf3313c481) )
833 ROM_LOAD( "1014-16f.071", 0x010000, 0x010000, CRC(ec2fef3e) SHA1(07ed472fa1723ebf82d608667df70511a50dca3e) )
834 ROM_LOAD( "1015-16k.071", 0x020000, 0x010000, CRC(e866848f) SHA1(35b438dcc1947151a7aafe919b9adf33d7a8fb77) )
835 ROM_LOAD( "1016-10f.071", 0x030000, 0x010000, CRC(9b9a393c) SHA1(db4ceb33756bab0ac7bea30e6c7345d06a0f4aa2) )
836
837 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
838 ROM_LOAD( "1017-32n.071", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
839 ROM_LOAD( "1018-32l.071", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
840
841 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* 256k for ADPCM samples */
842 ROM_LOAD( "1043-7k.071", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
843 ROM_LOAD( "1044-7j.071", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
844 ROM_LOAD( "1045-7e.071", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
845 ROM_LOAD( "1046-7d.071", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
846 ROM_END
847
848
849 ROM_START( cyberb22 )
850 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 8*64k for 68000 code */
851 ROM_LOAD16_BYTE( "2019-10c.071", 0x000000, 0x010000, CRC(acb1e18b) SHA1(37a80f0c8d8b46ebb9660c7f038fc874d4817e93) )
852 ROM_LOAD16_BYTE( "2020-10d.071", 0x000001, 0x010000, CRC(fd6ec2fd) SHA1(8b871e5e66acd26b8301ac35e3f42fba5b9fce2c) )
853 ROM_LOAD16_BYTE( "1021-21c.071", 0x020000, 0x010000, CRC(9b6cecc3) SHA1(14291302ca6a35fc4c24d9f7d6a4ef7c88a95e5a) )
854 ROM_LOAD16_BYTE( "1022-21d.071", 0x020001, 0x010000, CRC(24949cfa) SHA1(283c1e2baf6774ebb7f4674b112bdb703fed5aa5) )
855 ROM_LOAD16_BYTE( "2023-15c.071", 0x040000, 0x010000, CRC(e541b08f) SHA1(345843209b02fb50cb08f55f80036046873b834f) )
856 ROM_LOAD16_BYTE( "2024-15d.071", 0x040001, 0x010000, CRC(5a77ee95) SHA1(441a45a358eb78cc140c96dc4c42b30e1929ad07) )
857 ROM_LOAD16_BYTE( "1025-27c.071", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
858 ROM_LOAD16_BYTE( "1026-27d.071", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
859
860 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
861 ROM_LOAD( "1042-1b.071", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
862 ROM_CONTINUE( 0x004000, 0x00c000 )
863
864 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
865 ROM_LOAD( "1001-55l.071", 0x000000, 0x020000, CRC(586ba107) SHA1(f15d4489f5834ea5fe695f43cb9d1c2401179870) )
866 ROM_LOAD( "1005-43l.071", 0x020000, 0x020000, CRC(a53e6248) SHA1(4f2466c6af74a5498468801b1de7adfc34873d5d) )
867 ROM_LOAD( "1032-18a.071", 0x040000, 0x010000, CRC(131f52a0) SHA1(fa50ea82d26c36dd6a135e22dee509676d1dfe86) )
868 ROM_LOAD( "1002-55n.071", 0x050000, 0x020000, CRC(0f71f86c) SHA1(783f33ba5cc1b2f0c42b8515b1cf8b6a2270acb9) )
869 ROM_LOAD( "1006-43n.071", 0x070000, 0x020000, CRC(df0ab373) SHA1(3d511236eb55a773c66643158c6ef2c4dce53b68) )
870 ROM_LOAD( "1033-13a.071", 0x090000, 0x010000, CRC(b6270943) SHA1(356e58dfd30c6db15264eceacef0eacda99aabae) )
871 ROM_LOAD( "1003-90l.071", 0x0a0000, 0x020000, CRC(1cf373a2) SHA1(c8538855bb82fc03e26c64fc9008fbd0c66fac09) )
872 ROM_LOAD( "1007-78l.071", 0x0c0000, 0x020000, CRC(f2ffab24) SHA1(6c5c90a9d9b342414a0d6258dd27b0b84bf0af0b) )
873 ROM_LOAD( "1034-18c.071", 0x0e0000, 0x010000, CRC(6514f0bd) SHA1(e887dfb9e0334a7d94e7124cea6101d9ac7f0ab6) )
874 ROM_LOAD( "1004-90n.071", 0x0f0000, 0x020000, CRC(537f6de3) SHA1(d5d385c3ff07aaef7bd3bd4f6c8066948a45ce9c) )
875 ROM_LOAD( "1008-78n.071", 0x110000, 0x020000, CRC(78525bbb) SHA1(98ece6c0672cb60f818b8005c76cc4ae1d24b104) )
876 ROM_LOAD( "1035-13c.071", 0x130000, 0x010000, CRC(1be3e5c8) SHA1(1a4d0e0d53b902c28977c8598e363c7b61c9c1c8) )
877
878 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
879 ROM_LOAD( "1013-10k.071", 0x000000, 0x010000, CRC(cdf6e3d6) SHA1(476644065b82e2ea553dfb51844c0bbf3313c481) )
880 ROM_LOAD( "1014-16f.071", 0x010000, 0x010000, CRC(ec2fef3e) SHA1(07ed472fa1723ebf82d608667df70511a50dca3e) )
881 ROM_LOAD( "1015-16k.071", 0x020000, 0x010000, CRC(e866848f) SHA1(35b438dcc1947151a7aafe919b9adf33d7a8fb77) )
882 ROM_LOAD( "1016-10f.071", 0x030000, 0x010000, CRC(9b9a393c) SHA1(db4ceb33756bab0ac7bea30e6c7345d06a0f4aa2) )
883
884 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
885 ROM_LOAD( "1017-32n.071", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
886 ROM_LOAD( "1018-32l.071", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
887
888 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* 256k for ADPCM samples */
889 ROM_LOAD( "1043-7k.071", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
890 ROM_LOAD( "1044-7j.071", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
891 ROM_LOAD( "1045-7e.071", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
892 ROM_LOAD( "1046-7d.071", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
893 ROM_END
894
895
896 ROM_START( cyberb21 )
897 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 8*64k for 68000 code */
898 ROM_LOAD16_BYTE( "1019-10c.071", 0x000000, 0x010000, CRC(37f5f8ba) SHA1(80552b41d7d1c3044ccd1cbfbac6051447915d41) )
899 ROM_LOAD16_BYTE( "1020-10d.071", 0x000001, 0x010000, CRC(cae4faa2) SHA1(e3282416b1d0dccd52dd8763a02647470dd37114) )
900 ROM_LOAD16_BYTE( "1021-21c.071", 0x020000, 0x010000, CRC(9b6cecc3) SHA1(14291302ca6a35fc4c24d9f7d6a4ef7c88a95e5a) )
901 ROM_LOAD16_BYTE( "1022-21d.071", 0x020001, 0x010000, CRC(24949cfa) SHA1(283c1e2baf6774ebb7f4674b112bdb703fed5aa5) )
902 ROM_LOAD16_BYTE( "1023-15c.071", 0x040000, 0x010000, CRC(4043649d) SHA1(7fab7f8cc41fb923368db2f9b14e59ae12aa58e1) )
903 ROM_LOAD16_BYTE( "1024-15d.071", 0x040001, 0x010000, CRC(ed052dd6) SHA1(3755ca476865f7218dc1c837433cfd6068a61797) )
904 ROM_LOAD16_BYTE( "1025-27c.071", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
905 ROM_LOAD16_BYTE( "1026-27d.071", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
906
907 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
908 ROM_LOAD( "1042-1b.071", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
909 ROM_CONTINUE( 0x004000, 0x00c000 )
910
911 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
912 ROM_LOAD( "1001-55l.071", 0x000000, 0x020000, CRC(586ba107) SHA1(f15d4489f5834ea5fe695f43cb9d1c2401179870) )
913 ROM_LOAD( "1005-43l.071", 0x020000, 0x020000, CRC(a53e6248) SHA1(4f2466c6af74a5498468801b1de7adfc34873d5d) )
914 ROM_LOAD( "1032-18a.071", 0x040000, 0x010000, CRC(131f52a0) SHA1(fa50ea82d26c36dd6a135e22dee509676d1dfe86) )
915 ROM_LOAD( "1002-55n.071", 0x050000, 0x020000, CRC(0f71f86c) SHA1(783f33ba5cc1b2f0c42b8515b1cf8b6a2270acb9) )
916 ROM_LOAD( "1006-43n.071", 0x070000, 0x020000, CRC(df0ab373) SHA1(3d511236eb55a773c66643158c6ef2c4dce53b68) )
917 ROM_LOAD( "1033-13a.071", 0x090000, 0x010000, CRC(b6270943) SHA1(356e58dfd30c6db15264eceacef0eacda99aabae) )
918 ROM_LOAD( "1003-90l.071", 0x0a0000, 0x020000, CRC(1cf373a2) SHA1(c8538855bb82fc03e26c64fc9008fbd0c66fac09) )
919 ROM_LOAD( "1007-78l.071", 0x0c0000, 0x020000, CRC(f2ffab24) SHA1(6c5c90a9d9b342414a0d6258dd27b0b84bf0af0b) )
920 ROM_LOAD( "1034-18c.071", 0x0e0000, 0x010000, CRC(6514f0bd) SHA1(e887dfb9e0334a7d94e7124cea6101d9ac7f0ab6) )
921 ROM_LOAD( "1004-90n.071", 0x0f0000, 0x020000, CRC(537f6de3) SHA1(d5d385c3ff07aaef7bd3bd4f6c8066948a45ce9c) )
922 ROM_LOAD( "1008-78n.071", 0x110000, 0x020000, CRC(78525bbb) SHA1(98ece6c0672cb60f818b8005c76cc4ae1d24b104) )
923 ROM_LOAD( "1035-13c.071", 0x130000, 0x010000, CRC(1be3e5c8) SHA1(1a4d0e0d53b902c28977c8598e363c7b61c9c1c8) )
924
925 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
926 ROM_LOAD( "1013-10k.071", 0x000000, 0x010000, CRC(cdf6e3d6) SHA1(476644065b82e2ea553dfb51844c0bbf3313c481) )
927 ROM_LOAD( "1014-16f.071", 0x010000, 0x010000, CRC(ec2fef3e) SHA1(07ed472fa1723ebf82d608667df70511a50dca3e) )
928 ROM_LOAD( "1015-16k.071", 0x020000, 0x010000, CRC(e866848f) SHA1(35b438dcc1947151a7aafe919b9adf33d7a8fb77) )
929 ROM_LOAD( "1016-10f.071", 0x030000, 0x010000, CRC(9b9a393c) SHA1(db4ceb33756bab0ac7bea30e6c7345d06a0f4aa2) )
930
931 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
932 ROM_LOAD( "1017-32n.071", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
933 ROM_LOAD( "1018-32l.071", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
934
935 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* 256k for ADPCM samples */
936 ROM_LOAD( "1043-7k.071", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
937 ROM_LOAD( "1044-7j.071", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
938 ROM_LOAD( "1045-7e.071", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
939 ROM_LOAD( "1046-7d.071", 0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
940 ROM_END
941
942
943 ROM_START( cyberbt )
944 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 4*64k for 68000 code */
945 ROM_LOAD16_BYTE( "2007-1m.073", 0x000000, 0x010000, CRC(adfa9e23) SHA1(5462030fa275ce7b261b7283e92df9f7f1383251) )
946 ROM_LOAD16_BYTE( "2008-1kl.073", 0x000001, 0x010000, CRC(c9191452) SHA1(583c1f916fbd54dbc188be7a181ccd60c7320cc8) )
947 ROM_LOAD16_BYTE( "2009-3m.073", 0x020000, 0x010000, CRC(88bfc6dd) SHA1(ac2a67c8b4dbae62497236d624d333992195c218) )
948 ROM_LOAD16_BYTE( "2010-3kl.073", 0x020001, 0x010000, CRC(3a121f29) SHA1(ebd088187abb863f2a632812811479dca7e31802) )
949
950 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
951 ROM_LOAD( "1029-2f.073", 0x010000, 0x004000, CRC(afee87e1) SHA1(da5e91167c68eecd2cb4436ac64cda14e5f6eae7) )
952 ROM_CONTINUE( 0x004000, 0x00c000 )
953
954 ROM_REGION( 0x40000, REGION_CPU3, 0 )
955 ROM_LOAD16_BYTE( "2011-3cd.073", 0x000000, 0x010000, CRC(bb5c5926) SHA1(6f7424418559841053d0c874ac8bb72c793d0d62) )
956 ROM_LOAD16_BYTE( "2012-1b.073", 0x000001, 0x010000, CRC(a045f5f3) SHA1(c74f62ee0b3640caea818dca2deede83cd39e76a) )
957 ROM_LOAD16_BYTE( "1013-1cd.073", 0x020000, 0x010000, CRC(11d287c9) SHA1(a25095ab29a7103f2bf02d656414d9dab0b79215) )
958 ROM_LOAD16_BYTE( "1014-3b.073", 0x020001, 0x010000, CRC(be15db42) SHA1(f3b1a676106e9956f62d3f36fbb1f849695ff771) )
959
960 ROM_REGION16_BE( 0x40000, REGION_CPU4, 0 ) /* 256k for 68000 sound code */
961 ROM_LOAD16_BYTE( "1132-3cd.064", 0x000000, 0x010000, CRC(ca5ce8d8) SHA1(69dc83d43d8c9dc7ce3207e70f48fcfc5ddda0cc) )
962 ROM_LOAD16_BYTE( "1133-1b.064", 0x000001, 0x010000, CRC(ffeb8746) SHA1(0d8d28b2d997ff3cf01b4ef25b75fa5a69754af4) )
963 ROM_LOAD16_BYTE( "1134-1cd.064", 0x020000, 0x010000, CRC(bcbd4c00) SHA1(f0bfcdf0b5491e15872b543e99b834ae384cbf18) )
964 ROM_LOAD16_BYTE( "1135-3b.064", 0x020001, 0x010000, CRC(d520f560) SHA1(fb0b8d021458379188c424a343622c46ad74edaa) )
965
966 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
967 ROM_LOAD( "1001-55l.071", 0x000000, 0x020000, CRC(586ba107) SHA1(f15d4489f5834ea5fe695f43cb9d1c2401179870) )
968 ROM_LOAD( "1005-43l.071", 0x020000, 0x020000, CRC(a53e6248) SHA1(4f2466c6af74a5498468801b1de7adfc34873d5d) )
969 ROM_LOAD( "1032-18a.071", 0x040000, 0x010000, CRC(131f52a0) SHA1(fa50ea82d26c36dd6a135e22dee509676d1dfe86) )
970 ROM_LOAD( "1002-55n.071", 0x050000, 0x020000, CRC(0f71f86c) SHA1(783f33ba5cc1b2f0c42b8515b1cf8b6a2270acb9) )
971 ROM_LOAD( "1006-43n.071", 0x070000, 0x020000, CRC(df0ab373) SHA1(3d511236eb55a773c66643158c6ef2c4dce53b68) )
972 ROM_LOAD( "1033-13a.071", 0x090000, 0x010000, CRC(b6270943) SHA1(356e58dfd30c6db15264eceacef0eacda99aabae) )
973 ROM_LOAD( "1003-90l.071", 0x0a0000, 0x020000, CRC(1cf373a2) SHA1(c8538855bb82fc03e26c64fc9008fbd0c66fac09) )
974 ROM_LOAD( "1007-78l.071", 0x0c0000, 0x020000, CRC(f2ffab24) SHA1(6c5c90a9d9b342414a0d6258dd27b0b84bf0af0b) )
975 ROM_LOAD( "1034-18c.071", 0x0e0000, 0x010000, CRC(6514f0bd) SHA1(e887dfb9e0334a7d94e7124cea6101d9ac7f0ab6) )
976 ROM_LOAD( "1004-90n.071", 0x0f0000, 0x020000, CRC(537f6de3) SHA1(d5d385c3ff07aaef7bd3bd4f6c8066948a45ce9c) )
977 ROM_LOAD( "1008-78n.071", 0x110000, 0x020000, CRC(78525bbb) SHA1(98ece6c0672cb60f818b8005c76cc4ae1d24b104) )
978 ROM_LOAD( "1035-13c.071", 0x130000, 0x010000, CRC(1be3e5c8) SHA1(1a4d0e0d53b902c28977c8598e363c7b61c9c1c8) )
979
980 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
981 ROM_LOAD( "1001-9lm.073", 0x000000, 0x010000, CRC(dbbad153) SHA1(1004292e320037fc1d5e5e8e7b6a068b1305e872) )
982 ROM_LOAD( "1002-8lm.073", 0x010000, 0x010000, CRC(76e0d008) SHA1(2af4e48a229d23d85272d3c3203d977d81143a7f) )
983 ROM_LOAD( "100311lm.073", 0x020000, 0x010000, CRC(ddca9ca2) SHA1(19cb170fe6aeed6c67b68376b5bde07f7f115fb0) )
984 ROM_LOAD( "100410lm.073", 0x030000, 0x010000, CRC(aa495b6f) SHA1(c7d8e16d3084143928f25f66ee4d037ff7c43bcb) )
985
986 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
987 ROM_LOAD( "1005-15n.073", 0x000000, 0x010000, CRC(833b4768) SHA1(754f00089d439fb0aa1f650c1fef73cf7e5f33a1) )
988 ROM_LOAD( "1006-16n.073", 0x010000, 0x010000, CRC(4976cffd) SHA1(4cac8d9bd30743da6e6e4f013e6101ebc27060b6) )
989 ROM_END
990
991
992 ROM_START( cyberbt1 )
993 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 4*64k for 68000 code */
994 ROM_LOAD16_BYTE( "1007-1m.073", 0x000000, 0x010000, CRC(d434b2d7) SHA1(af6d51399ad4fca01ffbc7afa2bf73d7ee2f89b6) )
995 ROM_LOAD16_BYTE( "1008-1kl.073", 0x000001, 0x010000, CRC(7d6c4163) SHA1(f1fe9d758f30bd0ebc990d8604ba32cc0d780683) )
996 ROM_LOAD16_BYTE( "1009-3m.073", 0x020000, 0x010000, CRC(3933e089) SHA1(4bd453bddabeafd07d193a1bc8ac0792e7aa99c3) )
997 ROM_LOAD16_BYTE( "1010-3kl.073", 0x020001, 0x010000, CRC(e7a7cae8) SHA1(91e0c6a1b0c138a0e6a599011518fe10df44e76e) )
998
999 ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k for 6502 code */
1000 ROM_LOAD( "1029-2f.073", 0x010000, 0x004000, CRC(afee87e1) SHA1(da5e91167c68eecd2cb4436ac64cda14e5f6eae7) )
1001 ROM_CONTINUE( 0x004000, 0x00c000 )
1002
1003 ROM_REGION( 0x40000, REGION_CPU3, 0 )
1004 ROM_LOAD16_BYTE( "1011-3cd.073", 0x000000, 0x010000, CRC(22d3e09c) SHA1(18298951659badef39f839341c4d66958fcc86aa) )
1005 ROM_LOAD16_BYTE( "1012-1b.073", 0x000001, 0x010000, CRC(a8eeed8c) SHA1(965765e5762ec09573243983db491a9fc85b37ef) )
1006 ROM_LOAD16_BYTE( "1013-1cd.073", 0x020000, 0x010000, CRC(11d287c9) SHA1(a25095ab29a7103f2bf02d656414d9dab0b79215) )
1007 ROM_LOAD16_BYTE( "1014-3b.073", 0x020001, 0x010000, CRC(be15db42) SHA1(f3b1a676106e9956f62d3f36fbb1f849695ff771) )
1008
1009 ROM_REGION16_BE( 0x40000, REGION_CPU4, 0 ) /* 256k for 68000 sound code */
1010 ROM_LOAD16_BYTE( "1132-3cd.064", 0x000000, 0x010000, CRC(ca5ce8d8) SHA1(69dc83d43d8c9dc7ce3207e70f48fcfc5ddda0cc) )
1011 ROM_LOAD16_BYTE( "1133-1b.064", 0x000001, 0x010000, CRC(ffeb8746) SHA1(0d8d28b2d997ff3cf01b4ef25b75fa5a69754af4) )
1012 ROM_LOAD16_BYTE( "1134-1cd.064", 0x020000, 0x010000, CRC(bcbd4c00) SHA1(f0bfcdf0b5491e15872b543e99b834ae384cbf18) )
1013 ROM_LOAD16_BYTE( "1135-3b.064", 0x020001, 0x010000, CRC(d520f560) SHA1(fb0b8d021458379188c424a343622c46ad74edaa) )
1014
1015 ROM_REGION( 0x140000, REGION_GFX1, ROMREGION_DISPOSE )
1016 ROM_LOAD( "1001-55l.071", 0x000000, 0x020000, CRC(586ba107) SHA1(f15d4489f5834ea5fe695f43cb9d1c2401179870) )
1017 ROM_LOAD( "1005-43l.071", 0x020000, 0x020000, CRC(a53e6248) SHA1(4f2466c6af74a5498468801b1de7adfc34873d5d) )
1018 ROM_LOAD( "1032-18a.071", 0x040000, 0x010000, CRC(131f52a0) SHA1(fa50ea82d26c36dd6a135e22dee509676d1dfe86) )
1019 ROM_LOAD( "1002-55n.071", 0x050000, 0x020000, CRC(0f71f86c) SHA1(783f33ba5cc1b2f0c42b8515b1cf8b6a2270acb9) )
1020 ROM_LOAD( "1006-43n.071", 0x070000, 0x020000, CRC(df0ab373) SHA1(3d511236eb55a773c66643158c6ef2c4dce53b68) )
1021 ROM_LOAD( "1033-13a.071", 0x090000, 0x010000, CRC(b6270943) SHA1(356e58dfd30c6db15264eceacef0eacda99aabae) )
1022 ROM_LOAD( "1003-90l.071", 0x0a0000, 0x020000, CRC(1cf373a2) SHA1(c8538855bb82fc03e26c64fc9008fbd0c66fac09) )
1023 ROM_LOAD( "1007-78l.071", 0x0c0000, 0x020000, CRC(f2ffab24) SHA1(6c5c90a9d9b342414a0d6258dd27b0b84bf0af0b) )
1024 ROM_LOAD( "1034-18c.071", 0x0e0000, 0x010000, CRC(6514f0bd) SHA1(e887dfb9e0334a7d94e7124cea6101d9ac7f0ab6) )
1025 ROM_LOAD( "1004-90n.071", 0x0f0000, 0x020000, CRC(537f6de3) SHA1(d5d385c3ff07aaef7bd3bd4f6c8066948a45ce9c) )
1026 ROM_LOAD( "1008-78n.071", 0x110000, 0x020000, CRC(78525bbb) SHA1(98ece6c0672cb60f818b8005c76cc4ae1d24b104) )
1027 ROM_LOAD( "1035-13c.071", 0x130000, 0x010000, CRC(1be3e5c8) SHA1(1a4d0e0d53b902c28977c8598e363c7b61c9c1c8) )
1028
1029 ROM_REGION( 0x040000, REGION_GFX2, ROMREGION_DISPOSE )
1030 ROM_LOAD( "1001-9lm.073", 0x000000, 0x010000, CRC(dbbad153) SHA1(1004292e320037fc1d5e5e8e7b6a068b1305e872) )
1031 ROM_LOAD( "1002-8lm.073", 0x010000, 0x010000, CRC(76e0d008) SHA1(2af4e48a229d23d85272d3c3203d977d81143a7f) )
1032 ROM_LOAD( "100311lm.073", 0x020000, 0x010000, CRC(ddca9ca2) SHA1(19cb170fe6aeed6c67b68376b5bde07f7f115fb0) )
1033 ROM_LOAD( "100410lm.073", 0x030000, 0x010000, CRC(aa495b6f) SHA1(c7d8e16d3084143928f25f66ee4d037ff7c43bcb) )
1034
1035 ROM_REGION( 0x020000, REGION_GFX3, ROMREGION_DISPOSE )
1036 ROM_LOAD( "1005-15n.073", 0x000000, 0x010000, CRC(833b4768) SHA1(754f00089d439fb0aa1f650c1fef73cf7e5f33a1) )
1037 ROM_LOAD( "1006-16n.073", 0x010000, 0x010000, CRC(4976cffd) SHA1(4cac8d9bd30743da6e6e4f013e6101ebc27060b6) )
1038 ROM_END
1039
1040
1041
1042 /*************************************
1043 *
1044 * Machine initialization
1045 *
1046 *************************************/
1047
1048 static const data16_t default_eeprom[] =
1049 {
1050 0x0001,0x01FF,0x0F00,0x011A,0x014A,0x0100,0x01A1,0x0200,
1051 0x010E,0x01AF,0x0300,0x01FF,0x0114,0x0144,0x01FF,0x0F00,
1052 0x011A,0x014A,0x0100,0x01A1,0x0200,0x010E,0x01AF,0x0300,
1053 0x01FF,0x0114,0x0144,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,
1054 0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,
1055 0x0E00,0x01A8,0x0131,0x010B,0x0100,0x014C,0x0A00,0x01FF,
1056 0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0xB5FF,0x0E00,0x01FF,
1057 0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,
1058 0x0E00,0x01FF,0x0E00,0x0000
1059 };
1060
1061
DRIVER_INIT(cyberbal)1062 static DRIVER_INIT( cyberbal )
1063 {
1064 atarigen_eeprom_default = default_eeprom;
1065 atarigen_slapstic_init(0, 0x018000, 0);
1066
1067 /* make sure the banks are pointing to the correct location */
1068 cpu_setbank(1, atarigen_playfield2);
1069 cpu_setbank(3, atarigen_playfield);
1070 }
1071
1072
DRIVER_INIT(cyberbt)1073 static DRIVER_INIT( cyberbt )
1074 {
1075 atarigen_eeprom_default = default_eeprom;
1076 atarigen_slapstic_init(0, 0x018000, 116);
1077
1078 /* make sure the banks are pointing to the correct location */
1079 cpu_setbank(1, atarigen_playfield2);
1080 cpu_setbank(3, atarigen_playfield);
1081 }
1082
1083
DRIVER_INIT(cyberb2p)1084 static DRIVER_INIT( cyberb2p )
1085 {
1086 atarigen_eeprom_default = default_eeprom;
1087 atarijsa_init(1, 3, 2, 0x8000);
1088 }
1089
1090
1091
1092 /*************************************
1093 *
1094 * Game driver(s)
1095 *
1096 *************************************/
1097
1098 GAME( 1988, cyberbal, 0, cyberbal, cyberbal, cyberbal, ROT0, "Atari Games", "Cyberball (rev 4)" )
1099 GAME( 1988, cyberba2, cyberbal, cyberbal, cyberbal, cyberbal, ROT0, "Atari Games", "Cyberball (rev 2)" )
1100 GAME( 1988, cyberbap, cyberbal, cyberbal, cyberbal, cyberbal, ROT0, "Atari Games", "Cyberball (prototype)" )
1101
1102 GAME( 1989, cyberb2p, cyberbal, cyberb2p, cyberb2p, cyberb2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 4)" )
1103 GAME( 1989, cyberb23, cyberbal, cyberb2p, cyberb2p, cyberb2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 3)" )
1104 GAME( 1989, cyberb22, cyberbal, cyberb2p, cyberb2p, cyberb2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 2)" )
1105 GAME( 1989, cyberb21, cyberbal, cyberb2p, cyberb2p, cyberb2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 1)" )
1106
1107 GAME( 1989, cyberbt, cyberbal, cyberbal, cyberbal, cyberbt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)" )
1108 GAME( 1989, cyberbt1, cyberbal, cyberbal, cyberbal, cyberbt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 1)" )
1109
1110