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