1 #include "../vidhrdw/taito_f2.c"
2 /***************************************************************************
3
4 Taito F2 System
5
6 driver by David Graves, Bryan McPhail, Brad Oliver, Andrew Prime, Brian
7 Troha, Nicola Salmoria with some initial help from Richard Bush
8
9 The Taito F2 system is a fairly flexible hardware platform. The main board
10 supports three 64x64 tiled scrolling background planes of 8x8 tiles, and a
11 powerful sprite engine capable of handling all the video chores by itself
12 (used in e.g. Super Space Invaders). The front tilemap has characters which
13 are generated in RAM for maximum versatility (fading effects etc.).
14 The expansion board can have additional gfx chip e.g. for a zooming/rotating
15 tilemap, or additional tilemap planes.
16
17 Sound is handled by a Z80 with a YM2610 connected to it.
18
19 The memory map for each of the games is similar but not identical.
20
21 Notes:
22 - Metal Black has secret command to select stage.
23 Start the machine with holding service switch.
24 Then push 1p start, 1p start, 1p start, service SW, 1p start
25 while error message is displayed.
26
27
28 Custom chips
29 ------------
30 The old version of the F2 main board (larger) has
31 TC0100SCN (tilemaps)
32 TC0200OBJ+TC0210FBC (sprites)
33 TC0140SYT (sound communication & other stuff)
34
35 The new version has
36 TC0100SCN (tilemaps)
37 TC0540OBN+TC0520TBC (sprites)
38 TC0530SYC (sound communication & other stuff)
39
40 I/O Priority / Palette Additional gfx Other
41 --------- ------------------- ----------------------- ----------------------------
42 finalb TC0220IOC TC0110PCR TC0070RGB
43 dondokod TC0220IOC TC0360PRI TC0260DAR TC0280GRD(x2)(zoom/rot)
44 megab TC0220IOC TC0360PRI TC0260DAR TC0030CMD(C-Chip protection)
45 thundfox TC0220IOC TC0360PRI TC0260DAR TC0100SCN (so it has two)
46 cameltry TC0220IOC TC0360PRI TC0260DAR TC0280GRD(x2)(zoom/rot)
47 qtorimon TC0220IOC TC0110PCR TC0070RGB
48 liquidk TC0220IOC TC0360PRI TC0260DAR
49 quizhq TMP82C265 TC0110PCR TC0070RGB
50 ssi TC0510NIO TC0260DAR
51 gunfront TC0510NIO TC0360PRI TC0260DAR
52 growl TMP82C265 TC0360PRI TC0260DAR TC0190FMC(4 players input?sprite banking?)
53 mjnquest TC0110PCR TC0070RGB
54 footchmp TE7750 TC0360PRI TC0260DAR TC0480SCP(tilemaps) TC0190FMC(4 players input?sprite banking?)
55 koshien TC0510NIO TC0360PRI TC0260DAR
56 yuyugogo TC0510NIO TC0260DAR
57 ninjak TE7750 TC0360PRI TC0260DAR TC0190FMC(4 players input?sprite banking?)
58 solfigtr ? TC0360PRI TC0260DAR ?
59 qzquest TC0510NIO TC0260DAR
60 pulirula TC0510NIO TC0360PRI TC0260DAR TC0430GRW(zoom/rot)
61 metalb TC0510NIO TC0360PRI TC0260DAR TC0480SCP(tilemaps)
62 qzchikyu TC0510NIO TC0260DAR
63 yesnoj TMP82C265 TC0260DAR TC8521AP(RTC?)
64 deadconx TC0360PRI TC0260DAR TC0480SCP(tilemaps) TC0190FMC(4 players input?sprite banking?)
65 dinorex TC0510NIO TC0360PRI TC0260DAR
66 qjinsei TC0510NIO TC0360PRI TC0260DAR
67 qcrayon TC0510NIO TC0360PRI TC0260DAR
68 qcrayon2 TC0510NIO TC0360PRI TC0260DAR
69 driftout TC0510NIO TC0360PRI TC0260DAR TC0430GRW(zoom/rot)
70
71
72
73 F2 Game List
74 ------------
75 . Final Blow (1)
76 . Don Doko Don (2)
77 . Mega Blast http://www.taito.co.jp/game-history/80b/megabla.html (3)
78 . Quiz Torimonochou http://www.taito.co.jp/game-history/90a/qui_tori.html (4)
79 . Quiz HQ http://www.taito.co.jp/game-history/90a/quiz_hq.html
80 . Thunder Fox http://www.taito.co.jp/game-history/90a/thu_fox.html
81 . Liquid Kids http://www.taito.co.jp/game-history/90a/miz_bak.html (7)
82 . SSI / Majestic 12 http://www.taito.co.jp/game-history/90a/mj12.html (8)
83 . Gun Frontier http://www.taito.co.jp/game-history/90a/gunfro.html (9)
84 . Growl / Runark http://www.taito.co.jp/game-history/90a/runark.html (10)
85 . Hat Trick Hero http://www.taito.co.jp/game-history/90a/hthero.html (11)
86 . Mahjong Quest http://www.taito.co.jp/game-history/90a/mahque.html (12)
87 . Yuu-yu no Quiz de Go!Go! http://www.taito.co.jp/game-history/90a/youyu.html (13)
88 . Ah Eikou no Koshien http://www.taito.co.jp/game-history/90a/koshien.html (14)
89 . Ninja Kids http://www.taito.co.jp/game-history/90a/ninjakids.html (15)
90 . Quiz Quest http://www.taito.co.jp/game-history/90a/q_quest.html
91 . Metal Black http://www.taito.co.jp/game-history/90a/metabla.html
92 . Quiz Chikyu Boueigun http://www.taito.co.jp/game-history/90a/qui_tik.html
93 . Dinorex http://www.taito.co.jp/game-history/90a/dinorex.html
94 . Pulirula
95 . Dead Connection http://www.taito.co.jp/game-history/90a/deadconn.html
96 . Quiz Jinsei Gekijou http://www.taito.co.jp/game-history/90a/qui_jin.html
97 . Quiz Crayon Shinchan http://www.taito.co.jp/game-history/90a/qcrashin.html
98 . Crayon Shinchan Orato Asobo
99
100
101 This list is translated version of
102 http://www.aianet.or.jp/~eisetu/rom/rom_tait.html
103 This page also contains info for other Taito boards.
104
105 F2 Motherboard ( Big ) K1100432A, J1100183A
106 (Small) K1100608A, J1100242A
107
108 Apr.1989 Final Blow (B82, M4300123A, K1100433A)
109 Jul.1989 Don Doko Don (B95, M4300131A, K1100454A, J1100195A)
110 Oct.1989 Mega Blast (C11)
111 Feb.1990 Quiz Torimonochou (C41, K1100554A)
112 Apr.1990 Cameltry (C38, M4300167A, K1100556A)
113 Jul.1990 Quiz H.Q. (C53, K1100594A)
114 Aug.1990 Thunder Fox (C28, M4300181A, K1100580A) (exists in F1 version too)
115 Sep.1990 Liquid Kids/Mizubaku Daibouken (C49, K1100593A)
116 Nov.1990 MJ-12/Super Space Invaders (C64, M4300195A, K1100616A, J1100248A)
117 Jan.1991 Gun Frontier (C71, M4300199A, K1100625A, K1100629A(overseas))
118 Feb.1991 Growl/Runark (C74, M4300210A, K1100639A)
119 Mar.1991 Hat Trick Hero/Euro Football Championship (C80, K11J0646A)
120 Mar.1991 Yuu-yu no Quiz de Go!Go! (C83, K11J0652A)
121 Apr.1991 Ah Eikou no Koshien (C81, M43J0214A, K11J654A)
122 Apr.1991 Ninja Kids (C85, M43J0217A, K11J0659A)
123 May.1991 Mahjong Quest (C77, K1100637A, K1100637B)
124 Jul.1991 Quiz Quest (C92, K11J0678A)
125 Sep.1991 Metal Black (D12)
126 Oct.1991 Drift Out (Visco) (M43X0241A, K11X0695A)
127 Nov.1991 PuLiRuLa (C98, M43J0225A, K11J0672A)
128 Feb.1992 Quiz Chikyu Boueigun (D19, K11J0705A)
129 Jul.1992 Dead Connection (D28, K11J0715A)
130 Nov.1992 Dinorex (D39, K11J0254A)
131 Mar.1993 Quiz Jinsei Gekijou (D48, M43J0262A, K11J0742A)
132 Aug.1993 Quiz Crayon Shinchan (D55, K11J0758A)
133 Dec.1993 Crayon Shinchan Orato Asobo (D63, M43J0276A, K11J0779A)
134
135 Mar.1992 Yes.No. Shinri Tokimeki Chart (Fortune teller machine) (D20, K11J0706B)
136
137 Thunder Fox, Drift Out, "Quiz Crayon Shinchan", and "Crayon Shinchan
138 Orato Asobo" has "Not F2" version PCB.
139 Foreign version of Cameltry uses different hardware (B89's PLD,
140 K1100573A, K1100574A).
141
142
143
144
145 Sprite extension area types
146 ===========================
147
148 These games need a special value for f2_spriteext:
149
150 Yuyugogo = 1
151 Pulirula = 2
152 Dinorex = 3
153 Quiz Crayon 1&2 = 3
154 Quiz Jinsei = 3
155 (all other games need it to be zero)
156
157 TODO Lists
158 ==========
159
160 - The sprite system is still partly a mystery, and not an accurate emulation.
161 A lot of sprite glitches are caused by data in sprite ram not being correct,
162 part from one frame and part from the previous one. There has to be some
163 buffering inside the chip but it's not clear how. See below the irq section
164 for a long list of observations on sprite glitches.
165
166 - TC0480SCP emulation (footchmp, metalb, deadconx) has incorrect zoom.
167
168 - Some DIPS are wrong [many in the Japanese quiz games].
169
170 - Macros for common input port definitions.
171
172
173 Dondokod
174 --------
175
176 Roz layer is one pixel out vertically when screen flipped.
177
178
179 Pulirula
180 --------
181
182 In level 3, the mask sprites used for the door are misaligned by one pixel to
183 the left.
184
185
186 Cameltru
187 --------
188
189 Missing text layer; instead of using the normal TC0100SCN text layer,
190 the program writes char data to 811000-811fff and tilemap to 812000-813fff.
191 The tilemap is 128x32 instead of the usual 64x64.
192
193
194 Driftout
195 --------
196
197 Sprites don't stay flipped in screenflip (watch attract).
198
199
200 Driveout
201 --------
202
203 No sound, I think it uses different hardware.
204
205
206 Gun Frontier
207 ------------
208
209 There are mask sprites used on the waterfall in the first round
210 of attract demo, however it's not clear what they should mask since
211 there don't seem to be sprites below them. Shadow maybe?
212
213
214 Metal Black
215 -----------
216
217 Tilemap screenflip support has a possible issue; the blue planet in early
218 attract should be 1 pixel left.
219
220
221 Yesnoj
222 ------
223
224 Input mapping incomplete (there's a 0x02 one which only seems to be
225 used in what is probably test mode).
226
227 The end summary is black on black on half of the screen. Is there a
228 bg color selector somewhere?
229
230 Test mode (?) sounds some alarm and shows a few japanese chars (black
231 on black again).
232
233 The timer stays at 00:00. Missing RTC emulation?
234
235 Only first section of scr rom decodes properly at 1bpp: rest looked
236 plausible at 4bpp (but pixel order not the standard layout). Could
237 the rest be data for the 68000??
238
239
240 Quiz Crayon 2
241 -------------
242
243 There should be a highlight circle around the player while it moves on the
244 map. This is done by a sprite which doesn't have priority over the
245 background. This is probably the same thing as the waterfall in Gun Frontier.
246
247
248 ***************************************************************************/
249
250 #include "driver.h"
251 #include "cpu/m68000/m68000.h"
252 #include "vidhrdw/generic.h"
253 #include "vidhrdw/taitoic.h"
254
255
256
257
258 extern unsigned char *f2_sprite_extension;
259 extern size_t f2_spriteext_size;
260
261 int mjnquest_input;
262 int yesnoj_dsw = 0;
263
264 int taitof2_default_vh_start (void);
265 int taitof2_finalb_vh_start (void);
266 int taitof2_3p_vh_start (void);
267 int taitof2_3p_buf_vh_start (void);
268 int taitof2_driftout_vh_start (void);
269 int taitof2_c_vh_start (void);
270 int taitof2_ssi_vh_start (void);
271 int taitof2_growl_vh_start (void);
272 int taitof2_gunfront_vh_start (void);
273 int taitof2_ninjak_vh_start (void);
274 int taitof2_dondokod_vh_start (void);
275 int taitof2_pulirula_vh_start (void);
276 int taitof2_thundfox_vh_start (void);
277 int taitof2_yuyugogo_vh_start (void);
278 int taitof2_dinorex_vh_start (void);
279 int taitof2_mjnquest_vh_start (void);
280 int taitof2_footchmp_vh_start (void);
281 int taitof2_hthero_vh_start (void);
282 int taitof2_deadconx_vh_start (void);
283 int taitof2_deadconj_vh_start (void);
284 int taitof2_metalb_vh_start (void);
285 int taitof2_yesnoj_vh_start (void);
286 void taitof2_vh_stop (void);
287 void taitof2_no_buffer_eof_callback(void);
288 void taitof2_partial_buffer_delayed_eof_callback(void);
289 void taitof2_partial_buffer_delayed_thundfox_eof_callback(void);
290
291 void taitof2_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
292 void taitof2_pri_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
293 void taitof2_pri_roz_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
294 void ssi_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
295 void thundfox_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
296 void deadconx_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
297 void metalb_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
298 void yesnoj_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
299
300 READ_HANDLER( taitof2_spriteram_r );
301 WRITE_HANDLER( taitof2_spriteram_w );
302 WRITE_HANDLER( taitof2_spritebank_w );
303 READ_HANDLER( koshien_spritebank_r );
304 WRITE_HANDLER( koshien_spritebank_w );
305 WRITE_HANDLER( taitof2_sprite_extension_w );
306 WRITE_HANDLER( taitof2_scrbank_w );
307 //WRITE_HANDLER( taitof2_unknown_reg_w );
308
309 WRITE_HANDLER( rastan_sound_port_w );
310 WRITE_HANDLER( rastan_sound_comm_w );
311 READ_HANDLER( rastan_sound_comm_r );
312 READ_HANDLER( rastan_a001_r );
313 WRITE_HANDLER( rastan_a000_w );
314 WRITE_HANDLER( rastan_a001_w );
315
316 extern unsigned char *cchip_ram;
317 READ_HANDLER( cchip2_r );
318 WRITE_HANDLER( cchip2_w );
319
320
321
WRITE_HANDLER(TC0360PRI_halfword_w)322 static WRITE_HANDLER( TC0360PRI_halfword_w )
323 {
324 if ((data & 0x00ff0000) == 0)
325 {
326 TC0360PRI_w(offset >> 1,data & 0xff);
327 }
328 }
329
WRITE_HANDLER(TC0360PRI_halfword_swap_w)330 static WRITE_HANDLER( TC0360PRI_halfword_swap_w )
331 {
332 if ((data & 0xff000000) == 0)
333 {
334 TC0360PRI_w(offset >> 1,(data >> 8) & 0xff);
335 }
336 }
337
338 /**********************************************************
339 GAME INPUTS
340 **********************************************************/
341
READ_HANDLER(TC0220IOC_halfword_r)342 static READ_HANDLER( TC0220IOC_halfword_r )
343 {
344 return TC0220IOC_r(offset >> 1);
345 }
346
WRITE_HANDLER(TC0220IOC_halfword_w)347 static WRITE_HANDLER( TC0220IOC_halfword_w )
348 {
349 if ((data & 0x00ff0000) == 0)
350 TC0220IOC_w(offset >> 1,data & 0xff);
351 else
352 {
353 /* qtorimon writes here the coin counters - bug? */
354 TC0220IOC_w(offset >> 1,(data >> 8) & 0xff);
355 }
356 }
357
READ_HANDLER(TC0510NIO_halfword_r)358 static READ_HANDLER( TC0510NIO_halfword_r )
359 {
360 return TC0510NIO_r(offset >> 1);
361 }
362
WRITE_HANDLER(TC0510NIO_halfword_w)363 static WRITE_HANDLER( TC0510NIO_halfword_w )
364 {
365 if ((data & 0x00ff0000) == 0)
366 TC0510NIO_w(offset >> 1,data & 0xff);
367 else
368 {
369 /* driftout writes here the coin counters - bug? */
370 TC0510NIO_w(offset >> 1,(data >> 8) & 0xff);
371 }
372 }
373
READ_HANDLER(TC0510NIO_halfword_wordswap_r)374 static READ_HANDLER( TC0510NIO_halfword_wordswap_r )
375 {
376 return TC0510NIO_halfword_r(offset ^ 2);
377 }
378
WRITE_HANDLER(TC0510NIO_halfword_wordswap_w)379 static WRITE_HANDLER( TC0510NIO_halfword_wordswap_w )
380 {
381 TC0510NIO_halfword_w(offset ^ 2,data);
382 }
383
READ_HANDLER(growl_dsw_r)384 static READ_HANDLER( growl_dsw_r )
385 {
386 switch (offset)
387 {
388 case 0x00:
389 return readinputport(3); /* DSW A */
390
391 case 0x02:
392 return readinputport(4); /* DSW B */
393 }
394
395 return 0xff;
396 }
397
READ_HANDLER(growl_input_r)398 static READ_HANDLER( growl_input_r )
399 {
400 switch (offset)
401 {
402 case 0x00:
403 return readinputport(0); /* IN0 */
404
405 case 0x02:
406 return readinputport(1); /* IN1 */
407
408 case 0x04:
409 return readinputport(2); /* IN2 */
410
411 }
412
413 return 0xff;
414 }
415
READ_HANDLER(footchmp_input_r)416 static READ_HANDLER( footchmp_input_r )
417 {
418 switch (offset)
419 {
420 case 0x00:
421 return readinputport(3); /* DSW A */
422
423 case 0x02:
424 return readinputport(4); /* DSW B */
425
426 case 0x04:
427 return readinputport(2); /* IN2 */
428
429 case 0x0a:
430 return readinputport(0); /* IN0 */
431
432 case 0x0c:
433 return readinputport(1); /* IN1 */
434
435 case 0x0e:
436 return readinputport(5); /* IN3 */
437
438 case 0x10:
439 return readinputport(6); /* IN4 */
440 }
441
442 return 0xff;
443 }
444
READ_HANDLER(ninjak_input_r)445 static READ_HANDLER( ninjak_input_r )
446 {
447 switch (offset)
448 {
449 case 0x00:
450 return (readinputport(3) << 8); /* DSW A */
451
452 case 0x02:
453 return (readinputport(4) << 8); /* DSW B */
454
455 case 0x04:
456 return (readinputport(0) << 8); /* IN 0 */
457
458 case 0x06:
459 return (readinputport(1) << 8); /* IN 1 */
460
461 case 0x08:
462 return (readinputport(5) << 8); /* IN 3 */
463
464 case 0x0a:
465 return (readinputport(6) << 8); /* IN 4 */
466
467 case 0x0c:
468 return (readinputport(2) << 8); /* IN 2 */
469
470 }
471
472 return 0xff;
473 }
474
READ_HANDLER(cameltry_paddle_r)475 static READ_HANDLER( cameltry_paddle_r )
476 {
477 static int last[2];
478 int curr,res = 0xff;
479
480 switch (offset)
481 {
482 case 0x00:
483 curr = readinputport(5); /* Paddle A */
484 res = curr - last[0];
485 last[0] = curr;
486 break;
487
488 case 0x04:
489 curr = readinputport(6); /* Paddle B */
490 res = curr - last[1];
491 last[1] = curr;
492 break;
493 }
494
495 return res;
496 }
497
READ_HANDLER(driftout_paddle_r)498 static READ_HANDLER( driftout_paddle_r )
499 {
500 switch (offset)
501 {
502 case 0x00:
503 return readinputport(5); /* Paddle A */
504
505 case 0x02:
506 return readinputport(6); /* Paddle B */
507 }
508
509 return 0xff;
510 }
511
READ_HANDLER(deadconx_input_r)512 static READ_HANDLER( deadconx_input_r )
513 {
514 switch (offset)
515 {
516 case 0x00:
517 return readinputport(3); /* DSW A */
518
519 case 0x02:
520 return readinputport(4); /* DSW B */
521
522 case 0x04:
523 return readinputport(2); /* IN2 */
524
525 case 0x0a:
526 return readinputport(0); /* IN0 */
527
528 case 0x0c:
529 return readinputport(1); /* IN1 */
530
531 case 0x0e:
532 return readinputport(5); /* IN3 */
533
534 case 0x10:
535 return readinputport(6); /* IN4 */
536 }
537
538 return 0xff;
539 }
540
READ_HANDLER(mjnquest_dsw_r)541 static READ_HANDLER( mjnquest_dsw_r )
542 {
543 switch (offset)
544 {
545 case 0x00:
546 {
547 return (readinputport(5) << 8) + readinputport(7); /* DSW A */
548 }
549
550 case 0x02:
551 {
552 return (readinputport(6) << 8) + readinputport(8); /* DSW B */
553 }
554 }
555
556 return 0xff;
557 }
558
READ_HANDLER(mjnquest_input_r)559 static READ_HANDLER( mjnquest_input_r )
560 {
561 switch (mjnquest_input)
562 {
563 case 0x01:
564 return readinputport(0); /* IN0 */
565
566 case 0x02:
567 return readinputport(1); /* IN1 */
568
569 case 0x04:
570 return readinputport(2); /* IN2 */
571
572 case 0x08:
573 return readinputport(3); /* IN3 */
574
575 case 0x10:
576 return readinputport(4); /* IN4 */
577
578 }
579
580 return 0xff;
581 }
582
WRITE_HANDLER(mjnquest_inputselect_w)583 static WRITE_HANDLER( mjnquest_inputselect_w )
584 {
585 mjnquest_input = (data >> 6);
586 }
587
READ_HANDLER(quizhq_input1_r)588 static READ_HANDLER( quizhq_input1_r )
589 {
590 switch (offset)
591 {
592 case 0x00:
593 return readinputport(4); /* DSW B */
594
595 case 0x02:
596 return readinputport(0); /* IN0 */
597 }
598
599 return 0xff;
600 }
601
READ_HANDLER(quizhq_input2_r)602 static READ_HANDLER( quizhq_input2_r )
603 {
604 switch (offset)
605 {
606 case 0x00:
607 return readinputport(3); /* DSW A */
608
609 case 0x02:
610 return readinputport(1); /* IN1 */
611
612 case 0x04:
613 return readinputport(2); /* IN2 */
614 }
615
616 return 0xff;
617 }
618
READ_HANDLER(yesnoj_input_r)619 static READ_HANDLER( yesnoj_input_r )
620 {
621 switch (offset)
622 {
623 case 0x00:
624 return readinputport(0); /* IN0 */
625
626 // case 0x02 only used if "service" "DSW" bit is clear...
627
628 case 0x04:
629 return readinputport(1); /* IN1 */
630 }
631
632 return 0x0;
633 }
634
READ_HANDLER(yesnoj_dsw_r)635 static READ_HANDLER( yesnoj_dsw_r )
636 {
637 yesnoj_dsw = 1 - yesnoj_dsw; /* game reads same word twice to get DSW A then B so we toggle */
638
639 if (yesnoj_dsw)
640 {
641 return readinputport(2);
642 }
643 else
644 {
645 return readinputport(3);
646 }
647 }
648
649 /******************************************************************
650 INTERRUPTS (still a WIP)
651
652 The are two interrupt request signals: VBL and DMA. DMA comes
653 from the sprite generator (maybe when it has copied the data to
654 a private buffer, or rendered the current frame, or who knows what
655 else).
656 The requests are mapped through a PAL so no hardwiring, but the PAL
657 could be the same across all the games. All the games have just two
658 valid vectors, IRQ5 and IRQ6.
659
660 It seems that usually VBL maps to IRQ5 and DMA to IRQ6. However
661 there are jumpers on the board allowing to swap the two interrupt
662 request signals, so this could explain a need for certain games to
663 have them in the opposite order.
664
665 There are lots of sprite glitches in many games because the sprite ram
666 is often updated in two out-of-sync chunks. I am almost sure there is
667 some partial buffering going on in the sprite chip, and DMA has to
668 play a part in it.
669
670
671 sprite ctrl regs interrupts & sprites
672 0006 000a 8006 800a
673 ---------------------- -----------------------------------------------
674 finalb 8000 0300 0000 0000 Needs partial buffering like dondokod to avoid glitches
675 dondokod 8000 0000/8 0000 0000 IRQ6 just sets a flag. IRQ5 waits for that flag,
676 toggles ctrl register 0000<->0008, and copies bytes
677 0 and 8 *ONLY* of sprite data (code, color, flip,
678 ctrl). The other bytes of sprite data (coordinates
679 and zoom) are updated by the main program.
680 Caching sprite data and using bytes 0 and 8 from
681 previous frame and the others from *TWO* frames
682 before is enough to get glitch-free sprites that seem
683 to be perfectly in sync with scrolling (check the tree
684 mouths during level change).
685 thundfox 8000 0000 0000 0000 IRQ6 copies bytes 0 and 8 *ONLY* of sprite data (code,
686 color, flip, ctrl). The other bytes of sprite data
687 (coordinates and zoom) are updated (I think) by the
688 main program.
689 The same sprite data caching that works for dondokod
690 improves sprites, but there are still glitches related
691 to zoom (check third round of attract mode). Those
692 glitches can be fixed by buffering also the zoom ctrl
693 byte.
694 Moreover, sprites are not in perfect sync with the
695 background (sometimes they are one frame behind, but
696 not always).
697 qtorimon 8000 0000 0000 0000 IRQ6 does some stuff but doesn't seem to deal with
698 sprites. IRQ5 copies bytes 0, 8 *AND ALSO 2* of sprite
699 data in one routine, and immediately after that the
700 remaining bytes 4 and 6 in another routine, without
701 doing, it seems, any waiting inbetween.
702 Nevertheless, separated sprite data caching like in
703 dondokod is still required to avoid glitches.
704 liquidk 8000 0000/8 0000 0000 Same as dondokod. An important difference is that
705 the sprite ctrl register doesn't toggle every frame
706 (because the handler can't complete the frame in
707 time?). This can be seen easily in the attract mode,
708 where sprite glitches appear.
709 Correctly handling the ctrl register and sprite data
710 caching seems to be vital to avoid sprite glitches.
711 quizhq 8000 0000 0000 0000 Both IRQ5 and IRQ6 do stuff, I haven't investigated.
712 There is a very subtle sprite glitch if sprite data
713 buffering is not used: the blinking INSERT COIN in
714 the right window will get moved as garbage chars on
715 the left window score and STOCK for one frame when
716 INSERT COINS disappears from the right. This happens
717 because bytes 0 and 8 of the sprite data are one
718 frame behind and haven't been cleared yet.
719 ssi 8000 0000 0000 0000 IRQ6 does nothing. IRQ5 copies bytes 0 and 8 *ONLY*
720 of sprite data (code, color, flip, ctrl). The other
721 bytes of sprite data (coordinates and zoom) are
722 updated by the main program.
723 The same sprite data caching that works for dondokod
724 avoids major glitches, but I'm not sure it's working
725 right when the big butterfly (time bonus) is on
726 screen (it flickers on and off every frame).
727 gunfront 8000 1000/1 8001 1000/1 The toggling bit in the control register selects the
728 sprite bank used. It normally toggles every frame but
729 sticks for two frame when lots of action is going on
730 (see smart bombs in attract mode) and glitches will
731 appear if it is not respected.
732 IRQ6 writes the sprite ctrl registers, and also writes
733 related data to the sprites at 9033e0/90b3e0. The
734 active one gets 8000/8001 in byte 6 and 1001/1000 in
735 byte 10, while the other gets 0. Note that the value
736 in byte 10 is inverted from the active bank, as if it
737 were a way to tell the sprite hardware "after this, go
738 to the other bank".
739 Note also that IRQ6 isn't the only one writing to the
740 sprite ctrl registers, this is done also in the parts
741 that actually change the sprite data (I think it's
742 main program, not interrupt), so it's not clear who's
743 "in charge". Actually it seems that what IRQ6 writes
744 is soon overwritten so that what I outlined above
745 regarding 9033e0/90b3e0 is no longer true, and they
746 are no longer in sync with the ctrl registers, messing
747 up smart bombs.
748 There don't seem to be other glitches even without
749 sprite data buffering.
750 growl 8000 0000 8001 0001 IRQ6 just sets a flag. I haven't investigated who
751 updates the sprite ram.
752 This game uses sprite banks like gunfront, but unlike
753 gunfront it doesn't change the ctrl registers. What it
754 does is change the sprites at 903210/90b210; 8000/8001
755 is always written in byte 6, while byte 10 receives
756 the active bank (1000 or 1001). There are also end of
757 list markers placed before that though, and those seem
758 to always match what's stored in the ctrl registers
759 (8000 1000 for the first bank and 8001 1001 for the
760 second).
761 There don't seem to be sprite glitches even without
762 sprite data buffering, but sprites are not in sync with
763 the background.
764 mjnquest 8000 0800/8 0000 0000
765 footchmp 8000 0000 8001 0001 IRQ6 just sets a flag (and writes to an unknown memory
766 location).
767 This games uses sprite banks as well, this time it
768 writes markers at 2033e0/20b3e0, it always writes
769 1000/1001 to byte 10, while it writes 8000 or 8001 to
770 byte 6 depending on the active bank. This is the exact
771 opposite of growl...
772 hthero
773 koshien 8000 0000 8001 0001 Another game using banks.The markers are again at
774 9033e0/90b3e0 but this time byte 6 receives 9000/9001.
775 Byte 10 is 1000 or 1001 depending on the active bank.
776 yuyugogo 8000 0800/8 0000 0000
777 ninjak 8000 0000 8001 0001 uses banks
778 solfigtr 8000 0000 8001 0001 uses banks
779 qzquest 8000 0000 0000 0000 Separated sprite data caching like in dondokod is
780 required to avoid glitches.
781 pulirula 8000 0000 8001 0001 uses banks
782 qzchikyu 8000 0000 0000 0000 With this game there are glitches and the sprite data
783 caching done in dondokod does NOT fix them.
784 deadconx 8/9000 0000/1 8/9001 0000/1 I guess it's not a surprise that this game uses banks
785 in yet another different way.
786 dinorex 8000 0000 8001 0001 uses banks
787 driftout 8000 0000/8 0000 0000 The first control changes from 8000 to 0000 at the end
788 of the attract demo and seems to stay that way.
789
790
791 ******************************************************************/
792
taitof2_interrupt6(int x)793 void taitof2_interrupt6(int x)
794 {
795 cpu_cause_interrupt(0,MC68000_IRQ_6);
796 }
797
taitof2_interrupt(void)798 static int taitof2_interrupt(void)
799 {
800 timer_set(TIME_IN_CYCLES(500,0),0, taitof2_interrupt6);
801 return MC68000_IRQ_5;
802 }
803
804
805 /*****************************************
806 SOUND
807 *****************************************/
808
WRITE_HANDLER(bankswitch_w)809 static WRITE_HANDLER( bankswitch_w )
810 {
811 unsigned char *RAM = memory_region(REGION_CPU2);
812 int banknum = (data - 1) & 7;
813
814 cpu_setbank (2, &RAM [0x10000 + (banknum * 0x4000)]);
815 }
816
WRITE_HANDLER(taitof2_sound_w)817 WRITE_HANDLER( taitof2_sound_w )
818 {
819 if (offset == 0)
820 rastan_sound_port_w (0, data & 0xff);
821 else if (offset == 2)
822 rastan_sound_comm_w (0, data & 0xff);
823 }
824
READ_HANDLER(taitof2_sound_r)825 READ_HANDLER( taitof2_sound_r )
826 {
827 if (offset == 2)
828 return ((rastan_sound_comm_r (0) & 0xff));
829 else return 0;
830 }
831
WRITE_HANDLER(taitof2_msb_sound_w)832 WRITE_HANDLER( taitof2_msb_sound_w )
833 {
834 if (offset == 0)
835 rastan_sound_port_w (0,(data >> 8) & 0xff);
836 else if (offset == 2)
837 rastan_sound_comm_w (0,(data >> 8) & 0xff);
838 }
839
READ_HANDLER(taitof2_msb_sound_r)840 READ_HANDLER( taitof2_msb_sound_r )
841 {
842 if (offset == 2)
843 return ((rastan_sound_comm_r (0) & 0xff) << 8);
844 else return 0;
845 }
846
847
848
849 /***********************************************************
850 MEMORY STRUCTURES
851 ***********************************************************/
852
853 static struct MemoryReadAddress finalb_readmem[] =
854 {
855 { 0x000000, 0x03ffff, MRA_ROM },
856 { 0x100000, 0x10ffff, MRA_BANK1 },
857 { 0x200000, 0x200007, TC0110PCR_word_r }, /* palette */
858 { 0x300000, 0x30000f, TC0220IOC_halfword_r }, /* I/O */
859 { 0x320000, 0x320003, taitof2_sound_r },
860 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
861 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
862 { 0x900000, 0x90ffff, taitof2_spriteram_r },
863 { -1 } /* end of table */
864 };
865
866 static struct MemoryWriteAddress finalb_writemem[] =
867 {
868 { 0x000000, 0x03ffff, MWA_ROM },
869 { 0x100000, 0x10ffff, MWA_BANK1 },
870 { 0x200000, 0x200007, TC0110PCR_word_w }, /* palette */
871 { 0x300000, 0x30000f, TC0220IOC_halfword_w }, /* I/O */
872 { 0x320000, 0x320003, taitof2_sound_w },
873 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
874 { 0x810000, 0x81ffff, MWA_NOP }, /* error in game init code ? */
875 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
876 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
877 { 0xb00002, 0xb00003, MWA_NOP }, /* ?? */
878 { -1 } /* end of table */
879 };
880
881 static struct MemoryReadAddress dondokod_readmem[] =
882 {
883 { 0x000000, 0x07ffff, MRA_ROM },
884 { 0x100000, 0x10ffff, MRA_BANK1 },
885 { 0x200000, 0x201fff, paletteram_word_r },
886 { 0x300000, 0x30000f, TC0220IOC_halfword_r }, /* I/O */
887 { 0x320000, 0x320003, taitof2_msb_sound_r },
888 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
889 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
890 { 0x900000, 0x90ffff, taitof2_spriteram_r },
891 { 0xa00000, 0xa01fff, TC0280GRD_word_r },
892 { -1 } /* end of table */
893 };
894
895 static struct MemoryWriteAddress dondokod_writemem[] =
896 {
897 { 0x000000, 0x07ffff, MWA_ROM },
898 { 0x100000, 0x10ffff, MWA_BANK1 },
899 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
900 { 0x300000, 0x30000f, TC0220IOC_halfword_w }, /* I/O */
901 { 0x320000, 0x320003, taitof2_msb_sound_w },
902 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
903 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
904 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
905 { 0xa00000, 0xa01fff, TC0280GRD_word_w }, /* ROZ tilemap */
906 { 0xa02000, 0xa0200f, TC0280GRD_ctrl_word_w },
907 { 0xb00000, 0xb0001f, TC0360PRI_halfword_w }, /* ?? */
908 { -1 } /* end of table */
909 };
910
911 static struct MemoryReadAddress megab_readmem[] =
912 {
913 { 0x000000, 0x07ffff, MRA_ROM },
914 { 0x100000, 0x100003, taitof2_msb_sound_r },
915 { 0x120000, 0x12000f, TC0220IOC_halfword_r }, /* I/O */
916 { 0x180000, 0x180fff, cchip2_r },
917 { 0x200000, 0x20ffff, MRA_BANK1 },
918 { 0x300000, 0x301fff, paletteram_word_r },
919 { 0x600000, 0x60ffff, TC0100SCN_word_0_r }, /* tilemaps */
920 { 0x610000, 0x61ffff, MRA_BANK8 }, /* unused? */
921 { 0x620000, 0x62000f, TC0100SCN_ctrl_word_0_r },
922 { 0x800000, 0x80ffff, taitof2_spriteram_r },
923 { -1 } /* end of table */
924 };
925
926 static struct MemoryWriteAddress megab_writemem[] =
927 {
928 { 0x000000, 0x07ffff, MWA_ROM },
929 { 0x200000, 0x20ffff, MWA_BANK1 },
930 { 0x300000, 0x301fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
931 { 0x100000, 0x100003, taitof2_msb_sound_w },
932 { 0x120000, 0x12000f, TC0220IOC_halfword_w }, /* I/O */
933 { 0x180000, 0x180fff, cchip2_w, &cchip_ram },
934 { 0x400000, 0x40001f, TC0360PRI_halfword_w }, /* ?? */
935 { 0x600000, 0x60ffff, TC0100SCN_word_0_w }, /* tilemaps */
936 { 0x610000, 0x61ffff, MWA_BANK8 }, /* unused? */
937 { 0x620000, 0x62000f, TC0100SCN_ctrl_word_0_w },
938 { 0x800000, 0x80ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
939 { -1 } /* end of table */
940 };
941
942 static struct MemoryReadAddress thundfox_readmem[] =
943 {
944 { 0x000000, 0x07ffff, MRA_ROM },
945 { 0x100000, 0x101fff, paletteram_word_r },
946 { 0x200000, 0x20000f, TC0220IOC_halfword_r }, /* I/O */
947 { 0x220000, 0x220003, taitof2_msb_sound_r },
948 { 0x300000, 0x30ffff, MRA_BANK1 },
949 { 0x400000, 0x40ffff, TC0100SCN_word_0_r }, /* tilemaps */
950 { 0x420000, 0x42000f, TC0100SCN_ctrl_word_0_r },
951 { 0x500000, 0x50ffff, TC0100SCN_word_1_r }, /* tilemaps */
952 { 0x520000, 0x52000f, TC0100SCN_ctrl_word_1_r },
953 { 0x600000, 0x60ffff, taitof2_spriteram_r },
954 { -1 } /* end of table */
955 };
956
957 static struct MemoryWriteAddress thundfox_writemem[] =
958 {
959 { 0x000000, 0x07ffff, MWA_ROM },
960 { 0x100000, 0x101fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
961 { 0x200000, 0x20000f, TC0220IOC_halfword_w }, /* I/O */
962 { 0x220000, 0x220003, taitof2_msb_sound_w },
963 { 0x300000, 0x30ffff, MWA_BANK1 },
964 { 0x400000, 0x40ffff, TC0100SCN_word_0_w }, /* tilemaps */
965 { 0x420000, 0x42000f, TC0100SCN_ctrl_word_0_w },
966 { 0x500000, 0x50ffff, TC0100SCN_word_1_w }, /* tilemaps */
967 { 0x520000, 0x52000f, TC0100SCN_ctrl_word_1_w },
968 { 0x600000, 0x60ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
969 { 0x800000, 0x80001f, TC0360PRI_halfword_swap_w },
970 { -1 } /* end of table */
971 };
972
973 static struct MemoryReadAddress cameltry_readmem[] =
974 {
975 { 0x000000, 0x03ffff, MRA_ROM },
976 { 0x100000, 0x10ffff, MRA_BANK1 },
977 { 0x200000, 0x201fff, paletteram_word_r },
978 { 0x300000, 0x30000f, TC0220IOC_halfword_r }, /* I/O */
979 { 0x300018, 0x30001f, cameltry_paddle_r },
980 { 0x320000, 0x320003, taitof2_msb_sound_r },
981 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
982 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
983 { 0x900000, 0x90ffff, taitof2_spriteram_r },
984 { 0xa00000, 0xa01fff, TC0280GRD_word_r },
985 { -1 } /* end of table */
986 };
987
988 static struct MemoryWriteAddress cameltry_writemem[] =
989 {
990 { 0x000000, 0x03ffff, MWA_ROM },
991 { 0x100000, 0x10ffff, MWA_BANK1 },
992 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
993 { 0x300000, 0x30000f, TC0220IOC_halfword_w }, /* I/O */
994 { 0x320000, 0x320003, taitof2_msb_sound_w },
995 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
996 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
997 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
998 { 0xa00000, 0xa01fff, TC0280GRD_word_w }, /* ROZ tilemap */
999 { 0xa02000, 0xa0200f, TC0280GRD_ctrl_word_w },
1000 { 0xd00000, 0xd0001f, TC0360PRI_halfword_w }, /* ?? */
1001 { -1 } /* end of table */
1002 };
1003
1004 static struct MemoryReadAddress qtorimon_readmem[] =
1005 {
1006 { 0x000000, 0x07ffff, MRA_ROM },
1007 { 0x100000, 0x10ffff, MRA_BANK1 },
1008 { 0x200000, 0x200007, TC0110PCR_word_r }, /* palette */
1009 { 0x500000, 0x50000f, TC0220IOC_halfword_r }, /* I/O */
1010 { 0x600000, 0x600003, taitof2_msb_sound_r },
1011 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1012 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1013 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1014 { -1 } /* end of table */
1015 };
1016
1017 static struct MemoryWriteAddress qtorimon_writemem[] =
1018 {
1019 { 0x000000, 0x03ffff, MWA_ROM },
1020 { 0x100000, 0x10ffff, MWA_BANK1 },
1021 { 0x200000, 0x200007, TC0110PCR_word_w }, /* palette */
1022 { 0x500000, 0x50000f, TC0220IOC_halfword_w }, /* I/O */
1023 { 0x600000, 0x600003, taitof2_msb_sound_w },
1024 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1025 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1026 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1027 { 0x910000, 0x9120ff, MWA_NOP }, /* error in init code ? */
1028 { -1 } /* end of table */
1029 };
1030
1031 static struct MemoryReadAddress liquidk_readmem[] =
1032 {
1033 { 0x000000, 0x07ffff, MRA_ROM },
1034 { 0x100000, 0x10ffff, MRA_BANK1 },
1035 { 0x200000, 0x201fff, paletteram_word_r },
1036 { 0x300000, 0x30000f, TC0220IOC_halfword_r }, /* I/O */
1037 { 0x320000, 0x320003, taitof2_sound_r },
1038 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1039 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1040 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1041 { -1 } /* end of table */
1042 };
1043
1044 static struct MemoryWriteAddress liquidk_writemem[] =
1045 {
1046 { 0x000000, 0x07ffff, MWA_ROM },
1047 { 0x100000, 0x10ffff, MWA_BANK1 },
1048 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1049 { 0x300000, 0x30000f, TC0220IOC_halfword_w }, /* I/O */
1050 { 0x320000, 0x320003, taitof2_sound_w },
1051 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1052 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1053 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1054 { 0xb00000, 0xb0001f, TC0360PRI_halfword_w }, /* ?? */
1055 { -1 } /* end of table */
1056 };
1057
1058 static struct MemoryReadAddress quizhq_readmem[] =
1059 {
1060 { 0x000000, 0x0bffff, MRA_ROM },
1061 { 0x100000, 0x10ffff, MRA_BANK1 },
1062 { 0x200000, 0x200007, TC0110PCR_word_r }, /* palette */
1063 { 0x500000, 0x50000f, quizhq_input1_r },
1064 { 0x580000, 0x58000f, quizhq_input2_r },
1065 { 0x600000, 0x600003, taitof2_sound_r },
1066 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1067 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1068 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1069 { -1 } /* end of table */
1070 };
1071
1072 static struct MemoryWriteAddress quizhq_writemem[] =
1073 {
1074 { 0x000000, 0x03ffff, MWA_ROM },
1075 { 0x100000, 0x10ffff, MWA_BANK1 },
1076 { 0x200000, 0x200007, TC0110PCR_word_w }, /* palette */
1077 { 0x500004, 0x500005, MWA_NOP }, /* irq ack ? */
1078 { 0x580000, 0x580001, MWA_NOP }, /* irq ack ? */
1079 { 0x580006, 0x580007, MWA_NOP }, /* irq ack ? */
1080 { 0x600000, 0x600003, taitof2_sound_w },
1081 { 0x680000, 0x680001, MWA_NOP }, /* watchdog ?? */
1082 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1083 { 0x810000, 0x81ffff, MWA_NOP }, /* error in init code ? */
1084 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1085 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1086 { -1 } /* end of table */
1087 };
1088
1089 static struct MemoryReadAddress ssi_readmem[] =
1090 {
1091 { 0x000000, 0x07ffff, MRA_ROM },
1092 { 0x100000, 0x10000f, TC0510NIO_halfword_r },
1093 { 0x200000, 0x20ffff, MRA_BANK1 },
1094 { 0x300000, 0x301fff, paletteram_word_r },
1095 { 0x400000, 0x400003, taitof2_msb_sound_r },
1096 { 0x600000, 0x60ffff, TC0100SCN_word_0_r }, /* tilemaps */
1097 { 0x620000, 0x62000f, TC0100SCN_ctrl_word_0_r },
1098 { 0x800000, 0x80ffff, taitof2_spriteram_r },
1099 { -1 } /* end of table */
1100 };
1101
1102 static struct MemoryWriteAddress ssi_writemem[] =
1103 {
1104 { 0x000000, 0x07ffff, MWA_ROM },
1105 { 0x100000, 0x10000f, TC0510NIO_halfword_w },
1106 { 0x200000, 0x20ffff, MWA_BANK1 },
1107 { 0x300000, 0x301fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1108 { 0x400000, 0x400003, taitof2_msb_sound_w },
1109 // { 0x500000, 0x500001, MWA_NOP }, /* ?? */
1110 { 0x600000, 0x60ffff, TC0100SCN_word_0_w }, /* tilemaps (not used) */
1111 { 0x620000, 0x62000f, TC0100SCN_ctrl_word_0_w },
1112 { 0x800000, 0x80ffff, taitof2_spriteram_w, &spriteram, &spriteram_size }, /* sprite ram */
1113 { -1 } /* end of table */
1114 };
1115
1116 static struct MemoryReadAddress gunfront_readmem[] =
1117 {
1118 { 0x000000, 0x0bffff, MRA_ROM },
1119 { 0x100000, 0x10ffff, MRA_BANK1 },
1120 { 0x200000, 0x201fff, paletteram_word_r },
1121 { 0x300000, 0x30000f, TC0510NIO_halfword_wordswap_r },
1122 { 0x320000, 0x320003, taitof2_msb_sound_r },
1123 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1124 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1125 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1126 { -1 } /* end of table */
1127 };
1128
1129 static struct MemoryWriteAddress gunfront_writemem[] =
1130 {
1131 { 0x000000, 0x0bffff, MWA_ROM },
1132 { 0x100000, 0x10ffff, MWA_BANK1 },
1133 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1134 { 0x300000, 0x30000f, TC0510NIO_halfword_wordswap_w },
1135 { 0x320000, 0x320003, taitof2_msb_sound_w },
1136 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1137 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1138 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1139 // { 0xa00000, 0xa00001, MWA_NOP }, /* ?? */
1140 { 0xb00000, 0xb0001f, TC0360PRI_halfword_w }, /* ?? */
1141 { -1 } /* end of table */
1142 };
1143
1144 static struct MemoryReadAddress growl_readmem[] =
1145 {
1146 { 0x000000, 0x0fffff, MRA_ROM },
1147 { 0x100000, 0x10ffff, MRA_BANK1 },
1148 { 0x200000, 0x201fff, paletteram_word_r },
1149 { 0x300000, 0x30000f, growl_dsw_r },
1150 { 0x320000, 0x32000f, growl_input_r },
1151 { 0x400000, 0x400003, taitof2_msb_sound_r },
1152 { 0x508000, 0x50800f, input_port_5_r }, /* IN3 */
1153 { 0x50c000, 0x50c00f, input_port_6_r }, /* IN4 */
1154 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1155 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1156 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1157 { -1 } /* end of table */
1158 };
1159
1160 static struct MemoryWriteAddress growl_writemem[] =
1161 {
1162 { 0x000000, 0x0fffff, MWA_ROM },
1163 { 0x100000, 0x10ffff, MWA_BANK1 },
1164 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1165 { 0x340000, 0x340001, MWA_NOP }, /* irq ack? */
1166 { 0x400000, 0x400003, taitof2_msb_sound_w },
1167 { 0x500000, 0x50000f, taitof2_spritebank_w },
1168 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1169 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1170 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1171 { 0xb00000, 0xb0001f, TC0360PRI_halfword_w }, /* ?? */
1172 { -1 } /* end of table */
1173 };
1174
1175 static struct MemoryReadAddress mjnquest_readmem[] =
1176 {
1177 { 0x000000, 0x0fffff, MRA_ROM },
1178 { 0x110000, 0x11ffff, MRA_BANK8 }, /* sram ? */
1179 { 0x120000, 0x12ffff, MRA_BANK1 },
1180 { 0x200000, 0x200007, TC0110PCR_word_r }, /* palette */
1181 { 0x300000, 0x30000f, mjnquest_dsw_r },
1182 { 0x310000, 0x310001, mjnquest_input_r },
1183 { 0x360000, 0x360003, taitof2_msb_sound_r },
1184 { 0x400000, 0x40ffff, TC0100SCN_word_0_r }, /* tilemaps */
1185 { 0x420000, 0x42000f, TC0100SCN_ctrl_word_0_r },
1186 { 0x500000, 0x50ffff, taitof2_spriteram_r },
1187 { -1 } /* end of table */
1188 };
1189
1190 static struct MemoryWriteAddress mjnquest_writemem[] =
1191 {
1192 { 0x000000, 0x03ffff, MWA_ROM },
1193 { 0x110000, 0x11ffff, MWA_BANK8 }, /* sram ? */
1194 { 0x120000, 0x12ffff, MWA_BANK1 },
1195 { 0x200000, 0x200007, TC0110PCR_word_w }, /* palette */
1196 { 0x320000, 0x320001, mjnquest_inputselect_w },
1197 { 0x330000, 0x330001, MWA_NOP }, /* watchdog ? */
1198 { 0x350000, 0x350001, MWA_NOP }, /* watchdog ? */
1199 { 0x360000, 0x360003, taitof2_msb_sound_w },
1200 { 0x380000, 0x380001, taitof2_scrbank_w }, /* scr bank */
1201 { 0x400000, 0x40ffff, TC0100SCN_word_0_w }, /* tilemaps */
1202 { 0x420000, 0x42000f, TC0100SCN_ctrl_word_0_w },
1203 { 0x500000, 0x50ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1204 { -1 } /* end of table */
1205 };
1206
1207 static struct MemoryReadAddress footchmp_readmem[] =
1208 {
1209 { 0x000000, 0x07ffff, MRA_ROM },
1210 { 0x100000, 0x10ffff, MRA_BANK1 },
1211 { 0x200000, 0x20ffff, taitof2_spriteram_r },
1212 { 0x400000, 0x40ffff, TC0480SCP_word_r }, /* tilemaps */
1213 { 0x430000, 0x43002f, TC0480SCP_ctrl_word_r },
1214 { 0x600000, 0x601fff, paletteram_word_r },
1215 { 0x700000, 0x70001f, footchmp_input_r },
1216 { 0xa00000, 0xa00003, taitof2_sound_r },
1217 { -1 } /* end of table */
1218 };
1219
1220 static struct MemoryWriteAddress footchmp_writemem[] =
1221 {
1222 { 0x000000, 0x07ffff, MWA_ROM },
1223 { 0x100000, 0x10ffff, MWA_BANK1 },
1224 { 0x200000, 0x20ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1225 { 0x300000, 0x30000f, taitof2_spritebank_w },
1226 { 0x400000, 0x40ffff, TC0480SCP_word_w }, /* tilemaps */
1227 { 0x430000, 0x43002f, TC0480SCP_ctrl_word_w },
1228 { 0x500000, 0x50001f, TC0360PRI_halfword_w },
1229 { 0x600000, 0x601fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1230 { 0x800000, 0x800001, MWA_NOP }, /* watchdog ? */
1231 { 0xa00000, 0xa00003, taitof2_sound_w },
1232 { -1 } /* end of table */
1233 };
1234
1235 static struct MemoryReadAddress koshien_readmem[] =
1236 {
1237 { 0x000000, 0x0fffff, MRA_ROM },
1238 { 0x100000, 0x10ffff, MRA_BANK1 },
1239 { 0x200000, 0x201fff, paletteram_word_r },
1240 { 0x300000, 0x30000f, TC0510NIO_halfword_r },
1241 { 0x320000, 0x320003, taitof2_msb_sound_r },
1242 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1243 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1244 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1245 // { 0xa20000, 0xa20001, koshien_spritebank_r }, /* for debugging spritebank */
1246 { -1 } /* end of table */
1247 };
1248
1249 static struct MemoryWriteAddress koshien_writemem[] =
1250 {
1251 { 0x000000, 0x03ffff, MWA_ROM },
1252 { 0x100000, 0x10ffff, MWA_BANK1 },
1253 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1254 { 0x300000, 0x30000f, TC0510NIO_halfword_w },
1255 { 0x320000, 0x320003, taitof2_msb_sound_w },
1256 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1257 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1258 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1259 { 0xa20000, 0xa20001, koshien_spritebank_w }, /* spritebank word ?? */
1260 { 0xb00000, 0xb0001f, TC0360PRI_halfword_swap_w },
1261 { -1 } /* end of table */
1262 };
1263
1264 static struct MemoryReadAddress yuyugogo_readmem[] =
1265 {
1266 { 0x000000, 0x03ffff, MRA_ROM },
1267 { 0x200000, 0x20000f, TC0510NIO_halfword_r },
1268 { 0x400000, 0x400003, taitof2_msb_sound_r },
1269 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1270 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1271 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1272 { 0xa00000, 0xa01fff, paletteram_word_r },
1273 { 0xb00000, 0xb10fff, MRA_BANK1 },
1274 { 0xd00000, 0xdfffff, MRA_BANK8 }, /* extra data rom */
1275 { -1 } /* end of table */
1276 };
1277
1278 static struct MemoryWriteAddress yuyugogo_writemem[] =
1279 {
1280 { 0x000000, 0x03ffff, MWA_ROM },
1281 { 0x200000, 0x20000f, TC0510NIO_halfword_w },
1282 { 0x400000, 0x400003, taitof2_msb_sound_w },
1283 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1284 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1285 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1286 { 0xa00000, 0xa01fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1287 { 0xb00000, 0xb10fff, MWA_BANK1 }, /* deliberate writes to $b10xxx, I think */
1288 { 0xc00000, 0xc01fff, taitof2_sprite_extension_w, &f2_sprite_extension, &f2_spriteext_size },
1289 { 0xd00000, 0xdfffff, MWA_ROM },
1290 { -1 } /* end of table */
1291 };
1292
1293 static struct MemoryReadAddress ninjak_readmem[] =
1294 {
1295 { 0x000000, 0x07ffff, MRA_ROM },
1296 { 0x100000, 0x10ffff, MRA_BANK1 },
1297 { 0x200000, 0x201fff, paletteram_word_r },
1298 { 0x300000, 0x30000f, ninjak_input_r },
1299 { 0x400000, 0x400003, taitof2_msb_sound_r },
1300 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1301 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1302 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1303 { -1 } /* end of table */
1304 };
1305
1306 static struct MemoryWriteAddress ninjak_writemem[] =
1307 {
1308 { 0x000000, 0x07ffff, MWA_ROM },
1309 { 0x100000, 0x10ffff, MWA_BANK1 },
1310 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1311 { 0x380000, 0x380001, MWA_NOP }, /* irq ack? */
1312 { 0x400000, 0x400003, taitof2_msb_sound_w },
1313 { 0x600000, 0x60000f, taitof2_spritebank_w },
1314 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1315 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1316 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1317 { 0xb00000, 0xb0001f, TC0360PRI_halfword_w }, /* ?? */
1318 { -1 } /* end of table */
1319 };
1320
1321 static struct MemoryReadAddress solfigtr_readmem[] =
1322 {
1323 { 0x000000, 0x07ffff, MRA_ROM },
1324 { 0x100000, 0x10ffff, MRA_BANK1 },
1325 { 0x200000, 0x201fff, paletteram_word_r },
1326 { 0x300000, 0x30000f, growl_dsw_r },
1327 { 0x320000, 0x32000f, growl_input_r },
1328 { 0x400000, 0x400003, taitof2_msb_sound_r },
1329 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1330 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1331 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1332 { -1 } /* end of table */
1333 };
1334
1335 static struct MemoryWriteAddress solfigtr_writemem[] =
1336 {
1337 { 0x000000, 0x07ffff, MWA_ROM },
1338 { 0x100000, 0x10ffff, MWA_BANK1 },
1339 { 0x200000, 0x201fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1340 { 0x400000, 0x400003, taitof2_msb_sound_w },
1341 { 0x500000, 0x50000f, taitof2_spritebank_w },
1342 { 0x504000, 0x504001, MWA_NOP }, /* irq ack? */
1343 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1344 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1345 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1346 { 0xb00000, 0xb0001f, TC0360PRI_halfword_w }, /* ?? */
1347 { -1 } /* end of table */
1348 };
1349
1350 static struct MemoryReadAddress qzquest_readmem[] =
1351 {
1352 { 0x000000, 0x17ffff, MRA_ROM },
1353 { 0x200000, 0x20000f, TC0510NIO_halfword_r },
1354 { 0x300000, 0x300003, taitof2_sound_r },
1355 { 0x400000, 0x401fff, paletteram_word_r },
1356 { 0x500000, 0x50ffff, MRA_BANK1 },
1357 { 0x600000, 0x60ffff, taitof2_spriteram_r },
1358 { 0x700000, 0x70ffff, TC0100SCN_word_0_r }, /* tilemaps */
1359 { 0x720000, 0x72000f, TC0100SCN_ctrl_word_0_r },
1360 { -1 } /* end of table */
1361 };
1362
1363 static struct MemoryWriteAddress qzquest_writemem[] =
1364 {
1365 { 0x000000, 0x03ffff, MWA_ROM },
1366 { 0x200000, 0x20000f, TC0510NIO_halfword_w },
1367 { 0x300000, 0x300003, taitof2_sound_w },
1368 { 0x400000, 0x401fff, paletteram_xRRRRRGGGGGBBBBB_word_w, &paletteram },
1369 { 0x500000, 0x50ffff, MWA_BANK1 },
1370 { 0x600000, 0x60ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1371 { 0x700000, 0x70ffff, TC0100SCN_word_0_w }, /* tilemaps */
1372 { 0x720000, 0x72000f, TC0100SCN_ctrl_word_0_w },
1373 { -1 } /* end of table */
1374 };
1375
1376 static struct MemoryReadAddress pulirula_readmem[] =
1377 {
1378 { 0x000000, 0x0bffff, MRA_ROM },
1379 { 0x200000, 0x200003, taitof2_msb_sound_r },
1380 { 0x300000, 0x30ffff, MRA_BANK1 },
1381 { 0x400000, 0x401fff, TC0430GRW_word_r },
1382 { 0x700000, 0x701fff, paletteram_word_r },
1383 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1384 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1385 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1386 { 0xb00000, 0xb0000f, TC0510NIO_halfword_r },
1387 { -1 } /* end of table */
1388 };
1389
1390 static struct MemoryWriteAddress pulirula_writemem[] =
1391 {
1392 { 0x000000, 0x0bffff, MWA_ROM },
1393 { 0x200000, 0x200003, taitof2_msb_sound_w },
1394 { 0x300000, 0x30ffff, MWA_BANK1 },
1395 { 0x400000, 0x401fff, TC0430GRW_word_w }, /* ROZ tilemap */
1396 { 0x402000, 0x40200f, TC0430GRW_ctrl_word_w },
1397 // { 0x500000, 0x500001, MWA_NOP }, /* ??? */
1398 { 0x600000, 0x603fff, taitof2_sprite_extension_w, &f2_sprite_extension, &f2_spriteext_size },
1399 { 0x700000, 0x701fff, paletteram_xRRRRRGGGGGBBBBB_word_w, &paletteram },
1400 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1401 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1402 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1403 { 0xa00000, 0xa0001f, TC0360PRI_halfword_swap_w },
1404 { 0xb00000, 0xb0000f, TC0510NIO_halfword_w },
1405 { -1 } /* end of table */
1406 };
1407
1408 static struct MemoryReadAddress metalb_readmem[] =
1409 {
1410 { 0x000000, 0x0bffff, MRA_ROM },
1411 { 0x100000, 0x10ffff, MRA_BANK1 },
1412 { 0x300000, 0x30ffff, taitof2_spriteram_r },
1413 { 0x500000, 0x50ffff, TC0480SCP_word_r }, /* tilemaps */
1414 { 0x530000, 0x53002f, TC0480SCP_ctrl_word_r },
1415 { 0x700000, 0x703fff, paletteram_word_r },
1416 { 0x800000, 0x80000f, TC0510NIO_halfword_wordswap_r },
1417 { 0x900000, 0x900003, taitof2_msb_sound_r },
1418 { -1 } /* end of table */
1419 };
1420
1421 static struct MemoryWriteAddress metalb_writemem[] =
1422 {
1423 { 0x000000, 0x0bffff, MWA_ROM },
1424 { 0x100000, 0x10ffff, MWA_BANK1 },
1425 { 0x300000, 0x30ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1426 // { 0x42000c, 0x42000f, MWA_NOP }, /* zeroed */
1427 { 0x500000, 0x50ffff, TC0480SCP_word_w }, /* tilemaps */
1428 { 0x530000, 0x53002f, TC0480SCP_ctrl_word_w },
1429 { 0x600000, 0x60001f, TC0360PRI_halfword_w },
1430 { 0x700000, 0x703fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1431 { 0x800000, 0x80000f, TC0510NIO_halfword_wordswap_w },
1432 { 0x900000, 0x900003, taitof2_msb_sound_w },
1433 // { 0xa00000, 0xa00001, MWA_NOP }, /* ??? */
1434 { -1 } /* end of table */
1435 };
1436
1437 static struct MemoryReadAddress qzchikyu_readmem[] =
1438 {
1439 { 0x000000, 0x17ffff, MRA_ROM },
1440 { 0x200000, 0x20000f, TC0510NIO_halfword_r },
1441 { 0x300000, 0x300003, taitof2_sound_r },
1442 { 0x400000, 0x401fff, paletteram_word_r },
1443 { 0x500000, 0x50ffff, MRA_BANK1 },
1444 { 0x600000, 0x60ffff, taitof2_spriteram_r },
1445 { 0x700000, 0x70ffff, TC0100SCN_word_0_r }, /* tilemaps */
1446 { 0x720000, 0x72000f, TC0100SCN_ctrl_word_0_r },
1447 { -1 } /* end of table */
1448 };
1449
1450 static struct MemoryWriteAddress qzchikyu_writemem[] =
1451 {
1452 { 0x000000, 0x03ffff, MWA_ROM },
1453 { 0x200000, 0x20000f, TC0510NIO_halfword_w },
1454 { 0x300000, 0x300003, taitof2_sound_w },
1455 { 0x400000, 0x401fff, paletteram_xRRRRRGGGGGBBBBB_word_w, &paletteram },
1456 { 0x500000, 0x50ffff, MWA_BANK1 },
1457 { 0x600000, 0x60ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1458 { 0x700000, 0x70ffff, TC0100SCN_word_0_w }, /* tilemaps */
1459 { 0x720000, 0x72000f, TC0100SCN_ctrl_word_0_w },
1460 { -1 } /* end of table */
1461 };
1462
1463 static struct MemoryReadAddress yesnoj_readmem[] =
1464 {
1465 { 0x000000, 0x07ffff, MRA_ROM },
1466 { 0x200000, 0x20ffff, MRA_BANK1 },
1467 { 0x400000, 0x40ffff, taitof2_spriteram_r },
1468 { 0x500000, 0x50ffff, TC0100SCN_word_0_r }, /* tilemaps */
1469 { 0x520000, 0x52000f, TC0100SCN_ctrl_word_0_r },
1470 { 0x600000, 0x601fff, paletteram_word_r },
1471 // { 0x700000, 0x70000b, yesnoj_unknown_r }, /* what's this? */
1472 { 0x800000, 0x800003, taitof2_msb_sound_r },
1473 { 0xa00000, 0xa0000f, yesnoj_input_r },
1474 { 0xb00000, 0xb00001, yesnoj_dsw_r }, /* ?? (reads this twice in init) */
1475 { -1 } /* end of table */
1476 };
1477
1478 static struct MemoryWriteAddress yesnoj_writemem[] =
1479 {
1480 { 0x000000, 0x07ffff, MWA_ROM },
1481 { 0x200000, 0x20ffff, MWA_BANK1 },
1482 { 0x400000, 0x40ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1483 { 0x500000, 0x50ffff, TC0100SCN_word_0_w }, /* tilemaps */
1484 { 0x520000, 0x52000f, TC0100SCN_ctrl_word_0_w },
1485 { 0x600000, 0x601fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1486 { 0x800000, 0x800003, taitof2_msb_sound_w },
1487 { 0x900002, 0x900003, MWA_NOP }, /* lots of similar writes */
1488 { 0xc00000, 0xc00001, MWA_NOP }, /* watchdog ?? */
1489 { 0xd00000, 0xd00001, MWA_NOP }, /* lots of similar writes */
1490 { -1 } /* end of table */
1491 };
1492
1493 static struct MemoryReadAddress deadconx_readmem[] =
1494 {
1495 { 0x000000, 0x0fffff, MRA_ROM },
1496 { 0x100000, 0x10ffff, MRA_BANK1 },
1497 { 0x200000, 0x20ffff, taitof2_spriteram_r },
1498 { 0x400000, 0x40ffff, TC0480SCP_word_r }, /* tilemaps */
1499 { 0x430000, 0x43002f, TC0480SCP_ctrl_word_r },
1500 { 0x600000, 0x601fff, paletteram_word_r },
1501 { 0x700000, 0x70001f, deadconx_input_r },
1502 { 0xa00000, 0xa00003, taitof2_msb_sound_r },
1503 { -1 } /* end of table */
1504 };
1505
1506 static struct MemoryWriteAddress deadconx_writemem[] =
1507 {
1508 { 0x000000, 0x0fffff, MWA_ROM },
1509 { 0x100000, 0x10ffff, MWA_BANK1 },
1510 { 0x200000, 0x20ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1511 { 0x300000, 0x30000f, taitof2_spritebank_w },
1512 { 0x400000, 0x40ffff, TC0480SCP_word_w }, /* tilemaps */
1513 // { 0x42000c, 0x42000f, MWA_NOP }, /* zeroed */
1514 { 0x430000, 0x43002f, TC0480SCP_ctrl_word_w },
1515 { 0x500000, 0x50001f, TC0360PRI_halfword_w },
1516 { 0x600000, 0x601fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1517 { 0x800000, 0x800001, MWA_NOP }, /* watchdog ? */
1518 { 0xa00000, 0xa00003, taitof2_msb_sound_w },
1519 { -1 } /* end of table */
1520 };
1521
1522 static struct MemoryReadAddress dinorex_readmem[] =
1523 {
1524 { 0x000000, 0x2fffff, MRA_ROM },
1525 { 0x300000, 0x30000f, TC0510NIO_halfword_r },
1526 { 0x500000, 0x501fff, paletteram_word_r },
1527 { 0x600000, 0x60ffff, MRA_BANK1 },
1528 { 0x800000, 0x80ffff, taitof2_spriteram_r },
1529 { 0x900000, 0x90ffff, TC0100SCN_word_0_r }, /* tilemaps */
1530 { 0x920000, 0x92000f, TC0100SCN_ctrl_word_0_r },
1531 { 0xa00000, 0xa00003, taitof2_msb_sound_r },
1532 { -1 } /* end of table */
1533 };
1534
1535 static struct MemoryWriteAddress dinorex_writemem[] =
1536 {
1537 { 0x000000, 0x2fffff, MWA_ROM },
1538 { 0x300000, 0x30000f, TC0510NIO_halfword_w },
1539 { 0x400000, 0x400fff, taitof2_sprite_extension_w, &f2_sprite_extension, &f2_spriteext_size },
1540 { 0x500000, 0x501fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1541 { 0x600000, 0x60ffff, MWA_BANK1 },
1542 { 0x700000, 0x70001f, TC0360PRI_halfword_w }, /* ?? */
1543 { 0x800000, 0x80ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1544 { 0x900000, 0x90ffff, TC0100SCN_word_0_w }, /* tilemaps */
1545 { 0x920000, 0x92000f, TC0100SCN_ctrl_word_0_w },
1546 { 0xa00000, 0xa00003, taitof2_msb_sound_w },
1547 { 0xb00000, 0xb00001, MWA_NOP }, /* watchdog? */
1548 { -1 } /* end of table */
1549 };
1550
1551 static struct MemoryReadAddress qjinsei_readmem[] =
1552 {
1553 { 0x000000, 0x1fffff, MRA_ROM },
1554 { 0x200000, 0x200003, taitof2_msb_sound_r },
1555 { 0x300000, 0x30ffff, MRA_BANK1 },
1556 { 0x700000, 0x701fff, paletteram_word_r },
1557 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1558 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1559 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1560 { 0xb00000, 0xb0000f, TC0510NIO_halfword_r },
1561 { -1 } /* end of table */
1562 };
1563
1564 static struct MemoryWriteAddress qjinsei_writemem[] =
1565 {
1566 { 0x000000, 0x07ffff, MWA_ROM },
1567 { 0x200000, 0x200003, taitof2_msb_sound_w },
1568 { 0x300000, 0x30ffff, MWA_BANK1 },
1569 { 0x500000, 0x500001, MWA_NOP }, /* watchdog ? */
1570 { 0x600000, 0x603fff, taitof2_sprite_extension_w, &f2_sprite_extension, &f2_spriteext_size },
1571 { 0x700000, 0x701fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1572 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1573 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1574 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1575 { 0xa00000, 0xa0001f, TC0360PRI_halfword_w }, /* ?? */
1576 { 0xb00000, 0xb0000f, TC0510NIO_halfword_w },
1577 { -1 } /* end of table */
1578 };
1579
1580 static struct MemoryReadAddress qcrayon_readmem[] =
1581 {
1582 { 0x000000, 0x07ffff, MRA_ROM },
1583 { 0x100000, 0x10ffff, MRA_BANK1 },
1584 { 0x300000, 0x3fffff, MRA_BANK8 }, /* extra data rom */
1585 { 0x500000, 0x500003, taitof2_msb_sound_r },
1586 { 0x700000, 0x701fff, paletteram_word_r },
1587 { 0x800000, 0x80ffff, taitof2_spriteram_r },
1588 { 0x900000, 0x90ffff, TC0100SCN_word_0_r }, /* tilemaps */
1589 { 0x920000, 0x92000f, TC0100SCN_ctrl_word_0_r },
1590 { 0xa00000, 0xa0000f, TC0510NIO_halfword_r },
1591 { -1 } /* end of table */
1592 };
1593
1594 static struct MemoryWriteAddress qcrayon_writemem[] =
1595 {
1596 { 0x000000, 0x07ffff, MWA_ROM },
1597 { 0x100000, 0x10ffff, MWA_BANK1 },
1598 // { 0x200000, 0x200001, MWA_NOP }, /* unknown */
1599 { 0x300000, 0x3fffff, MWA_ROM },
1600 { 0x500000, 0x500003, taitof2_msb_sound_w },
1601 { 0x600000, 0x603fff, taitof2_sprite_extension_w, &f2_sprite_extension, &f2_spriteext_size },
1602 { 0x700000, 0x701fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1603 { 0x800000, 0x80ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1604 { 0x900000, 0x90ffff, TC0100SCN_word_0_w }, /* tilemaps */
1605 { 0x920000, 0x92000f, TC0100SCN_ctrl_word_0_w },
1606 { 0xa00000, 0xa0000f, TC0510NIO_halfword_w },
1607 { 0xb00000, 0xb0001f, TC0360PRI_halfword_w }, /* ?? */
1608 { -1 } /* end of table */
1609 };
1610
1611 static struct MemoryReadAddress qcrayon2_readmem[] =
1612 {
1613 { 0x000000, 0x07ffff, MRA_ROM },
1614 { 0x200000, 0x20ffff, MRA_BANK1 },
1615 { 0x300000, 0x301fff, paletteram_word_r },
1616 { 0x400000, 0x40ffff, taitof2_spriteram_r },
1617 { 0x500000, 0x50ffff, TC0100SCN_word_0_r }, /* tilemaps */
1618 { 0x520000, 0x52000f, TC0100SCN_ctrl_word_0_r },
1619 { 0x600000, 0x67ffff, MRA_BANK8 }, /* extra data rom */
1620 { 0x700000, 0x70000f, TC0510NIO_halfword_r },
1621 { 0xa00000, 0xa00003, taitof2_msb_sound_r },
1622 { -1 } /* end of table */
1623 };
1624
1625 static struct MemoryWriteAddress qcrayon2_writemem[] =
1626 {
1627 { 0x000000, 0x07ffff, MWA_ROM },
1628 { 0x200000, 0x20ffff, MWA_BANK1 },
1629 { 0x300000, 0x301fff, paletteram_RRRRGGGGBBBBxxxx_word_w, &paletteram },
1630 { 0x400000, 0x40ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1631 { 0x500000, 0x50ffff, TC0100SCN_word_0_w }, /* tilemaps */
1632 { 0x520000, 0x52000f, TC0100SCN_ctrl_word_0_w },
1633 { 0x600000, 0x67ffff, MWA_ROM },
1634 { 0x700000, 0x70000f, TC0510NIO_halfword_w },
1635 { 0x900000, 0x90001f, TC0360PRI_halfword_w }, /* ?? */
1636 { 0xa00000, 0xa00003, taitof2_msb_sound_w },
1637 { 0xb00000, 0xb017ff, taitof2_sprite_extension_w, &f2_sprite_extension, &f2_spriteext_size },
1638 { -1 } /* end of table */
1639 };
1640
1641 static struct MemoryReadAddress driftout_readmem[] =
1642 {
1643 { 0x000000, 0x0fffff, MRA_ROM },
1644 { 0x200000, 0x200003, taitof2_msb_sound_r },
1645 { 0x300000, 0x30ffff, MRA_BANK1 },
1646 { 0x400000, 0x401fff, TC0430GRW_word_r },
1647 { 0x700000, 0x701fff, paletteram_word_r },
1648 { 0x800000, 0x80ffff, TC0100SCN_word_0_r }, /* tilemaps */
1649 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_r },
1650 { 0x900000, 0x90ffff, taitof2_spriteram_r },
1651 { 0xb00000, 0xb0000f, TC0510NIO_halfword_r },
1652 { 0xb00018, 0xb0001f, driftout_paddle_r },
1653 { -1 } /* end of table */
1654 };
1655
1656 static struct MemoryWriteAddress driftout_writemem[] =
1657 {
1658 { 0x000000, 0x0fffff, MWA_ROM },
1659 { 0x200000, 0x200003, taitof2_msb_sound_w },
1660 { 0x300000, 0x30ffff, MWA_BANK1 },
1661 { 0x400000, 0x401fff, TC0430GRW_word_w }, /* ROZ tilemap */
1662 { 0x402000, 0x40200f, TC0430GRW_ctrl_word_w },
1663 { 0x700000, 0x701fff, paletteram_xRRRRRGGGGGBBBBB_word_w, &paletteram },
1664 { 0x800000, 0x80ffff, TC0100SCN_word_0_w }, /* tilemaps */
1665 { 0x820000, 0x82000f, TC0100SCN_ctrl_word_0_w },
1666 { 0x900000, 0x90ffff, taitof2_spriteram_w, &spriteram, &spriteram_size },
1667 { 0xa00000, 0xa0001f, TC0360PRI_halfword_swap_w },
1668 { 0xb00000, 0xb0000f, TC0510NIO_halfword_w },
1669 { -1 } /* end of table */
1670 };
1671
1672 /***************************************************************************/
1673
1674 static struct MemoryReadAddress sound_readmem[] =
1675 {
1676 { 0x0000, 0x3fff, MRA_ROM },
1677 { 0x4000, 0x7fff, MRA_BANK2 },
1678 { 0xc000, 0xdfff, MRA_RAM },
1679 { 0xe000, 0xe000, YM2610_status_port_0_A_r },
1680 { 0xe001, 0xe001, YM2610_read_port_0_r },
1681 { 0xe002, 0xe002, YM2610_status_port_0_B_r },
1682 { 0xe200, 0xe200, MRA_NOP },
1683 { 0xe201, 0xe201, rastan_a001_r },
1684 { 0xea00, 0xea00, MRA_NOP },
1685 { -1 } /* end of table */
1686 };
1687
1688 static struct MemoryWriteAddress sound_writemem[] =
1689 {
1690 { 0x0000, 0x7fff, MWA_ROM },
1691 { 0xc000, 0xdfff, MWA_RAM },
1692 { 0xe000, 0xe000, YM2610_control_port_0_A_w },
1693 { 0xe001, 0xe001, YM2610_data_port_0_A_w },
1694 { 0xe002, 0xe002, YM2610_control_port_0_B_w },
1695 { 0xe003, 0xe003, YM2610_data_port_0_B_w },
1696 { 0xe200, 0xe200, rastan_a000_w },
1697 { 0xe201, 0xe201, rastan_a001_w },
1698 { 0xe400, 0xe403, MWA_NOP }, /* pan */
1699 { 0xee00, 0xee00, MWA_NOP }, /* ? */
1700 { 0xf000, 0xf000, MWA_NOP }, /* ? */
1701 { 0xf200, 0xf200, bankswitch_w }, /* ?? */
1702 { -1 } /* end of table */
1703 };
1704
1705
1706 /***********************************************************
1707 INPUT PORTS, DIPs
1708 ***********************************************************/
1709
1710 INPUT_PORTS_START( finalb )
1711 PORT_START /* DSW A */
1712 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
1713 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
1714 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1715 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
1716 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
1717 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1718 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
1719 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
1720 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
1721 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
1722 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
1723 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
1724 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
1725 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
1726 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
1727 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
1728 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
1729 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
1730 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
1731 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
1732
1733 PORT_START /* DSW B */
1734 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
1735 PORT_DIPSETTING( 0x02, "Easy" )
1736 PORT_DIPSETTING( 0x03, "Medium" )
1737 PORT_DIPSETTING( 0x01, "Hard" )
1738 PORT_DIPSETTING( 0x00, "Hardest" )
1739 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
1740 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
1741 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1742 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
1743 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
1744 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1745 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
1746 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
1747 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1748 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
1749 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
1750 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1751 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1752 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
1753 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1754 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1755 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
1756 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1757
1758 PORT_START /* IN0 */
1759 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1760 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1761 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1762 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1763 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1764 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1765 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
1766 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1767
1768 PORT_START /* IN1 */
1769 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1770 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1771 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1772 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1773 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1774 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1775 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
1776 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
1777
1778 PORT_START /* IN2 */
1779 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
1780 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
1781 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
1782 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
1783 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P sen.sw.? */
1784 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P ducking? */
1785 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P sen.sw.? */
1786 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P ducking? */
1787 INPUT_PORTS_END
1788
1789 INPUT_PORTS_START( finalbj )
1790 PORT_START /* DSW A */
1791 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
1792 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
1793 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1794 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
1795 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
1796 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1797 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
1798 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
1799 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
1800 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
1801 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
1802 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
1803 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
1804 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
1805 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
1806 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
1807 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
1808 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
1809 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
1810 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
1811
1812 PORT_START /* DSW B */
1813 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
1814 PORT_DIPSETTING( 0x02, "Easy" )
1815 PORT_DIPSETTING( 0x03, "Medium" )
1816 PORT_DIPSETTING( 0x01, "Hard" )
1817 PORT_DIPSETTING( 0x00, "Hardest" )
1818 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
1819 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
1820 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1821 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
1822 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
1823 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1824 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
1825 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
1826 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1827 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
1828 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
1829 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1830 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
1831 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
1832 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1833 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1834 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
1835 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1836
1837 PORT_START /* IN0 */
1838 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1839 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1840 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1841 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1842 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1843 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1844 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
1845 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1846
1847 PORT_START /* IN1 */
1848 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1849 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1850 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1851 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1852 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1853 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1854 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
1855 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
1856
1857 PORT_START /* IN2 */
1858 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
1859 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
1860 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
1861 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
1862 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P sen.sw.? */
1863 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P ducking? */
1864 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P sen.sw.? */
1865 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P ducking? */
1866 INPUT_PORTS_END
1867
1868 INPUT_PORTS_START( dondokod )
1869 PORT_START /* DSW A */
1870 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
1871 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
1872 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
1873 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
1874 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
1875 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1876 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
1877 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
1878 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
1879 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
1880 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
1881 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
1882 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
1883 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
1884 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
1885 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
1886 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
1887 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
1888 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
1889 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
1890
1891 PORT_START /* DSW B */
1892 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
1893 PORT_DIPSETTING( 0x02, "Easy" )
1894 PORT_DIPSETTING( 0x03, "Medium" )
1895 PORT_DIPSETTING( 0x01, "Hard" )
1896 PORT_DIPSETTING( 0x00, "Hardest" )
1897 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
1898 PORT_DIPSETTING( 0x0c, "10k 100k" )
1899 PORT_DIPSETTING( 0x08, "10k 150k" )
1900 PORT_DIPSETTING( 0x04, "10k 250k" )
1901 PORT_DIPSETTING( 0x00, "10k 350k" )
1902 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
1903 PORT_DIPSETTING( 0x20, "2" )
1904 PORT_DIPSETTING( 0x30, "3" )
1905 PORT_DIPSETTING( 0x00, "4" )
1906 PORT_DIPSETTING( 0x10, "5" )
1907 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1908 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
1909 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
1910 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1911 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
1912 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
1913
1914 PORT_START /* IN0 */
1915 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1916 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1917 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1918 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1919 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1920 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1921 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1922 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1923
1924 PORT_START /* IN1 */
1925 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1926 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1927 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1928 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1929 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1930 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1931 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1932 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
1933
1934 PORT_START /* IN2 */
1935 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
1936 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
1937 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
1938 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
1939 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
1940 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1941 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1942 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1943 INPUT_PORTS_END
1944
1945 INPUT_PORTS_START( megab )
1946 PORT_START /* DSW A */
1947 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
1948 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
1949 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1950 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
1951 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
1952 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1953 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
1954 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
1955 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
1956 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1957 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
1958 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
1959 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
1960 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
1961 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
1962 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
1963 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
1964 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
1965 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
1966 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
1967
1968 PORT_START /* DSW B */
1969 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
1970 PORT_DIPSETTING( 0x02, "Easy" )
1971 PORT_DIPSETTING( 0x03, "Normal" )
1972 PORT_DIPSETTING( 0x01, "Hard" )
1973 PORT_DIPSETTING( 0x00, "Hardest" )
1974 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
1975 PORT_DIPSETTING( 0x0c, "10K, 110K, 210K, 310K..." )
1976 PORT_DIPSETTING( 0x08, "20K, 220K, 420K, 620K..." )
1977 PORT_DIPSETTING( 0x04, "15K, 165K, 365K, 515K..." )
1978 PORT_DIPSETTING( 0x00, "No Bonus" )
1979 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
1980 PORT_DIPSETTING( 0x30, "3" )
1981 PORT_DIPSETTING( 0x20, "4" )
1982 PORT_DIPSETTING( 0x10, "1" )
1983 PORT_DIPSETTING( 0x00, "2" )
1984 PORT_DIPNAME( 0x40, 0x40, "Upright Controls" ) /* ie single or two players at once */
1985 PORT_DIPSETTING( 0x00, "Single" )
1986 PORT_DIPSETTING( 0x40, "Dual" )
1987 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1988 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
1989 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1990
1991 PORT_START /* IN0 */
1992 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
1993 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
1994 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
1995 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1996 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1997 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1998 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1999 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2000
2001 PORT_START /* IN1 */
2002 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
2003 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
2004 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
2005 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2006 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2007 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2008 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2009 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2010
2011 PORT_START /* IN2 */
2012 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2013 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2014 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2015 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2016 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
2017 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
2018 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2019 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2020 INPUT_PORTS_END
2021
2022 INPUT_PORTS_START( megabj )
2023 PORT_START /* DSW A */
2024 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2025 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2026 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2027 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2028 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2029 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2030 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2031 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2032 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2033 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2034 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2035 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2036 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2037 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2038 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2039 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2040 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2041 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2042 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2043 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2044
2045 PORT_START /* DSW B */
2046 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2047 PORT_DIPSETTING( 0x02, "Easy" )
2048 PORT_DIPSETTING( 0x03, "Normal" )
2049 PORT_DIPSETTING( 0x01, "Hard" )
2050 PORT_DIPSETTING( 0x00, "Hardest" )
2051 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
2052 PORT_DIPSETTING( 0x0c, "10K, 110K, 210K, 310K..." )
2053 PORT_DIPSETTING( 0x08, "20K, 220K, 420K, 620K..." )
2054 PORT_DIPSETTING( 0x04, "15K, 165K, 365K, 515K..." )
2055 PORT_DIPSETTING( 0x00, "No Bonus" )
2056 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
2057 PORT_DIPSETTING( 0x30, "3" )
2058 PORT_DIPSETTING( 0x20, "4" )
2059 PORT_DIPSETTING( 0x10, "1" )
2060 PORT_DIPSETTING( 0x00, "2" )
2061 PORT_DIPNAME( 0x40, 0x40, "Upright Controls" ) /* ie single or two players at once */
2062 PORT_DIPSETTING( 0x00, "Single" )
2063 PORT_DIPSETTING( 0x40, "Dual" )
2064 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
2065 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2066 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2067
2068 PORT_START /* IN0 */
2069 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
2070 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
2071 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
2072 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2073 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2074 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2075 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2076 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2077
2078 PORT_START /* IN1 */
2079 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
2080 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
2081 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
2082 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2083 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2084 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2085 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2086 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2087
2088 PORT_START /* IN2 */
2089 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2090 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2091 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2092 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2093 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
2094 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
2095 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2096 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2097 INPUT_PORTS_END
2098
2099 INPUT_PORTS_START( thundfox )
2100 PORT_START /* DSW A */
2101 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
2102 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2103 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2104 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2105 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2106 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2107 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2108 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2109 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2110 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2111 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2112 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2113 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2114 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2115 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2116 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2117 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2118 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2119 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2120 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2121
2122 PORT_START /* DSW B */
2123 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2124 PORT_DIPSETTING( 0x02, "Easy" )
2125 PORT_DIPSETTING( 0x03, "Normal" )
2126 PORT_DIPSETTING( 0x01, "Hard" )
2127 PORT_DIPSETTING( 0x00, "Hardest" )
2128 PORT_DIPNAME( 0x04, 0x04, "Timer" )
2129 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2130 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
2131 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
2132 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2133 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2134 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
2135 PORT_DIPSETTING( 0x30, "3" )
2136 PORT_DIPSETTING( 0x20, "2" )
2137 PORT_DIPSETTING( 0x10, "4" )
2138 PORT_DIPSETTING( 0x00, "5" )
2139 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
2140 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
2141 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
2142 PORT_DIPNAME( 0x80, 0x80, "Game Type" )
2143 PORT_DIPSETTING( 0x80, "Double Control Panel" )
2144 PORT_DIPSETTING( 0x00, "Single Control Panel" )
2145
2146 PORT_START /* IN0 */
2147 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2148 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2149 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2150 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2151 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2152 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2153 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2154 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2155
2156 PORT_START /* IN1 */
2157 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2158 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2159 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2160 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2161 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2162 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2163 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
2164 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2165
2166 PORT_START /* IN2 */
2167 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2168 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2169 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2170 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2171 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2172 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2173 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2174 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2175 INPUT_PORTS_END
2176
2177 INPUT_PORTS_START( cameltry )
2178 PORT_START /* DSW A */
2179 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
2180 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2181 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
2182 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2183 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2184 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2185 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2186 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2187 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2188 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2189 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2190 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2191 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2192 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2193 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2194 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2195 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2196 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2197 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2198 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2199
2200 PORT_START /* DSW B */
2201 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2202 PORT_DIPSETTING( 0x02, "Easy" )
2203 PORT_DIPSETTING( 0x03, "Normal" )
2204 PORT_DIPSETTING( 0x01, "Hard" )
2205 PORT_DIPSETTING( 0x00, "Hardest" )
2206 PORT_DIPNAME( 0x0c, 0x0c, "Start remain time" )
2207 PORT_DIPSETTING( 0x00, "35" )
2208 PORT_DIPSETTING( 0x04, "40" )
2209 PORT_DIPSETTING( 0x0c, "50" )
2210 PORT_DIPSETTING( 0x08, "60" )
2211 PORT_DIPNAME( 0x30, 0x30, "Continue play time" )
2212 PORT_DIPSETTING( 0x00, "+20" )
2213 PORT_DIPSETTING( 0x10, "+25" )
2214 PORT_DIPSETTING( 0x30, "+30" )
2215 PORT_DIPSETTING( 0x20, "+40" )
2216 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
2217 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2218 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2219 PORT_DIPNAME( 0x80, 0x80, "Pair Play" )
2220 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2221 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
2222
2223 PORT_START /* IN0 */
2224 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2225 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2226 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2227 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2228 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2229 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2230 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2231 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2232
2233 PORT_START /* IN1 */
2234 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2235 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2236 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2237 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2238 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2239 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2240 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2241 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2242
2243 PORT_START /* IN2 */
2244 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2245 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2246 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2247 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2248 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2249 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2250 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2251 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2252
2253 PORT_START /* Paddle A */
2254 PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_PLAYER1, 100, 20, 0, 0 )
2255
2256 PORT_START /* Paddle B */
2257 PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_PLAYER2, 100, 20, 0, 0 )
2258 INPUT_PORTS_END
2259
2260 INPUT_PORTS_START( qtorimon )
2261 PORT_START /* DSW A */
2262 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
2263 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2264 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2265 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2266 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2267 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2268 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2269 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2270 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2271 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2272 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2273 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2274 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2275 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2276 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2277 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2278 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2279 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2280 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2281 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2282
2283 PORT_START /* DSW B */
2284 PORT_DIPNAME( 0x03, 0x03, "Difficulty?" )
2285 PORT_DIPSETTING( 0x02, "Easy" )
2286 PORT_DIPSETTING( 0x03, "Normal" )
2287 PORT_DIPSETTING( 0x01, "Hard" )
2288 PORT_DIPSETTING( 0x00, "Hardest" )
2289 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2290 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2291 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2292 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2293 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2294 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2295 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2296 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2297 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2298 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2299 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2300 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2301 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2302 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
2303 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2304 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2305 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2306 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2307
2308 PORT_START /* IN0 */
2309 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2310 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2311 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
2312 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2313 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2314 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2315 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2316 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2317
2318 PORT_START /* IN1 */
2319 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2320 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2321 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
2322 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
2323 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2324 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2325 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2326 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2327
2328 PORT_START /* IN2 */
2329 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2330 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2331 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2332 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2333 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2334 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2335 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2336 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2337 INPUT_PORTS_END
2338
2339 INPUT_PORTS_START( liquidk )
2340 PORT_START /* DSW A */
2341 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
2342 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2343 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
2344 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2345 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2346 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2347 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2348 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2349 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2350 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2351 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2352 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
2353 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
2354 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
2355 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2356 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2357 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
2358 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2359 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
2360 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
2361
2362 PORT_START /* DSW B */
2363 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2364 PORT_DIPSETTING( 0x02, "Easy" )
2365 PORT_DIPSETTING( 0x03, "Normal" )
2366 PORT_DIPSETTING( 0x01, "Hard" )
2367 PORT_DIPSETTING( 0x00, "Hardest" )
2368 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
2369 PORT_DIPSETTING( 0x0c, "30k 100k" )
2370 PORT_DIPSETTING( 0x08, "30k 150k" )
2371 PORT_DIPSETTING( 0x04, "50k 250k" )
2372 PORT_DIPSETTING( 0x00, "50k 350k" )
2373 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
2374 PORT_DIPSETTING( 0x20, "2" )
2375 PORT_DIPSETTING( 0x30, "3" )
2376 PORT_DIPSETTING( 0x00, "4" )
2377 PORT_DIPSETTING( 0x10, "5" )
2378 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
2379 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
2380 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
2381 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
2382 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2383 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2384
2385 PORT_START /* IN0 */
2386 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2387 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2388 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2389 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2390 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2391 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2392 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2393 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2394
2395 PORT_START /* IN1 */
2396 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2397 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2398 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2399 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2400 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2401 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2402 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2403 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2404
2405 PORT_START /* IN2 */
2406 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2407 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2408 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2409 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2410 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2411 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2412 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2413 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2414 INPUT_PORTS_END
2415
2416 INPUT_PORTS_START( mizubaku )
2417 PORT_START /* DSW A */
2418 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
2419 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2420 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
2421 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2422 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2423 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2424 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2425 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2426 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2427 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2428 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2429 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2430 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2431 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2432 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2433 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2434 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2435 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2436 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2437 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2438
2439 PORT_START /* DSW B */
2440 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2441 PORT_DIPSETTING( 0x02, "Easy" )
2442 PORT_DIPSETTING( 0x03, "Normal" )
2443 PORT_DIPSETTING( 0x01, "Hard" )
2444 PORT_DIPSETTING( 0x00, "Hardest" )
2445 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
2446 PORT_DIPSETTING( 0x0c, "30k 100k" )
2447 PORT_DIPSETTING( 0x08, "30k 150k" )
2448 PORT_DIPSETTING( 0x04, "50k 250k" )
2449 PORT_DIPSETTING( 0x00, "50k 350k" )
2450 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
2451 PORT_DIPSETTING( 0x20, "2" )
2452 PORT_DIPSETTING( 0x30, "3" )
2453 PORT_DIPSETTING( 0x00, "4" )
2454 PORT_DIPSETTING( 0x10, "5" )
2455 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
2456 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
2457 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
2458 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
2459 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2460 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2461
2462 PORT_START /* IN0 */
2463 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2464 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2465 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2466 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2467 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2468 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2469 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2470 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2471
2472 PORT_START /* IN1 */
2473 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2474 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2475 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2476 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2477 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2478 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2479 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2480 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2481
2482 PORT_START /* IN2 */
2483 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2484 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2485 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2486 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2487 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2488 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2489 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2490 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2491 INPUT_PORTS_END
2492
2493 INPUT_PORTS_START( ssi )
2494 PORT_START /* DSW A */
2495 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
2496 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2497 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
2498 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2499 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2500 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2501 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2502 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2503 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2504 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2505 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2506 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
2507 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
2508 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
2509 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2510 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2511 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
2512 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2513 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
2514 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
2515
2516 PORT_START /* DSW B */
2517 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2518 PORT_DIPSETTING( 0x02, "Easy" )
2519 PORT_DIPSETTING( 0x03, "Normal" )
2520 PORT_DIPSETTING( 0x01, "Hard" )
2521 PORT_DIPSETTING( 0x00, "Hardest" )
2522 PORT_DIPNAME( 0x0c, 0x0c, "Shields" )
2523 PORT_DIPSETTING( 0x00, "None")
2524 PORT_DIPSETTING( 0x0c, "1")
2525 PORT_DIPSETTING( 0x04, "2")
2526 PORT_DIPSETTING( 0x08, "3")
2527 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Lives ) )
2528 PORT_DIPSETTING( 0x00, "2")
2529 PORT_DIPSETTING( 0x10, "3")
2530 PORT_DIPNAME( 0xa0, 0xa0, "2 Players Mode" )
2531 PORT_DIPSETTING( 0xa0, "Simultaneous")
2532 PORT_DIPSETTING( 0x80, "Alternate, Single")
2533 PORT_DIPSETTING( 0x00, "Alternate, Dual")
2534 PORT_DIPSETTING( 0x20, "Not Allowed")
2535 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
2536 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
2537 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
2538
2539 PORT_START /* IN0 */
2540 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2541 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2542 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2543 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2544 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2545 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2546 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2547 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2548
2549 PORT_START /* IN1 */
2550 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2551 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2552 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2553 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2554 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2555 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2556 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2557 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2558
2559 PORT_START /* IN2 */
2560 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2561 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2562 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2563 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2564 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2565 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2566 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2567 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2568 INPUT_PORTS_END
2569
2570 INPUT_PORTS_START( majest12 )
2571 PORT_START /* DSW A */
2572 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
2573 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2574 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
2575 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2576 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2577 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2578 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2579 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2580 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2581 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2582 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2583 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2584 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2585 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2586 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2587 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2588 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2589 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2590 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2591 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2592
2593 PORT_START /* DSW B */
2594 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2595 PORT_DIPSETTING( 0x02, "Easy" )
2596 PORT_DIPSETTING( 0x03, "Normal" )
2597 PORT_DIPSETTING( 0x01, "Hard" )
2598 PORT_DIPSETTING( 0x00, "Hardest" )
2599 PORT_DIPNAME( 0x0c, 0x0c, "Shields" )
2600 PORT_DIPSETTING( 0x00, "None")
2601 PORT_DIPSETTING( 0x0c, "1")
2602 PORT_DIPSETTING( 0x04, "2")
2603 PORT_DIPSETTING( 0x08, "3")
2604 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Lives ) )
2605 PORT_DIPSETTING( 0x00, "2")
2606 PORT_DIPSETTING( 0x10, "3")
2607 PORT_DIPNAME( 0xa0, 0xa0, "2 Players Mode" )
2608 PORT_DIPSETTING( 0xa0, "Simultaneous")
2609 PORT_DIPSETTING( 0x80, "Alternate, Single Controls")
2610 PORT_DIPSETTING( 0x00, "Alternate, Dual Controls")
2611 PORT_DIPSETTING( 0x20, "Not Allowed")
2612 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
2613 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
2614 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
2615
2616 PORT_START /* IN0 */
2617 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2618 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2619 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2620 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2621 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2622 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2623 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2624 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2625
2626 PORT_START /* IN1 */
2627 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2628 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2629 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2630 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2631 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2632 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2633 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2634 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2635
2636 PORT_START /* IN2 */
2637 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2638 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2639 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2640 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2641 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2642 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2643 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2644 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2645 INPUT_PORTS_END
2646
2647 INPUT_PORTS_START( growl )
2648 PORT_START /* IN0 */
2649 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2650 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2651 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2652 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2653 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2654 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2655 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2656 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2657
2658 PORT_START /* IN1 */
2659 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2660 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2661 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2662 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2663 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2664 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2665 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
2666 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2667
2668 PORT_START /* IN2 */
2669 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2670 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2671 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2672 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2673 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2674 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2675 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2676 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2677
2678 PORT_START /* DSW A */
2679 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
2680 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2681 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2682 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2683 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2684 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2685 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2686 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2687 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2688 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2689 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2690 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
2691 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
2692 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
2693 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2694 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2695 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
2696 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2697 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
2698 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
2699
2700 PORT_START /* DSW B */
2701 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2702 PORT_DIPSETTING( 0x02, "Easy" )
2703 PORT_DIPSETTING( 0x03, "Medium" )
2704 PORT_DIPSETTING( 0x01, "Hard" )
2705 PORT_DIPSETTING( 0x00, "Hardest" )
2706 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
2707 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2708 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2709 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
2710 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2711 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2712 PORT_DIPNAME( 0x30, 0x30, "Cabinet Type" )
2713 PORT_DIPSETTING( 0x30, "2 Players" )
2714 PORT_DIPSETTING( 0x20, "4 Players / 4 Coin Slots" ) // Push Player button A to start
2715 PORT_DIPSETTING( 0x10, "4 Players / 2 cabinets combined" )
2716 PORT_DIPSETTING( 0x00, "4 Players / 2 Coin Slots" )
2717 PORT_DIPNAME( 0x40, 0x40, "Final Boss Continue" )
2718 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
2719 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
2720 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
2721 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2722 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2723
2724 PORT_START /* IN3 */
2725 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
2726 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
2727 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
2728 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
2729 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
2730 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
2731 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER3 )
2732 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START3 )
2733 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
2734 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
2735 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
2736 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
2737 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
2738 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
2739 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER4 )
2740 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START4 )
2741
2742 PORT_START /* IN4 */
2743 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
2744 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 )
2745 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
2746 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2747 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2748 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2749 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2750 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2751 INPUT_PORTS_END
2752
2753 INPUT_PORTS_START( runark )
2754 PORT_START /* IN0 */
2755 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2756 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2757 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2758 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2759 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2760 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2761 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2762 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2763
2764 PORT_START /* IN1 */
2765 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2766 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2767 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2768 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2769 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2770 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2771 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
2772 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2773
2774 PORT_START /* IN2 */
2775 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2776 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2777 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2778 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2779 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2780 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2781 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2782 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2783
2784 PORT_START /* DSW A */
2785 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
2786 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2787 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2788 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2789 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2790 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2791 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2792 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2793 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2794 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2795 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2796 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2797 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2798 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2799 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2800 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2801 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2802 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2803 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2804 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2805
2806 PORT_START /* DSW B */
2807 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
2808 PORT_DIPSETTING( 0x02, "Easy" )
2809 PORT_DIPSETTING( 0x03, "Medium" )
2810 PORT_DIPSETTING( 0x01, "Hard" )
2811 PORT_DIPSETTING( 0x00, "Hardest" )
2812 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
2813 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2814 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2815 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
2816 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2817 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2818 PORT_DIPNAME( 0x30, 0x30, "Cabinet Type" )
2819 PORT_DIPSETTING( 0x30, "2 Players" )
2820 PORT_DIPSETTING( 0x20, "4 Players / 4 Coin Slots" ) // Push Player button A to start
2821 PORT_DIPSETTING( 0x10, "4 Players / 2 cabinets combined" )
2822 PORT_DIPSETTING( 0x00, "4 Players / 2 Coin Slots" )
2823 PORT_DIPNAME( 0x40, 0x40, "Final Boss Continue" )
2824 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
2825 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
2826 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
2827 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2828 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2829
2830 PORT_START /* IN3 */
2831 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
2832 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
2833 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
2834 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
2835 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
2836 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
2837 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER3 )
2838 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START3 )
2839 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
2840 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
2841 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
2842 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
2843 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
2844 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
2845 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER4 )
2846 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START4 )
2847
2848 PORT_START /* IN4 */
2849 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
2850 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 )
2851 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
2852 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2853 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2854 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2855 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2856 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2857 INPUT_PORTS_END
2858
2859 INPUT_PORTS_START( pulirula )
2860 PORT_START /* DSW A */
2861 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2862 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2863 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
2864 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2865 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2866 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2867 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2868 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2869 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2870 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2871 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2872 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
2873 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
2874 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
2875 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2876 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2877 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
2878 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2879 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
2880 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
2881
2882 PORT_START /* DSW B */
2883 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2884 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2885 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
2886 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2887 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2888 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2889 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2890 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2891 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2892 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2893 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2894 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2895 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2896 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2897 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2898 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2899 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2900 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2901 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2902 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2903 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2904 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2905 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2906 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
2907
2908 PORT_START /* IN0 */
2909 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2910 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2911 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2912 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2913 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2914 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2915 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2916 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2917
2918 PORT_START /* IN1 */
2919 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2920 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2921 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2922 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2923 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2924 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2925 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
2926 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
2927
2928 PORT_START /* IN2 */
2929 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
2930 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
2931 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2932 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2933 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2934 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2935 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2936 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2937 INPUT_PORTS_END
2938
2939 INPUT_PORTS_START( pulirulj )
2940 PORT_START /* DSW A */
2941 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2942 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2943 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
2944 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
2945 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2946 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2947 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
2948 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
2949 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2950 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2951 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
2952 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2953 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2954 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
2955 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
2956 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
2957 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
2958 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2959 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
2960 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2961
2962 PORT_START /* DSW B */
2963 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2964 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2965 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
2966 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2967 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2968 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2969 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2970 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2971 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2972 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2973 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2974 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2975 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2976 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2977 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2978 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2979 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2980 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2981 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2982 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2983 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2984 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2985 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2986 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
2987
2988 PORT_START /* IN0 */
2989 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2990 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2991 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2992 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2993 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2994 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2995 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2996 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
2997
2998 PORT_START /* IN1 */
2999 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3000 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3001 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3002 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3003 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3004 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3005 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
3006 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3007
3008 PORT_START /* IN2 */
3009 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3010 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
3011 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3012 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3013 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3014 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3015 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3016 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3017 INPUT_PORTS_END
3018
3019 INPUT_PORTS_START( qzquest )
3020 PORT_START /* DSW A */
3021 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
3022 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3023 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
3024 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3025 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3026 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3027 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3028 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3029 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3030 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3031 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3032 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3033 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
3034 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3035 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
3036 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3037 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3038 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3039 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
3040 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3041
3042 PORT_START /* DSW B */
3043 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3044 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3045 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
3046 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
3047 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3048 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3049 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
3050 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
3051 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3052 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
3053 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
3054 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3055 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3056 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3057 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3058 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
3059 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3060 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3061 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
3062 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3063 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
3064 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
3065 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3066 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
3067
3068 PORT_START /* IN0 */
3069 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3070 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3071 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
3072 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
3073 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER1 )
3074 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER2 )
3075 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3076 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3077
3078 PORT_START /* IN1 */
3079 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3080 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3081 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
3082 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
3083 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3084 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3085 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3086 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3087
3088 PORT_START /* IN2 */
3089 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3090 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
3091 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3092 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3093 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3094 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3095 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3096 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3097 INPUT_PORTS_END
3098
3099 INPUT_PORTS_START( qzchikyu )
3100 PORT_START /* DSW A */
3101 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
3102 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3103 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
3104 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3105 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3106 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3107 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3108 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3109 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3110 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3111 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3112 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3113 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
3114 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3115 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
3116 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3117 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3118 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3119 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
3120 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3121
3122 PORT_START /* DSW B */
3123 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3124 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3125 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
3126 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
3127 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3128 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3129 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
3130 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
3131 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3132 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
3133 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
3134 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3135 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3136 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3137 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3138 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
3139 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3140 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3141 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
3142 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3143 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
3144 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
3145 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3146 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
3147
3148 PORT_START /* IN0 */
3149 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3150 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3151 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
3152 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
3153 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER1 )
3154 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER2 )
3155 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3156 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3157
3158 PORT_START /* IN1 */
3159 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3160 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3161 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
3162 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
3163 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3164 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3165 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3166 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3167
3168 PORT_START /* IN2 */
3169 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3170 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
3171 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3172 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3173 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3174 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3175 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3176 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3177 INPUT_PORTS_END
3178
3179 INPUT_PORTS_START( footchmp )
3180 PORT_START /* IN0 */
3181 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3182 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3183 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3184 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3185 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3186 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3187 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3188 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3189
3190 PORT_START /* IN1 */
3191 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3192 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3193 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3194 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3195 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3196 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3197 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3198 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3199
3200 PORT_START /* IN2 */
3201 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
3202 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
3203 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
3204 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
3205 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
3206 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 )
3207 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE3 )
3208 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
3209
3210 PORT_START /* DSW A */
3211 PORT_DIPNAME( 0x01, 0x00, "Game Over Type" ) // 2p simultaneous play
3212 PORT_DIPSETTING( 0x01, "Both Teams' Games Over" )
3213 PORT_DIPSETTING( 0x00, "Losing Team's Game is Over" )
3214 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3215 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3216 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3217 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3218 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3219 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3220 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3221 PORT_DIPNAME( 0x30, 0x30, "Coin Slot A" )
3222 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
3223 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
3224 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
3225 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3226 PORT_DIPNAME( 0xc0, 0xc0, "Coin Slot B" )
3227 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
3228 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
3229 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
3230 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
3231
3232 PORT_START /* DSW B */
3233 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3234 PORT_DIPSETTING( 0x02, "Easy" )
3235 PORT_DIPSETTING( 0x03, "Normal" )
3236 PORT_DIPSETTING( 0x01, "Hard" )
3237 PORT_DIPSETTING( 0x00, "Very Hard" )
3238 PORT_DIPNAME( 0x0c, 0x0c, "Game Time" )
3239 PORT_DIPSETTING( 0x00, "1.5 Minutes" )
3240 PORT_DIPSETTING( 0x0c, " 2 Minutes" )
3241 PORT_DIPSETTING( 0x04, "2.5 Minutes" )
3242 PORT_DIPSETTING( 0x08, " 3 Minutes" )
3243 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Cabinet ) )
3244 PORT_DIPSETTING( 0x30, "2 Players" )
3245 PORT_DIPSETTING( 0x20, "4 Players / 4 Coin Slots" ) // Push Player button A to start
3246 PORT_DIPSETTING( 0x10, "4 Players / 2 cabinets combined" )
3247 PORT_DIPSETTING( 0x00, "4 Players / 2 Coin Slots" )
3248 PORT_DIPNAME( 0x40, 0x40, "Continue" )
3249 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
3250 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3251 PORT_DIPNAME( 0x80, 0x00, "Game Version" ) // Not used for Hat Trick Hero / Euro Champ '92
3252 PORT_DIPSETTING( 0x00, "Normal" )
3253 PORT_DIPSETTING( 0x80, "European" )
3254
3255 PORT_START /* IN3 */
3256 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
3257 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
3258 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
3259 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
3260 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
3261 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
3262 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3263 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3)
3264
3265 PORT_START /* IN4 */
3266 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
3267 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
3268 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
3269 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
3270 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
3271 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
3272 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3273 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4)
3274 INPUT_PORTS_END
3275
3276 INPUT_PORTS_START( hthero )
3277 PORT_START /* IN0 */
3278 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3279 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3280 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3281 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3282 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3283 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3284 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3285 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3286
3287 PORT_START /* IN1 */
3288 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3289 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3290 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3291 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3292 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3293 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3294 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3295 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3296
3297 PORT_START /* IN2 */
3298 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
3299 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
3300 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
3301 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
3302 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
3303 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 )
3304 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE3 )
3305 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
3306
3307 PORT_START /* DSW A */
3308 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) )
3309 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3310 PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
3311 PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
3312 PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
3313 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) )
3314 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3315 PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
3316 PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
3317 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
3318 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) )
3319 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3320 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
3321 PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
3322 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
3323 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
3324 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3325 PORT_DIPNAME( 0x80, 0x00, "Game Over Type" ) // 2p simultaneous play
3326 PORT_DIPSETTING( 0x80, "Both Teams' Games Over" )
3327 PORT_DIPSETTING( 0x00, "Losing Team's Game is Over" )
3328
3329 PORT_START /* DSW B */
3330 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
3331 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3332 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3333 PORT_DIPNAME( 0x02, 0x02, "Allow Continue" )
3334 PORT_DIPSETTING( 0x02, DEF_STR( No ) )
3335 PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
3336 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Cabinet ) )
3337 PORT_DIPSETTING( 0x0c, "2 Players" )
3338 PORT_DIPSETTING( 0x04, "4 Players / 4 Coin Slots" ) // Push Player button A to start
3339 PORT_DIPSETTING( 0x08, "4 Players / 2 cabinets combined" )
3340 PORT_DIPSETTING( 0x00, "4 Players / 2 Coin Slots" )
3341 PORT_DIPNAME( 0x30, 0x30, "Game Time" )
3342 PORT_DIPSETTING( 0x00, "1.5 Minutes" )
3343 PORT_DIPSETTING( 0x30, " 2 Minutes" )
3344 PORT_DIPSETTING( 0x20, "2.5 Minutes" )
3345 PORT_DIPSETTING( 0x10, " 3 Minutes" )
3346 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
3347 PORT_DIPSETTING( 0x40, "Easy" )
3348 PORT_DIPSETTING( 0xc0, "Normal" )
3349 PORT_DIPSETTING( 0x80, "Hard" )
3350 PORT_DIPSETTING( 0x00, "Very Hard" )
3351
3352 PORT_START /* IN3 */
3353 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
3354 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
3355 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
3356 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
3357 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
3358 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
3359 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3360 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3)
3361
3362 PORT_START /* IN4 */
3363 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
3364 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
3365 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
3366 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
3367 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
3368 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
3369 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3370 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4)
3371 INPUT_PORTS_END
3372
3373 INPUT_PORTS_START( ninjak )
3374 PORT_START /* IN0 */
3375 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3376 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3377 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3378 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3379 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3380 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3381 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3382 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3383
3384 PORT_START /* IN1 */
3385 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3386 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3387 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3388 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3389 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3390 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3391 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3392 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3393
3394 PORT_START /* IN2 */
3395 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3396 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
3397 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
3398 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
3399 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
3400 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
3401 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
3402 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 )
3403
3404 PORT_START /* DSW A */
3405 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
3406 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3407 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3408 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3409 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3410 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3411 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3412 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3413 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3414 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3415 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3416 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
3417 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
3418 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
3419 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3420 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3421 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
3422 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
3423 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
3424 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
3425
3426 PORT_START /* DSW B */
3427 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3428 PORT_DIPSETTING( 0x02, "Easy" )
3429 PORT_DIPSETTING( 0x03, "Normal" )
3430 PORT_DIPSETTING( 0x01, "Hard" )
3431 PORT_DIPSETTING( 0x00, "Hardest" )
3432 PORT_DIPNAME( 0x0c, 0x0c, "Cabinet Type" )
3433 PORT_DIPSETTING( 0x0c, "2 players" )
3434 PORT_DIPSETTING( 0x08, "TROG (4 players / 2 coin slots)" )
3435 PORT_DIPSETTING( 0x04, "MTX2 (4 players / 2 cabinets combined)" )
3436 PORT_DIPSETTING( 0x00, "TMNT (4 players / 4 coin slots)" )
3437 PORT_DIPNAME( 0x30, 0x10, DEF_STR( Lives ) )
3438 PORT_DIPSETTING( 0x20, "2" )
3439 PORT_DIPSETTING( 0x30, "3" )
3440 PORT_DIPSETTING( 0x10, "4" )
3441 PORT_DIPSETTING( 0x00, "5" )
3442 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
3443 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
3444 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
3445 PORT_DIPNAME( 0x80, 0x80, "Game Type" )
3446 PORT_DIPSETTING( 0x00, "1 Player only" )
3447 PORT_DIPSETTING( 0x80, "Multiplayer" )
3448
3449 PORT_START /* IN3 */
3450 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
3451 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
3452 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
3453 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
3454 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
3455 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
3456 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3457 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3 )
3458
3459 PORT_START /* IN4 */
3460 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
3461 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
3462 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
3463 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
3464 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
3465 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
3466 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3467 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
3468 INPUT_PORTS_END
3469
3470 INPUT_PORTS_START( ninjakj )
3471 PORT_START /* IN0 */
3472 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3473 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3474 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3475 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3476 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3477 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3478 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3479 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3480
3481 PORT_START /* IN1 */
3482 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3483 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3484 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3485 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3486 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3487 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3488 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3489 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3490
3491 PORT_START /* IN2 */
3492 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3493 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
3494 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 )
3495 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
3496 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
3497 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
3498 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
3499 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 )
3500
3501 PORT_START /* DSW A */
3502 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
3503 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3504 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3505 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3506 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3507 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3508 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3509 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3510 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3511 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3512 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3513 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3514 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
3515 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3516 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
3517 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3518 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3519 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3520 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
3521 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3522
3523 PORT_START /* DSW B */
3524 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3525 PORT_DIPSETTING( 0x02, "Easy" )
3526 PORT_DIPSETTING( 0x03, "Normal" )
3527 PORT_DIPSETTING( 0x01, "Hard" )
3528 PORT_DIPSETTING( 0x00, "Hardest" )
3529 PORT_DIPNAME( 0x0c, 0x0c, "Cabinet Type" )
3530 PORT_DIPSETTING( 0x0c, "2 players" )
3531 PORT_DIPSETTING( 0x08, "TROG (4 players / 2 coin slots)" )
3532 PORT_DIPSETTING( 0x04, "MTX2 (4 players / 2 cabinets combined)" )
3533 PORT_DIPSETTING( 0x00, "TMNT (4 players / 4 coin slots)" )
3534 PORT_DIPNAME( 0x30, 0x10, DEF_STR( Lives ) )
3535 PORT_DIPSETTING( 0x20, "2" )
3536 PORT_DIPSETTING( 0x30, "3" )
3537 PORT_DIPSETTING( 0x10, "4" )
3538 PORT_DIPSETTING( 0x00, "5" )
3539 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
3540 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
3541 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
3542 PORT_DIPNAME( 0x80, 0x80, "Game Type" )
3543 PORT_DIPSETTING( 0x00, "1 Player only" )
3544 PORT_DIPSETTING( 0x80, "Multiplayer" )
3545
3546 PORT_START /* IN3 */
3547 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
3548 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
3549 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
3550 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
3551 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
3552 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
3553 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3554 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3 )
3555
3556 PORT_START /* IN4 */
3557 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
3558 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
3559 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
3560 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
3561 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
3562 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
3563 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3564 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
3565 INPUT_PORTS_END
3566
3567 INPUT_PORTS_START( driftout )
3568 PORT_START /* DSW A */
3569 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
3570 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3571 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3572 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3573 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3574 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3575 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3576 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3577 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3578 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3579 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3580 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
3581 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3582 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
3583 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
3584 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3585 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3586 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
3587 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
3588 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3589
3590 PORT_START /* DSW B */
3591 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3592 PORT_DIPSETTING( 0x02, "Easy" )
3593 PORT_DIPSETTING( 0x03, "Normal" )
3594 PORT_DIPSETTING( 0x01, "Hard" )
3595 PORT_DIPSETTING( 0x00, "Hardest" )
3596 PORT_DIPNAME( 0x0c, 0x0c, "Control" ) /* correct acc. to service mode */
3597 PORT_DIPSETTING( 0x0c, "Joystick" )
3598 PORT_DIPSETTING( 0x08, "Paddle" )
3599 PORT_DIPSETTING( 0x04, "Joystick" )
3600 PORT_DIPSETTING( 0x00, "Steering wheel" )
3601 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
3602 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3603 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3604 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
3605 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3606 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3607 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
3608 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
3609 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3610 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
3611 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
3612 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3613
3614 PORT_START /* IN0 */
3615 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3616 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3617 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3618 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3619 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3620 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3621 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3622 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3623
3624 PORT_START /* IN1 */
3625 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P not used? */
3626
3627 PORT_START /* IN2 */
3628 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3629 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
3630 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3631 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3632 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3633 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3634 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3635 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3636
3637 PORT_START /* Paddle A */
3638 PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_PLAYER1, 50, 10, 0, 0 )
3639
3640 PORT_START /* Paddle B */
3641 PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_PLAYER2, 50, 10, 0, 0 )
3642 INPUT_PORTS_END
3643
3644 INPUT_PORTS_START( gunfront )
3645 PORT_START /* DSW A */
3646 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3647 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3648 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
3649 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3650 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3651 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3652 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3653 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3654 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3655 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3656 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3657 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
3658 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
3659 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
3660 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3661 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3662 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
3663 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
3664 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
3665 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
3666
3667 PORT_START /* DSW B */
3668 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3669 PORT_DIPSETTING( 0x02, "Easy" )
3670 PORT_DIPSETTING( 0x03, "Medium" )
3671 PORT_DIPSETTING( 0x01, "Hard" )
3672 PORT_DIPSETTING( 0x00, "Hardest" )
3673 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
3674 PORT_DIPSETTING( 0x0c, DEF_STR( Unknown ) )
3675 PORT_DIPSETTING( 0x08, DEF_STR( Unknown ) )
3676 PORT_DIPSETTING( 0x04, DEF_STR( Unknown ) )
3677 PORT_DIPSETTING( 0x00, DEF_STR( Unknown ) )
3678 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
3679 PORT_DIPSETTING( 0x30, "3" )
3680 PORT_DIPSETTING( 0x20, "1" )
3681 PORT_DIPSETTING( 0x10, "2" )
3682 PORT_DIPSETTING( 0x00, "5" )
3683 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
3684 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
3685 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
3686 PORT_DIPNAME( 0x80, 0x80, "Pair Play" )
3687 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3688 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
3689
3690 PORT_START /* IN0 */
3691 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3692 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3693 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3694 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3695 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3696 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3697 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3698 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3699
3700 PORT_START /* IN1 */
3701 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3702 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3703 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3704 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3705 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3706 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3707 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3708 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3709
3710 PORT_START /* IN2 */
3711 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3712 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1)
3713 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3714 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3715 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3716 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3717 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3718 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3719 INPUT_PORTS_END
3720
3721 INPUT_PORTS_START( gunfronj )
3722 PORT_START /* DSW A */
3723 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3724 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3725 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
3726 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3727 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3728 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3729 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3730 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3731 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3732 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3733 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3734 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3735 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
3736 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3737 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
3738 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3739 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3740 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3741 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
3742 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3743
3744 PORT_START /* DSW B */
3745 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3746 PORT_DIPSETTING( 0x02, "Easy" )
3747 PORT_DIPSETTING( 0x03, "Medium" )
3748 PORT_DIPSETTING( 0x01, "Hard" )
3749 PORT_DIPSETTING( 0x00, "Hardest" )
3750 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
3751 PORT_DIPSETTING( 0x0c, DEF_STR( Unknown ) )
3752 PORT_DIPSETTING( 0x08, DEF_STR( Unknown ) )
3753 PORT_DIPSETTING( 0x04, DEF_STR( Unknown ) )
3754 PORT_DIPSETTING( 0x00, DEF_STR( Unknown ) )
3755 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
3756 PORT_DIPSETTING( 0x30, "3" )
3757 PORT_DIPSETTING( 0x20, "1" )
3758 PORT_DIPSETTING( 0x10, "2" )
3759 PORT_DIPSETTING( 0x00, "5" )
3760 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
3761 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
3762 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
3763 PORT_DIPNAME( 0x80, 0x80, "Pair Play" )
3764 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3765 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
3766
3767 PORT_START /* IN0 */
3768 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3769 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3770 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3771 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3772 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3773 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3774 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3775 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3776
3777 PORT_START /* IN1 */
3778 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3779 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3780 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3781 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3782 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3783 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3784 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3785 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3786
3787 PORT_START /* IN2 */
3788 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3789 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1)
3790 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3791 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3792 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3793 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3794 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3795 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3796 INPUT_PORTS_END
3797
3798 INPUT_PORTS_START( metalb )
3799 PORT_START /* DSW A */
3800 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3801 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3802 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
3803 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3804 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3805 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3806 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3807 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3808 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3809 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3810 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3811 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
3812 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
3813 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
3814 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3815 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3816 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
3817 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
3818 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
3819 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
3820
3821 PORT_START /* DSW B */
3822 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3823 PORT_DIPSETTING( 0x02, "Easy" )
3824 PORT_DIPSETTING( 0x03, "Medium" )
3825 PORT_DIPSETTING( 0x01, "Hard" )
3826 PORT_DIPSETTING( 0x00, "Hardest" )
3827 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
3828 PORT_DIPSETTING( 0x0c, DEF_STR( Unknown ) )
3829 PORT_DIPSETTING( 0x08, DEF_STR( Unknown ) )
3830 PORT_DIPSETTING( 0x04, DEF_STR( Unknown ) )
3831 PORT_DIPSETTING( 0x00, DEF_STR( Unknown ) )
3832 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
3833 PORT_DIPSETTING( 0x30, "3" )
3834 PORT_DIPSETTING( 0x20, "5" )
3835 PORT_DIPSETTING( 0x10, "2" )
3836 PORT_DIPSETTING( 0x00, "1" )
3837 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
3838 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
3839 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
3840 PORT_DIPNAME( 0x80, 0x80, "Pair Play" )
3841 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3842 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
3843
3844 PORT_START /* IN0 */
3845 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3846 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3847 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3848 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3849 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3850 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3851 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
3852 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3853
3854 PORT_START /* IN1 */
3855 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3856 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3857 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3858 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3859 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3860 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3861 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
3862 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3863
3864 PORT_START /* IN2 */
3865 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3866 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1)
3867 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3868 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3869 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3870 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3871 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3872 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3873 INPUT_PORTS_END
3874
3875 INPUT_PORTS_START( metalbj )
3876 PORT_START /* DSW A */
3877 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3878 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3879 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
3880 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3881 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3882 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3883 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3884 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3885 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3886 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3887 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3888 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3889 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
3890 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3891 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
3892 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
3893 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
3894 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3895 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
3896 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3897
3898 PORT_START /* DSW B */
3899 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
3900 PORT_DIPSETTING( 0x02, "Easy" )
3901 PORT_DIPSETTING( 0x03, "Medium" )
3902 PORT_DIPSETTING( 0x01, "Hard" )
3903 PORT_DIPSETTING( 0x00, "Hardest" )
3904 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
3905 PORT_DIPSETTING( 0x0c, DEF_STR( Unknown ) )
3906 PORT_DIPSETTING( 0x08, DEF_STR( Unknown ) )
3907 PORT_DIPSETTING( 0x04, DEF_STR( Unknown ) )
3908 PORT_DIPSETTING( 0x00, DEF_STR( Unknown ) )
3909 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
3910 PORT_DIPSETTING( 0x30, "3" )
3911 PORT_DIPSETTING( 0x20, "5" )
3912 PORT_DIPSETTING( 0x10, "2" )
3913 PORT_DIPSETTING( 0x00, "1" )
3914 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
3915 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
3916 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
3917 PORT_DIPNAME( 0x80, 0x80, "Pair Play" )
3918 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3919 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
3920
3921 PORT_START /* IN0 */
3922 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3923 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3924 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3925 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3926 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3927 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3928 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
3929 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3930
3931 PORT_START /* IN1 */
3932 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3933 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3934 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3935 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3936 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3937 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3938 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
3939 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3940
3941 PORT_START /* IN2 */
3942 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
3943 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1)
3944 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
3945 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
3946 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
3947 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
3948 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3949 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
3950 INPUT_PORTS_END
3951
3952 INPUT_PORTS_START( deadconx )
3953 PORT_START /* IN0 */
3954 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
3955 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
3956 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
3957 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
3958 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3959 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3960 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3961 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
3962
3963 PORT_START /* IN1 */
3964 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
3965 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
3966 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
3967 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
3968 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3969 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3970 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
3971 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
3972
3973 PORT_START /* IN2 */
3974 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
3975 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
3976 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
3977 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
3978 PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_SERVICE, "Service A", KEYCODE_9, IP_JOY_NONE )
3979 PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_SERVICE, "Service B", KEYCODE_0, IP_JOY_NONE )
3980 PORT_BITX(0x40, IP_ACTIVE_LOW, IPT_SERVICE, "Service C", KEYCODE_MINUS, IP_JOY_NONE )
3981 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
3982
3983 PORT_START /* DSW A */
3984 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
3985 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3986 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
3987 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
3988 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3989 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3990 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
3991 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
3992 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3993 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
3994 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
3995 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
3996 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
3997 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
3998 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
3999 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4000 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
4001 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
4002 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
4003 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
4004
4005 PORT_START /* DSW B, missing a timer speed maybe? */
4006 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4007 PORT_DIPSETTING( 0x02, "Easy" )
4008 PORT_DIPSETTING( 0x03, "Medium" )
4009 PORT_DIPSETTING( 0x01, "Hard" )
4010 PORT_DIPSETTING( 0x00, "Hardest" )
4011 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
4012 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4013 PORT_DIPSETTING( 0x00, DEF_STR( On) )
4014 PORT_DIPNAME( 0x18, 0x18, "Damage" )
4015 PORT_DIPSETTING( 0x18, "Normal" ) /* Hero can take 10 gun shots */
4016 PORT_DIPSETTING( 0x10, "Small" ) /* Hero can take 12 gun shots */
4017 PORT_DIPSETTING( 0x08, "Big" ) /* Hero can take 8 gun shots */
4018 PORT_DIPSETTING( 0x00, "Biggest" ) /* Hero can take 5 gun shots */
4019 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
4020 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4021 PORT_DIPSETTING( 0x00, DEF_STR( On) )
4022 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
4023 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4024 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4025 PORT_DIPNAME( 0x80, 0x80, "Game Type" )
4026 PORT_DIPSETTING( 0x00, "1 Player only" )
4027 PORT_DIPSETTING( 0x80, "Multiplayer" )
4028
4029 PORT_START /* IN3 */
4030 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
4031 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
4032 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
4033 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
4034 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
4035 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
4036 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4037 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3 )
4038
4039 PORT_START /* IN4 */
4040 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
4041 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
4042 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
4043 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
4044 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
4045 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
4046 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4047 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
4048 INPUT_PORTS_END
4049
4050 INPUT_PORTS_START( deadconj )
4051 PORT_START /* IN0 */
4052 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
4053 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
4054 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
4055 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
4056 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4057 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4058 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4059 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4060
4061 PORT_START /* IN1 */
4062 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
4063 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
4064 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
4065 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
4066 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4067 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4068 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4069 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4070
4071 PORT_START /* IN2 */
4072 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
4073 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
4074 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
4075 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
4076 PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_SERVICE, "Service A", KEYCODE_9, IP_JOY_NONE )
4077 PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_SERVICE, "Service B", KEYCODE_0, IP_JOY_NONE )
4078 PORT_BITX(0x40, IP_ACTIVE_LOW, IPT_SERVICE, "Service C", KEYCODE_MINUS, IP_JOY_NONE )
4079 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
4080
4081 PORT_START /* DSW A */
4082 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
4083 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4084 PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
4085 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
4086 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4087 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4088 PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
4089 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) )
4090 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4091 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
4092 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) )
4093 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4094 PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
4095 PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
4096 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
4097 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) )
4098 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4099 PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
4100 PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
4101 PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
4102
4103 PORT_START /* DSW B */
4104 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
4105 PORT_DIPSETTING( 0x40, "Easy" )
4106 PORT_DIPSETTING( 0xc0, "Medium" )
4107 PORT_DIPSETTING( 0x80, "Hard" )
4108 PORT_DIPSETTING( 0x00, "Hardest" )
4109 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
4110 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4111 PORT_DIPSETTING( 0x00, DEF_STR( On) )
4112 PORT_DIPNAME( 0x18, 0x18, "Damage" )
4113 PORT_DIPSETTING( 0x18, "Normal" ) /* Hero can take 10 gun shots */
4114 PORT_DIPSETTING( 0x08, "Small" ) /* Hero can take 12 gun shots */
4115 PORT_DIPSETTING( 0x10, "Big" ) /* Hero can take 8 gun shots */
4116 PORT_DIPSETTING( 0x00, "Biggest" ) /* Hero can take 5 gun shots */
4117 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
4118 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4119 PORT_DIPSETTING( 0x00, DEF_STR( On) )
4120 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
4121 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4122 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4123 PORT_DIPNAME( 0x01, 0x01, "Game Type" )
4124 PORT_DIPSETTING( 0x00, "1 Player only" )
4125 PORT_DIPSETTING( 0x01, "Multiplayer" )
4126
4127 PORT_START /* IN3 */
4128 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
4129 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
4130 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
4131 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
4132 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
4133 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
4134 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4135 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3 )
4136
4137 PORT_START /* IN4 */
4138 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
4139 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
4140 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
4141 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
4142 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
4143 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
4144 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4145 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
4146 INPUT_PORTS_END
4147
4148 INPUT_PORTS_START( dinorex )
4149 PORT_START /* DSW A */
4150 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4151 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4152 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4153 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4154 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4155 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4156 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4157 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4158 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4159 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4160 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4161 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
4162 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
4163 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
4164 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4165 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4166 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
4167 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
4168 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
4169 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
4170
4171 PORT_START /* DSW B */
4172 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4173 PORT_DIPSETTING( 0x02, "Easy" )
4174 PORT_DIPSETTING( 0x03, "Normal" )
4175 PORT_DIPSETTING( 0x01, "Hard" )
4176 PORT_DIPSETTING( 0x00, "Hardest" )
4177 PORT_DIPNAME( 0x0c, 0x0c, "Damage" )
4178 PORT_DIPSETTING( 0x0c, "Normal" )
4179 PORT_DIPSETTING( 0x08, "Small" )
4180 PORT_DIPSETTING( 0x04, "Big" )
4181 PORT_DIPSETTING( 0x00, "Biggest" )
4182 PORT_DIPNAME( 0x10, 0x10, "Timer Speed" ) // Appears to make little difference
4183 PORT_DIPSETTING( 0x10, "Normal" )
4184 PORT_DIPSETTING( 0x00, "Fast" )
4185 PORT_DIPNAME( 0x20, 0x20, "Match Type" ) // Raine says "Points to Win"
4186 PORT_DIPSETTING( 0x20, "Best of 3" )
4187 PORT_DIPSETTING( 0x00, "Single" )
4188 PORT_DIPNAME( 0x40, 0x40, "2 Player Mode" )
4189 PORT_DIPSETTING( 0x40, DEF_STR( Upright ) )
4190 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
4191 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4192 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4193 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4194
4195 PORT_START /* IN0 */
4196 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
4197 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
4198 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
4199 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
4200 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4201 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4202 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4203 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4204
4205 PORT_START /* IN1 */
4206 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
4207 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
4208 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
4209 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
4210 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4211 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4212 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4213 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4214
4215 PORT_START /* IN2 */
4216 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4217 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4218 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4219 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4220 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4221 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4222 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4223 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4224 INPUT_PORTS_END
4225
4226 INPUT_PORTS_START( dinorexj )
4227 PORT_START /* DSW A */
4228 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4229 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4230 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4231 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4232 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4233 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4234 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4235 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4236 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4237 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4238 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4239 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4240 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4241 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4242 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4243 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4244 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4245 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
4246 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
4247 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4248
4249 PORT_START /* DSW B */
4250 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4251 PORT_DIPSETTING( 0x02, "Easy" )
4252 PORT_DIPSETTING( 0x03, "Normal" )
4253 PORT_DIPSETTING( 0x01, "Hard" )
4254 PORT_DIPSETTING( 0x00, "Hardest" )
4255 PORT_DIPNAME( 0x0c, 0x0c, "Damage" )
4256 PORT_DIPSETTING( 0x0c, "Normal" )
4257 PORT_DIPSETTING( 0x08, "Small" )
4258 PORT_DIPSETTING( 0x04, "Big" )
4259 PORT_DIPSETTING( 0x00, "Biggest" )
4260 PORT_DIPNAME( 0x10, 0x10, "Timer Speed" ) // Appears to make little difference
4261 PORT_DIPSETTING( 0x10, "Normal" )
4262 PORT_DIPSETTING( 0x00, "Fast" )
4263 PORT_DIPNAME( 0x20, 0x20, "Match Type" ) // Raine says "Points to Win"
4264 PORT_DIPSETTING( 0x20, "Best of 3" )
4265 PORT_DIPSETTING( 0x00, "Single" )
4266 PORT_DIPNAME( 0x40, 0x40, "2 Player Mode" )
4267 PORT_DIPSETTING( 0x40, DEF_STR( Upright ) )
4268 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
4269 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4270 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4271 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4272
4273 PORT_START /* IN0 */
4274 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
4275 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
4276 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
4277 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
4278 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4279 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4280 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4281 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4282
4283 PORT_START /* IN1 */
4284 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
4285 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
4286 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
4287 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
4288 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4289 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4290 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4291 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4292
4293 PORT_START /* IN2 */
4294 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4295 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4296 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4297 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4298 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4299 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4300 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4301 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4302 INPUT_PORTS_END
4303
4304 INPUT_PORTS_START( solfigtr )
4305 PORT_START /* IN0 */
4306 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
4307 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
4308 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
4309 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
4310 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4311 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4312 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4313 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4314
4315 PORT_START /* IN1 */
4316 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
4317 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
4318 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
4319 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
4320 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4321 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4322 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4323 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4324
4325 PORT_START /* IN2 */
4326 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4327 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4328 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4329 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4330 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4331 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4332 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4333 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4334
4335 PORT_START /* DSW A */
4336 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4337 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4338 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4339 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4340 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4341 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4342 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4343 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4344 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4345 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4346 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4347 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
4348 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
4349 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
4350 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4351 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) /* For North America Coin B is "Buy in"/Continue */
4352 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) /* Buy in = Same as current Coin A */
4353 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) /* Buy in = 1 Coin to Continue */
4354 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) ) /* Buy in = 2 Coin to Continue */
4355 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) /* Buy in = 3 Coin to Continue */
4356
4357 PORT_START /* DSW B */
4358 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4359 PORT_DIPSETTING( 0x02, "Easy" )
4360 PORT_DIPSETTING( 0x03, "Normal" )
4361 PORT_DIPSETTING( 0x01, "Hard" )
4362 PORT_DIPSETTING( 0x00, "Hardest" )
4363 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
4364 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4365 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4366 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4367 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4368 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4369 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
4370 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4371 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4372 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
4373 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4374 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4375 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4376 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4377 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4378 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4379 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4380 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4381 INPUT_PORTS_END
4382
4383 INPUT_PORTS_START( koshien )
4384 PORT_START /* DSW A */
4385 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
4386 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4387 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
4388 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4389 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4390 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4391 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4392 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4393 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4394 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4395 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4396 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4397 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4398 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4399 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4400 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4401 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4402 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
4403 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
4404 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4405
4406 PORT_START /* DSW B, some wrong ? */
4407 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4408 PORT_DIPSETTING( 0x02, "Easy" )
4409 PORT_DIPSETTING( 0x03, "Normal" )
4410 PORT_DIPSETTING( 0x01, "Hard" )
4411 PORT_DIPSETTING( 0x00, "Hardest" )
4412 PORT_DIPNAME( 0x04, 0x04, "Timer" )
4413 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4414 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
4415 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4416 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4417 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4418 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
4419 PORT_DIPSETTING( 0x30, "3" )
4420 PORT_DIPSETTING( 0x20, "2" )
4421 PORT_DIPSETTING( 0x10, "4" )
4422 PORT_DIPSETTING( 0x00, "5" )
4423 PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
4424 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
4425 PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
4426 PORT_DIPNAME( 0x80, 0x80, "Game Type" )
4427 PORT_DIPSETTING( 0x80, "Double Control Panel" )
4428 PORT_DIPSETTING( 0x00, "Single Control Panel" )
4429
4430 PORT_START /* IN1 */
4431 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4432 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4433 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4434 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
4435 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4436 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4437 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4438 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4439
4440 PORT_START /* IN2 */
4441 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4442 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4443 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4444 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4445 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4446 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4447 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4448 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4449
4450 PORT_START /* IN0 */
4451 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
4452 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
4453 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
4454 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
4455 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
4456 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
4457 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
4458 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
4459 INPUT_PORTS_END
4460
4461 INPUT_PORTS_START( quizhq )
4462 PORT_START /* IN0 */
4463 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4464 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4465 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
4466 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4467 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER1 ) // ??
4468 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4469 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4470 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4471
4472 PORT_START /* IN1 */
4473 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4474 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4475 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
4476 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4477 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER2 ) // ??
4478 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4479 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4480 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4481
4482 PORT_START /* IN2 */
4483 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4484 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4485 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4486 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4487 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4488 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4489 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4490 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4491
4492 PORT_START /* DSW A */
4493 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4494 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4495 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4496 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4497 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4498 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4499 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4500 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4501 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4502 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4503 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4504 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4505 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4506 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4507 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4508 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4509 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4510 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
4511 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
4512 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4513
4514 PORT_START /* DSW B, wrong */
4515 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4516 PORT_DIPSETTING( 0x02, "Easy" )
4517 PORT_DIPSETTING( 0x03, "Normal" )
4518 PORT_DIPSETTING( 0x01, "Hard" )
4519 PORT_DIPSETTING( 0x00, "Hardest" )
4520 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
4521 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4522 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4523 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4524 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4525 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4526 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
4527 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4528 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4529 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
4530 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4531 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4532 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4533 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4534 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4535 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4536 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4537 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4538 INPUT_PORTS_END
4539
4540 INPUT_PORTS_START( qjinsei )
4541 PORT_START /* DSW A */
4542 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4543 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4544 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4545 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4546 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4547 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4548 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4549 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4550 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4551 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4552 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4553 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4554 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4555 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4556 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4557 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4558 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4559 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
4560 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
4561 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4562
4563 PORT_START /* DSW B, wrong */
4564 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4565 PORT_DIPSETTING( 0x02, "Easy" )
4566 PORT_DIPSETTING( 0x03, "Normal" )
4567 PORT_DIPSETTING( 0x01, "Hard" )
4568 PORT_DIPSETTING( 0x00, "Hardest" )
4569 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
4570 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4571 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4572 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4573 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4574 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4575 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
4576 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4577 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4578 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
4579 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4580 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4581 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4582 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4583 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4584 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4585 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4586 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4587
4588 PORT_START /* IN0 */
4589 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4590 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4591 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
4592 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4593 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER1 ) // ??
4594 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4595 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4596 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4597
4598 PORT_START /* IN1 */
4599 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4600 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4601 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
4602 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4603 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER2 ) // ??
4604 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4605 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4606 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4607
4608 PORT_START /* IN2 */
4609 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4610 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4611 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4612 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4613 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4614 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4615 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4616 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4617 INPUT_PORTS_END
4618
4619 INPUT_PORTS_START( qcrayon )
4620 PORT_START /* DSW A */
4621 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4622 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4623 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4624 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4625 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4626 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4627 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4628 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4629 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4630 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4631 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4632 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4633 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4634 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4635 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4636 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4637 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4638 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
4639 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
4640 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4641
4642 PORT_START /* DSW B, wrong */
4643 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4644 PORT_DIPSETTING( 0x02, "Easy" )
4645 PORT_DIPSETTING( 0x03, "Normal" )
4646 PORT_DIPSETTING( 0x01, "Hard" )
4647 PORT_DIPSETTING( 0x00, "Hardest" )
4648 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
4649 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4650 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4651 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4652 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4653 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4654 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
4655 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4656 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4657 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
4658 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4659 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4660 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4661 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4662 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4663 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4664 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4665 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4666
4667 PORT_START /* IN0 */
4668 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4669 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4670 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
4671 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4672 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER1 ) // ??
4673 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4674 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4675 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4676
4677 PORT_START /* IN1 */
4678 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4679 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4680 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
4681 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4682 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER2 ) // ??
4683 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4684 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4685 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4686
4687 PORT_START /* IN2 */
4688 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4689 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4690 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4691 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4692 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4693 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4694 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4695 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4696 INPUT_PORTS_END
4697
4698 INPUT_PORTS_START( qcrayon2 )
4699 PORT_START /* DSW A */
4700 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4701 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4702 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4703 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4704 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4705 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4706 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4707 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4708 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4709 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4710 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4711 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4712 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4713 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4714 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4715 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4716 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4717 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
4718 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
4719 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4720
4721 PORT_START /* DSW B, wrong */
4722 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4723 PORT_DIPSETTING( 0x02, "Easy" )
4724 PORT_DIPSETTING( 0x03, "Normal" )
4725 PORT_DIPSETTING( 0x01, "Hard" )
4726 PORT_DIPSETTING( 0x00, "Hardest" )
4727 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
4728 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4729 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4730 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4731 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4732 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4733 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
4734 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4735 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4736 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
4737 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4738 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4739 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4740 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4741 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4742 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4743 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4744 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4745
4746 PORT_START /* IN0 */
4747 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
4748 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
4749 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
4750 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
4751 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4752 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4753 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4754 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4755
4756 PORT_START /* IN1 */
4757 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
4758 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
4759 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
4760 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
4761 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4762 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4763 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4764 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4765
4766 PORT_START /* IN2 */
4767 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4768 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4769 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4770 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4771 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4772 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4773 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4774 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4775 INPUT_PORTS_END
4776
4777 INPUT_PORTS_START( yuyugogo )
4778 PORT_START /* DSW A */
4779 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4780 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4781 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4782 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4783 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4784 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4785 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4786 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4787 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4788 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4789 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
4790 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4791 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4792 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4793 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4794 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
4795 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4796 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
4797 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
4798 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4799
4800 PORT_START /* DSW B, wrong */
4801 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4802 PORT_DIPSETTING( 0x02, "Easy" )
4803 PORT_DIPSETTING( 0x03, "Normal" )
4804 PORT_DIPSETTING( 0x01, "Hard" )
4805 PORT_DIPSETTING( 0x00, "Hardest" )
4806 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
4807 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4808 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4809 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4810 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4811 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4812 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
4813 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4814 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4815 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
4816 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4817 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4818 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4819 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4820 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4821 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4822 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4823 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4824
4825 PORT_START /* IN0 */
4826 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4827 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4828 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
4829 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
4830 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER1 ) // ??
4831 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4832 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4833 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4834
4835 PORT_START /* IN1 */
4836 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4837 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4838 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
4839 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
4840 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER2 ) // ??
4841 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4842 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4843 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
4844
4845 PORT_START /* IN2 */
4846 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4847 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4848 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4849 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4850 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4851 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4852 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
4853 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
4854 INPUT_PORTS_END
4855
4856 INPUT_PORTS_START( mjnquest )
4857 PORT_START /* IN0 */
4858 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 A", KEYCODE_A, IP_JOY_NONE )
4859 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 E", KEYCODE_E, IP_JOY_NONE )
4860 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 I", KEYCODE_I, IP_JOY_NONE )
4861 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 M", KEYCODE_M, IP_JOY_NONE )
4862 PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "P1 Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
4863 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
4864 PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
4865
4866 PORT_START /* IN1 */
4867 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 B", KEYCODE_B, IP_JOY_NONE )
4868 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 F", KEYCODE_F, IP_JOY_NONE )
4869 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 J", KEYCODE_J, IP_JOY_NONE )
4870 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 N", KEYCODE_N, IP_JOY_NONE )
4871 PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "P1 Reach", KEYCODE_LSHIFT, IP_JOY_NONE )
4872 PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
4873
4874 PORT_START /* IN2 */
4875 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 C", KEYCODE_C, IP_JOY_NONE )
4876 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 G", KEYCODE_G, IP_JOY_NONE )
4877 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 K", KEYCODE_K, IP_JOY_NONE )
4878 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 Chi", KEYCODE_SPACE, IP_JOY_NONE )
4879 PORT_BITX(0x10, IP_ACTIVE_LOW, 0, "P1 Ron", KEYCODE_Z, IP_JOY_NONE )
4880 PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
4881
4882 PORT_START /* IN3 */
4883 PORT_BITX(0x01, IP_ACTIVE_LOW, 0, "P1 D", KEYCODE_D, IP_JOY_NONE )
4884 PORT_BITX(0x02, IP_ACTIVE_LOW, 0, "P1 H", KEYCODE_H, IP_JOY_NONE )
4885 PORT_BITX(0x04, IP_ACTIVE_LOW, 0, "P1 L", KEYCODE_L, IP_JOY_NONE )
4886 PORT_BITX(0x08, IP_ACTIVE_LOW, 0, "P1 Pon", KEYCODE_LALT, IP_JOY_NONE )
4887 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
4888
4889 PORT_START /* IN4 */
4890 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
4891
4892 PORT_START /* IN5 */
4893 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4894 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // ?
4895 PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
4896
4897 PORT_START /* IN6 */
4898 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
4899 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
4900 PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
4901
4902 PORT_START /* IN7:DSW A */
4903 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
4904 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4905 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4906 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
4907 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4908 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4909 PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
4910 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
4911 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4912 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4913 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
4914 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
4915 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4916 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
4917 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4918 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4919 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4920 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4921 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4922 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4923 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4924
4925 PORT_START /* IN8:DSW B */
4926 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
4927 PORT_DIPSETTING( 0x02, "Rank A (Easy)" )
4928 PORT_DIPSETTING( 0x03, "Rank B (Normal)" )
4929 PORT_DIPSETTING( 0x01, "Rank C (Hard)" )
4930 PORT_DIPSETTING( 0x00, "Rank D (Hardest)" )
4931 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
4932 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4933 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4934 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
4935 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4936 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4937 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
4938 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4939 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4940 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
4941 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4942 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4943 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
4944 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4945 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4946 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
4947 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4948 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4949 INPUT_PORTS_END
4950
4951 INPUT_PORTS_START( yesnoj ) // want to get into test mode to be sure of this lot
4952 PORT_START /* IN0 */
4953 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
4954 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
4955 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
4956 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
4957 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
4958
4959 PORT_START /* IN1 */
4960 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
4961 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
4962 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
4963 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
4964 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
4965
4966 PORT_START /* DSW A ??? */
4967 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
4968 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4969 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4970 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
4971 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4972 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4973 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
4974 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4975 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4976 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
4977 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4978 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4979 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
4980 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4981 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4982 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
4983 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4984 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4985 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
4986 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4987 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4988 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
4989 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4990 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4991
4992 PORT_START /* DSW B ? */
4993 PORT_SERVICE( 0x01, IP_ACTIVE_HIGH ) // ??? makes strange siren sounds happen
4994 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
4995 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4996 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
4997 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
4998 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4999 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5000 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
5001 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
5002 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5003 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) ) // not verified; coinage seems same for both slots
5004 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
5005 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
5006 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) // 2c-3c ??
5007 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) // 1c-2c ??
5008 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
5009 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
5010 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5011 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
5012 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
5013 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5014 INPUT_PORTS_END
5015
5016
5017 /***********************************************************
5018 GFX DECODING
5019 ***********************************************************/
5020
5021 static struct GfxLayout finalb_tilelayout =
5022 {
5023 16,16, /* 16*16 sprites */
5024 RGN_FRAC(1,2),
5025 6, /* 6 bits per pixel */
5026 { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+1, 0, 1, 2, 3 },
5027 { 3*4, 2*4, 1*4, 0*4, 7*4, 6*4, 5*4, 4*4,
5028 11*4, 10*4, 9*4, 8*4, 15*4, 14*4, 13*4, 12*4 },
5029 { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
5030 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
5031 128*8 /* every sprite takes 128 consecutive bytes */
5032 };
5033
5034 static struct GfxLayout tilelayout =
5035 {
5036 16,16, /* 16*16 sprites */
5037 RGN_FRAC(1,1),
5038 4, /* 4 bits per pixel */
5039 { 0, 1, 2, 3 },
5040 { 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4, 9*4, 8*4, 11*4, 10*4, 13*4, 12*4, 15*4, 14*4 },
5041 { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
5042 128*8 /* every sprite takes 128 consecutive bytes */
5043 };
5044
5045 static struct GfxLayout charlayout =
5046 {
5047 8,8, /* 8*8 characters */
5048 RGN_FRAC(1,1),
5049 4, /* 4 bits per pixel */
5050 { 0, 1, 2, 3 },
5051 { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 },
5052 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
5053 32*8 /* every sprite takes 32 consecutive bytes */
5054 };
5055
5056 static struct GfxLayout yuyugogo_charlayout =
5057 {
5058 8,8, /* 8*8 characters */
5059 RGN_FRAC(1,1),
5060 1, /* 1 bit per pixel */
5061 { 0 },
5062 { 0, 1, 2, 3, 4, 5, 6, 7 },
5063 { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
5064 8*8 /* every sprite takes 8 consecutive bytes */
5065 };
5066
5067 static struct GfxLayout pivotlayout =
5068 {
5069 8,8, /* 8*8 characters */
5070 RGN_FRAC(1,1),
5071 4, /* 4 bits per pixel */
5072 { 0, 1, 2, 3 },
5073 { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
5074 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
5075 32*8 /* every sprite takes 32 consecutive bytes */
5076 };
5077
5078 static struct GfxDecodeInfo finalb_gfxdecodeinfo[] =
5079 {
5080 { REGION_GFX2, 0, &finalb_tilelayout, 0, 64 }, /* sprites & playfield, 6-bit deep */
5081 { REGION_GFX1, 0, &charlayout, 0, 256 }, /* sprites & playfield */
5082 { -1 } /* end of array */
5083 };
5084
5085 static struct GfxDecodeInfo taitof2_gfxdecodeinfo[] =
5086 {
5087 { REGION_GFX2, 0, &tilelayout, 0, 256 }, /* sprites & playfield */
5088 { REGION_GFX1, 0, &charlayout, 0, 256 }, /* sprites & playfield */
5089 { -1 } /* end of array */
5090 };
5091
5092 static struct GfxDecodeInfo pivot_gfxdecodeinfo[] =
5093 {
5094 { REGION_GFX2, 0, &tilelayout, 0, 256 }, /* sprites & playfield */
5095 { REGION_GFX1, 0, &charlayout, 0, 256 }, /* sprites & playfield */
5096 { REGION_GFX3, 0, &pivotlayout, 0, 256 }, /* sprites & playfield */
5097 { -1 } /* end of array */
5098 };
5099
5100 static struct GfxDecodeInfo yuyugogo_gfxdecodeinfo[] =
5101 {
5102 { REGION_GFX2, 0, &tilelayout, 0, 256 }, /* sprites & playfield */
5103 { REGION_GFX1, 0, &yuyugogo_charlayout, 0, 256 }, /* sprites & playfield */
5104 { -1 } /* end of array */
5105 };
5106
5107 static struct GfxDecodeInfo thundfox_gfxdecodeinfo[] =
5108 {
5109 { REGION_GFX2, 0, &tilelayout, 0, 256 }, /* sprites & playfield */
5110 { REGION_GFX1, 0, &charlayout, 0, 256 }, /* TC0100SCN #1 */
5111 { REGION_GFX3, 0, &charlayout, 0, 256 }, /* TC0100SCN #2 */
5112 { -1 } /* end of array */
5113 };
5114
5115 static struct GfxLayout deadconx_charlayout =
5116 {
5117 16,16, /* 16*16 characters */
5118 8192, /* 8192 total characters */
5119 4, /* 4 bits per pixel */
5120 { 0, 1, 2, 3 },
5121 { 1*4, 0*4, 5*4, 4*4, 3*4, 2*4, 7*4, 6*4, 9*4, 8*4, 13*4, 12*4, 11*4, 10*4, 15*4, 14*4 },
5122 { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
5123 128*8 /* every sprite takes 128 consecutive bytes */
5124 };
5125
5126 static struct GfxDecodeInfo deadconx_gfxdecodeinfo[] =
5127 {
5128 { REGION_GFX2, 0, &tilelayout, 0, 256 }, /* sprites & playfield */
5129 { REGION_GFX1, 0, &deadconx_charlayout, 0, 256 }, /* sprites & playfield */
5130 { -1 } /* end of array */
5131 };
5132
5133
5134
5135 /* handler called by the YM2610 emulator when the internal timers cause an IRQ */
irqhandler(int irq)5136 static void irqhandler(int irq)
5137 {
5138 cpu_set_irq_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
5139 }
5140
5141 static struct YM2610interface ym2610_interface =
5142 {
5143 1, /* 1 chip */
5144 16000000/2, /* 8 MHz */
5145 { 30 },
5146 { 0 },
5147 { 0 },
5148 { 0 },
5149 { 0 },
5150 { irqhandler },
5151 { REGION_SOUND2 }, /* Delta-T */
5152 { REGION_SOUND1 }, /* ADPCM */
5153 { YM3012_VOL(60,MIXER_PAN_LEFT,60,MIXER_PAN_RIGHT) }
5154 };
5155
5156
5157 /***********************************************************
5158 MACHINE DRIVERS
5159 ***********************************************************/
5160
init_machine_qcrayon(void)5161 static void init_machine_qcrayon(void)
5162 {
5163 /* point to the extra ROM */
5164 cpu_setbank(8,memory_region(REGION_USER1));
5165 }
5166
5167 #define init_machine_0 0
5168
5169 #define MACHINE_DRIVER(NAME,INIT,MAXCOLS,GFX,VHSTART,VHREFRESH,EOF) \
5170 static struct MachineDriver machine_driver_##NAME = \
5171 { \
5172 /* basic machine hardware */ \
5173 { \
5174 { \
5175 CPU_M68000, \
5176 24000000/2, /* 12 MHz */ \
5177 NAME##_readmem, NAME##_writemem,0,0, \
5178 taitof2_interrupt,1 \
5179 }, \
5180 { \
5181 CPU_Z80 | CPU_AUDIO_CPU, \
5182 16000000/4, /* 4 MHz */ \
5183 sound_readmem, sound_writemem,0,0, \
5184 ignore_interrupt,0 /* IRQs are triggered by the YM2610 */ \
5185 } \
5186 }, \
5187 60, DEFAULT_60HZ_VBLANK_DURATION, /* frames per second, vblank duration */ \
5188 1, \
5189 init_machine_##INIT, \
5190 \
5191 /* video hardware */ \
5192 40*8, 32*8, { 0*8, 40*8-1, 2*8, 30*8-1 }, \
5193 \
5194 GFX##_gfxdecodeinfo, \
5195 MAXCOLS, MAXCOLS, \
5196 0, \
5197 \
5198 VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE, \
5199 taitof2_##EOF##_eof_callback, \
5200 taitof2_##VHSTART##_vh_start, \
5201 taitof2_vh_stop, \
5202 VHREFRESH##_vh_screenrefresh, \
5203 \
5204 /* sound hardware */ \
5205 SOUND_SUPPORTS_STEREO,0,0,0, \
5206 { \
5207 { \
5208 SOUND_YM2610, \
5209 &ym2610_interface \
5210 } \
5211 } \
5212 };
5213
5214 #define hthero_readmem footchmp_readmem
5215 #define hthero_writemem footchmp_writemem
5216 #define deadconj_readmem deadconx_readmem
5217 #define deadconj_writemem deadconx_writemem
5218
5219 /* NAME INIT MAXCOLS GFX VHSTART VHREFRESH EOF*/
5220 MACHINE_DRIVER( finalb, 0, 4096, finalb, finalb, taitof2, partial_buffer_delayed )
5221 MACHINE_DRIVER( dondokod, 0, 4096, pivot, dondokod, taitof2_pri_roz, partial_buffer_delayed )
5222 MACHINE_DRIVER( megab, 0, 4096, taitof2, 3p, taitof2_pri, no_buffer )
5223 MACHINE_DRIVER( thundfox, 0, 4096, thundfox, thundfox, thundfox, partial_buffer_delayed_thundfox )
5224 MACHINE_DRIVER( cameltry, 0, 4096, pivot, dondokod, taitof2_pri_roz, no_buffer )
5225 MACHINE_DRIVER( qtorimon, 0, 4096, yuyugogo, default, taitof2, partial_buffer_delayed )
5226 MACHINE_DRIVER( liquidk, 0, 4096, taitof2, 3p, taitof2_pri, partial_buffer_delayed )
5227 MACHINE_DRIVER( quizhq, 0, 4096, yuyugogo, default, taitof2, partial_buffer_delayed )
5228 MACHINE_DRIVER( ssi, 0, 4096, taitof2, ssi, ssi, partial_buffer_delayed )
5229 MACHINE_DRIVER( gunfront, 0, 4096, taitof2, gunfront, taitof2_pri, no_buffer )
5230 MACHINE_DRIVER( growl, 0, 4096, taitof2, growl, taitof2_pri, no_buffer )
5231 MACHINE_DRIVER( mjnquest, 0, 4096, taitof2, mjnquest, taitof2, no_buffer )
5232 MACHINE_DRIVER( footchmp, 0, 4096, deadconx, footchmp, deadconx, no_buffer )
5233 MACHINE_DRIVER( hthero, 0, 4096, deadconx, hthero, deadconx, no_buffer )
5234 MACHINE_DRIVER( koshien, 0, 4096, taitof2, 3p_buf, taitof2_pri, no_buffer )
5235 MACHINE_DRIVER( yuyugogo, qcrayon, 4096, yuyugogo, yuyugogo, yesnoj, no_buffer )
5236 MACHINE_DRIVER( ninjak, 0, 4096, taitof2, ninjak, taitof2_pri, no_buffer )
5237 MACHINE_DRIVER( solfigtr, 0, 4096, taitof2, 3p_buf, taitof2_pri, no_buffer )
5238 MACHINE_DRIVER( qzquest, 0, 4096, taitof2, default, taitof2, partial_buffer_delayed )
5239 MACHINE_DRIVER( pulirula, 0, 4096, pivot, pulirula, taitof2_pri_roz, no_buffer )
5240 MACHINE_DRIVER( metalb, 0, 8192, deadconx, metalb, metalb, no_buffer )
5241 MACHINE_DRIVER( qzchikyu, 0, 4096, taitof2, default, taitof2, no_buffer )
5242 MACHINE_DRIVER( yesnoj, 0, 4096, yuyugogo, yesnoj, yesnoj, no_buffer )
5243 MACHINE_DRIVER( deadconx, 0, 4096, deadconx, deadconx, deadconx, no_buffer )
5244 MACHINE_DRIVER( deadconj, 0, 4096, deadconx, deadconj, deadconx, no_buffer )
5245 MACHINE_DRIVER( dinorex, 0, 4096, taitof2, dinorex, taitof2_pri, no_buffer )
5246 MACHINE_DRIVER( qjinsei, 0, 4096, taitof2, c, taitof2_pri, no_buffer )
5247 MACHINE_DRIVER( qcrayon, qcrayon, 4096, taitof2, c, taitof2_pri, no_buffer )
5248 MACHINE_DRIVER( qcrayon2, qcrayon, 4096, taitof2, c, taitof2_pri, no_buffer )
5249 MACHINE_DRIVER( driftout, 0, 4096, pivot, driftout, taitof2_pri_roz, no_buffer )
5250
5251
5252
5253 /***************************************************************************
5254 DRIVERS
5255 ***************************************************************************/
5256
ROM_START(finalb)5257 ROM_START( finalb )
5258 ROM_REGION( 0x40000, REGION_CPU1 ) /* 256k for 68000 code */
5259 ROM_LOAD_EVEN( "b82-09", 0x00000, 0x20000, 0x632f1ecd )
5260 ROM_LOAD_ODD ( "b82-17", 0x00000, 0x20000, 0xe91b2ec9 )
5261
5262 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5263 ROM_LOAD_GFX_EVEN( "b82-06", 0x000000, 0x020000, 0xfc450a25 )
5264 ROM_LOAD_GFX_ODD ( "b82-07", 0x000000, 0x020000, 0xec3df577 )
5265
5266 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5267 ROM_LOAD_GFX_EVEN( "b82-04", 0x000000, 0x080000, 0x6346f98e ) /* sprites 4-bit format*/
5268 ROM_LOAD_GFX_ODD ( "b82-03", 0x000000, 0x080000, 0xdaa11561 ) /* sprites 4-bit format*/
5269
5270 /*Note:
5271 **this is intentional to load at 0x180000, not at 0x100000
5272 **because finalb_driver_init will move some bits around before data will be 'gfxdecoded'.
5273 **The whole thing is because this data is 2bits- while above is 4bits-packed format,
5274 **for a total of 6 bits per pixel.
5275 */
5276 ROM_LOAD ( "b82-05", 0x180000, 0x080000, 0xaa90b93a ) /* sprites 2-bit format*/
5277
5278 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5279 ROM_LOAD( "b82-10", 0x00000, 0x04000, 0xa38aaaed )
5280 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5281
5282 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5283 ROM_LOAD( "b82-02", 0x00000, 0x80000, 0x5dd06bdd )
5284
5285 ROM_REGION( 0x80000, REGION_SOUND2 ) /* Delta-T samples */
5286 ROM_LOAD( "b82-01", 0x00000, 0x80000, 0xf0eb6846 )
5287 ROM_END
5288
5289 ROM_START( finalbj )
5290 ROM_REGION( 0x40000, REGION_CPU1 ) /* 256k for 68000 code */
5291 ROM_LOAD_EVEN( "b82-09", 0x00000, 0x20000, 0x632f1ecd )
5292 ROM_LOAD_ODD ( "b82-08", 0x00000, 0x20000, 0x07154fe5 )
5293
5294 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5295 ROM_LOAD_GFX_EVEN( "b82-06", 0x000000, 0x020000, 0xfc450a25 )
5296 ROM_LOAD_GFX_ODD ( "b82-07", 0x000000, 0x020000, 0xec3df577 )
5297
5298 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5299 ROM_LOAD_GFX_EVEN( "b82-04", 0x000000, 0x080000, 0x6346f98e ) /* sprites 4-bit format*/
5300 ROM_LOAD_GFX_ODD ( "b82-03", 0x000000, 0x080000, 0xdaa11561 ) /* sprites 4-bit format*/
5301
5302 /*Note:
5303 **this is intentional to load at 0x180000, not at 0x100000
5304 **because finalb_driver_init will move some bits around before data will be 'gfxdecoded'.
5305 **The whole thing is because this data is 2bits- while above is 4bits-packed format,
5306 **for a total of 6 bits per pixel.
5307 */
5308 ROM_LOAD ( "b82-05", 0x180000, 0x080000, 0xaa90b93a ) /* sprites 2-bit format*/
5309
5310 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5311 ROM_LOAD( "b82-10", 0x00000, 0x04000, 0xa38aaaed )
5312 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5313
5314 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5315 ROM_LOAD( "b82-02", 0x00000, 0x80000, 0x5dd06bdd )
5316
5317 ROM_REGION( 0x80000, REGION_SOUND2 ) /* Delta-T samples */
5318 ROM_LOAD( "b82-01", 0x00000, 0x80000, 0xf0eb6846 )
5319 ROM_END
5320
5321 ROM_START( dondokod )
5322 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5323 ROM_LOAD_EVEN( "b95-12.bin", 0x00000, 0x20000, 0xd0fce87a )
5324 ROM_LOAD_ODD ( "b95-11-1.bin", 0x00000, 0x20000, 0xdad40cd3 )
5325 ROM_LOAD_EVEN( "b95-10.bin", 0x40000, 0x20000, 0xa46e1f0b )
5326 ROM_LOAD_ODD ( "b95-09.bin", 0x40000, 0x20000, 0xd8c86d39 )
5327
5328 ROM_REGION( 0x080000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5329 ROM_LOAD( "b95-02.bin", 0x000000, 0x080000, 0x67b4e979 ) /* background/foreground */
5330
5331 ROM_REGION( 0x080000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5332 ROM_LOAD( "b95-01.bin", 0x000000, 0x080000, 0x51c176ce ) /* sprites */
5333
5334 ROM_REGION( 0x080000, REGION_GFX3 | REGIONFLAG_DISPOSE )
5335 ROM_LOAD( "b95-03.bin", 0x000000, 0x080000, 0x543aa0d1 ) /* pivot graphics */
5336
5337 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5338 ROM_LOAD( "b95-08.bin", 0x00000, 0x04000, 0xb5aa49e1 )
5339 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5340
5341 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples? */
5342 ROM_LOAD( "b95-04.bin", 0x00000, 0x80000, 0xac4c1716 )
5343
5344 /* no Delta-T samples */
5345 ROM_END
5346
5347 ROM_START( megab )
5348 ROM_REGION( 0x80000, REGION_CPU1 ) /* 256k for 68000 code */
5349 ROM_LOAD_EVEN( "c11-07", 0x00000, 0x20000, 0x11d228b6 )
5350 ROM_LOAD_ODD ( "c11-08", 0x00000, 0x20000, 0xa79d4dca )
5351 ROM_LOAD_EVEN( "c11-06", 0x40000, 0x20000, 0x7c249894 ) /* ?? */
5352 ROM_LOAD_ODD ( "c11-11", 0x40000, 0x20000, 0x263ecbf9 ) /* ?? */
5353
5354 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5355 ROM_LOAD( "c11-05", 0x000000, 0x080000, 0x733e6d8e )
5356
5357 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5358 ROM_LOAD_GFX_EVEN( "c11-03", 0x000000, 0x080000, 0x46718c7a )
5359 ROM_LOAD_GFX_ODD ( "c11-04", 0x000000, 0x080000, 0x663f33cc )
5360
5361 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5362 ROM_LOAD( "c11-12", 0x00000, 0x04000, 0xb11094f1 )
5363 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5364
5365 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5366 ROM_LOAD( "c11-01", 0x00000, 0x80000, 0xfd1ea532 )
5367
5368 ROM_REGION( 0x80000, REGION_SOUND2 ) /* Delta-T samples */
5369 ROM_LOAD( "c11-02", 0x00000, 0x80000, 0x451cc187 )
5370 ROM_END
5371
5372 ROM_START( megabj )
5373 ROM_REGION( 0x80000, REGION_CPU1 ) /* 256k for 68000 code */
5374 ROM_LOAD_EVEN( "c11-07", 0x00000, 0x20000, 0x11d228b6 )
5375 ROM_LOAD_ODD ( "c11-08", 0x00000, 0x20000, 0xa79d4dca )
5376 ROM_LOAD_EVEN( "c11-06", 0x40000, 0x20000, 0x7c249894 ) /* ?? */
5377 ROM_LOAD_ODD ( "c11-09.18", 0x40000, 0x20000, 0xc830aad5 ) /* ?? */
5378
5379 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5380 ROM_LOAD( "c11-05", 0x000000, 0x080000, 0x733e6d8e )
5381
5382 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5383 ROM_LOAD_GFX_EVEN( "c11-03", 0x000000, 0x080000, 0x46718c7a )
5384 ROM_LOAD_GFX_ODD ( "c11-04", 0x000000, 0x080000, 0x663f33cc )
5385
5386 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5387 ROM_LOAD( "c11-12", 0x00000, 0x04000, 0xb11094f1 )
5388 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5389
5390 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5391 ROM_LOAD( "c11-01", 0x00000, 0x80000, 0xfd1ea532 )
5392
5393 ROM_REGION( 0x80000, REGION_SOUND2 ) /* Delta-T samples */
5394 ROM_LOAD( "c11-02", 0x00000, 0x80000, 0x451cc187 )
5395 ROM_END
5396
5397 ROM_START( thundfox ) /* Thunder Fox */
5398 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5399 ROM_LOAD_EVEN( "c28mainh.13", 0x00000, 0x20000, 0xacb07013 )
5400 ROM_LOAD_ODD ( "c28mainl.12", 0x00000, 0x20000, 0xf04db477 )
5401 ROM_LOAD_EVEN( "c28hi.08", 0x40000, 0x20000, 0x38e038f1 )
5402 ROM_LOAD_ODD ( "c28lo.07", 0x40000, 0x20000, 0x24419abb )
5403
5404 ROM_REGION( 0x080000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5405 ROM_LOAD( "c28scr1.01", 0x000000, 0x080000, 0x6230a09d ) /* TC0100SCN #1 */
5406
5407 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5408 ROM_LOAD_GFX_EVEN( "c28objl.03", 0x000000, 0x080000, 0x51bdc7af )
5409 ROM_LOAD_GFX_ODD ( "c28objh.04", 0x000000, 0x080000, 0xba7ed535 )
5410
5411 ROM_REGION( 0x100000, REGION_GFX3 | REGIONFLAG_DISPOSE )
5412 ROM_LOAD( "c28scr2.01", 0x000000, 0x080000, 0x44552b25 ) /* TC0100SCN #2 */
5413
5414 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5415 ROM_LOAD( "c28snd.14", 0x00000, 0x04000, 0x45ef3616 )
5416 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5417
5418 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5419 ROM_LOAD( "c28snda.06", 0x00000, 0x80000, 0xdb6983db )
5420
5421 ROM_REGION( 0x80000, REGION_SOUND2 ) /* Delta-T samples */
5422 ROM_LOAD( "c28sndb.05", 0x00000, 0x80000, 0xd3b238fa )
5423 ROM_END
5424
5425 ROM_START( cameltry )
5426 ROM_REGION( 0x40000, REGION_CPU1 ) /* 256k for 68000 code */
5427 ROM_LOAD_EVEN( "c38-09.bin", 0x00000, 0x20000, 0x2ae01120 )
5428 ROM_LOAD_ODD ( "c38-10.bin", 0x00000, 0x20000, 0x48d8ff56 )
5429
5430 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* UNUSED! */
5431
5432 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5433 ROM_LOAD( "c38-01.bin", 0x000000, 0x080000, 0xc170ff36 ) /* sprites */
5434
5435 ROM_REGION( 0x080000, REGION_GFX3 | REGIONFLAG_DISPOSE )
5436 ROM_LOAD( "c38-02.bin", 0x000000, 0x020000, 0x1a11714b ) /* pivot graphics */
5437
5438 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5439 ROM_LOAD( "c38-08.bin", 0x00000, 0x04000, 0x7ff78873 )
5440 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5441
5442 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5443 ROM_LOAD( "c38-03.bin", 0x000000, 0x020000, 0x59fa59a7 )
5444
5445 /* no Delta-T samples */
5446 ROM_END
5447
5448 ROM_START( cameltru )
5449 ROM_REGION( 0x40000, REGION_CPU1 ) /* 256k for 68000 code */
5450 ROM_LOAD_EVEN( "c38-11", 0x00000, 0x20000, 0xbe172da0 )
5451 ROM_LOAD_ODD ( "c38-14", 0x00000, 0x20000, 0xffa430de )
5452
5453 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* UNUSED! */
5454
5455 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5456 ROM_LOAD( "c38-01.bin", 0x000000, 0x080000, 0xc170ff36 ) /* sprites */
5457
5458 ROM_REGION( 0x080000, REGION_GFX3 | REGIONFLAG_DISPOSE )
5459 ROM_LOAD( "c38-02.bin", 0x000000, 0x020000, 0x1a11714b ) /* pivot graphics */
5460
5461 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5462 ROM_LOAD( "c38-08.bin", 0x00000, 0x04000, 0x7ff78873 )
5463 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5464
5465 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5466 ROM_LOAD( "c38-03.bin", 0x000000, 0x020000, 0x59fa59a7 )
5467
5468 /* no Delta-T samples */
5469 ROM_END
5470
5471 ROM_START( qtorimon ) /* Quiz Torimonochou */
5472 ROM_REGION( 0x80000, REGION_CPU1 ) /* 256k for 68000 code */
5473 ROM_LOAD_EVEN( "c41-04.bin", 0x00000, 0x20000, 0x0fbf5223 ) /* Prog1 */
5474 ROM_LOAD_ODD ( "c41-05.bin", 0x00000, 0x20000, 0x174bd5db ) /* Prog2 */
5475 ROM_LOAD_EVEN( "mask-51.bin", 0x40000, 0x20000, 0x12e14aca ) /* char defs, read by cpu */
5476 ROM_LOAD_ODD ( "mask-52.bin", 0x40000, 0X20000, 0xb3ef66f3 ) /* char defs, read by cpu */
5477
5478 ROM_REGION( 0x80000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* UNUSED! */
5479
5480 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5481 ROM_LOAD_GFX_EVEN( "c41-02.bin", 0x000000, 0x20000, 0x05dcd36d ) /* Object */
5482 ROM_LOAD_GFX_ODD ( "c41-01.bin", 0x000000, 0x20000, 0x39ff043c ) /* Object */
5483
5484 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5485 ROM_LOAD( "c41-06.bin", 0x00000, 0x04000, 0x753a98d8 ) /* AUD Prog */
5486 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5487
5488 ROM_REGION( 0x080000, REGION_SOUND1 ) /* ADPCM samples */
5489 ROM_LOAD( "c41-03.bin", 0x000000, 0x020000, 0xb2c18e89 )
5490
5491 /* no Delta-T samples */
5492 ROM_END
5493
5494 ROM_START( liquidk )
5495 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5496 ROM_LOAD_EVEN( "lq09.bin", 0x00000, 0x20000, 0x6ae09eb9 )
5497 ROM_LOAD_ODD ( "lq11.bin", 0x00000, 0x20000, 0x42d2be6e )
5498 ROM_LOAD_EVEN( "lq10.bin", 0x40000, 0x20000, 0x50bef2e0 )
5499 ROM_LOAD_ODD ( "lq12.bin", 0x40000, 0x20000, 0xcb16bad5 )
5500
5501 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5502 ROM_LOAD( "lk_scr.bin", 0x000000, 0x080000, 0xc3364f9b )
5503
5504 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5505 ROM_LOAD( "lk_obj0.bin", 0x000000, 0x080000, 0x67cc3163 )
5506 ROM_LOAD( "lk_obj1.bin", 0x080000, 0x080000, 0xd2400710 )
5507
5508 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5509 ROM_LOAD( "lq08.bin", 0x00000, 0x04000, 0x413c310c )
5510 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5511
5512 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5513 ROM_LOAD( "lk_snd.bin", 0x00000, 0x80000, 0x474d45a4 )
5514
5515 /* no Delta-T samples */
5516 ROM_END
5517
5518 ROM_START( liquidku )
5519 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5520 ROM_LOAD_EVEN( "lq09.bin", 0x00000, 0x20000, 0x6ae09eb9 )
5521 ROM_LOAD_ODD ( "lq11.bin", 0x00000, 0x20000, 0x42d2be6e )
5522 ROM_LOAD_EVEN( "lq10.bin", 0x40000, 0x20000, 0x50bef2e0 )
5523 ROM_LOAD_ODD ( "lq14.bin", 0x40000, 0x20000, 0xbc118a43 )
5524
5525 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5526 ROM_LOAD( "lk_scr.bin", 0x000000, 0x080000, 0xc3364f9b )
5527
5528 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5529 ROM_LOAD( "lk_obj0.bin", 0x000000, 0x080000, 0x67cc3163 )
5530 ROM_LOAD( "lk_obj1.bin", 0x080000, 0x080000, 0xd2400710 )
5531
5532 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5533 ROM_LOAD( "lq08.bin", 0x00000, 0x04000, 0x413c310c )
5534 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5535
5536 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5537 ROM_LOAD( "lk_snd.bin", 0x00000, 0x80000, 0x474d45a4 )
5538
5539 /* no Delta-T samples */
5540 ROM_END
5541
5542 ROM_START( mizubaku )
5543 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5544 ROM_LOAD_EVEN( "lq09.bin", 0x00000, 0x20000, 0x6ae09eb9 )
5545 ROM_LOAD_ODD ( "lq11.bin", 0x00000, 0x20000, 0x42d2be6e )
5546 ROM_LOAD_EVEN( "lq10.bin", 0x40000, 0x20000, 0x50bef2e0 )
5547 ROM_LOAD_ODD ( "c49-13", 0x40000, 0x20000, 0x2518dbf9 )
5548
5549 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5550 ROM_LOAD( "lk_scr.bin", 0x000000, 0x080000, 0xc3364f9b )
5551
5552 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5553 ROM_LOAD( "lk_obj0.bin", 0x000000, 0x080000, 0x67cc3163 )
5554 ROM_LOAD( "lk_obj1.bin", 0x080000, 0x080000, 0xd2400710 )
5555
5556 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5557 ROM_LOAD( "lq08.bin", 0x00000, 0x04000, 0x413c310c )
5558 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5559
5560 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5561 ROM_LOAD( "lk_snd.bin", 0x00000, 0x80000, 0x474d45a4 )
5562
5563 /* no Delta-T samples */
5564 ROM_END
5565
5566 ROM_START( quizhq ) /* Quiz HQ */
5567 ROM_REGION( 0xc0000, REGION_CPU1 ) /* 256k for 68000 code */
5568 ROM_LOAD_EVEN( "c53-05.bin", 0x00000, 0x20000, 0xc798fc20 ) /* Prog1 */
5569 ROM_LOAD_ODD ( "c53-01.bin", 0x00000, 0x20000, 0xbf44c93e ) /* Prog2 */
5570 ROM_LOAD_EVEN( "c53-52.bin", 0x80000, 0x20000, 0x12e14aca ) /* char defs, read by cpu */
5571 ROM_LOAD_ODD ( "c53-51.bin", 0x80000, 0X20000, 0xb3ef66f3 ) /* char defs, read by cpu */
5572
5573 ROM_REGION( 0x80000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* UNUSED! */
5574
5575 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5576 ROM_LOAD_GFX_EVEN( "c53-03.bin", 0x00000, 0x20000, 0x47596e70 ) /* Object */
5577 ROM_LOAD_GFX_ODD ( "c53-07.bin", 0x00000, 0x20000, 0x4f9fa82f ) /* Object */
5578 ROM_LOAD_GFX_EVEN( "c53-02.bin", 0x40000, 0x20000, 0xd704c6f4 ) /* Object */
5579 ROM_LOAD_GFX_ODD ( "c53-06.bin", 0x40000, 0x20000, 0xf77f63fc ) /* Object */
5580
5581 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5582 ROM_LOAD( "c53-08.bin", 0x00000, 0x04000, 0x25187e81 ) /* AUD Prog */
5583 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5584
5585 ROM_REGION( 0x080000, REGION_SOUND1 ) /* ADPCM samples */
5586 ROM_LOAD( "c53-04.bin", 0x000000, 0x020000, 0x99890ad4 )
5587
5588 /* no Delta-T samples */
5589 ROM_END
5590
5591 ROM_START( ssi )
5592 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5593 ROM_LOAD_EVEN( "ssi_15-1.rom", 0x00000, 0x40000, 0xce9308a6 )
5594 ROM_LOAD_ODD ( "ssi_16-1.rom", 0x00000, 0x40000, 0x470a483a )
5595
5596 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5597 /* empty! */
5598
5599 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5600 ROM_LOAD( "ssi_m01.rom", 0x00000, 0x100000, 0xa1b4f486 )
5601
5602 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5603 ROM_LOAD( "ssi_09.rom", 0x00000, 0x04000, 0x88d7f65c )
5604 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5605
5606 ROM_REGION( 0x20000, REGION_SOUND1 ) /* ADPCM samples */
5607 ROM_LOAD( "ssi_m02.rom", 0x00000, 0x20000, 0x3cb0b907 )
5608
5609 /* no Delta-T samples */
5610 ROM_END
5611
5612 ROM_START( majest12 )
5613 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5614 ROM_LOAD_EVEN( "c64-07.bin", 0x00000, 0x20000, 0xf29ed5c9 )
5615 ROM_LOAD_EVEN( "c64-06.bin", 0x40000, 0x20000, 0x18dc71ac )
5616 ROM_LOAD_ODD ( "c64-08.bin", 0x00000, 0x20000, 0xddfd33d5 )
5617 ROM_LOAD_ODD ( "c64-05.bin", 0x40000, 0x20000, 0xb61866c0 )
5618
5619 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5620 /* empty! */
5621
5622 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5623 ROM_LOAD( "ssi_m01.rom", 0x00000, 0x100000, 0xa1b4f486 )
5624
5625 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5626 ROM_LOAD( "ssi_09.rom", 0x00000, 0x04000, 0x88d7f65c )
5627 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5628
5629 ROM_REGION( 0x20000, REGION_SOUND1 ) /* ADPCM samples */
5630 ROM_LOAD( "ssi_m02.rom", 0x00000, 0x20000, 0x3cb0b907 )
5631
5632 /* no Delta-T samples */
5633 ROM_END
5634
5635 ROM_START( gunfront )
5636 ROM_REGION( 0xc0000, REGION_CPU1 ) /* 768k for 68000 code */
5637 ROM_LOAD_EVEN( "c71-09.rom", 0x00000, 0x20000, 0x10a544a2 )
5638 ROM_LOAD_ODD ( "c71-08.rom", 0x00000, 0x20000, 0xc17dc0a0 )
5639 ROM_LOAD_EVEN( "c71-10.rom", 0x40000, 0x20000, 0xf39c0a06 )
5640 ROM_LOAD_ODD ( "c71-14.rom", 0x40000, 0x20000, 0x312da036 )
5641 ROM_LOAD_EVEN( "c71-16.rom", 0x80000, 0x20000, 0x1bbcc2d4 )
5642 ROM_LOAD_ODD ( "c71-15.rom", 0x80000, 0x20000, 0xdf3e00bb )
5643
5644 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5645 ROM_LOAD( "c71-02.rom", 0x000000, 0x100000, 0x2a600c92 ) /* characters */
5646
5647 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5648 ROM_LOAD( "c71-03.rom", 0x000000, 0x100000, 0x9133c605 ) /* sprites */
5649
5650 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5651 ROM_LOAD( "c71-12.rom", 0x00000, 0x04000, 0x0038c7f8 )
5652 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5653
5654 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5655 ROM_LOAD( "c71-01.rom", 0x000000, 0x100000, 0x0e73105a )
5656
5657 /* no Delta-T samples */
5658 ROM_END
5659
5660 ROM_START( gunfronj )
5661 ROM_REGION( 0xc0000, REGION_CPU1 ) /* 768k for 68000 code */
5662 ROM_LOAD_EVEN( "c71-09.rom", 0x00000, 0x20000, 0x10a544a2 )
5663 ROM_LOAD_ODD ( "c71-08.rom", 0x00000, 0x20000, 0xc17dc0a0 )
5664 ROM_LOAD_EVEN( "c71-10.rom", 0x40000, 0x20000, 0xf39c0a06 )
5665 ROM_LOAD_ODD ( "c71-11.3", 0x40000, 0x20000, 0xdf23c11a )
5666 ROM_LOAD_EVEN( "c71-16.rom", 0x80000, 0x20000, 0x1bbcc2d4 ) /* C71-05 */
5667 ROM_LOAD_ODD ( "c71-15.rom", 0x80000, 0x20000, 0xdf3e00bb ) /* C71-04 */
5668
5669 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5670 ROM_LOAD( "c71-02.rom", 0x000000, 0x100000, 0x2a600c92 ) /* characters */
5671
5672 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5673 ROM_LOAD( "c71-03.rom", 0x000000, 0x100000, 0x9133c605 ) /* sprites */
5674
5675 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5676 ROM_LOAD( "c71-12.rom", 0x00000, 0x04000, 0x0038c7f8 )
5677 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5678
5679 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5680 ROM_LOAD( "c71-01.rom", 0x000000, 0x100000, 0x0e73105a )
5681
5682 /* no Delta-T samples */
5683 ROM_END
5684
5685 ROM_START( growl )
5686 ROM_REGION( 0x100000, REGION_CPU1 ) /* 1024k for 68000 code */
5687 ROM_LOAD_EVEN( "c74-10", 0x00000, 0x40000, 0xca81a20b )
5688 ROM_LOAD_ODD ( "c74-08", 0x00000, 0x40000, 0xaa35dd9e )
5689 ROM_LOAD_EVEN( "c74-11", 0x80000, 0x40000, 0xee3bd6d5 )
5690 ROM_LOAD_ODD ( "c74-14", 0x80000, 0x40000, 0xb6c24ec7 )
5691
5692 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5693 ROM_LOAD( "c74-01", 0x000000, 0x100000, 0x3434ce80 ) /* characters */
5694
5695 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5696 ROM_LOAD( "c74-03", 0x000000, 0x100000, 0x1a0d8951 ) /* sprites */
5697 ROM_LOAD( "c74-02", 0x100000, 0x100000, 0x15a21506 ) /* sprites */
5698
5699 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5700 ROM_LOAD( "c74-12", 0x00000, 0x04000, 0xbb6ed668 )
5701 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5702
5703 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5704 ROM_LOAD( "c74-04", 0x000000, 0x100000, 0x2d97edf2 )
5705
5706 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
5707 ROM_LOAD( "c74-05", 0x000000, 0x080000, 0xe29c0828 )
5708 ROM_END
5709
5710 ROM_START( growlu )
5711 ROM_REGION( 0x100000, REGION_CPU1 ) /* 1024k for 68000 code */
5712 ROM_LOAD_EVEN( "c74-10", 0x00000, 0x40000, 0xca81a20b )
5713 ROM_LOAD_ODD ( "c74-08", 0x00000, 0x40000, 0xaa35dd9e )
5714 ROM_LOAD_EVEN( "c74-11", 0x80000, 0x40000, 0xee3bd6d5 )
5715 ROM_LOAD_ODD ( "c74-13", 0x80000, 0x40000, 0xc1c57e51 )
5716
5717 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5718 ROM_LOAD( "c74-01", 0x000000, 0x100000, 0x3434ce80 ) /* characters */
5719
5720 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5721 ROM_LOAD( "c74-03", 0x000000, 0x100000, 0x1a0d8951 ) /* sprites */
5722 ROM_LOAD( "c74-02", 0x100000, 0x100000, 0x15a21506 ) /* sprites */
5723
5724 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5725 ROM_LOAD( "c74-12", 0x00000, 0x04000, 0xbb6ed668 )
5726 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5727
5728 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5729 ROM_LOAD( "c74-04", 0x000000, 0x100000, 0x2d97edf2 )
5730
5731 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
5732 ROM_LOAD( "c74-05", 0x000000, 0x080000, 0xe29c0828 )
5733 ROM_END
5734
5735 ROM_START( runark )
5736 ROM_REGION( 0x100000, REGION_CPU1 ) /* 1024k for 68000 code */
5737 ROM_LOAD_EVEN( "c74-10", 0x00000, 0x40000, 0xca81a20b )
5738 ROM_LOAD_ODD ( "c74-08", 0x00000, 0x40000, 0xaa35dd9e )
5739 ROM_LOAD_EVEN( "c74-11", 0x80000, 0x40000, 0xee3bd6d5 )
5740 ROM_LOAD_ODD ( "c74-09.14", 0x80000, 0x40000, 0x58cc2feb )
5741
5742 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5743 ROM_LOAD( "c74-01", 0x000000, 0x100000, 0x3434ce80 ) /* characters */
5744
5745 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5746 ROM_LOAD( "c74-03", 0x000000, 0x100000, 0x1a0d8951 ) /* sprites */
5747 ROM_LOAD( "c74-02", 0x100000, 0x100000, 0x15a21506 ) /* sprites */
5748
5749 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5750 ROM_LOAD( "c74-12", 0x00000, 0x04000, 0xbb6ed668 )
5751 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5752
5753 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5754 ROM_LOAD( "c74-04", 0x000000, 0x100000, 0x2d97edf2 )
5755
5756 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
5757 ROM_LOAD( "c74-05", 0x000000, 0x080000, 0xe29c0828 )
5758 ROM_END
5759
5760 ROM_START( mjnquest ) /* Mahjong Quest */
5761 ROM_REGION( 0x100000, REGION_CPU1 ) /* 256k for 68000 code */
5762 ROM_LOAD_EVEN( "c77-09", 0x000000, 0x020000, 0x0a005d01 ) /* Prog1 */
5763 ROM_LOAD_ODD ( "c77-08", 0x000000, 0x020000, 0x4244f775 ) /* Prog2 */
5764 ROM_LOAD_WIDE_SWAP( "c77-04", 0x080000, 0x080000, 0xc2e7e038 ) /* data */
5765
5766 ROM_REGION( 0x200000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5767 ROM_LOAD( "c77-01", 0x000000, 0x100000, 0x5ba51205 ) /* Screen 0 */
5768 ROM_LOAD( "c77-02", 0x100000, 0x100000, 0x6a6f3040 ) /* Screen 1 */
5769
5770 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5771 ROM_LOAD( "c77-05", 0x000000, 0x080000, 0xc5a54678 ) /* Object */
5772
5773 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5774 ROM_LOAD( "c77-10", 0x00000, 0x04000, 0xf16b2c1e ) /* AUD Prog */
5775 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5776
5777 ROM_REGION( 0x080000, REGION_SOUND1 ) /* ADPCM samples */
5778 ROM_LOAD( "c77-03", 0x000000, 0x080000, 0x312f17b1 )
5779
5780 /* no Delta-T samples */
5781 ROM_END
5782
5783 ROM_START( mjnquesb ) /* Mahjong Quest (No Nudity) */
5784 ROM_REGION( 0x100000, REGION_CPU1 ) /* 256k for 68000 code */
5785 ROM_LOAD_EVEN( "c77-09a", 0x000000, 0x020000, 0xfc17f1c2 ) /* Prog1 */
5786 ROM_LOAD_ODD ( "c77-08", 0x000000, 0x020000, 0x4244f775 ) /* Prog2 */
5787 ROM_LOAD_WIDE_SWAP( "c77-04", 0x080000, 0x080000, 0xc2e7e038 ) /* data */
5788
5789 ROM_REGION( 0x200000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5790 ROM_LOAD( "c77-01", 0x000000, 0x100000, 0x5ba51205 ) /* Screen 0 */
5791 ROM_LOAD( "c77-02", 0x100000, 0x100000, 0x6a6f3040 ) /* Screen 1 */
5792
5793 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5794 ROM_LOAD( "c77-05", 0x000000, 0x080000, 0xc5a54678 ) /* Object */
5795
5796 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5797 ROM_LOAD( "c77-10", 0x00000, 0x04000, 0xf16b2c1e ) /* AUD Prog */
5798 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5799
5800 ROM_REGION( 0x080000, REGION_SOUND1 ) /* ADPCM samples */
5801 ROM_LOAD( "c77-03", 0x000000, 0x080000, 0x312f17b1 )
5802
5803 /* no Delta-T samples */
5804 ROM_END
5805
5806 ROM_START( footchmp )
5807 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5808 ROM_LOAD_EVEN( "c80-11", 0x00000, 0x20000, 0xf78630fb )
5809 ROM_LOAD_ODD ( "c80-10", 0x00000, 0x20000, 0x32c109cb )
5810 ROM_LOAD_EVEN( "c80-12", 0x40000, 0x20000, 0x80d46fef )
5811 ROM_LOAD_ODD ( "c80-14", 0x40000, 0x20000, 0x40ac4828 )
5812
5813 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5814 ROM_LOAD_GFX_EVEN( "c80-04", 0x000000, 0x080000, 0x9a17fe8c ) /* characters */
5815 ROM_LOAD_GFX_ODD ( "c80-05", 0x000000, 0x080000, 0xacde7071 ) /* characters */
5816
5817 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5818 ROM_LOAD( "c80-01", 0x000000, 0x100000, 0xf43782e6 ) /* sprites */
5819 ROM_LOAD( "c80-02", 0x100000, 0x100000, 0x060a8b61 ) /* sprites */
5820
5821 ROM_REGION( 0x1c000, REGION_CPU2 ) /* 64k for Z80 code */
5822 ROM_LOAD( "c80-15", 0x00000, 0x04000, 0x05aa7fd7 )
5823 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5824
5825 ROM_REGION( 0x100000, REGION_SOUND1 ) /* YM2610 samples */
5826 ROM_LOAD( "c80-03", 0x000000, 0x100000, 0x609938d5 )
5827
5828 /* no Delta-T samples */
5829 ROM_END
5830
5831 ROM_START( hthero )
5832 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5833 ROM_LOAD_EVEN( "c80-16", 0x00000, 0x20000, 0x4e795b52 )
5834 ROM_LOAD_ODD ( "c80-17", 0x00000, 0x20000, 0x42c0a838 )
5835 ROM_LOAD_EVEN( "c80-12", 0x40000, 0x20000, 0x80d46fef )
5836 ROM_LOAD_ODD ( "c80-18", 0x40000, 0x20000, 0xaea22904 )
5837
5838 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5839 ROM_LOAD_GFX_EVEN( "c80-04", 0x000000, 0x080000, 0x9a17fe8c ) /* characters */
5840 ROM_LOAD_GFX_ODD ( "c80-05", 0x000000, 0x080000, 0xacde7071 ) /* characters */
5841
5842 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5843 ROM_LOAD( "c80-01", 0x000000, 0x100000, 0xf43782e6 ) /* sprites */
5844 ROM_LOAD( "c80-02", 0x100000, 0x100000, 0x060a8b61 ) /* sprites */
5845
5846 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5847 ROM_LOAD( "c80-15", 0x00000, 0x04000, 0x05aa7fd7 )
5848 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5849
5850 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5851 ROM_LOAD( "c80-03", 0x000000, 0x100000, 0x609938d5 )
5852
5853 /* no Delta-T samples */
5854 ROM_END
5855
5856 ROM_START( euroch92 )
5857 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5858 ROM_LOAD_EVEN( "ec92_25.rom", 0x00000, 0x20000, 0x98482202 )
5859 ROM_LOAD_ODD ( "ec92_23.rom", 0x00000, 0x20000, 0xae5e75e9 )
5860 ROM_LOAD_EVEN( "ec92_26.rom", 0x40000, 0x20000, 0xb986ccb2 )
5861 ROM_LOAD_ODD ( "ec92_24.rom", 0x40000, 0x20000, 0xb31d94ac )
5862
5863 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5864 ROM_LOAD_GFX_EVEN( "ec92_21.rom", 0x000000, 0x080000, 0x5759ed37 )
5865 ROM_LOAD_GFX_ODD ( "ec92_22.rom", 0x000000, 0x080000, 0xd9a0d38e )
5866
5867 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5868 ROM_LOAD( "ec92_19.rom", 0x000000, 0x100000, 0x219141a5 )
5869 ROM_LOAD( "c80-02", 0x100000, 0x100000, 0x060a8b61 ) // ec92_20.rom
5870
5871 ROM_REGION( 0x1c000, REGION_CPU2 ) /* 64k for Z80 code */
5872 ROM_LOAD( "ec92_27.rom", 0x00000, 0x04000, 0x2db48e65 )
5873 ROM_CONTINUE( 0x10000, 0x0c000 )
5874
5875 ROM_REGION( 0x100000, REGION_SOUND1 ) /* YM2610 samples */
5876 ROM_LOAD( "c80-03", 0x000000, 0x100000, 0x609938d5 ) // ec92_03.rom
5877
5878 /* no Delta-T samples */
5879 ROM_END
5880
5881 ROM_START( koshien ) /* Ah Eikou no Koshien */
5882 ROM_REGION( 0x100000, REGION_CPU1 ) /* 256k for 68000 code */
5883 ROM_LOAD_EVEN( "c81-11.bin", 0x000000, 0x020000, 0xb44ea8c9 ) /* Prog1 */
5884 ROM_LOAD_ODD ( "c81-10.bin", 0x000000, 0x020000, 0x8f98c40a ) /* Prog2 */
5885 ROM_LOAD_WIDE_SWAP( "c81-04.bin", 0x080000, 0x080000, 0x1592b460 ) /* data */
5886
5887 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5888 ROM_LOAD( "c81-03.bin", 0x000000, 0x100000, 0x29bbf492 ) /* Screen */
5889
5890 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5891 ROM_LOAD( "c81-01.bin", 0x000000, 0x100000, 0x64b15d2a ) /* Object 0 */
5892 ROM_LOAD( "c81-02.bin", 0x100000, 0x100000, 0x962461e8 ) /* Object 1 */
5893
5894 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5895 ROM_LOAD( "c81-12.bin", 0x00000, 0x04000, 0x6e8625b6 ) /* AUD Prog */
5896 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5897
5898 ROM_REGION( 0x080000, REGION_SOUND1 ) /* ADPCM samples */
5899 ROM_LOAD( "c81-05.bin", 0x00000, 0x80000, 0x9c3d71be )
5900
5901 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
5902 ROM_LOAD( "c81-06.bin", 0x00000, 0x80000, 0x927833b4 )
5903 ROM_END
5904
5905 ROM_START( yuyugogo ) /* Yuuyu no QUIZ de GO!GO! */
5906 ROM_REGION( 0x40000, REGION_CPU1 ) /* 256k for 68000 code */
5907 ROM_LOAD_EVEN( "c83-10.bin", 0x00000, 0x20000, 0x4d185d03 )
5908 ROM_LOAD_ODD ( "c83-09.bin", 0x00000, 0x20000, 0xf9892792 )
5909
5910 ROM_REGION( 0x100000, REGION_USER1 )
5911 /* extra ROM mapped at d00000 */
5912 ROM_LOAD( "c83-03.bin", 0x000000, 0x100000, 0xeed9acc2 ) /* data rom */
5913
5914 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5915 ROM_LOAD( "c83-05.bin", 0x000000, 0x020000, 0xeca57fb1 ) /* screen */
5916
5917 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5918 ROM_LOAD_GFX_EVEN( "c83-01.bin", 0x000000, 0x100000, 0x8bf0d416 ) /* Object */
5919 ROM_LOAD_GFX_ODD ( "c83-02.bin", 0x000000, 0x100000, 0x20bb1c15 ) /* Object */
5920
5921 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5922 ROM_LOAD( "c83-11.bin", 0x00000, 0x04000, 0x461e702a ) /* AUD Prog */
5923 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5924
5925 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
5926 ROM_LOAD( "c83-04.bin", 0x000000, 0x100000, 0x2600093a )
5927
5928 /* no Delta-T samples */
5929 ROM_END
5930
5931 ROM_START( ninjak )
5932 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5933 ROM_LOAD_EVEN( "nk_0h.rom", 0x00000, 0x20000, 0xba7e6e74 )
5934 ROM_LOAD_ODD ( "nk_0l.rom", 0x00000, 0x20000, 0x0ac2cba2 )
5935 ROM_LOAD_EVEN( "nk_1lh.rom", 0x40000, 0x20000, 0x3eccfd0a )
5936 ROM_LOAD_ODD ( "nk_1ll.rom", 0x40000, 0x20000, 0xd126ded1 )
5937
5938 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5939 ROM_LOAD( "nk_scrn.rom", 0x000000, 0x080000, 0x4cc7b9df ) /* characters */
5940
5941 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5942 ROM_LOAD( "nk_obj-0.rom", 0x000000, 0x100000, 0xa711977c ) /* sprites */
5943 ROM_LOAD( "nk_obj-1.rom", 0x100000, 0x100000, 0xa6ad0f3d ) /* sprites */
5944
5945 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5946 ROM_LOAD( "nk_snd.rom", 0x00000, 0x04000, 0xf2a52a51 )
5947 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5948
5949 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5950 ROM_LOAD( "nk_sch-a.rom", 0x00000, 0x80000, 0x5afb747e )
5951
5952 ROM_REGION( 0x80000, REGION_SOUND2 ) /* Delta-T samples */
5953 ROM_LOAD( "nk_sch-b.rom", 0x00000, 0x80000, 0x3c1b0ed0 )
5954 ROM_END
5955
5956 ROM_START( ninjakj )
5957 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5958 ROM_LOAD_EVEN( "nk_0h.rom", 0x00000, 0x20000, 0xba7e6e74 )
5959 ROM_LOAD_ODD ( "c85-11l", 0x00000, 0x20000, 0xe4ccaa8e )
5960 ROM_LOAD_EVEN( "nk_1lh.rom", 0x40000, 0x20000, 0x3eccfd0a )
5961 ROM_LOAD_ODD ( "nk_1ll.rom", 0x40000, 0x20000, 0xd126ded1 )
5962
5963 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
5964 ROM_LOAD( "nk_scrn.rom", 0x000000, 0x080000, 0x4cc7b9df ) /* characters */
5965
5966 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
5967 ROM_LOAD( "nk_obj-0.rom", 0x000000, 0x100000, 0xa711977c ) /* sprites */
5968 ROM_LOAD( "nk_obj-1.rom", 0x100000, 0x100000, 0xa6ad0f3d ) /* sprites */
5969
5970 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5971 ROM_LOAD( "nk_snd.rom", 0x00000, 0x04000, 0xf2a52a51 )
5972 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5973
5974 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5975 ROM_LOAD( "nk_sch-a.rom", 0x00000, 0x80000, 0x5afb747e )
5976
5977 ROM_REGION( 0x80000, REGION_SOUND2 ) /* Delta-T samples */
5978 ROM_LOAD( "nk_sch-b.rom", 0x00000, 0x80000, 0x3c1b0ed0 )
5979 ROM_END
5980
5981 ROM_START( solfigtr ) /* Solitary Fighter */
5982 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
5983 ROM_LOAD_EVEN( "c91-05", 0x00000, 0x40000, 0xc1260e7c )
5984 ROM_LOAD_ODD ( "c91-09", 0x00000, 0x40000, 0xd82b5266 )
5985
5986 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5987 ROM_LOAD( "c91-03", 0x000000, 0x100000, 0x8965da12 ) /* Characters */
5988
5989 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
5990 ROM_LOAD( "c91-01", 0x000000, 0x100000, 0x0f3f4e00 ) /* Object 0 */
5991 ROM_LOAD( "c91-02", 0x100000, 0x100000, 0xe14ab98e ) /* Object 1 */
5992
5993 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
5994 ROM_LOAD( "c91-07", 0x00000, 0x04000, 0xe471a05a ) /* AUD Prog */
5995 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
5996
5997 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
5998 ROM_LOAD( "c91-04", 0x00000, 0x80000, 0x390b1065 ) /* Channel A */
5999
6000 /* no Delta-T samples */
6001 ROM_END
6002
6003 ROM_START( qzquest ) /* Quiz Quest */
6004 ROM_REGION( 0x180000, REGION_CPU1 ) /* 256k for 68000 code */
6005 ROM_LOAD_EVEN( "c92-06", 0x000000, 0x020000, 0x424be722 ) /* Prog1 */
6006 ROM_LOAD_ODD ( "c92-05", 0x000000, 0x020000, 0xda470f93 ) /* Prog2 */
6007 ROM_LOAD_WIDE_SWAP( "c92-03", 0x100000, 0x080000, 0x1d697606 ) /* data */
6008
6009 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
6010 ROM_LOAD( "c92-02", 0x000000, 0x100000, 0x2daccecf ) /* Screen */
6011
6012 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
6013 ROM_LOAD( "c92-01", 0x000000, 0x100000, 0x9976a285 ) /* Object */
6014
6015 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6016 ROM_LOAD( "c92-07", 0x00000, 0x04000, 0x3e313db9 ) /* AUD Prog */
6017 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6018
6019 ROM_REGION( 0x080000, REGION_SOUND1 ) /* ADPCM samples */
6020 ROM_LOAD( "c92-04", 0x000000, 0x080000, 0xe421bb43 )
6021
6022 /* no Delta-T samples */
6023 ROM_END
6024
6025 ROM_START( pulirula )
6026 ROM_REGION( 0xc0000, REGION_CPU1 ) /* 768k for 68000 code */
6027 ROM_LOAD_EVEN( "c98-12.rom", 0x00000, 0x40000, 0x816d6cde )
6028 ROM_LOAD_ODD ( "c98-16.rom", 0x00000, 0x40000, 0x59df5c77 )
6029 ROM_LOAD_EVEN( "c98-06.rom", 0x80000, 0x20000, 0x64a71b45 )
6030 ROM_LOAD_ODD ( "c98-07.rom", 0x80000, 0x20000, 0x90195bc0 )
6031
6032 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6033 ROM_LOAD( "c98-04.rom", 0x000000, 0x100000, 0x0e1fe3b2 ) /* background/foreground */
6034
6035 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6036 ROM_LOAD( "c98-02.rom", 0x000000, 0x100000, 0x4a2ad2b3 ) /* sprites */
6037 ROM_LOAD( "c98-03.rom", 0x100000, 0x100000, 0x589a678f ) /* sprites */
6038
6039 ROM_REGION( 0x080000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
6040 ROM_LOAD( "c98-05.rom", 0x000000, 0x080000, 0x9ddd9c39 ) /* pivot graphics */
6041
6042 ROM_REGION( 0x2c000, REGION_CPU2 ) /* sound cpu */
6043 ROM_LOAD( "c98-14.rom", 0x00000, 0x04000, 0xa858e17c )
6044 ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
6045
6046 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6047 ROM_LOAD( "c98-01.rom", 0x000000, 0x100000, 0x197f66f5 )
6048
6049 /* no Delta-T samples */
6050 ROM_END
6051
6052 ROM_START( pulirulj )
6053 ROM_REGION( 0xc0000, REGION_CPU1 ) /* 768k for 68000 code */
6054 ROM_LOAD_EVEN( "c98-12.rom", 0x00000, 0x40000, 0x816d6cde )
6055 ROM_LOAD_ODD ( "c98-13", 0x00000, 0x40000, 0xb7d13d5b )
6056 ROM_LOAD_EVEN( "c98-06.rom", 0x80000, 0x20000, 0x64a71b45 )
6057 ROM_LOAD_ODD ( "c98-07.rom", 0x80000, 0x20000, 0x90195bc0 )
6058
6059 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6060 ROM_LOAD( "c98-04.rom", 0x000000, 0x100000, 0x0e1fe3b2 ) /* background/foreground */
6061
6062 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6063 ROM_LOAD( "c98-02.rom", 0x000000, 0x100000, 0x4a2ad2b3 ) /* sprites */
6064 ROM_LOAD( "c98-03.rom", 0x100000, 0x100000, 0x589a678f ) /* sprites */
6065
6066 ROM_REGION( 0x080000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
6067 ROM_LOAD( "c98-05.rom", 0x000000, 0x080000, 0x9ddd9c39 ) /* pivot graphics */
6068
6069 ROM_REGION( 0x2c000, REGION_CPU2 ) /* sound cpu */
6070 ROM_LOAD( "c98-14.rom", 0x00000, 0x04000, 0xa858e17c )
6071 ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
6072
6073 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6074 ROM_LOAD( "c98-01.rom", 0x000000, 0x100000, 0x197f66f5 )
6075
6076 /* no Delta-T samples */
6077 ROM_END
6078
6079 ROM_START( metalb )
6080 ROM_REGION( 0xc0000, REGION_CPU1 ) /* 768k for 68000 code */
6081 ROM_LOAD_EVEN( "d16-16.8", 0x00000, 0x40000, 0x3150be61 )
6082 ROM_LOAD_ODD ( "d16-18.7", 0x00000, 0x40000, 0x5216d092 )
6083 ROM_LOAD_EVEN( "d12-07.9", 0x80000, 0x20000, 0xe07f5136 )
6084 ROM_LOAD_ODD ( "d12-06.6", 0x80000, 0x20000, 0x131df731 )
6085
6086 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6087 ROM_LOAD_GFX_EVEN( "d12-03.14", 0x000000, 0x080000, 0x46b498c0 ) /* characters */
6088 ROM_LOAD_GFX_ODD ( "d12-04.13", 0x000000, 0x080000, 0xab66d141 ) /* characters */
6089
6090 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6091 ROM_LOAD( "d12-01.20", 0x000000, 0x100000, 0xb81523b9 ) /* sprites */
6092
6093 ROM_REGION( 0x2c000, REGION_CPU2 ) /* sound cpu */
6094 ROM_LOAD( "d12-13.5", 0x00000, 0x04000, 0xbcca2649 )
6095 ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
6096
6097 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6098 ROM_LOAD( "d12-02.10", 0x000000, 0x100000, 0x79263e74 )
6099
6100 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
6101 ROM_LOAD( "d12-05.16", 0x000000, 0x080000, 0x7fd036c5 )
6102 ROM_END
6103
6104 ROM_START( metalbj )
6105 ROM_REGION( 0xc0000, REGION_CPU1 ) /* 768k for 68000 code */
6106 ROM_LOAD_EVEN( "d12-12.8", 0x00000, 0x40000, 0x556f82b2 )
6107 ROM_LOAD_ODD ( "d12-11.7", 0x00000, 0x40000, 0xaf9ee28d )
6108 ROM_LOAD_EVEN( "d12-07.9", 0x80000, 0x20000, 0xe07f5136 )
6109 ROM_LOAD_ODD ( "d12-06.6", 0x80000, 0x20000, 0x131df731 )
6110
6111 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6112 ROM_LOAD_GFX_EVEN( "d12-03.14", 0x000000, 0x080000, 0x46b498c0 ) /* characters */
6113 ROM_LOAD_GFX_ODD ( "d12-04.13", 0x000000, 0x080000, 0xab66d141 ) /* characters */
6114
6115 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6116 ROM_LOAD( "d12-01.20", 0x000000, 0x100000, 0xb81523b9 ) /* sprites */
6117
6118 ROM_REGION( 0x2c000, REGION_CPU2 ) /* sound cpu */
6119 ROM_LOAD( "d12-13.5", 0x00000, 0x04000, 0xbcca2649 )
6120 ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
6121
6122 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6123 ROM_LOAD( "d12-02.10", 0x000000, 0x100000, 0x79263e74 )
6124
6125 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
6126 ROM_LOAD( "d12-05.16", 0x000000, 0x080000, 0x7fd036c5 )
6127 ROM_END
6128
6129 ROM_START( qzchikyu )
6130 ROM_REGION( 0x180000, REGION_CPU1 ) /* 256k for 68000 code */
6131 ROM_LOAD_EVEN( "d19-06.bin", 0x000000, 0x020000, 0xde8c8e55 )
6132 ROM_LOAD_ODD ( "d19-05.bin", 0x000000, 0x020000, 0xc6d099d0 )
6133 ROM_LOAD_WIDE_SWAP( "d19-03.bin", 0x100000, 0x080000, 0x5c1b92c0 ) /* data rom */
6134
6135 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6136 ROM_LOAD( "d19-02.bin", 0x000000, 0x100000, 0xf2dce2f2 ) /* screen */
6137
6138 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6139 ROM_LOAD( "d19-01.bin", 0x000000, 0x100000, 0x6c4342d0 ) /* sprites */
6140
6141 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6142 ROM_LOAD( "d19-07.bin", 0x00000, 0x04000, 0xa8935f84 )
6143 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6144
6145 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6146 ROM_LOAD( "d19-04.bin", 0x000000, 0x080000, 0xd3c44905 )
6147
6148 /* no Delta-T samples */
6149 ROM_END
6150
6151 ROM_START( yesnoj ) /* Yes/No Sinri Tokimeki Chart */
6152 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
6153 ROM_LOAD_EVEN( "d20-05-2.2", 0x00000, 0x40000, 0x68adb929 )
6154 ROM_LOAD_ODD ( "d20-04-2.4", 0x00000, 0x40000, 0xa84762f8 )
6155
6156 ROM_REGION( 0x80000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6157 ROM_LOAD( "d20-01.11", 0x00000, 0x80000, 0x9d8a4d57 ) /* Screen */
6158
6159 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6160 ROM_LOAD_GFX_EVEN( "d20-02.12", 0x00000, 0x80000, 0xe71a8e40 ) /* Object */
6161 ROM_LOAD_GFX_ODD ( "d20-03.13", 0x00000, 0x80000, 0x6a51a1b4 ) /* Object */
6162
6163 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6164 ROM_LOAD( "d20-06.5", 0x00000, 0x04000, 0x3eb537dc ) /* AUD Prog */
6165 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6166
6167 /* no ADPCM samples */
6168
6169 /* no Delta-T samples */
6170 ROM_END
6171
6172 ROM_START( deadconx )
6173 ROM_REGION( 0x100000, REGION_CPU1 ) /* 1024k for 68000 code */
6174 ROM_LOAD_EVEN( "d28_06.3", 0x00000, 0x40000, 0x5b4bff51 )
6175 ROM_LOAD_ODD ( "d28_12.5", 0x00000, 0x40000, 0x9b74e631 )
6176 ROM_LOAD_EVEN( "d28_09.2", 0x80000, 0x40000, 0x143a0cc1 )
6177 ROM_LOAD_ODD ( "d28_08.4", 0x80000, 0x40000, 0x4c872bd9 )
6178
6179 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6180 ROM_LOAD_GFX_EVEN( "d28_04.16", 0x000000, 0x080000, 0xdcabc26b ) /* characters */
6181 ROM_LOAD_GFX_ODD ( "d28_05.17", 0x000000, 0x080000, 0x862f9665 ) /* characters */
6182
6183 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6184 ROM_LOAD( "d28_01.8", 0x000000, 0x100000, 0x181d7b69 ) /* sprites */
6185 ROM_LOAD( "d28_02.9", 0x100000, 0x100000, 0xd301771c ) /* sprites */
6186
6187 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6188 ROM_LOAD( "d28_10.6", 0x00000, 0x04000, 0x40805d74 )
6189 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6190
6191 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6192 ROM_LOAD( "d28_03.10", 0x000000, 0x100000, 0xa1804b52 )
6193
6194 /* no Delta-T samples */
6195 ROM_END
6196
6197 ROM_START( deadconj )
6198 ROM_REGION( 0x100000, REGION_CPU1 ) /* 1024k for 68000 code */
6199 ROM_LOAD_EVEN( "d28_06.3", 0x00000, 0x40000, 0x5b4bff51 )
6200 ROM_LOAD_ODD ( "d28_07.5", 0x00000, 0x40000, 0x3fb8954c )
6201 ROM_LOAD_EVEN( "d28_09.2", 0x80000, 0x40000, 0x143a0cc1 )
6202 ROM_LOAD_ODD ( "d28_08.4", 0x80000, 0x40000, 0x4c872bd9 )
6203
6204 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6205 ROM_LOAD_GFX_EVEN( "d28_04.16", 0x000000, 0x080000, 0xdcabc26b ) /* characters */
6206 ROM_LOAD_GFX_ODD ( "d28_05.17", 0x000000, 0x080000, 0x862f9665 ) /* characters */
6207
6208 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6209 ROM_LOAD( "d28_01.8", 0x000000, 0x100000, 0x181d7b69 ) /* sprites */
6210 ROM_LOAD( "d28_02.9", 0x100000, 0x100000, 0xd301771c ) /* sprites */
6211
6212 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6213 ROM_LOAD( "d28_10.6", 0x00000, 0x04000, 0x40805d74 )
6214 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6215
6216 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6217 ROM_LOAD( "d28_03.10", 0x000000, 0x100000, 0xa1804b52 )
6218
6219 /* no Delta-T samples */
6220 ROM_END
6221
6222 ROM_START( dinorex )
6223 ROM_REGION( 0x300000, REGION_CPU1 ) /* 1Mb for 68000 code */
6224 ROM_LOAD_EVEN( "drex_14.rom", 0x000000, 0x080000, 0xe6aafdac )
6225 ROM_LOAD_ODD ( "drex_16.rom", 0x000000, 0x080000, 0xcedc8537 )
6226 ROM_LOAD_WIDE_SWAP( "drex_04m.rom", 0x100000, 0x100000, 0x3800506d ) /* data rom */
6227 ROM_LOAD_WIDE_SWAP( "drex_05m.rom", 0x200000, 0x100000, 0xe2ec3b5d ) /* data rom */
6228
6229 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6230 ROM_LOAD( "drex_06m.rom", 0x000000, 0x100000, 0x52f62835 ) /* characters */
6231
6232 ROM_REGION( 0x600000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6233 ROM_LOAD( "drex_01m.rom", 0x000000, 0x200000, 0xd10e9c7d ) /* sprites */
6234 ROM_LOAD( "drex_02m.rom", 0x200000, 0x200000, 0x6c304403 ) /* sprites */
6235 ROM_LOAD( "drex_03m.rom", 0x400000, 0x200000, 0xfc9cdab4 ) /* sprites */
6236
6237 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6238 ROM_LOAD( "drex_12.rom", 0x00000, 0x04000, 0x8292c7c1 )
6239 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6240
6241 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6242 ROM_LOAD( "drex_07m.rom", 0x000000, 0x100000, 0x28262816 )
6243
6244 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
6245 ROM_LOAD( "drex_08m.rom", 0x000000, 0x080000, 0x377b8b7b )
6246 ROM_END
6247
6248 ROM_START( dinorexj )
6249 ROM_REGION( 0x300000, REGION_CPU1 ) /* 1Mb for 68000 code */
6250 ROM_LOAD_EVEN( "drex_14.rom", 0x000000, 0x080000, 0xe6aafdac )
6251 ROM_LOAD_ODD ( "d39-13.rom", 0x000000, 0x080000, 0xae496b2f )
6252 ROM_LOAD_WIDE_SWAP( "drex_04m.rom", 0x100000, 0x100000, 0x3800506d ) /* data rom */
6253 ROM_LOAD_WIDE_SWAP( "drex_05m.rom", 0x200000, 0x100000, 0xe2ec3b5d ) /* data rom */
6254
6255 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6256 ROM_LOAD( "drex_06m.rom", 0x000000, 0x100000, 0x52f62835 ) /* characters */
6257
6258 ROM_REGION( 0x600000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6259 ROM_LOAD( "drex_01m.rom", 0x000000, 0x200000, 0xd10e9c7d ) /* sprites */
6260 ROM_LOAD( "drex_02m.rom", 0x200000, 0x200000, 0x6c304403 ) /* sprites */
6261 ROM_LOAD( "drex_03m.rom", 0x400000, 0x200000, 0xfc9cdab4 ) /* sprites */
6262
6263 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6264 ROM_LOAD( "drex_12.rom", 0x00000, 0x04000, 0x8292c7c1 )
6265 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6266
6267 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6268 ROM_LOAD( "drex_07m.rom", 0x000000, 0x100000, 0x28262816 )
6269
6270 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
6271 ROM_LOAD( "drex_08m.rom", 0x000000, 0x080000, 0x377b8b7b )
6272 ROM_END
6273
6274 ROM_START( dinorexu )
6275 ROM_REGION( 0x300000, REGION_CPU1 ) /* 1Mb for 68000 code */
6276 ROM_LOAD_EVEN( "drex_14.rom", 0x000000, 0x080000, 0xe6aafdac )
6277 ROM_LOAD_ODD ( "drex_16u.rom", 0x000000, 0x080000, 0xfe96723b )
6278 ROM_LOAD_WIDE_SWAP( "drex_04m.rom", 0x100000, 0x100000, 0x3800506d ) /* data rom */
6279 ROM_LOAD_WIDE_SWAP( "drex_05m.rom", 0x200000, 0x100000, 0xe2ec3b5d ) /* data rom */
6280
6281 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6282 ROM_LOAD( "drex_06m.rom", 0x000000, 0x100000, 0x52f62835 ) /* characters */
6283
6284 ROM_REGION( 0x600000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6285 ROM_LOAD( "drex_01m.rom", 0x000000, 0x200000, 0xd10e9c7d ) /* sprites */
6286 ROM_LOAD( "drex_02m.rom", 0x200000, 0x200000, 0x6c304403 ) /* sprites */
6287 ROM_LOAD( "drex_03m.rom", 0x400000, 0x200000, 0xfc9cdab4 ) /* sprites */
6288
6289 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6290 ROM_LOAD( "drex_12.rom", 0x00000, 0x04000, 0x8292c7c1 )
6291 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6292
6293 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6294 ROM_LOAD( "drex_07m.rom", 0x000000, 0x100000, 0x28262816 )
6295
6296 ROM_REGION( 0x080000, REGION_SOUND2 ) /* Delta-T samples */
6297 ROM_LOAD( "drex_08m.rom", 0x000000, 0x080000, 0x377b8b7b )
6298 ROM_END
6299
6300 ROM_START( qjinsei ) /* Quiz Jinsei Gekijoh */
6301 ROM_REGION( 0x200000, REGION_CPU1 ) /* 512k for 68000 code */
6302 ROM_LOAD_EVEN( "d48-09", 0x000000, 0x040000, 0xa573b68d ) /* Prog1 */
6303 ROM_LOAD_ODD ( "d48-10", 0x000000, 0x040000, 0x37143a5b ) /* Prog2 */
6304 ROM_LOAD_WIDE_SWAP( "d48-03", 0x100000, 0x100000, 0xfb5ea8dc ) /* data */
6305
6306 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6307 ROM_LOAD( "d48-04", 0x000000, 0x100000, 0x61e4b078 ) /* Screen */
6308
6309 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6310 ROM_LOAD_GFX_EVEN( "d48-02", 0x000000, 0x100000, 0xa7b68e63 ) /* Object */
6311 ROM_LOAD_GFX_ODD ( "d48-01", 0x000000, 0x100000, 0x72a94b73 ) /* Object */
6312
6313 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6314 ROM_LOAD( "d48-11", 0x00000, 0x04000, 0x656c5b54 ) /* AUD Prog */
6315 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6316
6317 ROM_REGION( 0x080000, REGION_SOUND1 ) /* ADPCM samples */
6318 ROM_LOAD( "d48-05", 0x000000, 0x080000, 0x3fefd058 )
6319
6320 /* no Delta-T samples */
6321 ROM_END
6322
6323 ROM_START( qcrayon ) /* Quiz Crayon */
6324 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
6325 ROM_LOAD_EVEN( "d55-13", 0x00000, 0x40000, 0x16afbfc7 )
6326 ROM_LOAD_ODD ( "d55-14", 0x00000, 0x40000, 0x2fb3057f )
6327
6328 ROM_REGION( 0x100000, REGION_USER1 )
6329 /* extra ROM mapped 0x300000 */
6330 ROM_LOAD_WIDE_SWAP( "d55-03", 0x000000, 0x100000, 0x4d161e76 ) /* data rom */
6331
6332 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE )
6333 ROM_LOAD( "d55-02", 0x000000, 0x100000, 0xf3db2f1c ) /* Screen */
6334
6335 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE )
6336 ROM_LOAD_GFX_EVEN( "d55-05", 0x000000, 0x100000, 0xf0e59902 ) /* Object */
6337 ROM_LOAD_GFX_ODD ( "d55-04", 0x000000, 0x100000, 0x412975ce ) /* Object */
6338
6339 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6340 ROM_LOAD( "d55-15", 0x00000, 0x04000, 0xba782eff ) /* AUD Prog */
6341 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6342
6343 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6344 ROM_LOAD( "d55-01", 0x000000, 0x100000, 0xa8309af4 )
6345
6346 /* no Delta-T samples */
6347 ROM_END
6348
6349 ROM_START( qcrayon2 ) /* Quiz Crayon 2 */
6350 ROM_REGION( 0x80000, REGION_CPU1 ) /* 512k for 68000 code */
6351 ROM_LOAD_EVEN( "d63-12", 0x00000, 0x40000, 0x0f445a38 )
6352 ROM_LOAD_ODD ( "d63-13", 0x00000, 0x40000, 0x74455752 )
6353
6354 ROM_REGION( 0x080000, REGION_USER1 )
6355 /* extra ROM mapped at 600000 */
6356 ROM_LOAD_WIDE_SWAP( "d63-01", 0x000000, 0x080000, 0x872e38b4 ) /* data rom */
6357
6358 ROM_REGION( 0x100000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
6359 ROM_LOAD( "d63-03", 0x000000, 0x100000, 0xd24843af ) /* Screen */
6360
6361 ROM_REGION( 0x200000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for graphics (disposed after conversion) */
6362 ROM_LOAD( "d63-06", 0x000000, 0x200000, 0x58b1e4a8 ) /* Object */
6363
6364 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6365 ROM_LOAD( "d63-11", 0x00000, 0x04000, 0x2c7ac9e5 ) /* AUD Prog */
6366 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6367
6368 ROM_REGION( 0x100000, REGION_SOUND1 ) /* ADPCM samples */
6369 ROM_LOAD( "d63-02", 0x000000, 0x100000, 0x162ae165 )
6370
6371 /* no Delta-T samples */
6372 ROM_END
6373
6374 ROM_START( driftout )
6375 ROM_REGION( 0x100000, REGION_CPU1 ) /* 1024k for 68000 code */
6376 ROM_LOAD_EVEN( "do_46.rom", 0x00000, 0x80000, 0xf960363e )
6377 ROM_LOAD_ODD ( "do_45.rom", 0x00000, 0x80000, 0xe3fe66b9 )
6378
6379 ROM_REGION( 0x080000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* UNUSED! */
6380
6381 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for sprites (disposed after conversion) */
6382 ROM_LOAD( "do_obj.rom", 0x000000, 0x080000, 0x5491f1c4 )
6383
6384 ROM_REGION( 0x080000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* temporary space for pivot chars (disposed after conversion) */
6385 ROM_LOAD( "do_piv.rom", 0x000000, 0x080000, 0xc4f012f7 )
6386
6387 ROM_REGION( 0x1c000, REGION_CPU2 ) /* sound cpu */
6388 ROM_LOAD( "do_50.rom", 0x00000, 0x04000, 0xffe10124 )
6389 ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
6390
6391 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples */
6392 ROM_LOAD( "do_snd.rom", 0x00000, 0x80000, 0xf2deb82b )
6393
6394 /* no Delta-T samples */
6395 ROM_END
6396
6397 ROM_START( driveout )
6398 ROM_REGION( 0x100000, REGION_CPU1 ) /* 1024k for 68000 code */
6399 ROM_LOAD_EVEN( "driveout.003", 0x00000, 0x80000, 0xdc431e4e )
6400 ROM_LOAD_ODD ( "driveout.002", 0x00000, 0x80000, 0x6f9063f4 )
6401
6402 ROM_REGION( 0x080000, REGION_GFX1 | REGIONFLAG_DISPOSE ) /* UNUSED! */
6403
6404 ROM_REGION( 0x100000, REGION_GFX2 | REGIONFLAG_DISPOSE ) /* temporary space for sprites (disposed after conversion) */
6405 ROM_LOAD_GFX_EVEN( "driveout.084", 0x000000, 0x040000, 0x530ac420 )
6406 ROM_LOAD_GFX_ODD ( "driveout.081", 0x000000, 0x040000, 0x0e9a3e9e )
6407
6408 ROM_REGION( 0x080000, REGION_GFX3 | REGIONFLAG_DISPOSE ) /* temporary space for pivot chars (disposed after conversion) */
6409 ROM_LOAD( "do_piv.rom", 0x000000, 0x080000, 0xc4f012f7 )
6410
6411 ROM_REGION( 0x2c000, REGION_CPU2 ) /* sound cpu, why is prg longer than Driftout? */
6412 ROM_LOAD( "driveout.029", 0x00000, 0x04000, 0x0aba2026 )
6413 ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
6414
6415 ROM_REGION( 0x80000, REGION_SOUND1 ) /* ADPCM samples? */
6416 ROM_LOAD( "driveout.028", 0x00000, 0x80000, 0xcbde0b66 )
6417
6418 ROM_REGION( 0x10000, REGION_USER1 ) /* Z80 code. Sample player? */
6419 ROM_LOAD( "driveout.020", 0x0000, 0x8000, 0x99aaeb2e )
6420 ROM_END
6421
6422
6423
6424 void init_finalb(void)
6425 {
6426 int i;
6427 unsigned char data;
6428 unsigned int offset;
6429 UINT8 *gfx = memory_region(REGION_GFX2);
6430
6431 offset = 0x100000;
6432 for (i = 0x180000; i<0x200000; i++)
6433 {
6434 int d1,d2,d3,d4;
6435
6436 /* convert from 2bits into 4bits format */
6437 data = gfx[i];
6438 d1 = (data>>0) & 3;
6439 d2 = (data>>2) & 3;
6440 d3 = (data>>4) & 3;
6441 d4 = (data>>6) & 3;
6442
6443 gfx[offset] = (d3<<2) | (d4<<6);
6444 offset++;
6445
6446 gfx[offset] = (d1<<2) | (d2<<6);
6447 offset++;
6448 }
6449 }
6450
init_mjnquest(void)6451 void init_mjnquest(void)
6452 {
6453 int i;
6454 UINT8 *gfx = memory_region(REGION_GFX2);
6455
6456 /* the bytes in each longword are in reversed order, put them in the
6457 order used by the other games. */
6458 for (i = 0;i < memory_region_length(REGION_GFX2);i += 2)
6459 {
6460 int t;
6461
6462 t = gfx[i];
6463 gfx[i] = (gfx[i+1] >> 4) | (gfx[i+1] << 4);
6464 gfx[i+1] = (t >> 4) | (t << 4);
6465 }
6466 }
6467
6468
6469
6470 GAME( 1988, finalb, 0, finalb, finalb, finalb, ROT0, "Taito Corporation Japan", "Final Blow (World)" )
6471 GAME( 1988, finalbj, finalb, finalb, finalbj, finalb, ROT0, "Taito Corporation", "Final Blow (Japan)" )
6472 GAME( 1989, dondokod, 0, dondokod, dondokod, 0, ROT0, "Taito Corporation", "Don Doko Don (Japan)" )
6473 GAME( 1989, megab, 0, megab, megab, 0, ROT0, "Taito Corporation Japan", "Mega Blast (World)" )
6474 GAME( 1989, megabj, megab, megab, megabj, 0, ROT0, "Taito Corporation", "Mega Blast (Japan)" )
6475 GAME( 1990, thundfox, 0, thundfox, thundfox, 0, ROT0, "Taito Corporation", "Thunder Fox (Japan)" )
6476 GAME( 1989, cameltry, 0, cameltry, cameltry, 0, ROT0, "Taito Corporation", "Camel Try (Japan)" )
6477 GAME( 1989, cameltru, cameltry, cameltry, cameltry, 0, ROT0, "Taito America Corporation", "Camel Try (US)" )
6478 GAME( 1990, qtorimon, 0, qtorimon, qtorimon, 0, ROT0, "Taito Corporation", "Quiz Torimonochou (Japan)" )
6479 GAME( 1990, liquidk, 0, liquidk, liquidk, 0, ROT0, "Taito Corporation Japan", "Liquid Kids (World)" )
6480 GAME( 1990, liquidku, liquidk, liquidk, liquidk, 0, ROT0, "Taito America Corporation", "Liquid Kids (US)" )
6481 GAME( 1990, mizubaku, liquidk, liquidk, mizubaku, 0, ROT0, "Taito Corporation", "Mizubaku Daibouken (Japan)" )
6482 GAME( 1990, quizhq, 0, quizhq, quizhq, 0, ROT0, "Taito Corporation", "Quiz HQ (Japan)" )
6483 GAME( 1990, ssi, 0, ssi, ssi, 0, ROT270, "Taito Corporation Japan", "Super Space Invaders '91 (World)" )
6484 GAME( 1990, majest12, ssi, ssi, majest12, 0, ROT270, "Taito Corporation", "Majestic Twelve - The Space Invaders Part IV (Japan)" )
6485 GAME( 1990, gunfront, 0, gunfront, gunfront, 0, ROT270, "Taito Corporation Japan", "Gun & Frontier (World)" )
6486 GAME( 1990, gunfronj, gunfront, gunfront, gunfronj, 0, ROT270, "Taito Corporation", "Gun Frontier (Japan)" )
6487 GAME( 1990, growl, 0, growl, growl, 0, ROT0, "Taito Corporation Japan", "Growl (World)" )
6488 GAME( 1990, growlu, growl, growl, growl, 0, ROT0, "Taito America Corporation", "Growl (US)" )
6489 GAME( 1990, runark, growl, growl, runark, 0, ROT0, "Taito Corporation", "Runark (Japan)" )
6490 GAME( 1990, mjnquest, 0, mjnquest, mjnquest, mjnquest, ROT0, "Taito Corporation", "Mahjong Quest (Japan)" )
6491 GAME( 1990, mjnquesb, mjnquest, mjnquest, mjnquest, mjnquest, ROT0, "Taito Corporation", "Mahjong Quest (No Nudity)" )
6492 GAME( 1990, footchmp, 0, footchmp, footchmp, 0, ROT0, "Taito Corporation Japan", "Football Champ (World)" )
6493 GAME( 1990, hthero, footchmp, hthero, hthero, 0, ROT0, "Taito Corporation", "Hat Trick Hero (Japan)" )
6494 GAME( 1992, euroch92, footchmp, footchmp, footchmp, 0, ROT0, "Taito Corporation Japan", "Euro Champ '92 (World)" )
6495 GAME( 1990, koshien, 0, koshien, koshien, 0, ROT0, "Taito Corporation", "Ah Eikou no Koshien (Japan)" )
6496 GAME( 1990, yuyugogo, 0, yuyugogo, yuyugogo, 0, ROT0, "Taito Corporation", "Yuuyu no Quiz de GO!GO! (Japan)" )
6497 GAME( 1990, ninjak, 0, ninjak, ninjak, 0, ROT0, "Taito Corporation Japan", "Ninja Kids (World)" )
6498 GAME( 1990, ninjakj, ninjak, ninjak, ninjakj, 0, ROT0, "Taito Corporation", "Ninja Kids (Japan)" )
6499 GAME( 1991, solfigtr, 0, solfigtr, solfigtr, 0, ROT0, "Taito Corporation Japan", "Solitary Fighter (World)" )
6500 GAME( 1991, qzquest, 0, qzquest , qzquest, 0, ROT0, "Taito Corporation", "Quiz Quest - Hime to Yuusha no Monogatari (Japan)" )
6501 GAME( 1991, pulirula, 0, pulirula, pulirula, 0, ROT0, "Taito Corporation Japan", "PuLiRuLa (World)" )
6502 GAME( 1991, pulirulj, pulirula, pulirula, pulirulj, 0, ROT0, "Taito Corporation", "PuLiRuLa (Japan)" )
6503 GAME( 1991, metalb, 0, metalb, metalb, 0, ROT0_16BIT, "Taito Corporation Japan", "Metal Black (World)" )
6504 GAME( 1991, metalbj, metalb, metalb, metalbj, 0, ROT0_16BIT, "Taito Corporation", "Metal Black (Japan)" )
6505 GAME( 1991, qzchikyu, 0, qzchikyu, qzchikyu, 0, ROT0, "Taito Corporation", "Quiz Chikyu Bouei Gun (Japan)" )
6506 GAME( 1992, yesnoj, 0, yesnoj, yesnoj, 0, ROT0, "Taito Corporation", "Yes/No Sinri Tokimeki Chart" )
6507 GAME( 1992, deadconx, 0, deadconx, deadconx, 0, ROT0, "Taito Corporation Japan", "Dead Connection (World)" )
6508 GAME( 1992, deadconj, deadconx, deadconj, deadconj, 0, ROT0, "Taito Corporation", "Dead Connection (Japan)" )
6509 GAME( 1992, dinorex, 0, dinorex, dinorex, 0, ROT0, "Taito Corporation Japan", "Dino Rex (World)" )
6510 GAME( 1992, dinorexj, dinorex, dinorex, dinorexj, 0, ROT0, "Taito Corporation", "Dino Rex (Japan)" )
6511 GAME( 1992, dinorexu, dinorex, dinorex, dinorex, 0, ROT0, "Taito America Corporation", "Dino Rex (US)" )
6512 GAME( 1992, qjinsei, 0, qjinsei, qjinsei, 0, ROT0, "Taito Corporation", "Quiz Jinsei Gekijoh (Japan)" )
6513 GAME( 1993, qcrayon, 0, qcrayon, qcrayon, 0, ROT0, "Taito Corporation", "Quiz Crayon Shinchan (Japan)" )
6514 GAME( 1993, qcrayon2, 0, qcrayon2, qcrayon2, 0, ROT0, "Taito Corporation", "Crayon Shinchan Orato Asobo (Japan)" )
6515 GAMEX(1991, driftout, 0, driftout, driftout, 0, ROT270, "Visco", "Drift Out (Japan)", GAME_NO_COCKTAIL )
6516 GAMEX(1991, driveout, driftout, driftout, driftout, 0, ROT270, "bootleg", "Drive Out", GAME_NO_SOUND )
6517