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