~ubuntu-branches/ubuntu/raring/mame/raring-proposed

« back to all changes in this revision

Viewing changes to mess/src/mame/drivers/taito_z.c

  • Committer: Package Import Robot
  • Author(s): Jordi Mallach, Jordi Mallach, Emmanuel Kasper
  • Date: 2011-12-19 22:56:27 UTC
  • mfrom: (0.1.2)
  • Revision ID: package-import@ubuntu.com-20111219225627-ub5oga1oys4ogqzm
Tags: 0.144-1
[ Jordi Mallach ]
* Fix syntax errors in DEP5 copyright file (lintian).
* Use a versioned copyright Format specification field.
* Update Vcs-* URLs.
* Move transitional packages to the new metapackages section, and make
  them priority extra.
* Remove references to GNU/Linux and MESS sources from copyright.
* Add build variables for s390x.
* Use .xz tarballs as it cuts 4MB for the upstream sources.
* Add nplayers.ini as a patch. Update copyright file to add CC-BY-SA-3.0.

[ Emmanuel Kasper ]
* New upstream release. Closes: #651538.
* Add Free Desktop compliant png icons of various sizes taken from
  the hydroxygen iconset
* Mess is now built from a new source package, to avoid possible source
  incompatibilities between mame and the mess overlay.
* Mame-tools are not built from the mame source package anymore, but
  from the mess source package

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
 
3
 
Taito Z System [twin 68K with optional Z80]
4
 
-------------------------------------------
5
 
 
6
 
David Graves
7
 
 
8
 
(this is based on the F2 driver by Bryan McPhail, Brad Oliver, Andrew Prime,
9
 
Nicola Salmoria. Thanks to Richard Bush and the Raine team, whose open
10
 
source was very helpful in many areas particularly the sprites.)
11
 
 
12
 
- Changes Log -
13
 
 
14
 
05-01-04 Added Racing Beat
15
 
01-26-02 Added Enforce
16
 
10-17-01 TC0150ROD support improved (e.g. Aquajack)
17
 
09-01-01 Preliminary TC0150ROD support
18
 
08-28-01 Fixed uncentered steer inputs, Nightstr controls
19
 
05-27-01 Inputs through taitoic ioc routines, contcirc subwoofer filter
20
 
04-12-01 Centered steering AD inputs, added digital steer
21
 
02-18-01 Added Spacegun gunsights (Insideoutboy)
22
 
 
23
 
 
24
 
                *****
25
 
 
26
 
The Taito Z system has a number of similarities with the Taito F2 system,
27
 
and uses some of the same custom Taito components.
28
 
 
29
 
TaitoZ supports 5 separate layers of graphics - one 64x64 tiled scrolling
30
 
background plane of 8x8 tiles, a similar foreground plane, another optional
31
 
plane used for drawing a road (e.g. Chasehq), a sprite plane [with varying
32
 
properties], and a text plane with character definitions held in ram.
33
 
 
34
 
(Double Axle has four rather than two background planes, and they contain
35
 
32x32 16x16 tiles. This is because it uses a TC0480SCP rather than the
36
 
older TC0100SCN tilemap generator used in previous Taito Z games. The
37
 
hardware for Taito's Super Chase was a further development of this, with a
38
 
68020 for main CPU and Ensoniq sound - standard features of Taito's F3
39
 
system. Taito's F3 system superceded both Taito B and F2 systems, but the
40
 
Taito Z system was enhanced with F3 features and continued in games like
41
 
Super Chase and Under Fire up to the mid 1990s.)
42
 
 
43
 
Each Taito Z game used one of the following sprite systems - allowing the
44
 
use of big sprites with minimal CPU overhead [*]:
45
 
 
46
 
(i)  16x8 tiles aggregated through a spritemap rom into 128x128 sprites
47
 
(ii) 16x16 tiles aggregated through a spritemap rom into three sprite sizes:
48
 
      128 x 128
49
 
       64 x 128
50
 
       32 x 128
51
 
(iii) 16x8 tiles aggregated through a spritemap rom into 64x64 sprites
52
 
 
53
 
[* in Taito B/F2/F3 the CPU has to keep track of all the 16x16 tiles within
54
 
a big sprite]
55
 
 
56
 
The Z system has twin 68K CPUs which communicate via shared ram.
57
 
Typically they share $4000 bytes, but Spacegun / Dbleaxle share $10000.
58
 
 
59
 
The first 68000 handles screen, palette and sprites, and sometimes other
60
 
jobs [e.g. inputs; in one game it also handles the road].
61
 
 
62
 
The second 68000 may handle functions such as:
63
 
    (i)  inputs/dips, sound (through a YM2610) and/or
64
 
    (ii) the "road" that's in every TaitoZ game except Spacegun.
65
 
 
66
 
Most Z system games have a Z80 as well, which takes over sound duties.
67
 
Commands are written to it by the one of the 68000s.
68
 
 
69
 
The memory map for the Taito Z games is similar in outline but usually
70
 
shuffled around: some games have different i/o because of analogue
71
 
sticks, light guns, cockpit hardware etc.
72
 
 
73
 
 
74
 
Contcirc board (B.Troha)
75
 
--------------
76
 
 
77
 
Taito Sound PCB J1100137A K1100314A:
78
 
 
79
 
  Zilog Z0840004PSC     XTAL OSC          Yamaha
80
 
  Z80 CPU               16.000 MHz        YM2610
81
 
 
82
 
  TC0060DCA              B33-30
83
 
  TC0060DCA
84
 
                                            TC0140SYT
85
 
 
86
 
                                          B33-08
87
 
                                          B33-09
88
 
                                          B33-10
89
 
 
90
 
Notes: B33-30 is a OKI M27512-15
91
 
 
92
 
 
93
 
Taito Video Baord PCB J1100139A K1100316A:
94
 
 
95
 
 B33-03     TC0050VDZ     TC0050VDZ                       TC0050VDZ
96
 
 B33-04
97
 
 B33-05
98
 
 B33-06                      TC0020VAR
99
 
 
100
 
     B14-31
101
 
 
102
 
 B33-07
103
 
 
104
 
                      B14-30
105
 
 
106
 
Notes: B14-31 is 27HC64 (Sharp LH5763J-70)
107
 
       B14-30 is OKI M27512-15
108
 
DG:    TC0020VAR + 3xTC0050VDZ may be precursor to 370MSO/300FLA combo
109
 
 
110
 
 
111
 
Taito CPU Board J110138A K1100315A:
112
 
 
113
 
                                            XTAL OSC  XTAL OSC
114
 
                                            24.000MHz 26.686MHz
115
 
 
116
 
                                                 B33-02
117
 
B33-01
118
 
                  TC0150ROD                 TC0100SCN        NEC D43256C-10L
119
 
                                                             NEC D43256C-10L
120
 
 
121
 
                                                      TC0110PCR
122
 
 
123
 
                                          TC0070RGB
124
 
 MC6800P12 IC-25 MC68000P12 IC-35
125
 
           IC-26            IC 36           TC0040IOC
126
 
                                              DSWA  DSWB
127
 
 
128
 
Notes: IC-41 Is 271001 Listed as JH1 (unsocketed / unused)
129
 
       IC-42 Is 271001 Listed as JL1 (unsocketed / unused)
130
 
 
131
 
****************************************************************************
132
 
 
133
 
Aquajack
134
 
Taito, 1990
135
 
 
136
 
This game runs on Taito Z hardware
137
 
 
138
 
Main PCB Layout
139
 
---------------
140
 
 
141
 
J1100196A
142
 
K1100456A
143
 
K1100457A AQUA JACK (sticker)
144
 
|--------------------------------------------------------------------------|
145
 
|B77-17.1 2063  B77-07.33           B77-05.105         DSWA(8)  DSWB(8)    |
146
 
|         2063                                        |------|             |
147
 
| |---------|  |---------|               |---------|  |TAITO | 2063      |-|
148
 
| |  TAITO  |  |  TAITO  |               |  TAITO  |  |TC0110| TC0070RGB |
149
 
| |TC0050VDZ|  |TC0150ROD| B77-19.46     |TC0100SCN|  |PCR   | 2063      |-|
150
 
| |(QFP100) |  |(QFP160) |               |(QFP160) |  |------|             |
151
 
| |         |  |         |               |         |          MB3771       |
152
 
| |---------|  |---------|               |---------|  |------|             |
153
 
|                                     58257  58257    |TAITO |        (G) 2|
154
 
| 2018         |---------|                            |TC0220| TC0060DCA  8|
155
 
| 2018         |  TAITO  |   |---------|              |IOC   | TC0060DCA  W|
156
 
| 2018         |TC0020VAR|   |  TAITO  |              |------|            A|
157
 
| 2018         |(QFP124) |   |TC0320OBR| 2063        TL074    MB3735      Y|
158
 
|              |         |   |(QFP144) |             TL074       VOL       |
159
 
| 2018         |---------|   |         | B77_20.54   YM3016                |
160
 
| 2018         B77-18.37     |---------| Z80         YM2610              |-|
161
 
| 2018         B77-06.39                                      MB3735     |
162
 
| 2018      |---------|                              |---------| VOL     |-|
163
 
|           |  TAITO  |                  16MHz  TL074|  TAITO  |           |
164
 
|           |TC0050VDZ|                              |TC0100SYT| B77-15.89 |
165
 
| B77-01.13 |(QFP100) |       2018      B77-08.57    |(QFP120) |          |-|
166
 
|           |         |       2018      B77-09.58    |         |          | |
167
 
| B77-02.14 |---------|      |--------------|        |---------|          | |
168
 
|           |---------|      |  MC68000P12  |                          (M)| |
169
 
| B77-03.15 |  TAITO  |      |--------------|        2063                 | |
170
 
|           |TC0050VDZ|                              2063                 |-|
171
 
| B77-04.16 |(QFP100) |   B77-14.60       B77_23.67|---------|             |
172
 
|           |         |   B77-13.51       2063     |  TAITO  | B77-16.94   |
173
 
|           |---------|  |--------------|          |TC0170ABT|             |
174
 
|                        |  MC68000P12  | B77_24.69|(QFP120) |        24MHz|
175
 
| B77_25.17   B77_22.31  |--------------| 2063     |         | 26.686MHz   |
176
 
| 2063        2063                                 |---------|             |
177
 
|--------------------------------------------------------------------------|
178
 
Notes:
179
 
      68000 - Motorola MC68000P12 CPUs, running at 12.000MHz [24/2]
180
 
        Z80 - Zilog Z0840004PSC Z80 CPU, running at 4.000MHz [16/4]
181
 
     YM2610 - Yahama YM2610 sound chip, running at 8.000MHz [16/2]
182
 
       2063 - Toshiba TMM2063 8K x8 SRAM (DIP28)
183
 
       2018 - Toshiba TMM2018 2K x8 SRAM (DIP24)
184
 
      58257 - Sony CXK58257 32K x8 SRAM (DIP28)
185
 
     MB3771 - Fujitsu MB3771 System Reset IC (DIP8)
186
 
        (G) - 28-Way Connector (Not JAMMA)
187
 
        (M) - 50-pin Flat Cable Connector Joining Main PCB To Analog Control PCB
188
 
 
189
 
        OSC: 26.686, 24.000, 16.000
190
 
 
191
 
     Taito custom ICs -
192
 
                       TC0070RGB - RGB/Video Mixer (Ceramic Flat Pack SIP25)
193
 
                       TC0060DCA - Digital to Analog Conversion for Audio (Ceramic Flat Pack SIP20)
194
 
                       TC0100SYT - Sound Communication
195
 
                       TC0220IOC - Input/Output. This chip also provides the master reset via the MB3771. It probably does more things too,
196
 
                                   including video output. For example, if the harness is connected backwards, this chip blows and kills
197
 
                                   the PCB. Even manually resetting the 68000's cannot restart the PCB, and it just shows a wavey pattern
198
 
                                   on screen.
199
 
                       TC0110PCR - Pallete Generator
200
 
                       TC0100SCN - Tilemap Generator
201
 
                       TC0150ROD - Road Generator
202
 
                       TC0050VDZ - \ Motion Object Generator Combo?
203
 
                       TC0170ABT - /
204
 
                       TC0020VAR - ?
205
 
                       TC0320OBR - Road Object Generator? (tied to TC0150ROD)
206
 
 
207
 
    ROMs -
208
 
 
209
 
 
210
 
Analog Control PCB
211
 
------------------
212
 
J9100175A
213
 
K9100227A ADII PCB
214
 
K9100227A AQUA JACK (sticker)
215
 
|------------------|
216
 
|                  |
217
 
|    74LS244      |-|
218
 
|                 | |
219
 
|                 | |
220
 
|    ADC0809      | |
221
 
|              (M)| |
222
 
|                 | |
223
 
|    74LS245      | |
224
 
|(H)              | |
225
 
|                 | |
226
 
|    74HC74       | |
227
 
|                 |-|
228
 
|        4.9152MHz |
229
 
|------------------|
230
 
Notes:
231
 
      All components listed
232
 
 
233
 
      (H) - 6 pin connector for attachment of Analog Controls
234
 
      (M) - 50-pin Flat Cable Connector For Joining Analog Control PCB to Main PCB
235
 
  ADC0809 - Texas Instruments ADC0809N Analog To Digital Convertor IC (DIP28)
236
 
 
237
 
 
238
 
ChaseHQ (Guru)
239
 
-------
240
 
 
241
 
Video board
242
 
-----------
243
 
                 Pal  b52-28d  b52-28b
244
 
                 Pal      17d      17b
245
 
                 Pal      28c      28a
246
 
                 Pal      77c      17a
247
 
 
248
 
b52-30
249
 
    34
250
 
    31
251
 
    35
252
 
    32                     b52-27  pal20       TC020VAR  b52-03  b52-127
253
 
    36                         51                        b52-126  b52-124 Pal
254
 
                               50
255
 
                               49                  Pal   b52-125
256
 
    33   Pal  b52-19                                      Pal   b52-25
257
 
    37    38                 b52-18b                      Pal   122
258
 
         Pal      Pal        b52-18a                      Pal   123
259
 
         b52-20   b52-21     b52-18
260
 
 
261
 
 
262
 
CPU board
263
 
---------
264
 
                                                    b52-119 Pal
265
 
                                                    b52-118 Pal
266
 
                                68000-12
267
 
                            b52-131    129
268
 
b52-113                     b52-130    136
269
 
b52-114
270
 
b52-115                 TC0140SYT
271
 
b52-116
272
 
 
273
 
             YM2610                          b52-29
274
 
                                                      26.686MHz
275
 
                                                      24 MHz
276
 
           16MHz                             TC0100SCN
277
 
 
278
 
       Pal b52-121
279
 
       Pal b52-120                      TC0170ABT   TC0110PCR    b52-01
280
 
          68000-12
281
 
                                        b52-06
282
 
         TC0040IOC  b52-133 b52-132  TC0150ROD    b52-28
283
 
 
284
 
 
285
 
 
286
 
ChaseHQ2(SCI) custom chips (Guru) (DG: same as Bshark except 0140SYT?)
287
 
--------------------------
288
 
 
289
 
CPU PCB:
290
 
TC0170ABT
291
 
TC0150ROD
292
 
TC0140SYT
293
 
TC0220IOC
294
 
 
295
 
c09-23.rom is a
296
 
PROM type AM27S21PC, location looks like this...
297
 
 
298
 
-------------
299
 
|   68000   |
300
 
-------------
301
 
 
302
 
c09-25    c09-26
303
 
c09-24
304
 
 
305
 
|-------|
306
 
|       |
307
 
| ABT   |
308
 
|       |
309
 
|-------|
310
 
 
311
 
c09-23     c09-07
312
 
 
313
 
|-------|
314
 
|       |
315
 
| ROD   |
316
 
|       |
317
 
|-------|
318
 
 
319
 
c09-32   c09-33
320
 
-------------
321
 
|   68000   |
322
 
-------------
323
 
 
324
 
c09-21  c09-22
325
 
 
326
 
Lower PCB:
327
 
TCO270MOD
328
 
TC0300FLA
329
 
TC0260DAR
330
 
TC0370MSO
331
 
TC0100SCN
332
 
TC0380BSH
333
 
 
334
 
c09-16.rom is located next to
335
 
c09-05, which is located next to Taito TCO370MSO.
336
 
 
337
 
SCI (Guru)
338
 
Taito, 1989
339
 
 
340
 
Controls for this game are one wheel, one switch for shift lever (used for high gear)
341
 
and one switch each for accelerate, brake, gun and nitro.
342
 
 
343
 
Note that the gear is low by default and is shifted to high gear by a lever which
344
 
holds the switch closed. The lever is not self-centering or spring-loaded to go back to
345
 
low. The lever must be physically shifted back to low when required.
346
 
 
347
 
 
348
 
PCB Layout
349
 
----------
350
 
 
351
 
CPU PCB  K1100490A  J1100209A
352
 
|----------------------------------------------------|
353
 
| 24MHz  C09-14.42  TCO140SYT   C09-22.3   C09-21.2  |
354
 
|        C09-13.43                    68000          |
355
 
|        C09-12.44              C09-33.6   C09-32.5  |
356
 
|        YM2610     C09-15.29   6264       6264      |
357
 
| YM3016 TL074 TL074  Z80                            |
358
 
|                   C09-34.31   6264       TCO150ROD |
359
 
|D             VOL    6264      6264                 |
360
 
|                                                    |
361
 
|        MB3735                 C09-07.15  C09-23.14 |
362
 
|          D633        16MHz                         |
363
 
|   62064             6264      6264       TCO170ABT |
364
 
|                    C09-28.37  6264                 |
365
 
|G  62003            C09-36.38           C09-24.22   |
366
 
|        TCO220IOC    6264     C09-26.26 C09-25.25   |
367
 
|                    C09-30.40        68000          |
368
 
|        DSWB DSWA   C09-31.41                       |
369
 
|----------------------------------------------------|
370
 
 
371
 
Notes:
372
 
      Clocks:
373
 
             68000 : 16.000MHz (both)
374
 
             Z80   : 4.000MHz
375
 
             YM2610: 8.000MHz
376
 
 
377
 
      Vsync: 60Hz
378
 
 
379
 
      Misc parts:
380
 
                 MB3735: 15w Power AMP with dual output (used for stereo sounds ; CH1/CH2)
381
 
                 TL074 : JFET Lo Noise Quad OP Amp
382
 
                 6264  : 8k x8 SRAM
383
 
               TD62064 : NPN 50V 1.5A Quad Darlinton Switch (for driving coin meters)
384
 
               TD62003 : PNP 50V 0.5A Quad Darlinton Switch (for driving coin meters)
385
 
                  D633 : Si NPN POWER transistor used in 68k reset circuit (TIP122 compatible)
386
 
      ROMs:
387
 
            C09-12 thru C09-14 - MB834100
388
 
            C09-07             - HN62404
389
 
            C09-32 thru C09-33 - AM27C512
390
 
            C09-30 thru C09-31 - TC571000
391
 
            C09-38 and C09-36  - TC571000
392
 
            C09-23             - AM27S21
393
 
            C09-22 and C09-26  - MMI PAL16L8B
394
 
            C09-21 and
395
 
            C09-24 thru C09-25 - MMI PAL20L8B
396
 
 
397
 
PINOUT CONNECTOR D (Note: All pinouts typed from an original Taito document)
398
 
------------------
399
 
 
400
 
1  +24V
401
 
2  +24V
402
 
3  GND
403
 
4  GND
404
 
5  D OUT
405
 
 
406
 
Question: +24V and D OUT are for?
407
 
 
408
 
 
409
 
PINOUT CONNECTOR G (the meanings of some of these is a bit vague - PTL OUTx, DRV0, HANDLE CENTER SW etc)
410
 
 
411
 
         PARTS     |    SOLDER
412
 
    ---------------|---------------
413
 
             GND  1|A GND
414
 
             GND  2|B GND
415
 
             +5V  3|C +5V
416
 
             +5V  4|D +5V
417
 
             -5V  5|E -5V
418
 
            +12V  6|F +12V
419
 
             KEY  7|H KEY
420
 
       COUNTER A  8|J COUNTER B
421
 
     C LOCKOUT A  9|K C LOCKOUT B
422
 
        SPK CH1+ 10|L SPK CH2+
423
 
        SPK CH1- 11|M SPK CH2-
424
 
         VOLUME2 12|N VOLUME1
425
 
         VOLUME3 13|P MUTE
426
 
             GND 14|R SERVICE SW
427
 
             GND 15|S BRAKE SW0
428
 
          COIN A 16|T COIN B
429
 
       BRAKE SW1 17|U BRAKE SW2
430
 
        NITRO SW 18|V TILT
431
 
HANDLE CENTER SW 19|W START SW
432
 
        SHIFT SW 20|X ACCEL SW0
433
 
       ACCEL SW1 21|Y ACCEL SW2
434
 
        PTL OUT1 22|Z PTL OUT2
435
 
            DRV0 23|a GUN SW
436
 
         PADL X1 24|b PADL X2
437
 
         PADL Y1 25|c PADL Y2
438
 
       HANDLE Z1 26|d HANDLE Z2
439
 
             GND 27|e GND
440
 
             GND 28|f GND
441
 
 
442
 
Question: What hardware is used for steering and where is it connected? It doesn't seem to use
443
 
          a regular potentiometer for the steering??
444
 
 
445
 
 
446
 
PCB Layout
447
 
----------
448
 
 
449
 
VIDEO PCB  K1100491A  J1100210A
450
 
|-----------------------------------------------------|
451
 
|          TCO370MSO  C09-17.24  43256                |
452
 
|H                    C09-18.25  43256                |
453
 
|          C09-05.16                                  |
454
 
|          C09-16.17  26.686MHz  TCO100SCN  6264      |
455
 
|   C1815                                             |
456
 
|V  C1815                                   6264      |
457
 
|   C1815  TCO260DAR             C09-06.37            |
458
 
|6264                                                 |
459
 
|                                                     |
460
 
|                                TCO380BSH   C09-19.67|
461
 
|TCO270MOD TCO300FLA                                  |
462
 
|                                                     |
463
 
|43256    43256   43256   43256   C09-04.52  C09-20.71|
464
 
|43256    43256   43256   43256   C09-03.53           |
465
 
|43256    43256   43256   43256   C09-02.54           |
466
 
|43256    43256   43256   43256   C09-01.55           |
467
 
|-----------------------------------------------------|
468
 
 
469
 
Notes:
470
 
      ROMs:
471
 
            C09-01 thru C09-05 - 234000
472
 
            C09-06             - HN62404
473
 
            C09-17 thru C09-18 - MMI 63S441
474
 
            C09-19             - MMI PAL16L8B
475
 
            C09-20             - AM27S21
476
 
 
477
 
      Misc parts:
478
 
                6264: 8k x8 SRAM
479
 
               43256: 32k x8 SRAM
480
 
               C1815: transistor used for driving RGB
481
 
 
482
 
PINOUT CONNECTOR H
483
 
------------------
484
 
 
485
 
1  GND
486
 
2  GND
487
 
3  GND
488
 
4  GND
489
 
5  +5V
490
 
6  +5V
491
 
7  +5V
492
 
8  +5V
493
 
9  -5V
494
 
10 POST
495
 
11 +12V
496
 
12 NC
497
 
 
498
 
 
499
 
PINOUT CONNECTOR V
500
 
------------------
501
 
 
502
 
1  GND
503
 
2  RED
504
 
3  GREEN
505
 
4  BLUE
506
 
5  SYNC
507
 
6  NC
508
 
7  NC
509
 
 
510
 
 
511
 
 
512
 
 
513
 
 
514
 
BShark custom chips
515
 
-------------------
516
 
 
517
 
TC0220IOC (known io chip)
518
 
TC0260DAR (known palette chip)
519
 
TC0400YSC  substitute for TC0140SYT when 68K writes directly to YM2610 ??
520
 
TC0170ABT  = same in Dblaxle
521
 
TC0100SCN (known tilemap chip)
522
 
TC0370MSO  = same in Dblaxle, Motion Objects ?
523
 
TC0300FLA  = same in Dblaxle
524
 
TC0270MOD  ???
525
 
TC0380BSH  ???
526
 
TC0150ROD (known road generator chip)
527
 
 
528
 
 
529
 
DblAxle custom chip info
530
 
------------------------
531
 
 
532
 
TC0150ROD is next to road lines gfx chip [c78-09] but also
533
 
c78-15, an unused 256 byte rom. Perhaps this contains color
534
 
info for the road lines? Raine makes an artificial "pal map"
535
 
for the road, AFAICS.
536
 
 
537
 
TC0170ABT is between 68000 CPUA and the TC0140SYT. Next to
538
 
that is the Z80A, the YM2610, and the three adpcm roms.
539
 
 
540
 
On the graphics board we have the TC0480SCP next to its two
541
 
scr gfx roms: c78-10 & 11.
542
 
 
543
 
The STY object mapping rom is next to c78-25, an unused
544
 
0x10000 byte rom which compresses by 98%. To right of this
545
 
are TC0370MSO (motion objects?), then TC0300FLA.
546
 
 
547
 
Below c78-25 are two unused 1K roms: c84-10 and c84-11.
548
 
Below right is another unused 256 byte rom, c78-21.
549
 
(At the bottom are the 5 obj gfx roms.)
550
 
 
551
 
K11000635A
552
 
----------
553
 
 43256   c78-11 SCN1 CHR
554
 
 43256   c78-10 SCN0 CHR   TC0480SCP
555
 
 
556
 
 c78-04
557
 
 STY ROM
558
 
            c78-25   TC0370MSO   TC0300FLA
559
 
            c84-10
560
 
            c84-11                                      c78-21
561
 
 
562
 
                       43256 43256 43256 43256
563
 
                 43256 43256 43256 43256 43256
564
 
                 43256 43256 43256 43256 43256
565
 
                                   43256 43256
566
 
 
567
 
                             c78-05L
568
 
            c78-06 OBJ1
569
 
                             c78-05H
570
 
 
571
 
            c78-08 OBJ3      c78-07 OBJ2
572
 
 
573
 
Power Wheels
574
 
------------
575
 
 
576
 
Cpu PCB
577
 
 
578
 
CPU:    68000-16 x2
579
 
Sound:  Z80-A
580
 
    YM2610
581
 
OSC:    32.000MHz
582
 
Chips:  TC0140SYT
583
 
    TC0150ROD
584
 
    TC0170ABT
585
 
    TC0310FAM
586
 
    TC0510NIO
587
 
 
588
 
 
589
 
Video PCB
590
 
 
591
 
OSC:    26.686MHz
592
 
Chips:  TC0260DAR
593
 
    TC0270MOD
594
 
    TC0300FLA
595
 
    TC0370MSO
596
 
    TC0380BSH
597
 
    TC0480SCP
598
 
 
599
 
 
600
 
LAN interface board
601
 
 
602
 
OSC:    40.000MHz
603
 
    16.000MHz
604
 
Chips:  uPD72105C
605
 
 
606
 
 
607
 
TODO Lists
608
 
==========
609
 
 
610
 
Is the no-Z80 sound handling correct: some voices in Bshark
611
 
aren't that clear.
612
 
 
613
 
Make taitosnd cpu-independent so we can restore Z80 to CPU3.
614
 
 
615
 
Cockpit hardware
616
 
 
617
 
DIPs - e.g. coinage
618
 
 
619
 
Sprite zooming - dimensions may be got from the unused 64K rom
620
 
on the video board (it's in the right place for it, both with
621
 
Contcirc video chips and the chips used on later boards). These
622
 
64K roms compare as follows - makes sense as these groups
623
 
comprise the three sprite layout types used in TaitoZ games:
624
 
 
625
 
   Contcirc / Enforce                =IDENTICAL
626
 
   ChaseHQ / Nightstr                =IDENTICAL
627
 
   Bshark / SCI / Dblaxle / Racingb  =IDENTICAL
628
 
 
629
 
   Missing from Aquajack / Spacegun dumps (I would bet they are
630
 
   the same as Bshark). Can anyone dump these two along with any
631
 
   proms on the video board?
632
 
 
633
 
 
634
 
Continental Circus
635
 
------------------
636
 
 
637
 
Road priority incompletely understood - e.g. start barrier should
638
 
be darkening LH edge of road as well as RH edge.
639
 
 
640
 
The 8 level accel / brake should be possible to control with
641
 
analogue pedal. Don't think mame can do this.
642
 
 
643
 
Junk (?) stuff often written in high byte of sound word.
644
 
 
645
 
Speculative YM2610 a/b/c channel filtering as these may be
646
 
outputs to subwoofer (vibration). They sound better, anyway.
647
 
 
648
 
 
649
 
Chasehq
650
 
-------
651
 
 
652
 
Motor CPU: appears to be identical to one in Topspeed.
653
 
 
654
 
[Used to have junk sprites when you reach criminal car (the 'criminals
655
 
here' sprite): two bits above tile number are used. Are these
656
 
meaningless, or is some effect missing?]
657
 
 
658
 
 
659
 
Enforce
660
 
-------
661
 
 
662
 
Test mode - SHIFT: LO/HI is not understood (appears to depend on Demo
663
 
Sound DSW)
664
 
 
665
 
Landscape in the background can be made to scroll rapidly with DSW.
666
 
True to original?
667
 
 
668
 
Some layer offsets are out a little.
669
 
 
670
 
Road layer has wrong colors--regression?
671
 
 
672
 
 
673
 
Battle Shark
674
 
------------
675
 
 
676
 
Is road on the road stages correct? Hard to tell.
677
 
 
678
 
Does the original have the "seeking" crosshair effect, making it a
679
 
challenge to control?
680
 
 
681
 
 
682
 
SCI
683
 
---
684
 
 
685
 
Road seems ok, but are the green bushes in round 1 a little too far
686
 
to the edge of the interroad verge?
687
 
 
688
 
Sprite frames were plotted in opposite order so flickered. Reversing
689
 
this has lost us alternate frames: probably need to buffer sprite
690
 
ram by one frame to solve this?
691
 
 
692
 
 
693
 
Night Striker
694
 
-------------
695
 
 
696
 
Road A/B priority problems will manifest in the choice tunnels with,
697
 
one or the other having higher priority in top and bottom halves. Can
698
 
someone provide a sequence of screenshots showing exactly what happens
699
 
at the road split point.
700
 
 
701
 
Strange page in test mode which lets you alter all sorts of settings,
702
 
may relate to sit-in cockpit version. Can't find a dip that disables
703
 
this. <- Test Mode 1? That's used for lamps and motor testing... -AS
704
 
 
705
 
Motors (located at the 0xe000**) are mirrored, they uses both bytes of a
706
 
word, the high one is used during gameplay and the other one is used on service
707
 
mode. The gameplay port is xor'ed (!).
708
 
It works like this:
709
 
--xx xx-- Force Feedback power
710
 
---- --x- "Reverse" motor
711
 
---- ---x "Turn" motor
712
 
 
713
 
TC0220IOC offset 3 is used for lamps, both upright and cockpit version afaik:
714
 
x--- ---- spot 2 lamp (right)
715
 
-x-- ---- spot 1 lamp (left)
716
 
--x- ---- motor lamp 3 (right)
717
 
---x ---- motor lamp 2 (center)
718
 
---- x--- motor lamp 1 (left)
719
 
---- -x-- trigger lamp
720
 
---- --x- start lamp
721
 
---- ---x shot lamp
722
 
The two spot lamps are big red lamps located at the sides of the screen (at least
723
 
in the upright version), they lights when the player gets hit and/or if he's dying.
724
 
 
725
 
 
726
 
Aqua Jack
727
 
---------
728
 
 
729
 
Sprites left on screen under hiscore table. Deliberate? Or is there
730
 
a sprite disable bit somewhere.
731
 
 
732
 
Should road body be largely transparent as I've implemented it?
733
 
 
734
 
Sprite/sprite priorities often look bad. Sprites go to max size for
735
 
a frame before they explode - surely a bug.
736
 
 
737
 
Hangs briefly fairly often without massive cpu interleaving (500).
738
 
Keys aren't very responsive in test mode.
739
 
 
740
 
The problem code is this:
741
 
 
742
 
CPUA
743
 
$1fe02 hangs waiting for ($6002,A5) in shared ram to be zero.
744
 
 
745
 
CPUB
746
 
$1056 calls $11ea routine which starts by setting ($6002,A5) non-
747
 
zero. At end (after $1218 waiting for a bit from sound comm port)
748
 
it alters ($6002,A5) to zero (but this value lasts briefly!).
749
 
 
750
 
Unless context rapidly switches back to cpua this change is missed
751
 
because $11ea gets called again *very* rapidly at times when sounds
752
 
are being written [that's when the problem manifested].
753
 
 
754
 
$108a-c2 reads 0x20 bytes from unmapped area, not sure
755
 
what it's doing. Perhaps this machine had some optional
756
 
exotic input device...
757
 
 
758
 
 
759
 
Spacegun
760
 
--------
761
 
 
762
 
Problem with the zoomed sprites not matching up very well
763
 
when forming the background. They jerk a bit relative to
764
 
each other... probably a cpu sync thing, perhaps also some
765
 
fine-tuning required on the zoomed sprite dimension calcs.
766
 
 
767
 
Light gun interrupt timing arbitrary.
768
 
 
769
 
 
770
 
Double Axle
771
 
-----------
772
 
 
773
 
Road occasionally has incorrectly unclipped line appearing at top
774
 
(ice stage). Also road 'ghost' often remains on screen - also an
775
 
interrupt issue I presume.
776
 
 
777
 
Double Axle has poor sound: one ADPCM rom should be twice as long?
778
 
[In log we saw stuff like this, suggesting extra ADPCM rom needed:
779
 
YM2610: ADPCM-A end out of range: $001157ff
780
 
YM2610: ADPCM-A start out of range: $00111f00]
781
 
 
782
 
Various sprites go missing e.g. mountains half way through cross
783
 
country course. Fall off the ledge and crash and you will see
784
 
the explosion sprites make other mountain sprites vanish, as
785
 
though their entries in spriteram are being overwritten. (Perhaps
786
 
an int6 timing/number issue: sprites seem to be ChaseHQ2ish with
787
 
a spriteframe toggle - currently this never changes which may be
788
 
wrong.)
789
 
 
790
 
 
791
 
Racing Beat
792
 
-----------
793
 
 
794
 
Sprites (and main road) very wrong
795
 
 
796
 
M43E0227A
797
 
K11E0674A
798
 
K1100650A J1100264A CPU PCB
799
 
|-------------------------------------------------------------|
800
 
|6264       62256        32MHz          DSWA   DSWB           |
801
 
|           62256                                             |
802
 
|C84-104.2                                                    |
803
 
|C84-110.3  TC0170ABT                          TC0510NIO      |
804
 
|C84-103.4                                                    |
805
 
|C84-111.5                                     MB3771         |
806
 
|                                   C84_101.42                |
807
 
|6264                 TC0140SYT                               |
808
 
|                                    6264                     |
809
 
|                                                             |
810
 
|                                                             |
811
 
|                         C84-85.31         Z80               |
812
 
|68000                                                        |
813
 
|                                                             |
814
 
|                                                             |
815
 
|PAL     PAL                                YM2610            |
816
 
|                         C84-86.33                           |
817
 
|PAL                                                          |
818
 
|                             6264          C84-87.46         |
819
 
|                                                             |
820
 
|                                                             |
821
 
|                   PAL   C84-99.35         YM3016            |
822
 
|6264   6264                                                  |
823
 
|                                                             |
824
 
|                   PAL   C84-100.36        TL074             |
825
 
|           TC0150ROD                                         |
826
 
|C84-84.12                    6264                            |
827
 
|                   PAL                                       |
828
 
|                                                TL074        |
829
 
|    C84-07.22                                        MB3735  |
830
 
|                  68000                                      |
831
 
|-------------------------------------------------------------|
832
 
Notes:
833
 
      68000s running at 16MHz
834
 
      Z80 running at 4MHz
835
 
      YM2610 running at 8MHz
836
 
 
837
 
 
838
 
K11X0675A
839
 
K1100635A
840
 
J1100256A VIDEO PCB
841
 
|-------------------------------------------------------------|
842
 
|                        26.686MHz       6264                 |
843
 
|62256    C84-89.11                              TC0260DAR    |
844
 
|                                                             |
845
 
|62256    C84-90.12                                           |
846
 
|                        TC0480SCP       6264                 |
847
 
|                                                             |
848
 
|                                        6264                 |
849
 
|C84-88.3                                                     |
850
 
|                                                             |
851
 
|                                                             |
852
 
|         C84-19.15                                           |
853
 
|                        TC0370MSO     TC0300FLA    PAL       |
854
 
|         C84-10.16                                           |
855
 
|         C84-11.17                                           |
856
 
|                                                    C84-09.74|
857
 
|                                                             |
858
 
|                    62256   62256   62256   62256            |
859
 
|                                                             |
860
 
|                                                             |
861
 
|            62256   62256   62256   62256   62256            |
862
 
|                                                             |
863
 
|                                                             |
864
 
|            62256   62256   62256   62256   62256            |
865
 
|                                                             |
866
 
|                                                             |
867
 
|                                    62256   62256            |
868
 
|  C84-91.23    C84-93.31                                     |
869
 
|                                                             |
870
 
|                              TC0380BSH           TC0270MOD  |
871
 
|  C84-92.25    C84-94.33                                     |
872
 
|                                                             |
873
 
|-------------------------------------------------------------|
874
 
 
875
 
 
876
 
***************************************************************************/
877
 
 
878
 
#include "emu.h"
879
 
#include "cpu/z80/z80.h"
880
 
#include "includes/taitoipt.h"
881
 
#include "cpu/m68000/m68000.h"
882
 
#include "machine/eeprom.h"
883
 
#include "video/taitoic.h"
884
 
#include "audio/taitosnd.h"
885
 
#include "sound/2610intf.h"
886
 
#include "sound/flt_vol.h"
887
 
#include "machine/taitoio.h"
888
 
#include "includes/taito_z.h"
889
 
 
890
 
#include "contcirc.lh"
891
 
#include "dblaxle.lh"
892
 
 
893
 
static void parse_control( running_machine &machine )
894
 
{
895
 
        /* bit 0 enables cpu B */
896
 
        /* however this fails when recovering from a save state
897
 
       if cpu B is disabled !! */
898
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
899
 
        device_set_input_line(state->m_subcpu, INPUT_LINE_RESET, (state->m_cpua_ctrl & 0x1) ? CLEAR_LINE : ASSERT_LINE);
900
 
 
901
 
}
902
 
 
903
 
static WRITE16_HANDLER( cpua_ctrl_w )
904
 
{
905
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
906
 
 
907
 
        if ((data & 0xff00) && ((data & 0xff) == 0))
908
 
                data = data >> 8;       /* for Wgp */
909
 
 
910
 
        state->m_cpua_ctrl = data;
911
 
 
912
 
        parse_control(space->machine());
913
 
 
914
 
        // Chase HQ: handle the lights
915
 
        if (state->m_chasehq_lamps)
916
 
        {
917
 
                output_set_lamp_value(0, (data & 0x20) ? 1 : 0);
918
 
                output_set_lamp_value(1, (data & 0x40) ? 1 : 0);
919
 
        }
920
 
 
921
 
        if (state->m_dblaxle_vibration) output_set_value("Wheel_Vibration", (data & 0x04)>>2);
922
 
        logerror("CPU #0 PC %06x: write %04x to cpu control\n", cpu_get_pc(&space->device()), data);
923
 
}
924
 
 
925
 
 
926
 
/***********************************************************
927
 
                        INTERRUPTS
928
 
***********************************************************/
929
 
 
930
 
/* 68000 A */
931
 
 
932
 
static TIMER_CALLBACK( taitoz_interrupt6 )
933
 
{
934
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
935
 
        device_set_input_line(state->m_maincpu, 6, HOLD_LINE);
936
 
}
937
 
 
938
 
/* 68000 B */
939
 
 
940
 
static TIMER_CALLBACK( taitoz_cpub_interrupt5 )
941
 
{
942
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
943
 
        device_set_input_line(state->m_subcpu, 5, HOLD_LINE);
944
 
}
945
 
 
946
 
#if 0
947
 
static TIMER_CALLBACK( taitoz_cpub_interrupt6 )
948
 
{
949
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
950
 
        device_set_input_line(state->m_subcpu, 6, HOLD_LINE);
951
 
}
952
 
#endif
953
 
 
954
 
 
955
 
 
956
 
/***** Routines for particular games *****/
957
 
 
958
 
static INTERRUPT_GEN( sci_interrupt )
959
 
{
960
 
        /* Need 2 int4's per int6 else (-$6b63,A5) never set to 1 which
961
 
       causes all sprites to vanish! Spriteram has areas for 2 frames
962
 
       so in theory only needs updating every other frame. */
963
 
 
964
 
        taitoz_state *state = device->machine().driver_data<taitoz_state>();
965
 
        state->m_sci_int6 = !state->m_sci_int6;
966
 
 
967
 
        if (state->m_sci_int6)
968
 
                device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6));
969
 
 
970
 
        device_set_input_line(device, 4, HOLD_LINE);
971
 
}
972
 
 
973
 
/* Double Axle seems to keep only 1 sprite frame in sprite ram,
974
 
   which is probably wrong. Game seems to work with no int 6's
975
 
   at all. Cpu control byte has 0,4,8,c poked into 2nd nibble
976
 
   and it seems possible this should be causing int6's ? */
977
 
 
978
 
static INTERRUPT_GEN( dblaxle_interrupt )
979
 
{
980
 
        // Unsure how many int6's per frame, copy SCI for now
981
 
 
982
 
        taitoz_state *state = device->machine().driver_data<taitoz_state>();
983
 
        state->m_dblaxle_int6 = !state->m_dblaxle_int6;
984
 
 
985
 
        if (state->m_dblaxle_int6)
986
 
                device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6));
987
 
 
988
 
        device_set_input_line(device, 4, HOLD_LINE);
989
 
}
990
 
 
991
 
static INTERRUPT_GEN( dblaxle_cpub_interrupt )
992
 
{
993
 
        // Unsure how many int6's per frame
994
 
        device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6));
995
 
        device_set_input_line(device, 4, HOLD_LINE);
996
 
}
997
 
 
998
 
 
999
 
/******************************************************************
1000
 
                              EEPROM
1001
 
******************************************************************/
1002
 
 
1003
 
static const UINT16 spacegun_default_eeprom[64]=
1004
 
{
1005
 
        0x0000,0x00ff,0x0001,0x4141,0x0000,0x00ff,0x0000,0xf0f0,
1006
 
        0x0000,0x00ff,0x0001,0x4141,0x0000,0x00ff,0x0000,0xf0f0,
1007
 
        0x0080,0x0080,0x0080,0x0080,0x0001,0x4000,0x0000,0xf000,
1008
 
        0x0001,0x4285,0x0000,0xf1e3,0x0001,0x4000,0x0000,0xf000,
1009
 
        0x0001,0x4285,0x0000,0xf1e3,0xcccb,0xffff,0xffff,0xffff,
1010
 
        0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
1011
 
        0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
1012
 
        0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
1013
 
};
1014
 
 
1015
 
static const eeprom_interface spacegun_eeprom_intf =
1016
 
{
1017
 
        6,                              /* address bits */
1018
 
        16,                             /* data bits */
1019
 
        "0110",                 /* read command */
1020
 
        "0101",                 /* write command */
1021
 
        "0111",                 /* erase command */
1022
 
        "0100000000",   /* lock command */
1023
 
        "0100111111",   /* unlock command */
1024
 
        0,                              /* multi-read disabled */
1025
 
        1                               /* reset delay */
1026
 
};
1027
 
 
1028
 
 
1029
 
#if 0
1030
 
static READ16_HANDLER( eep_latch_r )
1031
 
{
1032
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1033
 
        return state->m_eep_latch;
1034
 
}
1035
 
#endif
1036
 
 
1037
 
static WRITE16_HANDLER( spacegun_output_bypass_w )
1038
 
{
1039
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1040
 
 
1041
 
        switch (offset)
1042
 
        {
1043
 
                case 0x03:
1044
 
 
1045
 
/*          0000xxxx    (unused)
1046
 
            000x0000    eeprom reset (active low)
1047
 
            00x00000    eeprom clock
1048
 
            0x000000    eeprom data
1049
 
            x0000000    (unused)                  */
1050
 
 
1051
 
                        COMBINE_DATA(&state->m_eep_latch);
1052
 
                        input_port_write(space->machine(), "EEPROMOUT", data, 0xff);
1053
 
                        break;
1054
 
 
1055
 
                default:
1056
 
                        tc0220ioc_w(state->m_tc0220ioc, offset, data);  /* might be a 510NIO ! */
1057
 
        }
1058
 
}
1059
 
 
1060
 
 
1061
 
/**********************************************************
1062
 
                       GAME INPUTS
1063
 
**********************************************************/
1064
 
 
1065
 
static READ8_HANDLER( contcirc_input_bypass_r )
1066
 
{
1067
 
        /* Bypass TC0220IOC controller for analog input */
1068
 
 
1069
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1070
 
        UINT8 port = tc0220ioc_port_r(state->m_tc0220ioc, 0);   /* read port number */
1071
 
        int steer = 0;
1072
 
        int fake = input_port_read(space->machine(), "FAKE");
1073
 
 
1074
 
        if (!(fake & 0x10))     /* Analogue steer (the real control method) */
1075
 
        {
1076
 
                /* center around zero and reduce span to 0xc0 */
1077
 
                steer = ((input_port_read(space->machine(), "STEER") - 0x80) * 0xc0) / 0x100;
1078
 
 
1079
 
        }
1080
 
        else    /* Digital steer */
1081
 
        {
1082
 
                if (fake & 0x04)
1083
 
                {
1084
 
                        steer = 0x60;
1085
 
                }
1086
 
                else if (fake & 0x08)
1087
 
                {
1088
 
                        steer = 0xff9f;
1089
 
                }
1090
 
        }
1091
 
 
1092
 
        switch (port)
1093
 
        {
1094
 
                case 0x08:
1095
 
                        return steer & 0xff;
1096
 
 
1097
 
                case 0x09:
1098
 
                        return steer >> 8;
1099
 
 
1100
 
                default:
1101
 
                        return tc0220ioc_portreg_r(state->m_tc0220ioc, offset);
1102
 
        }
1103
 
}
1104
 
 
1105
 
 
1106
 
static READ8_HANDLER( chasehq_input_bypass_r )
1107
 
{
1108
 
        /* Bypass TC0220IOC controller for extra inputs */
1109
 
 
1110
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1111
 
        UINT8 port = tc0220ioc_port_r(state->m_tc0220ioc, 0);   /* read port number */
1112
 
        int steer = 0;
1113
 
        int fake = input_port_read(space->machine(), "FAKE");
1114
 
 
1115
 
        if (!(fake & 0x10))     /* Analogue steer (the real control method) */
1116
 
        {
1117
 
                /* center around zero */
1118
 
                steer = input_port_read(space->machine(), "STEER") - 0x80;
1119
 
        }
1120
 
        else    /* Digital steer */
1121
 
        {
1122
 
                if (fake & 0x04)
1123
 
                {
1124
 
                        steer = 0xff80;
1125
 
                }
1126
 
                else if (fake & 0x08)
1127
 
                {
1128
 
                        steer = 0x7f;
1129
 
                }
1130
 
        }
1131
 
 
1132
 
        switch (port)
1133
 
        {
1134
 
                case 0x08:
1135
 
                        return input_port_read(space->machine(), "UNK1");
1136
 
 
1137
 
                case 0x09:
1138
 
                        return input_port_read(space->machine(), "UNK2");
1139
 
 
1140
 
                case 0x0a:
1141
 
                        return input_port_read(space->machine(), "UNK3");
1142
 
 
1143
 
                case 0x0b:
1144
 
                        return input_port_read(space->machine(), "UNK4");
1145
 
 
1146
 
                case 0x0c:
1147
 
                        return steer & 0xff;
1148
 
 
1149
 
                case 0x0d:
1150
 
                        return steer >> 8;
1151
 
 
1152
 
                default:
1153
 
                        return tc0220ioc_portreg_r(state->m_tc0220ioc, offset);
1154
 
        }
1155
 
}
1156
 
 
1157
 
 
1158
 
static READ16_HANDLER( bshark_stick_r )
1159
 
{
1160
 
        switch (offset)
1161
 
        {
1162
 
                case 0x00:
1163
 
                        return input_port_read(space->machine(), "STICKX");
1164
 
 
1165
 
                case 0x01:
1166
 
                        return input_port_read(space->machine(), "X_ADJUST");
1167
 
 
1168
 
                case 0x02:
1169
 
                        return input_port_read(space->machine(), "STICKY");
1170
 
 
1171
 
                case 0x03:
1172
 
                        return input_port_read(space->machine(), "Y_ADJUST");
1173
 
        }
1174
 
 
1175
 
        logerror("CPU #0 PC %06x: warning - read unmapped stick offset %06x\n", cpu_get_pc(&space->device()), offset);
1176
 
 
1177
 
        return 0xff;
1178
 
}
1179
 
 
1180
 
 
1181
 
static READ16_HANDLER( nightstr_stick_r )
1182
 
{
1183
 
        switch (offset)
1184
 
        {
1185
 
                case 0x00:
1186
 
                        return input_port_read(space->machine(), "STICKX");
1187
 
 
1188
 
                case 0x01:
1189
 
                        return input_port_read(space->machine(), "STICKY");
1190
 
 
1191
 
                case 0x02:
1192
 
                        return input_port_read(space->machine(), "X_ADJUST");
1193
 
 
1194
 
                case 0x03:
1195
 
                        return input_port_read(space->machine(), "Y_ADJUST");
1196
 
        }
1197
 
 
1198
 
        logerror("CPU #0 PC %06x: warning - read unmapped stick offset %06x\n", cpu_get_pc(&space->device()), offset);
1199
 
 
1200
 
        return 0xff;
1201
 
}
1202
 
 
1203
 
static WRITE16_HANDLER( bshark_stick_w )
1204
 
{
1205
 
        /* Each write invites a new interrupt as soon as the
1206
 
       hardware has got the next a/d conversion ready. We set a token
1207
 
       delay of 10000 cycles; our "coords" are always ready
1208
 
       but we don't want CPUA to have an int6 before int4 is over (?)
1209
 
    */
1210
 
 
1211
 
        space->machine().scheduler().timer_set(downcast<cpu_device *>(&space->device())->cycles_to_attotime(10000), FUNC(taitoz_interrupt6));
1212
 
}
1213
 
 
1214
 
 
1215
 
static READ16_HANDLER( sci_steer_input_r )
1216
 
{
1217
 
        int steer = 0;
1218
 
        int fake = input_port_read(space->machine(), "FAKE");
1219
 
 
1220
 
        if (!(fake & 0x10))     /* Analogue steer (the real control method) */
1221
 
        {
1222
 
                /* center around zero and reduce span to 0xc0 */
1223
 
                steer = ((input_port_read(space->machine(), "STEER") - 0x80) * 0xc0) / 0x100;
1224
 
        }
1225
 
        else    /* Digital steer */
1226
 
        {
1227
 
                if (fake & 0x04)
1228
 
                {
1229
 
                        steer = 0xffa0;
1230
 
                }
1231
 
                else if (fake & 0x08)
1232
 
                {
1233
 
                        steer = 0x5f;
1234
 
                }
1235
 
        }
1236
 
 
1237
 
        switch (offset)
1238
 
        {
1239
 
                case 0x04:
1240
 
                        return (steer & 0xff);
1241
 
 
1242
 
                case 0x05:
1243
 
                        return (steer & 0xff00) >> 8;
1244
 
        }
1245
 
 
1246
 
        logerror("CPU #0 PC %06x: warning - read unmapped steer input offset %06x\n", cpu_get_pc(&space->device()), offset);
1247
 
 
1248
 
        return 0xff;
1249
 
}
1250
 
 
1251
 
 
1252
 
static READ16_HANDLER( spacegun_input_bypass_r )
1253
 
{
1254
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1255
 
 
1256
 
        switch (offset)
1257
 
        {
1258
 
                case 0x03:
1259
 
                        return state->m_eeprom->read_bit() << 7;
1260
 
 
1261
 
                default:
1262
 
                        return tc0220ioc_r(state->m_tc0220ioc, offset); /* might be a 510NIO ! */
1263
 
        }
1264
 
}
1265
 
 
1266
 
static READ16_HANDLER( spacegun_lightgun_r )
1267
 
{
1268
 
        switch (offset)
1269
 
        {
1270
 
                case 0x00:
1271
 
                        return input_port_read(space->machine(), "STICKX1");
1272
 
 
1273
 
                case 0x01:
1274
 
                        return input_port_read(space->machine(), "STICKY1");
1275
 
 
1276
 
                case 0x02:
1277
 
                        return input_port_read(space->machine(), "STICKX2");
1278
 
 
1279
 
                case 0x03:
1280
 
                        return input_port_read(space->machine(), "STICKY2");
1281
 
        }
1282
 
 
1283
 
        return 0x00;
1284
 
}
1285
 
 
1286
 
static WRITE16_HANDLER( spacegun_lightgun_w )
1287
 
{
1288
 
        /* Each write invites a new lightgun interrupt as soon as the
1289
 
       hardware has got the next coordinate ready. We set a token
1290
 
       delay of 10000 cycles; our "lightgun" coords are always ready
1291
 
       but we don't want CPUB to have an int5 before int4 is over (?).
1292
 
 
1293
 
       Four lightgun interrupts happen before the collected coords
1294
 
       are moved to shared ram where CPUA can use them. */
1295
 
 
1296
 
        space->machine().scheduler().timer_set(downcast<cpu_device *>(&space->device())->cycles_to_attotime(10000), FUNC(taitoz_cpub_interrupt5));
1297
 
}
1298
 
 
1299
 
static WRITE16_HANDLER( spacegun_gun_output_w )
1300
 
{
1301
 
        output_set_value("Player1_Gun_Recoil",(data & 0x01));
1302
 
        output_set_value("Player2_Gun_Recoil",(data & 0x02)>>1);
1303
 
}
1304
 
 
1305
 
 
1306
 
static READ16_HANDLER( dblaxle_steer_input_r )
1307
 
{
1308
 
        int steer = 0;
1309
 
        int fake = input_port_read(space->machine(), "FAKE");
1310
 
 
1311
 
        if (!(fake & 0x10))     /* Analogue steer (the real control method) */
1312
 
        {
1313
 
                /* center around zero and reduce span to 0x80 */
1314
 
                steer = ((input_port_read(space->machine(), "STEER") - 0x80) * 0x80) / 0x100;
1315
 
        }
1316
 
        else    /* Digital steer */
1317
 
        {
1318
 
                if (fake & 0x04)
1319
 
                {
1320
 
                        steer = 0xffc0;
1321
 
                }
1322
 
                else if (fake & 0x08)
1323
 
                {
1324
 
                        steer = 0x3f;
1325
 
                }
1326
 
        }
1327
 
 
1328
 
        switch (offset)
1329
 
        {
1330
 
                case 0x04:
1331
 
                        return steer >> 8;
1332
 
 
1333
 
                case 0x05:
1334
 
                        return steer & 0xff;
1335
 
        }
1336
 
 
1337
 
        logerror("CPU #0 PC %06x: warning - read unmapped steer input offset %02x\n", cpu_get_pc(&space->device()), offset);
1338
 
 
1339
 
        return 0x00;
1340
 
}
1341
 
 
1342
 
 
1343
 
static READ16_HANDLER( chasehq_motor_r )
1344
 
{
1345
 
        switch (offset)
1346
 
        {
1347
 
                case 0x0:
1348
 
                        return (space->machine().rand() &0xff); /* motor status ?? */
1349
 
 
1350
 
                case 0x101:
1351
 
                        return 0x55;    /* motor cpu status ? */
1352
 
 
1353
 
                default:
1354
 
logerror("CPU #0 PC %06x: warning - read motor cpu %03x\n",cpu_get_pc(&space->device()),offset);
1355
 
                        return 0;
1356
 
        }
1357
 
}
1358
 
 
1359
 
static WRITE16_HANDLER( chasehq_motor_w )
1360
 
{
1361
 
        /* Writes $e00000-25 and $e00200-219 */
1362
 
        switch (offset)
1363
 
        {
1364
 
        case 0x0:
1365
 
        break;
1366
 
        case 0x101:
1367
 
        /* outputs will go here, but driver is still broken */
1368
 
        break;
1369
 
        }
1370
 
logerror("CPU #0 PC %06x: warning - write %04x to motor cpu %03x\n",cpu_get_pc(&space->device()),data,offset);
1371
 
 
1372
 
}
1373
 
 
1374
 
 
1375
 
static WRITE16_HANDLER( nightstr_motor_w )
1376
 
{
1377
 
 
1378
 
        /* Despite the informative notes at the top, the high end of the word doesn't seem to output any useful data. */
1379
 
        /* I've added this so someone else can finish it.  */
1380
 
        switch (offset)
1381
 
        {
1382
 
        case 0:
1383
 
                output_set_value("Motor_1_Direction",0);
1384
 
                if (data & 1) output_set_value("Motor_1_Direction",1);
1385
 
                if (data & 2) output_set_value("Motor_1_Direction",2);
1386
 
                output_set_value("Motor_1_Speed",(data & 60)/4);
1387
 
 
1388
 
                break;
1389
 
 
1390
 
        case 4:
1391
 
                output_set_value("Motor_2_Direction",0);
1392
 
                if (data & 1) output_set_value("Motor_2_Direction",1);
1393
 
                if (data & 2) output_set_value("Motor_2_Direction",2);
1394
 
                output_set_value("Motor_2_Speed",(data & 60)/4);
1395
 
 
1396
 
                break;
1397
 
        case 8:
1398
 
                output_set_value("Motor_3_Direction",0);
1399
 
                if (data & 1) output_set_value("Motor_3_Direction",1);
1400
 
                if (data & 2) output_set_value("Motor_3_Direction",2);
1401
 
                output_set_value("Motor_3_Speed",(data & 60)/4);
1402
 
 
1403
 
                break;
1404
 
        default:
1405
 
                output_set_value("motor_debug",data);
1406
 
        }
1407
 
 
1408
 
}
1409
 
 
1410
 
 
1411
 
 
1412
 
 
1413
 
static READ16_HANDLER( aquajack_unknown_r )
1414
 
{
1415
 
        return 0xff;
1416
 
}
1417
 
 
1418
 
 
1419
 
/*****************************************************
1420
 
                        SOUND
1421
 
*****************************************************/
1422
 
 
1423
 
static void reset_sound_region( running_machine &machine )
1424
 
{
1425
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
1426
 
        memory_set_bank(machine,  "bank10", state->m_banknum);
1427
 
}
1428
 
 
1429
 
static WRITE8_HANDLER( sound_bankswitch_w )
1430
 
{
1431
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1432
 
 
1433
 
        state->m_banknum = data & 7;
1434
 
        reset_sound_region(space->machine());
1435
 
}
1436
 
 
1437
 
static WRITE16_HANDLER( taitoz_sound_w )
1438
 
{
1439
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1440
 
 
1441
 
        if (offset == 0)
1442
 
                tc0140syt_port_w(state->m_tc0140syt, 0, data & 0xff);
1443
 
        else if (offset == 1)
1444
 
                tc0140syt_comm_w(state->m_tc0140syt, 0, data & 0xff);
1445
 
 
1446
 
#ifdef MAME_DEBUG
1447
 
//  if (data & 0xff00)
1448
 
//  {
1449
 
//      char buf[80];
1450
 
//
1451
 
//      sprintf(buf,"taitoz_sound_w to high byte: %04x",data);
1452
 
//      popmessage(buf);
1453
 
//  }
1454
 
#endif
1455
 
}
1456
 
 
1457
 
static READ16_HANDLER( taitoz_sound_r )
1458
 
{
1459
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1460
 
 
1461
 
        if (offset == 1)
1462
 
                return (tc0140syt_comm_r(state->m_tc0140syt, 0) & 0xff);
1463
 
        else
1464
 
                return 0;
1465
 
}
1466
 
 
1467
 
#if 0
1468
 
static WRITE16_HANDLER( taitoz_msb_sound_w )
1469
 
{
1470
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1471
 
 
1472
 
        if (offset == 0)
1473
 
                tc0140syt_port_w(state->m_tc0140syt, 0, (data >> 8) & 0xff);
1474
 
        else if (offset == 1)
1475
 
                tc0140syt_comm_w(state->m_tc0140syt, 0, (data >> 8) & 0xff);
1476
 
 
1477
 
#ifdef MAME_DEBUG
1478
 
        if (data & 0xff)
1479
 
        {
1480
 
                char buf[80];
1481
 
 
1482
 
                sprintf(buf,"taitoz_msb_sound_w to low byte: %04x",data);
1483
 
                popmessage(buf);
1484
 
        }
1485
 
#endif
1486
 
}
1487
 
 
1488
 
static READ16_HANDLER( taitoz_msb_sound_r )
1489
 
{
1490
 
        taitoz_state *state = space->machine().driver_data<taitoz_state>();
1491
 
 
1492
 
        if (offset == 1)
1493
 
                return ((tc0140syt_comm_r(state->m_tc0140syt, 0) & 0xff) << 8);
1494
 
        else
1495
 
                return 0;
1496
 
}
1497
 
#endif
1498
 
 
1499
 
 
1500
 
/**** sound pan control ****/
1501
 
static WRITE8_HANDLER( taitoz_pancontrol )
1502
 
{
1503
 
//  taitoz_state *state = space->machine().driver_data<taitoz_state>();
1504
 
        static const char *const fltname[] = { "2610.1.r", "2610.1.l", "2610.2.r", "2610.2.l" };
1505
 
 
1506
 
        offset = offset & 3;
1507
 
 
1508
 
//  state->m_pandata[offset] = data;
1509
 
//  popmessage(" pan %02x %02x %02x %02x", state->m_pandata[0], state->m_pandata[1], state->m_pandata[2], state->m_pandata[3] );
1510
 
 
1511
 
        flt_volume_set_volume(space->machine().device(fltname[offset & 3]), data / 255.0f);
1512
 
}
1513
 
 
1514
 
static WRITE16_HANDLER( spacegun_pancontrol )
1515
 
{
1516
 
        if (ACCESSING_BITS_0_7)
1517
 
                taitoz_pancontrol(space, offset, data & 0xff);
1518
 
}
1519
 
 
1520
 
 
1521
 
/***********************************************************
1522
 
                   MEMORY STRUCTURES
1523
 
***********************************************************/
1524
 
 
1525
 
 
1526
 
static ADDRESS_MAP_START( contcirc_map, AS_PROGRAM, 16 )
1527
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1528
 
        AM_RANGE(0x080000, 0x083fff) AM_RAM
1529
 
        AM_RANGE(0x084000, 0x087fff) AM_RAM AM_SHARE("share1")
1530
 
        AM_RANGE(0x090000, 0x090001) AM_WRITE(contcirc_out_w)    /* road palette bank, sub CPU reset, 3d glasses control */
1531
 
        AM_RANGE(0x100000, 0x100007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w)      /* palette */
1532
 
        AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1533
 
        AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1534
 
        AM_RANGE(0x300000, 0x301fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)   /* "root ram" */
1535
 
        AM_RANGE(0x400000, 0x4006ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1536
 
ADDRESS_MAP_END
1537
 
 
1538
 
static ADDRESS_MAP_START( contcirc_cpub_map, AS_PROGRAM, 16 )
1539
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1540
 
        AM_RANGE(0x080000, 0x083fff) AM_RAM
1541
 
        AM_RANGE(0x084000, 0x087fff) AM_RAM AM_SHARE("share1")
1542
 
        AM_RANGE(0x100000, 0x100001) AM_READ8(contcirc_input_bypass_r, 0x00ff) AM_DEVWRITE8("tc0220ioc", tc0220ioc_portreg_w, 0x00ff)
1543
 
        AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff) /* (actually game uses TC040IOC) */
1544
 
        AM_RANGE(0x200000, 0x200003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1545
 
ADDRESS_MAP_END
1546
 
 
1547
 
 
1548
 
static ADDRESS_MAP_START( chasehq_map, AS_PROGRAM, 16 )
1549
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1550
 
        AM_RANGE(0x100000, 0x107fff) AM_RAM
1551
 
        AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
1552
 
        AM_RANGE(0x10c000, 0x10ffff) AM_RAM
1553
 
        AM_RANGE(0x400000, 0x400001) AM_READ8(chasehq_input_bypass_r, 0x00ff) AM_DEVWRITE8("tc0220ioc", tc0220ioc_portreg_w, 0x00ff)
1554
 
        AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff)
1555
 
        AM_RANGE(0x800000, 0x800001) AM_WRITE(cpua_ctrl_w)
1556
 
        AM_RANGE(0x820000, 0x820003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1557
 
        AM_RANGE(0xa00000, 0xa00007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w)     /* palette */
1558
 
        AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1559
 
        AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1560
 
        AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1561
 
        AM_RANGE(0xe00000, 0xe003ff) AM_READWRITE(chasehq_motor_r, chasehq_motor_w)     /* motor cpu */
1562
 
ADDRESS_MAP_END
1563
 
 
1564
 
static ADDRESS_MAP_START( chq_cpub_map, AS_PROGRAM, 16 )
1565
 
        AM_RANGE(0x000000, 0x01ffff) AM_ROM
1566
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1567
 
        AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
1568
 
        AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1569
 
ADDRESS_MAP_END
1570
 
 
1571
 
 
1572
 
static ADDRESS_MAP_START( enforce_map, AS_PROGRAM, 16 )
1573
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1574
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1575
 
        AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1576
 
        AM_RANGE(0x200000, 0x200001) AM_WRITE(cpua_ctrl_w)      // works without?
1577
 
        AM_RANGE(0x300000, 0x3006ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1578
 
        AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)   /* "root ram" ??? */
1579
 
        AM_RANGE(0x500000, 0x500007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w)      /* palette */
1580
 
        AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1581
 
        AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1582
 
ADDRESS_MAP_END
1583
 
 
1584
 
static ADDRESS_MAP_START( enforce_cpub_map, AS_PROGRAM, 16 )
1585
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1586
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1587
 
        AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1588
 
        AM_RANGE(0x200000, 0x200003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1589
 
        AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_portreg_r, tc0220ioc_portreg_w, 0x00ff)
1590
 
        AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff)
1591
 
ADDRESS_MAP_END
1592
 
 
1593
 
 
1594
 
static ADDRESS_MAP_START( bshark_map, AS_PROGRAM, 16 )
1595
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1596
 
        AM_RANGE(0x100000, 0x10ffff) AM_RAM
1597
 
        AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
1598
 
        AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1599
 
        AM_RANGE(0x600000, 0x600001) AM_WRITE(cpua_ctrl_w)
1600
 
        AM_RANGE(0x800000, 0x800007) AM_READWRITE(bshark_stick_r, bshark_stick_w)
1601
 
        AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1602
 
        AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1603
 
        AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1604
 
        AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1605
 
ADDRESS_MAP_END
1606
 
 
1607
 
static ADDRESS_MAP_START( bshark_cpub_map, AS_PROGRAM, 16 )
1608
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1609
 
        AM_RANGE(0x108000, 0x10bfff) AM_RAM
1610
 
        AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
1611
 
        AM_RANGE(0x400000, 0x400007) AM_WRITE(spacegun_pancontrol)  /* pan */
1612
 
//  AM_RANGE(0x40000a, 0x40000b) AM_READ(taitoz_unknown_r)  // ???
1613
 
        AM_RANGE(0x600000, 0x600007) AM_DEVREADWRITE8("ymsnd", ym2610_r, ym2610_w, 0x00ff)
1614
 
        AM_RANGE(0x60000c, 0x60000d) AM_NOP     // interrupt controller?
1615
 
        AM_RANGE(0x60000e, 0x60000f) AM_NOP
1616
 
        AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1617
 
ADDRESS_MAP_END
1618
 
 
1619
 
 
1620
 
static ADDRESS_MAP_START( sci_map, AS_PROGRAM, 16 )
1621
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1622
 
        AM_RANGE(0x100000, 0x107fff) AM_RAM
1623
 
        AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
1624
 
        AM_RANGE(0x10c000, 0x10ffff) AM_RAM
1625
 
        AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1626
 
        AM_RANGE(0x200010, 0x20001f) AM_READ(sci_steer_input_r)
1627
 
//  AM_RANGE(0x400000, 0x400001) AM_WRITE(cpua_ctrl_w)  // ?? doesn't seem to fit what's written
1628
 
        AM_RANGE(0x420000, 0x420003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1629
 
        AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1630
 
        AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1631
 
        AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1632
 
        AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1633
 
        AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w)
1634
 
ADDRESS_MAP_END
1635
 
 
1636
 
static ADDRESS_MAP_START( sci_cpub_map, AS_PROGRAM, 16 )
1637
 
        AM_RANGE(0x000000, 0x01ffff) AM_ROM
1638
 
        AM_RANGE(0x200000, 0x203fff) AM_RAM
1639
 
        AM_RANGE(0x208000, 0x20bfff) AM_RAM AM_SHARE("share1")
1640
 
        AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1641
 
ADDRESS_MAP_END
1642
 
 
1643
 
 
1644
 
static ADDRESS_MAP_START( nightstr_map, AS_PROGRAM, 16 )
1645
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1646
 
        AM_RANGE(0x100000, 0x10ffff) AM_RAM
1647
 
        AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
1648
 
        AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1649
 
        AM_RANGE(0x800000, 0x800001) AM_WRITE(cpua_ctrl_w)
1650
 
        AM_RANGE(0x820000, 0x820003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1651
 
        AM_RANGE(0xa00000, 0xa00007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w)     /* palette */
1652
 
        AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1653
 
        AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1654
 
        AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1655
 
        AM_RANGE(0xe00000, 0xe00011) AM_WRITE(nightstr_motor_w)    /* Motor outputs */
1656
 
        AM_RANGE(0xe40000, 0xe40007) AM_READWRITE(nightstr_stick_r, bshark_stick_w)
1657
 
ADDRESS_MAP_END
1658
 
 
1659
 
static ADDRESS_MAP_START( nightstr_cpub_map, AS_PROGRAM, 16 )
1660
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1661
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1662
 
        AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1663
 
        AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1664
 
ADDRESS_MAP_END
1665
 
 
1666
 
 
1667
 
static ADDRESS_MAP_START( aquajack_map, AS_PROGRAM, 16 )
1668
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1669
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1670
 
        AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1671
 
        AM_RANGE(0x200000, 0x200001) AM_WRITE(cpua_ctrl_w)      // not needed, but it's probably like the others
1672
 
        AM_RANGE(0x300000, 0x300007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w)     /* palette */
1673
 
        AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1674
 
        AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1675
 
        AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1676
 
        AM_RANGE(0xc40000, 0xc403ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1677
 
ADDRESS_MAP_END
1678
 
 
1679
 
static ADDRESS_MAP_START( aquajack_cpub_map, AS_PROGRAM, 16 )
1680
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1681
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1682
 
        AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1683
 
        AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1684
 
        AM_RANGE(0x300000, 0x300003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1685
 
        AM_RANGE(0x800800, 0x80083f) AM_READ(aquajack_unknown_r) // Read regularly after write to 800800...
1686
 
//  AM_RANGE(0x800800, 0x800801) AM_WRITE(taitoz_unknown_w)
1687
 
//  AM_RANGE(0x900000, 0x900007) AM_READWRITE(taitoz_unknown_r, taitoz_unknown_w)
1688
 
ADDRESS_MAP_END
1689
 
 
1690
 
 
1691
 
static ADDRESS_MAP_START( spacegun_map, AS_PROGRAM, 16 )
1692
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1693
 
        AM_RANGE(0x30c000, 0x30ffff) AM_RAM
1694
 
        AM_RANGE(0x310000, 0x31ffff) AM_RAM AM_SHARE("share1")
1695
 
        AM_RANGE(0x500000, 0x5005ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1696
 
        AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w)   /* tilemaps */
1697
 
        AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1698
 
        AM_RANGE(0xb00000, 0xb00007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w)      /* palette */
1699
 
ADDRESS_MAP_END
1700
 
 
1701
 
static ADDRESS_MAP_START( spacegun_cpub_map, AS_PROGRAM, 16 )
1702
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1703
 
        AM_RANGE(0x20c000, 0x20ffff) AM_RAM
1704
 
        AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("share1")
1705
 
        AM_RANGE(0x800000, 0x80000f) AM_READWRITE(spacegun_input_bypass_r, spacegun_output_bypass_w)
1706
 
        AM_RANGE(0xc00000, 0xc00007) AM_DEVREADWRITE8("ymsnd", ym2610_r, ym2610_w, 0x00ff)
1707
 
        AM_RANGE(0xc0000c, 0xc0000d) AM_NOP     // interrupt controller?
1708
 
        AM_RANGE(0xc0000e, 0xc0000f) AM_NOP
1709
 
        AM_RANGE(0xc20000, 0xc20007) AM_WRITE(spacegun_pancontrol)  /* pan */
1710
 
        AM_RANGE(0xe00000, 0xe00001) AM_WRITE(spacegun_gun_output_w)    /* gun outputs */
1711
 
        AM_RANGE(0xf00000, 0xf00007) AM_READWRITE(spacegun_lightgun_r, spacegun_lightgun_w)
1712
 
ADDRESS_MAP_END
1713
 
 
1714
 
 
1715
 
static ADDRESS_MAP_START( dblaxle_map, AS_PROGRAM, 16 )
1716
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1717
 
        AM_RANGE(0x200000, 0x203fff) AM_RAM
1718
 
        AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("share1")
1719
 
        AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
1720
 
        AM_RANGE(0x400010, 0x40001f) AM_READ(dblaxle_steer_input_r)
1721
 
        AM_RANGE(0x600000, 0x600001) AM_WRITE(cpua_ctrl_w)      /* could this be causing int6 ? */
1722
 
        AM_RANGE(0x620000, 0x620003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1723
 
        AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1724
 
        AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_word_r, tc0480scp_word_w)     /* tilemap mirror */
1725
 
        AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_word_r, tc0480scp_word_w)     /* tilemaps */
1726
 
        AM_RANGE(0xa30000, 0xa3002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
1727
 
        AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size) /* mostly unused ? */
1728
 
        AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* set in int6, seems to stay zero */
1729
 
ADDRESS_MAP_END
1730
 
 
1731
 
static ADDRESS_MAP_START( dblaxle_cpub_map, AS_PROGRAM, 16 )
1732
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1733
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1734
 
        AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("share1")
1735
 
        AM_RANGE(0x300000, 0x301fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1736
 
        AM_RANGE(0x500000, 0x503fff) AM_RAM     /* network ram ? (see Gunbustr) */
1737
 
ADDRESS_MAP_END
1738
 
 
1739
 
 
1740
 
static ADDRESS_MAP_START( racingb_map, AS_PROGRAM, 16 )
1741
 
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
1742
 
        AM_RANGE(0x100000, 0x103fff) AM_RAM
1743
 
        AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("share1")
1744
 
        AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
1745
 
        AM_RANGE(0x300010, 0x30001f) AM_READ(dblaxle_steer_input_r)
1746
 
        AM_RANGE(0x500002, 0x500003) AM_WRITE(cpua_ctrl_w)
1747
 
        AM_RANGE(0x520000, 0x520003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1748
 
        AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1749
 
        AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_word_r, tc0480scp_word_w)     /* tilemaps */
1750
 
        AM_RANGE(0x930000, 0x93002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
1751
 
        AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size) /* mostly unused ? */
1752
 
        AM_RANGE(0xb08000, 0xb08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* alternates 0/0x100 */
1753
 
ADDRESS_MAP_END
1754
 
 
1755
 
static ADDRESS_MAP_START( racingb_cpub_map, AS_PROGRAM, 16 )
1756
 
        AM_RANGE(0x000000, 0x03ffff) AM_ROM
1757
 
        AM_RANGE(0x400000, 0x403fff) AM_RAM
1758
 
        AM_RANGE(0x410000, 0x41ffff) AM_RAM AM_SHARE("share1")
1759
 
        AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1760
 
        AM_RANGE(0xd00000, 0xd03fff) AM_RAM     /* network ram ? */
1761
 
ADDRESS_MAP_END
1762
 
 
1763
 
 
1764
 
/***************************************************************************/
1765
 
 
1766
 
static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8 )
1767
 
        AM_RANGE(0x0000, 0x3fff) AM_ROM
1768
 
        AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
1769
 
        AM_RANGE(0xc000, 0xdfff) AM_RAM
1770
 
        AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w)
1771
 
        AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_slave_port_w)
1772
 
        AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
1773
 
        AM_RANGE(0xe400, 0xe403) AM_WRITE(taitoz_pancontrol) /* pan */
1774
 
        AM_RANGE(0xea00, 0xea00) AM_READNOP
1775
 
        AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
1776
 
        AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ? */
1777
 
        AM_RANGE(0xf200, 0xf200) AM_WRITE(sound_bankswitch_w)
1778
 
ADDRESS_MAP_END
1779
 
 
1780
 
 
1781
 
/***********************************************************
1782
 
                   INPUT PORTS, DIPs
1783
 
***********************************************************/
1784
 
 
1785
 
#define TAITO_Z_ANALOG_ADJUST( str ) \
1786
 
        PORT_DIPNAME( 0xff, 0x80, str ) \
1787
 
        PORT_DIPSETTING(    0x00, "-80" ) \
1788
 
        PORT_DIPSETTING(    0x01, "-7F" ) \
1789
 
        PORT_DIPSETTING(    0x02, "-7E" ) \
1790
 
        PORT_DIPSETTING(    0x03, "-7D" ) \
1791
 
        PORT_DIPSETTING(    0x04, "-7C" ) \
1792
 
        PORT_DIPSETTING(    0x05, "-7B" ) \
1793
 
        PORT_DIPSETTING(    0x06, "-7A" ) \
1794
 
        PORT_DIPSETTING(    0x07, "-79" ) \
1795
 
        PORT_DIPSETTING(    0x08, "-78" ) \
1796
 
        PORT_DIPSETTING(    0x09, "-77" ) \
1797
 
        PORT_DIPSETTING(    0x0a, "-76" ) \
1798
 
        PORT_DIPSETTING(    0x0b, "-75" ) \
1799
 
        PORT_DIPSETTING(    0x0c, "-74" ) \
1800
 
        PORT_DIPSETTING(    0x0d, "-73" ) \
1801
 
        PORT_DIPSETTING(    0x0e, "-72" ) \
1802
 
        PORT_DIPSETTING(    0x0f, "-71" ) \
1803
 
        PORT_DIPSETTING(    0x10, "-70" ) \
1804
 
        PORT_DIPSETTING(    0x11, "-6F" ) \
1805
 
        PORT_DIPSETTING(    0x12, "-6E" ) \
1806
 
        PORT_DIPSETTING(    0x13, "-6D" ) \
1807
 
        PORT_DIPSETTING(    0x14, "-6C" ) \
1808
 
        PORT_DIPSETTING(    0x15, "-6B" ) \
1809
 
        PORT_DIPSETTING(    0x16, "-6A" ) \
1810
 
        PORT_DIPSETTING(    0x17, "-69" ) \
1811
 
        PORT_DIPSETTING(    0x18, "-68" ) \
1812
 
        PORT_DIPSETTING(    0x19, "-67" ) \
1813
 
        PORT_DIPSETTING(    0x1a, "-66" ) \
1814
 
        PORT_DIPSETTING(    0x1b, "-65" ) \
1815
 
        PORT_DIPSETTING(    0x1c, "-64" ) \
1816
 
        PORT_DIPSETTING(    0x1d, "-63" ) \
1817
 
        PORT_DIPSETTING(    0x1e, "-62" ) \
1818
 
        PORT_DIPSETTING(    0x1f, "-61" ) \
1819
 
        PORT_DIPSETTING(    0x20, "-60" ) \
1820
 
        PORT_DIPSETTING(    0x21, "-5F" ) \
1821
 
        PORT_DIPSETTING(    0x22, "-5E" ) \
1822
 
        PORT_DIPSETTING(    0x23, "-5D" ) \
1823
 
        PORT_DIPSETTING(    0x24, "-5C" ) \
1824
 
        PORT_DIPSETTING(    0x25, "-5B" ) \
1825
 
        PORT_DIPSETTING(    0x26, "-5A" ) \
1826
 
        PORT_DIPSETTING(    0x27, "-59" ) \
1827
 
        PORT_DIPSETTING(    0x28, "-58" ) \
1828
 
        PORT_DIPSETTING(    0x29, "-57" ) \
1829
 
        PORT_DIPSETTING(    0x2a, "-56" ) \
1830
 
        PORT_DIPSETTING(    0x2b, "-55" ) \
1831
 
        PORT_DIPSETTING(    0x2c, "-54" ) \
1832
 
        PORT_DIPSETTING(    0x2d, "-53" ) \
1833
 
        PORT_DIPSETTING(    0x2e, "-52" ) \
1834
 
        PORT_DIPSETTING(    0x2f, "-51" ) \
1835
 
        PORT_DIPSETTING(    0x30, "-50" ) \
1836
 
        PORT_DIPSETTING(    0x31, "-4F" ) \
1837
 
        PORT_DIPSETTING(    0x32, "-4E" ) \
1838
 
        PORT_DIPSETTING(    0x33, "-4D" ) \
1839
 
        PORT_DIPSETTING(    0x34, "-4C" ) \
1840
 
        PORT_DIPSETTING(    0x35, "-4B" ) \
1841
 
        PORT_DIPSETTING(    0x36, "-4A" ) \
1842
 
        PORT_DIPSETTING(    0x37, "-49" ) \
1843
 
        PORT_DIPSETTING(    0x38, "-48" ) \
1844
 
        PORT_DIPSETTING(    0x39, "-47" ) \
1845
 
        PORT_DIPSETTING(    0x3a, "-46" ) \
1846
 
        PORT_DIPSETTING(    0x3b, "-45" ) \
1847
 
        PORT_DIPSETTING(    0x3c, "-44" ) \
1848
 
        PORT_DIPSETTING(    0x3d, "-43" ) \
1849
 
        PORT_DIPSETTING(    0x3e, "-42" ) \
1850
 
        PORT_DIPSETTING(    0x3f, "-41" ) \
1851
 
        PORT_DIPSETTING(    0x40, "-40" ) \
1852
 
        PORT_DIPSETTING(    0x41, "-3F" ) \
1853
 
        PORT_DIPSETTING(    0x42, "-3E" ) \
1854
 
        PORT_DIPSETTING(    0x43, "-3D" ) \
1855
 
        PORT_DIPSETTING(    0x44, "-3C" ) \
1856
 
        PORT_DIPSETTING(    0x45, "-3B" ) \
1857
 
        PORT_DIPSETTING(    0x46, "-3A" ) \
1858
 
        PORT_DIPSETTING(    0x47, "-39" ) \
1859
 
        PORT_DIPSETTING(    0x48, "-38" ) \
1860
 
        PORT_DIPSETTING(    0x49, "-37" ) \
1861
 
        PORT_DIPSETTING(    0x4a, "-36" ) \
1862
 
        PORT_DIPSETTING(    0x4b, "-35" ) \
1863
 
        PORT_DIPSETTING(    0x4c, "-34" ) \
1864
 
        PORT_DIPSETTING(    0x4d, "-33" ) \
1865
 
        PORT_DIPSETTING(    0x4e, "-32" ) \
1866
 
        PORT_DIPSETTING(    0x4f, "-31" ) \
1867
 
        PORT_DIPSETTING(    0x50, "-30" ) \
1868
 
        PORT_DIPSETTING(    0x51, "-2F" ) \
1869
 
        PORT_DIPSETTING(    0x52, "-2E" ) \
1870
 
        PORT_DIPSETTING(    0x53, "-2D" ) \
1871
 
        PORT_DIPSETTING(    0x54, "-2C" ) \
1872
 
        PORT_DIPSETTING(    0x55, "-2B" ) \
1873
 
        PORT_DIPSETTING(    0x56, "-2A" ) \
1874
 
        PORT_DIPSETTING(    0x57, "-29" ) \
1875
 
        PORT_DIPSETTING(    0x58, "-28" ) \
1876
 
        PORT_DIPSETTING(    0x59, "-27" ) \
1877
 
        PORT_DIPSETTING(    0x5a, "-26" ) \
1878
 
        PORT_DIPSETTING(    0x5b, "-25" ) \
1879
 
        PORT_DIPSETTING(    0x5c, "-24" ) \
1880
 
        PORT_DIPSETTING(    0x5d, "-23" ) \
1881
 
        PORT_DIPSETTING(    0x5e, "-22" ) \
1882
 
        PORT_DIPSETTING(    0x5f, "-21" ) \
1883
 
        PORT_DIPSETTING(    0x60, "-20" ) \
1884
 
        PORT_DIPSETTING(    0x61, "-1F" ) \
1885
 
        PORT_DIPSETTING(    0x62, "-1E" ) \
1886
 
        PORT_DIPSETTING(    0x63, "-1D" ) \
1887
 
        PORT_DIPSETTING(    0x64, "-1C" ) \
1888
 
        PORT_DIPSETTING(    0x65, "-1B" ) \
1889
 
        PORT_DIPSETTING(    0x66, "-1A" ) \
1890
 
        PORT_DIPSETTING(    0x67, "-19" ) \
1891
 
        PORT_DIPSETTING(    0x68, "-18" ) \
1892
 
        PORT_DIPSETTING(    0x69, "-17" ) \
1893
 
        PORT_DIPSETTING(    0x6a, "-16" ) \
1894
 
        PORT_DIPSETTING(    0x6b, "-15" ) \
1895
 
        PORT_DIPSETTING(    0x6c, "-14" ) \
1896
 
        PORT_DIPSETTING(    0x6d, "-13" ) \
1897
 
        PORT_DIPSETTING(    0x6e, "-12" ) \
1898
 
        PORT_DIPSETTING(    0x6f, "-11" ) \
1899
 
        PORT_DIPSETTING(    0x70, "-10" ) \
1900
 
        PORT_DIPSETTING(    0x71, "-0F" ) \
1901
 
        PORT_DIPSETTING(    0x72, "-0E" ) \
1902
 
        PORT_DIPSETTING(    0x73, "-0D" ) \
1903
 
        PORT_DIPSETTING(    0x74, "-0C" ) \
1904
 
        PORT_DIPSETTING(    0x75, "-0B" ) \
1905
 
        PORT_DIPSETTING(    0x76, "-0A" ) \
1906
 
        PORT_DIPSETTING(    0x77, "-09" ) \
1907
 
        PORT_DIPSETTING(    0x78, "-08" ) \
1908
 
        PORT_DIPSETTING(    0x79, "-07" ) \
1909
 
        PORT_DIPSETTING(    0x7a, "-06" ) \
1910
 
        PORT_DIPSETTING(    0x7b, "-05" ) \
1911
 
        PORT_DIPSETTING(    0x7c, "-04" ) \
1912
 
        PORT_DIPSETTING(    0x7d, "-03" ) \
1913
 
        PORT_DIPSETTING(    0x7e, "-02" ) \
1914
 
        PORT_DIPSETTING(    0x7f, "-01" ) \
1915
 
        PORT_DIPSETTING(    0x80, "+-00" ) \
1916
 
        PORT_DIPSETTING(    0x81, "+01" ) \
1917
 
        PORT_DIPSETTING(    0x82, "+02" ) \
1918
 
        PORT_DIPSETTING(    0x83, "+03" ) \
1919
 
        PORT_DIPSETTING(    0x84, "+04" ) \
1920
 
        PORT_DIPSETTING(    0x85, "+05" ) \
1921
 
        PORT_DIPSETTING(    0x86, "+06" ) \
1922
 
        PORT_DIPSETTING(    0x87, "+07" ) \
1923
 
        PORT_DIPSETTING(    0x88, "+08" ) \
1924
 
        PORT_DIPSETTING(    0x89, "+09" ) \
1925
 
        PORT_DIPSETTING(    0x8a, "+0A" ) \
1926
 
        PORT_DIPSETTING(    0x8b, "+0B" ) \
1927
 
        PORT_DIPSETTING(    0x8c, "+0C" ) \
1928
 
        PORT_DIPSETTING(    0x8d, "+0D" ) \
1929
 
        PORT_DIPSETTING(    0x8e, "+0E" ) \
1930
 
        PORT_DIPSETTING(    0x8f, "+0F" ) \
1931
 
        PORT_DIPSETTING(    0x90, "+10" ) \
1932
 
        PORT_DIPSETTING(    0x91, "+11" ) \
1933
 
        PORT_DIPSETTING(    0x92, "+12" ) \
1934
 
        PORT_DIPSETTING(    0x93, "+13" ) \
1935
 
        PORT_DIPSETTING(    0x94, "+14" ) \
1936
 
        PORT_DIPSETTING(    0x95, "+15" ) \
1937
 
        PORT_DIPSETTING(    0x96, "+16" ) \
1938
 
        PORT_DIPSETTING(    0x97, "+17" ) \
1939
 
        PORT_DIPSETTING(    0x98, "+18" ) \
1940
 
        PORT_DIPSETTING(    0x99, "+19" ) \
1941
 
        PORT_DIPSETTING(    0x9a, "+1A" ) \
1942
 
        PORT_DIPSETTING(    0x9b, "+1B" ) \
1943
 
        PORT_DIPSETTING(    0x9c, "+1C" ) \
1944
 
        PORT_DIPSETTING(    0x9d, "+1D" ) \
1945
 
        PORT_DIPSETTING(    0x9e, "+1E" ) \
1946
 
        PORT_DIPSETTING(    0x9f, "+1F" ) \
1947
 
        PORT_DIPSETTING(    0xa0, "+20" ) \
1948
 
        PORT_DIPSETTING(    0xa1, "+21" ) \
1949
 
        PORT_DIPSETTING(    0xa2, "+22" ) \
1950
 
        PORT_DIPSETTING(    0xa3, "+23" ) \
1951
 
        PORT_DIPSETTING(    0xa4, "+24" ) \
1952
 
        PORT_DIPSETTING(    0xa5, "+25" ) \
1953
 
        PORT_DIPSETTING(    0xa6, "+26" ) \
1954
 
        PORT_DIPSETTING(    0xa7, "+27" ) \
1955
 
        PORT_DIPSETTING(    0xa8, "+28" ) \
1956
 
        PORT_DIPSETTING(    0xa9, "+29" ) \
1957
 
        PORT_DIPSETTING(    0xaa, "+2A" ) \
1958
 
        PORT_DIPSETTING(    0xab, "+2B" ) \
1959
 
        PORT_DIPSETTING(    0xac, "+2C" ) \
1960
 
        PORT_DIPSETTING(    0xad, "+2D" ) \
1961
 
        PORT_DIPSETTING(    0xae, "+2E" ) \
1962
 
        PORT_DIPSETTING(    0xaf, "+2F" ) \
1963
 
        PORT_DIPSETTING(    0xb0, "+30" ) \
1964
 
        PORT_DIPSETTING(    0xb1, "+31" ) \
1965
 
        PORT_DIPSETTING(    0xb2, "+32" ) \
1966
 
        PORT_DIPSETTING(    0xb3, "+33" ) \
1967
 
        PORT_DIPSETTING(    0xb4, "+34" ) \
1968
 
        PORT_DIPSETTING(    0xb5, "+35" ) \
1969
 
        PORT_DIPSETTING(    0xb6, "+36" ) \
1970
 
        PORT_DIPSETTING(    0xb7, "+37" ) \
1971
 
        PORT_DIPSETTING(    0xb8, "+38" ) \
1972
 
        PORT_DIPSETTING(    0xb9, "+39" ) \
1973
 
        PORT_DIPSETTING(    0xba, "+3A" ) \
1974
 
        PORT_DIPSETTING(    0xbb, "+3B" ) \
1975
 
        PORT_DIPSETTING(    0xbc, "+3C" ) \
1976
 
        PORT_DIPSETTING(    0xbd, "+3D" ) \
1977
 
        PORT_DIPSETTING(    0xbe, "+3E" ) \
1978
 
        PORT_DIPSETTING(    0xbf, "+3F" ) \
1979
 
        PORT_DIPSETTING(    0xc0, "+40" ) \
1980
 
        PORT_DIPSETTING(    0xc1, "+41" ) \
1981
 
        PORT_DIPSETTING(    0xc2, "+42" ) \
1982
 
        PORT_DIPSETTING(    0xc3, "+43" ) \
1983
 
        PORT_DIPSETTING(    0xc4, "+44" ) \
1984
 
        PORT_DIPSETTING(    0xc5, "+45" ) \
1985
 
        PORT_DIPSETTING(    0xc6, "+46" ) \
1986
 
        PORT_DIPSETTING(    0xc7, "+47" ) \
1987
 
        PORT_DIPSETTING(    0xc8, "+48" ) \
1988
 
        PORT_DIPSETTING(    0xc9, "+49" ) \
1989
 
        PORT_DIPSETTING(    0xca, "+4A" ) \
1990
 
        PORT_DIPSETTING(    0xcb, "+4B" ) \
1991
 
        PORT_DIPSETTING(    0xcc, "+4C" ) \
1992
 
        PORT_DIPSETTING(    0xcd, "+4D" ) \
1993
 
        PORT_DIPSETTING(    0xce, "+4E" ) \
1994
 
        PORT_DIPSETTING(    0xcf, "+4F" ) \
1995
 
        PORT_DIPSETTING(    0xd0, "+50" ) \
1996
 
        PORT_DIPSETTING(    0xd1, "+51" ) \
1997
 
        PORT_DIPSETTING(    0xd2, "+52" ) \
1998
 
        PORT_DIPSETTING(    0xd3, "+53" ) \
1999
 
        PORT_DIPSETTING(    0xd4, "+54" ) \
2000
 
        PORT_DIPSETTING(    0xd5, "+55" ) \
2001
 
        PORT_DIPSETTING(    0xd6, "+56" ) \
2002
 
        PORT_DIPSETTING(    0xd7, "+57" ) \
2003
 
        PORT_DIPSETTING(    0xd8, "+58" ) \
2004
 
        PORT_DIPSETTING(    0xd9, "+59" ) \
2005
 
        PORT_DIPSETTING(    0xda, "+5A" ) \
2006
 
        PORT_DIPSETTING(    0xdb, "+5B" ) \
2007
 
        PORT_DIPSETTING(    0xdc, "+5C" ) \
2008
 
        PORT_DIPSETTING(    0xdd, "+5D" ) \
2009
 
        PORT_DIPSETTING(    0xde, "+5E" ) \
2010
 
        PORT_DIPSETTING(    0xdf, "+5F" ) \
2011
 
        PORT_DIPSETTING(    0xe0, "+60" ) \
2012
 
        PORT_DIPSETTING(    0xe1, "+61" ) \
2013
 
        PORT_DIPSETTING(    0xe2, "+62" ) \
2014
 
        PORT_DIPSETTING(    0xe3, "+63" ) \
2015
 
        PORT_DIPSETTING(    0xe4, "+64" ) \
2016
 
        PORT_DIPSETTING(    0xe5, "+65" ) \
2017
 
        PORT_DIPSETTING(    0xe6, "+66" ) \
2018
 
        PORT_DIPSETTING(    0xe7, "+67" ) \
2019
 
        PORT_DIPSETTING(    0xe8, "+68" ) \
2020
 
        PORT_DIPSETTING(    0xe9, "+69" ) \
2021
 
        PORT_DIPSETTING(    0xea, "+6A" ) \
2022
 
        PORT_DIPSETTING(    0xeb, "+6B" ) \
2023
 
        PORT_DIPSETTING(    0xec, "+6C" ) \
2024
 
        PORT_DIPSETTING(    0xed, "+6D" ) \
2025
 
        PORT_DIPSETTING(    0xee, "+6E" ) \
2026
 
        PORT_DIPSETTING(    0xef, "+6F" ) \
2027
 
        PORT_DIPSETTING(    0xf0, "+70" ) \
2028
 
        PORT_DIPSETTING(    0xf1, "+71" ) \
2029
 
        PORT_DIPSETTING(    0xf2, "+72" ) \
2030
 
        PORT_DIPSETTING(    0xf3, "+73" ) \
2031
 
        PORT_DIPSETTING(    0xf4, "+74" ) \
2032
 
        PORT_DIPSETTING(    0xf5, "+75" ) \
2033
 
        PORT_DIPSETTING(    0xf6, "+76" ) \
2034
 
        PORT_DIPSETTING(    0xf7, "+77" ) \
2035
 
        PORT_DIPSETTING(    0xf8, "+78" ) \
2036
 
        PORT_DIPSETTING(    0xf9, "+79" ) \
2037
 
        PORT_DIPSETTING(    0xfa, "+7A" ) \
2038
 
        PORT_DIPSETTING(    0xfb, "+7B" ) \
2039
 
        PORT_DIPSETTING(    0xfc, "+7C" ) \
2040
 
        PORT_DIPSETTING(    0xfd, "+7D" ) \
2041
 
        PORT_DIPSETTING(    0xfe, "+7E" ) \
2042
 
        PORT_DIPSETTING(    0xff, "+7F" )
2043
 
 
2044
 
 
2045
 
static INPUT_PORTS_START( contcirc )
2046
 
        PORT_START("DSWA")
2047
 
        PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2048
 
        PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
2049
 
        PORT_DIPSETTING(    0x00, "Cockpit" )   // analogue accelerator pedal
2050
 
        PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" )
2051
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2052
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2053
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2054
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2055
 
        TAITO_COINAGE_WORLD_LOC(SW A)
2056
 
 
2057
 
        PORT_START("DSWB")
2058
 
        PORT_DIPNAME( 0x03, 0x03, "Difficulty 1 (time/speed)" ) PORT_DIPLOCATION("SW B:1,2")
2059
 
        PORT_DIPSETTING(    0x02, DEF_STR( Easy ) )
2060
 
        PORT_DIPSETTING(    0x03, DEF_STR( Normal ) )
2061
 
        PORT_DIPSETTING(    0x01, DEF_STR( Hard ) )
2062
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
2063
 
        PORT_DIPNAME( 0x0c, 0x0c, "Difficulty 2 (other cars)" ) PORT_DIPLOCATION("SW B:3,4")
2064
 
        PORT_DIPSETTING(    0x08, DEF_STR( Easy ) )
2065
 
        PORT_DIPSETTING(    0x0c, DEF_STR( Normal ) )
2066
 
        PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
2067
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
2068
 
        PORT_DIPNAME( 0x10, 0x10, "Steering wheel" ) PORT_DIPLOCATION("SW B:5") //not sure what effect this has
2069
 
        PORT_DIPSETTING(    0x10, "Free" )
2070
 
        PORT_DIPSETTING(    0x00, "Locked" )
2071
 
        PORT_DIPNAME( 0x20, 0x00, "Enable 3d alternate frames" ) PORT_DIPLOCATION("SW B:6")
2072
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2073
 
        PORT_DIPSETTING(    0x20, DEF_STR( On ) )
2074
 
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2075
 
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2076
 
 
2077
 
        PORT_START("IN0")
2078
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2079
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2080
 
        PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
2081
 
        PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
2082
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2083
 
        PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(1)    /* 3 for accel [7 levels] */
2084
 
        PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)
2085
 
        PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)    /* main accel key */
2086
 
 
2087
 
        PORT_START("IN1")       /* b3 not mapped: standardized on holding b4=lo gear */
2088
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2089
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2090
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_TILT )
2091
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_START1 )
2092
 
        PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)    /* gear shift lo/hi */
2093
 
        PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(1)    /* 3 for brake [7 levels] */
2094
 
        PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(1)
2095
 
        PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)    /* main brake key */
2096
 
 
2097
 
        PORT_START("IN2")       /* unused */
2098
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2099
 
 
2100
 
        PORT_START("STEER")     /* "handle" i.e. steering */
2101
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
2102
 
 
2103
 
        PORT_START("FAKE")      /* fake allowing digital steer */
2104
 
        PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2105
 
        PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2106
 
        PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2107
 
        PORT_DIPSETTING(    0x10, "Digital" )
2108
 
        PORT_DIPSETTING(    0x00, "Analogue" )
2109
 
INPUT_PORTS_END
2110
 
 
2111
 
static INPUT_PORTS_START( contcrcu )
2112
 
        PORT_INCLUDE(contcirc)
2113
 
 
2114
 
        PORT_MODIFY("DSWA")             // confirmed
2115
 
        TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2116
 
INPUT_PORTS_END
2117
 
 
2118
 
static INPUT_PORTS_START( chasehq )     // IN3-6 perhaps used with cockpit setup? //
2119
 
        PORT_START("DSWA")
2120
 
        PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1,2")     /* US Manual states DIPS 1 & 2 "MUST REMAIN OFF" */
2121
 
        PORT_DIPSETTING(    0x03, "Upright / Steering Lock" )
2122
 
        PORT_DIPSETTING(    0x02, "Upright / No Steering Lock" )
2123
 
        PORT_DIPSETTING(    0x01, "Full Throttle Convert, Cockpit" )
2124
 
        PORT_DIPSETTING(    0x00, "Full Throttle Convert, Deluxe" )
2125
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2126
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2127
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2128
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2129
 
        TAITO_COINAGE_WORLD_LOC(SW A)
2130
 
 
2131
 
        PORT_START("DSWB")
2132
 
        TAITO_DIFFICULTY_LOC(SW B)
2133
 
        PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
2134
 
        PORT_DIPSETTING(    0x08, "70 Seconds" )
2135
 
        PORT_DIPSETTING(    0x04, "65 Seconds" )
2136
 
        PORT_DIPSETTING(    0x0c, "60 Seconds" )
2137
 
        PORT_DIPSETTING(    0x00, "55 Seconds" )
2138
 
        PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
2139
 
        PORT_DIPSETTING(    0x10, "3" )
2140
 
        PORT_DIPSETTING(    0x00, "5" )
2141
 
        PORT_DIPNAME( 0x20, 0x20, "Discounted Continue Play" ) PORT_DIPLOCATION("SW B:6")       /* Full coin price to start, 1 coin to continue */
2142
 
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
2143
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2144
 
        PORT_DIPNAME( 0x40, 0x40, "Damage Cleared at Continue" ) PORT_DIPLOCATION("SW B:7")
2145
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2146
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2147
 
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:8")
2148
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2149
 
        PORT_DIPSETTING(    0x80, DEF_STR( On ) )
2150
 
 
2151
 
        PORT_START("IN0")
2152
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2153
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2154
 
        PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
2155
 
        PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
2156
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2157
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON2 ) PORT_PLAYER(1)    /* brake */
2158
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2159
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2160
 
 
2161
 
        PORT_START("IN1")
2162
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_BUTTON3 ) PORT_PLAYER(1)    /* turbo */
2163
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_TILT )
2164
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2165
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_START1 )
2166
 
        PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)    /* gear */
2167
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON1 ) PORT_PLAYER(1)    /* accel */
2168
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2169
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2170
 
 
2171
 
        PORT_START("IN2")       /* unused */
2172
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2173
 
 
2174
 
        PORT_START("UNK1")      /* ??? */
2175
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2176
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2177
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2178
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2179
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2180
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2181
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2182
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2183
 
 
2184
 
        PORT_START("UNK2")      /* ??? */
2185
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2186
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2187
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2188
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2189
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2190
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2191
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2192
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2193
 
 
2194
 
        PORT_START("UNK3")      /* ??? */
2195
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2196
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2197
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2198
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
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
 
 
2204
 
        PORT_START("UNK4")      /* ??? */
2205
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2206
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2207
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2208
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2209
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2210
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2211
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2212
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2213
 
 
2214
 
        PORT_START("STEER")     /* steering */
2215
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
2216
 
 
2217
 
        PORT_START("FAKE")      /* fake allowing digital steer */
2218
 
        PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2219
 
        PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2220
 
        PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2221
 
        PORT_DIPSETTING(    0x10, "Digital" )
2222
 
        PORT_DIPSETTING(    0x00, "Analogue" )
2223
 
INPUT_PORTS_END
2224
 
 
2225
 
static INPUT_PORTS_START( chasehqj )
2226
 
        PORT_INCLUDE(chasehq)
2227
 
 
2228
 
        PORT_MODIFY("DSWA")
2229
 
        TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2230
 
INPUT_PORTS_END
2231
 
 
2232
 
static INPUT_PORTS_START( enforce )
2233
 
        PORT_START("DSWA")
2234
 
        PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW A:1" )
2235
 
        PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" )
2236
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2237
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2238
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )              // Says SHIFT HI in test mode !?
2239
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )               // Says SHIFT LO in test mode !?
2240
 
        TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2241
 
 
2242
 
        PORT_START("DSWB")
2243
 
        TAITO_DIFFICULTY_LOC(SW B)
2244
 
        PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW B:3" )
2245
 
        PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW B:4" )
2246
 
        PORT_DIPNAME( 0x10, 0x00, "Background scenery" ) PORT_DIPLOCATION("SW B:5")
2247
 
        PORT_DIPSETTING(    0x10, "Crazy scrolling" )
2248
 
        PORT_DIPSETTING(    0x00, DEF_STR( Normal ) )
2249
 
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" )
2250
 
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2251
 
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2252
 
 
2253
 
        PORT_START("IN0")
2254
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2255
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2256
 
        PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
2257
 
        PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
2258
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2259
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2260
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2261
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2262
 
 
2263
 
        PORT_START("IN1")
2264
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_BUTTON2 ) PORT_PLAYER(1)    /* Bomb */
2265
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_BUTTON1 ) PORT_PLAYER(1)    /* Laser */
2266
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_TILT )
2267
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_START1 )
2268
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2269
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2270
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2271
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2272
 
 
2273
 
        PORT_START("IN2")       /* unused */
2274
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2275
 
INPUT_PORTS_END
2276
 
 
2277
 
static INPUT_PORTS_START( bshark )
2278
 
        PORT_START("DSWA")
2279
 
        PORT_DIPNAME( 0x01, 0x01, "Mirror screen" ) PORT_DIPLOCATION("SW A:1")  // manual says it must be off
2280
 
        PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
2281
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2282
 
        PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" )   // manual says it must be off
2283
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2284
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2285
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2286
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2287
 
        TAITO_COINAGE_US_LOC(SW A)
2288
 
 
2289
 
        PORT_START("DSWB")
2290
 
        TAITO_DIFFICULTY_LOC(SW B)
2291
 
        PORT_DIPNAME( 0x0c, 0x04, "Speed of Sight" ) PORT_DIPLOCATION("SW B:3,4")
2292
 
        PORT_DIPSETTING(    0x0c, "Slow" )
2293
 
        PORT_DIPSETTING(    0x08, DEF_STR( Medium ) )
2294
 
        PORT_DIPSETTING(    0x04, "Fast" )
2295
 
        PORT_DIPSETTING(    0x00, "Fastest" )
2296
 
        PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW B:5" )   // manual says all these must be off
2297
 
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" )
2298
 
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2299
 
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2300
 
 
2301
 
        PORT_START("IN0")
2302
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
2303
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
2304
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2305
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT )
2306
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2307
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2308
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2309
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2310
 
 
2311
 
        PORT_START("IN1")       /* unused */
2312
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2313
 
 
2314
 
        PORT_START("IN2")       /* b2-5 affect sound num in service mode but otherwise useless (?) */
2315
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2316
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
2317
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2318
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
2319
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
2320
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
2321
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)     /* "Fire" */
2322
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)     /* same as "Fire" */
2323
 
 
2324
 
        PORT_START("STICKX")    /* values chosen to match allowed crosshair area */
2325
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x35, 0xcc) PORT_SENSITIVITY(20) PORT_KEYDELTA(4) PORT_REVERSE PORT_PLAYER(1)
2326
 
 
2327
 
        PORT_START("X_ADJUST")  /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2328
 
        TAITO_Z_ANALOG_ADJUST( "Adjust Stick H (VARIABLE REGISTER)" )
2329
 
 
2330
 
        PORT_START("STICKY")    /* values chosen to match allowed crosshair area */
2331
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0x32, 0xd5) PORT_SENSITIVITY(20) PORT_KEYDELTA(4) PORT_PLAYER(1)
2332
 
 
2333
 
        PORT_START("Y_ADJUST")  /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2334
 
        TAITO_Z_ANALOG_ADJUST( "Adjust Stick V (VARIABLE REGISTER)" )
2335
 
INPUT_PORTS_END
2336
 
 
2337
 
static INPUT_PORTS_START( bsharkj )
2338
 
        PORT_INCLUDE(bshark)
2339
 
 
2340
 
        PORT_MODIFY("DSWA")
2341
 
        TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2342
 
INPUT_PORTS_END
2343
 
 
2344
 
static INPUT_PORTS_START( sci )
2345
 
        PORT_START("DSWA")
2346
 
        PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2347
 
        PORT_DIPSETTING(    0x01, "Cockpit" )
2348
 
        PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2349
 
        PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" ) /* Manual states "MUST REMAIN OFF" */
2350
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2351
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2352
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2353
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2354
 
        TAITO_COINAGE_WORLD_LOC(SW A)
2355
 
 
2356
 
        PORT_START("DSWB")
2357
 
        TAITO_DIFFICULTY_LOC(SW B)
2358
 
        PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
2359
 
        PORT_DIPSETTING(    0x08, "70 Seconds" )
2360
 
        PORT_DIPSETTING(    0x04, "65 Seconds" )
2361
 
        PORT_DIPSETTING(    0x0c, "60 Seconds" )
2362
 
        PORT_DIPSETTING(    0x00, "55 Seconds" )
2363
 
        PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
2364
 
        PORT_DIPSETTING(    0x10, "3" )
2365
 
        PORT_DIPSETTING(    0x00, "5" )
2366
 
        PORT_DIPNAME( 0x20, 0x20, "Steering Radius" ) PORT_DIPLOCATION("SW B:6")
2367
 
        PORT_DIPSETTING(    0x00, "270 Degree" )
2368
 
        PORT_DIPSETTING(    0x20, "360 Degree" )
2369
 
        PORT_DIPNAME( 0x40, 0x40, "Damage Cleared at Continue" ) PORT_DIPLOCATION("SW B:7")
2370
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2371
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2372
 
        PORT_DIPNAME( 0x80, 0x80, "Siren Volume" ) PORT_DIPLOCATION("SW B:8")
2373
 
        PORT_DIPSETTING(    0x80, DEF_STR( Normal ) )
2374
 
        PORT_DIPSETTING(    0x00, DEF_STR( Low ) )
2375
 
 
2376
 
        PORT_START("IN0")
2377
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2378
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)     /* fire */
2379
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2380
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2381
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2382
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)     /* brake */
2383
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2384
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2385
 
 
2386
 
        PORT_START("IN1")
2387
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_BUTTON5 ) PORT_PLAYER(1)    /* turbo */
2388
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_TILT )
2389
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_BUTTON6 ) PORT_PLAYER(1)    /* "center" */
2390
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_START1 )
2391
 
        PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)    /* gear */
2392
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON1 ) PORT_PLAYER(1)    /* accel */
2393
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2394
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
2395
 
 
2396
 
        PORT_START("IN2")       /* unused */
2397
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2398
 
 
2399
 
        PORT_START("STEER")     /* steering */
2400
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
2401
 
 
2402
 
        PORT_START("FAKE")      /* fake allowing digital steer */
2403
 
        PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2404
 
        PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2405
 
        PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2406
 
        PORT_DIPSETTING(    0x10, "Digital" )
2407
 
        PORT_DIPSETTING(    0x00, "Analogue" )
2408
 
INPUT_PORTS_END
2409
 
 
2410
 
static INPUT_PORTS_START( sciu )
2411
 
        PORT_INCLUDE(sci)
2412
 
 
2413
 
        PORT_MODIFY("DSWA")
2414
 
        TAITO_COINAGE_US_LOC(SW A)
2415
 
INPUT_PORTS_END
2416
 
 
2417
 
static INPUT_PORTS_START( scij )
2418
 
        PORT_INCLUDE(sci)
2419
 
 
2420
 
        PORT_MODIFY("DSWA")
2421
 
        TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2422
 
INPUT_PORTS_END
2423
 
 
2424
 
static INPUT_PORTS_START( nightstr )
2425
 
        PORT_START("DSWA")
2426
 
        PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2427
 
        PORT_DIPSETTING(    0x01, "Cockpit" )
2428
 
        PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2429
 
        PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" )   // manual says it must be off
2430
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2431
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2432
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2433
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2434
 
        TAITO_COINAGE_WORLD_LOC(SW A)
2435
 
 
2436
 
        PORT_START("DSWB")
2437
 
        TAITO_DIFFICULTY_LOC(SW B)
2438
 
        PORT_DIPNAME( 0x0c, 0x0c, "Bonus Shields" ) PORT_DIPLOCATION("SW B:3,4")
2439
 
        PORT_DIPSETTING(    0x08, "3" )
2440
 
        PORT_DIPSETTING(    0x04, "2" )
2441
 
        PORT_DIPSETTING(    0x0c, "1" )
2442
 
        PORT_DIPSETTING(    0x00, DEF_STR( None ) )
2443
 
        PORT_DIPNAME( 0x30, 0x30, "Shields" ) PORT_DIPLOCATION("SW B:5,6")
2444
 
        PORT_DIPSETTING(    0x00, "3" )
2445
 
        PORT_DIPSETTING(    0x10, "4" )
2446
 
        PORT_DIPSETTING(    0x30, "5" )
2447
 
        PORT_DIPSETTING(    0x20, "6" )
2448
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:7")
2449
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2450
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2451
 
        PORT_DIPNAME( 0x80, 0x80, "Trigger Turbo" ) PORT_DIPLOCATION("SW B:8")
2452
 
        PORT_DIPSETTING(    0x80, "7 Shots / Second" )
2453
 
        PORT_DIPSETTING(    0x00, "10 Shots / Second" )
2454
 
 
2455
 
        PORT_START("IN0")
2456
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2457
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2458
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2459
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2460
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
2461
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
2462
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
2463
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
2464
 
 
2465
 
        PORT_START("IN1")       /* unused */
2466
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2467
 
 
2468
 
        PORT_START("IN2")
2469
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2470
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
2471
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2472
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2473
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2474
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2475
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
2476
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2477
 
 
2478
 
        PORT_START("STICKX")
2479
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(60) PORT_KEYDELTA(15) PORT_PLAYER(1)
2480
 
 
2481
 
        PORT_START("STICKY")
2482
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(60) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
2483
 
 
2484
 
        PORT_START("X_ADJUST")  /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2485
 
        TAITO_Z_ANALOG_ADJUST( "Adjust Stick H (VARIABLE REGISTER)" )
2486
 
 
2487
 
        PORT_START("Y_ADJUST")  /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2488
 
        TAITO_Z_ANALOG_ADJUST( "Adjust Stick V (VARIABLE REGISTER)" )
2489
 
INPUT_PORTS_END
2490
 
 
2491
 
static INPUT_PORTS_START( nghtstrj )
2492
 
        PORT_INCLUDE( nightstr )
2493
 
 
2494
 
        PORT_MODIFY("DSWA")
2495
 
        TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2496
 
INPUT_PORTS_END
2497
 
 
2498
 
static INPUT_PORTS_START( nghtstru )
2499
 
        PORT_INCLUDE( nightstr )
2500
 
 
2501
 
        PORT_MODIFY("DSWA")
2502
 
        TAITO_COINAGE_US_LOC(SW A)
2503
 
INPUT_PORTS_END
2504
 
 
2505
 
static INPUT_PORTS_START( aquajack )
2506
 
        PORT_START("DSWA")
2507
 
        PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2508
 
        PORT_DIPSETTING(    0x80, "Cockpit" )
2509
 
        PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
2510
 
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW A:2" ) /* Dip 2 shown as "Must Remain in "Off" Position" in manual */
2511
 
        PORT_SERVICE_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW A:3" )
2512
 
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2513
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2514
 
        PORT_DIPSETTING(    0x10, DEF_STR( On ) )
2515
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:6,5")
2516
 
        PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
2517
 
        PORT_DIPSETTING(    0x08, DEF_STR( 3C_1C ) )
2518
 
        PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
2519
 
        PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
2520
 
        PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:8,7")      /* The Romstar (US version) manual list this as "Continue Pricing" */
2521
 
        PORT_DIPSETTING(    0x03, DEF_STR( 1C_2C ) )    /* Same pricing as Coin A */
2522
 
        PORT_DIPSETTING(    0x01, DEF_STR( 1C_3C ) )    /* 1 Coin to Continue  */
2523
 
        PORT_DIPSETTING(    0x02, DEF_STR( 1C_4C ) )    /* 2 Coins to Continue */
2524
 
        PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )    /* 3 Coins to Continue */
2525
 
 
2526
 
        PORT_START("DSWB")
2527
 
        PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:2,1")
2528
 
        PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
2529
 
        PORT_DIPSETTING(    0xc0, DEF_STR( Normal ) )
2530
 
        PORT_DIPSETTING(    0x80, DEF_STR( Hard ) )
2531
 
        PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
2532
 
        PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW B:4,3")
2533
 
        PORT_DIPSETTING(    0x00, "30k" )
2534
 
        PORT_DIPSETTING(    0x30, "50k" )
2535
 
        PORT_DIPSETTING(    0x10, "80k" )
2536
 
        PORT_DIPSETTING(    0x20, "100k" )
2537
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW B:6,5")
2538
 
        PORT_DIPSETTING(    0x08, "1" )
2539
 
        PORT_DIPSETTING(    0x04, "2" )
2540
 
        PORT_DIPSETTING(    0x0c, "3" )
2541
 
        PORT_DIPSETTING(    0x00, "5" )
2542
 
        PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW B:7" ) /* Dip 7 shown as "Do Not Touch" in manuals */
2543
 
        PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW B:8" ) /* Dip 8 */
2544
 
        /* The previous taito_z.c said ---
2545
 
        The Romstar (US version) manual list this as "Endless Game" - Has no effect on "World" version
2546
 
       --- , and declared it as unused switch.
2547
 
    */
2548
 
        /* PORT_DIPNAME( 0x01, 0x01, "Endless Game" ) PORT_DIPLOCATION("SW B:8") */
2549
 
        /* PORT_DIPSETTING(    0x01, "Normal Game" ) */
2550
 
        /* PORT_DIPSETTING(    0x00, "Endless Game" ) */
2551
 
 
2552
 
        PORT_START("IN0")
2553
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2554
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
2555
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2556
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2557
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2558
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
2559
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2560
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2561
 
 
2562
 
        PORT_START("IN1")
2563
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2564
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2565
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2566
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2567
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
2568
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2569
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
2570
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2571
 
 
2572
 
        PORT_START("IN2")       /* what is it ??? */
2573
 
        PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)
2574
 
INPUT_PORTS_END
2575
 
 
2576
 
static INPUT_PORTS_START( aquajckj )
2577
 
        PORT_INCLUDE(aquajack)
2578
 
 
2579
 
        PORT_MODIFY("DSWA")
2580
 
        PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:6,5")
2581
 
        PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
2582
 
        PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
2583
 
        PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
2584
 
        PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
2585
 
        PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:8,7")
2586
 
        PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
2587
 
        PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
2588
 
        PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
2589
 
        PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
2590
 
INPUT_PORTS_END
2591
 
 
2592
 
static INPUT_PORTS_START( spacegun )
2593
 
        PORT_START("DSWA")
2594
 
        PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW A:1" )   // Manual says Always Off
2595
 
        PORT_DIPNAME( 0x02, 0x02, "Always have gunsight power up" ) PORT_DIPLOCATION("SW A:2")
2596
 
        PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
2597
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2598
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2599
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2600
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2601
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2602
 
        TAITO_COINAGE_WORLD_LOC(SW A)
2603
 
 
2604
 
        PORT_START("DSWB")
2605
 
        TAITO_DIFFICULTY_LOC(SW B)
2606
 
        PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW B:3" )   // Manual lists dips 3 through 6 and 8 as Always off
2607
 
        PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW B:4" )
2608
 
        PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW B:5" )
2609
 
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" )
2610
 
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:7")
2611
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2612
 
        PORT_DIPSETTING(    0x40, DEF_STR( On ) )
2613
 
        PORT_DIPNAME( 0x80, 0x80, "Disable Pedal (?)" ) PORT_DIPLOCATION("SW B:8")
2614
 
        PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
2615
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
2616
 
 
2617
 
        PORT_START("IN0")
2618
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
2619
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
2620
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
2621
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
2622
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2623
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2624
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1)
2625
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2)
2626
 
 
2627
 
        PORT_START("IN1")       /* unused */
2628
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2629
 
 
2630
 
        PORT_START("IN2")
2631
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
2632
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
2633
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2634
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
2635
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2636
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2637
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2638
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2639
 
 
2640
 
        PORT_START( "EEPROMOUT" )
2641
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
2642
 
        PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
2643
 
        PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
2644
 
 
2645
 
        PORT_START("STICKX1")
2646
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_REVERSE PORT_PLAYER(1)
2647
 
 
2648
 
        PORT_START("STICKY1")
2649
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_PLAYER(1)
2650
 
 
2651
 
        PORT_START("STICKX2")
2652
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_REVERSE PORT_PLAYER(2)
2653
 
 
2654
 
        PORT_START("STICKY2")
2655
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_PLAYER(2)
2656
 
INPUT_PORTS_END
2657
 
 
2658
 
static INPUT_PORTS_START( dblaxle )
2659
 
        PORT_START("DSWA")
2660
 
        PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW A:1" )
2661
 
        PORT_DIPNAME( 0x02, 0x02, "Gear shift" ) PORT_DIPLOCATION("SW A:2")
2662
 
        PORT_DIPSETTING(    0x02, DEF_STR( Normal ) )
2663
 
        PORT_DIPSETTING(    0x00, "Inverted" )
2664
 
        PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2665
 
        PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2666
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2667
 
        PORT_DIPSETTING(    0x08, DEF_STR( On ) )
2668
 
        TAITO_COINAGE_US_LOC(SW A)
2669
 
 
2670
 
        PORT_START("DSWB")
2671
 
        TAITO_DIFFICULTY_LOC(SW B)
2672
 
        PORT_DIPNAME( 0x04, 0x00, "Multi-machine hookup ?" ) PORT_DIPLOCATION("SW B:3") // doesn't boot if on
2673
 
        PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
2674
 
        PORT_DIPSETTING(    0x04, DEF_STR( On ) )
2675
 
        PORT_DIPNAME( 0x08, 0x08, "Player Truck" ) PORT_DIPLOCATION("SW B:4")
2676
 
        PORT_DIPSETTING(    0x08, "Red" )
2677
 
        PORT_DIPSETTING(    0x00, "Blue" )
2678
 
        PORT_DIPNAME( 0x10, 0x10, "Back button" ) PORT_DIPLOCATION("SW B:5")
2679
 
        PORT_DIPSETTING(    0x10, DEF_STR( Normal ) )
2680
 
        PORT_DIPSETTING(    0x00, "Inverted" )
2681
 
        PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" )   // causes "Root CPU Error" on "Icy Road" (Tourniquet)
2682
 
        PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2683
 
        PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2684
 
 
2685
 
        PORT_START("IN0")
2686
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2687
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)     /* shift */
2688
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2689
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2690
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2691
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)     /* brake */
2692
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2693
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)     /* "back" */
2694
 
 
2695
 
        PORT_START("IN1")
2696
 
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)     /* nitro */
2697
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
2698
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)     /* "center" */
2699
 
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2700
 
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2701
 
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)     /* accel */
2702
 
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2703
 
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2704
 
 
2705
 
        PORT_START("IN2")       /* unused */
2706
 
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2707
 
 
2708
 
        PORT_START("STEER")     /* steering */
2709
 
        PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(40) PORT_KEYDELTA(10) PORT_PLAYER(1)
2710
 
 
2711
 
        PORT_START("FAKE")      /* fake allowing digital steer */
2712
 
        PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2713
 
        PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2714
 
        PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2715
 
        PORT_DIPSETTING(    0x10, "Digital" )
2716
 
        PORT_DIPSETTING(    0x00, "Analogue" )
2717
 
INPUT_PORTS_END
2718
 
 
2719
 
static INPUT_PORTS_START( pwheelsj )
2720
 
        PORT_INCLUDE(dblaxle)
2721
 
 
2722
 
        PORT_MODIFY("DSWA")
2723
 
        TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2724
 
INPUT_PORTS_END
2725
 
 
2726
 
 
2727
 
/***********************************************************
2728
 
                       GFX DECODING
2729
 
***********************************************************/
2730
 
 
2731
 
static const gfx_layout tile16x8_layout =
2732
 
{
2733
 
        16,8,   /* 16*8 sprites */
2734
 
        RGN_FRAC(1,1),
2735
 
        4,      /* 4 bits per pixel */
2736
 
        { 0, 8, 16, 24 },
2737
 
        { 32, 33, 34, 35, 36, 37, 38, 39, 0, 1, 2, 3, 4, 5, 6, 7 },
2738
 
        { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 },
2739
 
        64*8    /* every sprite takes 64 consecutive bytes */
2740
 
};
2741
 
 
2742
 
static const gfx_layout tile16x16_layout =
2743
 
{
2744
 
        16,16,  /* 16*16 sprites */
2745
 
        RGN_FRAC(1,1),
2746
 
        4,      /* 4 bits per pixel */
2747
 
        { 0, 8, 16, 24 },
2748
 
        { 32, 33, 34, 35, 36, 37, 38, 39, 0, 1, 2, 3, 4, 5, 6, 7 },
2749
 
        { 0*64, 1*64,  2*64,  3*64,  4*64,  5*64,  6*64,  7*64,
2750
 
          8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
2751
 
        64*16   /* every sprite takes 128 consecutive bytes */
2752
 
};
2753
 
 
2754
 
static const gfx_layout charlayout =
2755
 
{
2756
 
        8,8,    /* 8*8 characters */
2757
 
        RGN_FRAC(1,1),
2758
 
        4,      /* 4 bits per pixel */
2759
 
        { 0, 1, 2, 3 },
2760
 
        { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 },
2761
 
        { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
2762
 
        32*8    /* every sprite takes 32 consecutive bytes */
2763
 
};
2764
 
 
2765
 
static const gfx_layout dblaxle_charlayout =
2766
 
{
2767
 
        16,16,    /* 16*16 characters */
2768
 
        RGN_FRAC(1,1),
2769
 
        4,        /* 4 bits per pixel */
2770
 
        { 0, 1, 2, 3 },
2771
 
        { 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 },
2772
 
        { 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 },
2773
 
        128*8     /* every sprite takes 128 consecutive bytes */
2774
 
};
2775
 
 
2776
 
static GFXDECODE_START( taitoz )
2777
 
        GFXDECODE_ENTRY( "gfx2", 0x0, tile16x8_layout,  0, 256 )        /* sprite parts */
2778
 
        GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,  0, 256 )             /* sprites & playfield */
2779
 
GFXDECODE_END
2780
 
 
2781
 
/* taitoic.c TC0100SCN routines expect scr stuff to be in second gfx
2782
 
   slot, so 2nd batch of obj must be placed third */
2783
 
 
2784
 
static GFXDECODE_START( chasehq )
2785
 
        GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout,  0, 256 )       /* sprite parts */
2786
 
        GFXDECODE_ENTRY( "gfx1", 0x0, charlayout,  0, 256 )             /* sprites & playfield */
2787
 
        GFXDECODE_ENTRY( "gfx4", 0x0, tile16x16_layout,  0, 256 )       /* sprite parts */
2788
 
GFXDECODE_END
2789
 
 
2790
 
static GFXDECODE_START( dblaxle )
2791
 
        GFXDECODE_ENTRY( "gfx2", 0x0, tile16x8_layout,  0, 256 )        /* sprite parts */
2792
 
        GFXDECODE_ENTRY( "gfx1", 0x0, dblaxle_charlayout,  0, 256 )     /* sprites & playfield */
2793
 
GFXDECODE_END
2794
 
 
2795
 
 
2796
 
 
2797
 
/**************************************************************
2798
 
                         YM2610 (SOUND)
2799
 
 
2800
 
The first interface is for game boards with twin 68000 and Z80.
2801
 
Interface B is for games which lack a Z80 (Spacegun, Bshark).
2802
 
**************************************************************/
2803
 
 
2804
 
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
2805
 
static void irqhandler(device_t *device, int irq)
2806
 
{
2807
 
        taitoz_state *state = device->machine().driver_data<taitoz_state>();
2808
 
        device_set_input_line(state->m_audiocpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
2809
 
}
2810
 
 
2811
 
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
2812
 
static void irqhandlerb(device_t *device, int irq)
2813
 
{
2814
 
        // DG: this is probably specific to Z80 and wrong?
2815
 
//  taitoz_state *state = device->machine().driver_data<taitoz_state>();
2816
 
//  device_set_input_line(state->m_audiocpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
2817
 
}
2818
 
 
2819
 
static const ym2610_interface ym2610_config =
2820
 
{
2821
 
        irqhandler
2822
 
};
2823
 
 
2824
 
static const ym2610_interface ym2610_interfaceb =
2825
 
{
2826
 
        irqhandlerb
2827
 
};
2828
 
 
2829
 
 
2830
 
/**************************************************************
2831
 
                         SUBWOOFER (SOUND)
2832
 
**************************************************************/
2833
 
 
2834
 
#if 0
2835
 
static DEVICE_START( subwoofer )
2836
 
{
2837
 
        /* Adjust the lowpass filter of the first three YM2610 channels */
2838
 
 
2839
 
        /* 150 Hz is a common top frequency played by a generic */
2840
 
        /* subwoofer, the real Arcade Machine may differs */
2841
 
 
2842
 
        mixer_set_lowpass_frequency(0, 20);
2843
 
        mixer_set_lowpass_frequency(1, 20);
2844
 
        mixer_set_lowpass_frequency(2, 20);
2845
 
}
2846
 
 
2847
 
static DEVICE_GET_INFO( subwoofer )
2848
 
{
2849
 
        switch (state)
2850
 
        {
2851
 
                /* --- the following bits of info are returned as pointers to data or functions --- */
2852
 
                case DEVINFO_FCT_START:                                                 info->start = DEVICE_START_NAME(subwoofer);             break;
2853
 
 
2854
 
                /* --- the following bits of info are returned as NULL-terminated strings --- */
2855
 
                case DEVINFO_STR_NAME:                                                  strcpy(info->s, "Subwoofer");                                   break;
2856
 
                case DEVINFO_STR_SOURCE_FILE:                                           strcpy(info->s, __FILE__);                                              break;
2857
 
        }
2858
 
}
2859
 
#endif
2860
 
 
2861
 
 
2862
 
/***********************************************************
2863
 
                      MACHINE DRIVERS
2864
 
 
2865
 
CPU Interleaving
2866
 
----------------
2867
 
 
2868
 
Chasehq2 needs high interleaving to have sound (not checked
2869
 
since May 2001 - may have changed).
2870
 
 
2871
 
Enforce with interleave of 1 sometimes lets you take over from
2872
 
the demo game when you coin up! Set to 10 seems to cure this.
2873
 
 
2874
 
Bshark needs the high cpu interleaving to run test mode.
2875
 
 
2876
 
Nightstr needs the high cpu interleaving to get through init.
2877
 
 
2878
 
Aquajack has it VERY high to cure frequent sound-related
2879
 
hangs.
2880
 
 
2881
 
Dblaxle has 10 to boot up reliably but very occasionally gets
2882
 
a "root cpu error" still.
2883
 
 
2884
 
Racingb inherited interleave from Dblaxle - other values not
2885
 
tested!
2886
 
 
2887
 
Mostly it's the 2nd 68K which writes to road chip, so syncing
2888
 
between it and the master 68K may be important. Contcirc
2889
 
and ChaseHQ have interleave of only 1 - possible cause of
2890
 
Contcirc road glitchiness in attract?
2891
 
 
2892
 
***********************************************************/
2893
 
 
2894
 
 
2895
 
static const tc0100scn_interface taitoz_tc0100scn_intf =
2896
 
{
2897
 
        "screen",
2898
 
        1, 2,           /* gfxnum, txnum */
2899
 
        0, 0,           /* x_offset, y_offset */
2900
 
        0, 0,           /* flip_xoff, flip_yoff */
2901
 
        0, 0,           /* flip_text_xoff, flip_text_yoff */
2902
 
        0, 0
2903
 
};
2904
 
 
2905
 
static const tc0100scn_interface chasehq_tc0100scn_intf =
2906
 
{
2907
 
        "screen",
2908
 
        1, 3,           /* gfxnum, txnum */
2909
 
        0, 0,           /* x_offset, y_offset */
2910
 
        0, 0,           /* flip_xoff, flip_yoff */
2911
 
        0, 0,           /* flip_text_xoff, flip_text_yoff */
2912
 
        0, 0
2913
 
};
2914
 
 
2915
 
static const tc0100scn_interface spacegun_tc0100scn_intf =
2916
 
{
2917
 
        "screen",
2918
 
        1, 2,           /* gfxnum, txnum */
2919
 
        4, 0,           /* x_offset, y_offset */
2920
 
        0, 0,           /* flip_xoff, flip_yoff */
2921
 
        0, 0,           /* flip_text_xoff, flip_text_yoff */
2922
 
        0, 0
2923
 
};
2924
 
 
2925
 
static const tc0480scp_interface taitoz_tc0480scp_intf =
2926
 
{
2927
 
        1, 2,           /* gfxnum, txnum */
2928
 
        0,              /* pixels */
2929
 
        0x21, 0x08,             /* x_offset, y_offset */
2930
 
        4, 0,           /* text_xoff, text_yoff */
2931
 
        0, 0,           /* flip_xoff, flip_yoff */
2932
 
        0               /* col_base */
2933
 
};
2934
 
 
2935
 
static const tc0110pcr_interface taitoz_tc0110pcr_intf = { 0 };
2936
 
 
2937
 
static const tc0150rod_interface taitoz_tc0150rod_intf = { "gfx3" };
2938
 
 
2939
 
static const tc0220ioc_interface taitoz_io220_intf =
2940
 
{
2941
 
        DEVCB_INPUT_PORT("DSWA"), DEVCB_INPUT_PORT("DSWB"),
2942
 
        DEVCB_INPUT_PORT("IN0"), DEVCB_INPUT_PORT("IN1"), DEVCB_INPUT_PORT("IN2")       /* port read handlers */
2943
 
};
2944
 
 
2945
 
static const tc0510nio_interface taitoz_io510_intf =
2946
 
{
2947
 
        DEVCB_INPUT_PORT("DSWA"), DEVCB_INPUT_PORT("DSWB"),
2948
 
        DEVCB_INPUT_PORT("IN0"), DEVCB_INPUT_PORT("IN1"), DEVCB_INPUT_PORT("IN2")       /* port read handlers */
2949
 
};
2950
 
 
2951
 
static const tc0140syt_interface taitoz_tc0140syt_intf =
2952
 
{
2953
 
        "sub", "audiocpu"
2954
 
};
2955
 
 
2956
 
 
2957
 
/***********************************************************
2958
 
                   SAVE STATES
2959
 
***********************************************************/
2960
 
 
2961
 
static void taitoz_postload(running_machine &machine)
2962
 
{
2963
 
        parse_control(machine);
2964
 
        reset_sound_region(machine);
2965
 
}
2966
 
 
2967
 
static MACHINE_START( bshark )
2968
 
{
2969
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
2970
 
 
2971
 
        state->m_maincpu = machine.device("maincpu");
2972
 
        state->m_subcpu = machine.device("sub");
2973
 
        state->m_audiocpu = machine.device("audiocpu");
2974
 
        state->m_eeprom = machine.device<eeprom_device>("eeprom");
2975
 
        state->m_tc0100scn = machine.device("tc0100scn");
2976
 
        state->m_tc0150rod = machine.device("tc0150rod");
2977
 
        state->m_tc0480scp = machine.device("tc0480scp");
2978
 
        state->m_tc0220ioc = machine.device("tc0220ioc");
2979
 
        state->m_tc0140syt = machine.device("tc0140syt");
2980
 
 
2981
 
        state->save_item(NAME(state->m_cpua_ctrl));
2982
 
 
2983
 
        /* these are specific to various games: we ought to split the inits */
2984
 
        state->save_item(NAME(state->m_sci_int6));
2985
 
        state->save_item(NAME(state->m_dblaxle_int6));
2986
 
        state->save_item(NAME(state->m_ioc220_port));
2987
 
 
2988
 
        state->save_item(NAME(state->m_banknum));
2989
 
}
2990
 
 
2991
 
static MACHINE_START( taitoz )
2992
 
{
2993
 
        int banks = (machine.region("audiocpu")->bytes() - 0xc000) / 0x4000;
2994
 
 
2995
 
        memory_configure_bank(machine, "bank10", 0, banks, machine.region("audiocpu")->base() + 0xc000, 0x4000);
2996
 
 
2997
 
        machine.save().register_postload(save_prepost_delegate(FUNC(taitoz_postload), &machine));
2998
 
 
2999
 
        MACHINE_START_CALL(bshark);
3000
 
}
3001
 
 
3002
 
static MACHINE_RESET( taitoz )
3003
 
{
3004
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
3005
 
 
3006
 
        state->m_banknum = -1;
3007
 
        state->m_cpua_ctrl = 0xff;
3008
 
        state->m_sci_int6 = 0;
3009
 
        state->m_dblaxle_int6 = 0;
3010
 
        state->m_ioc220_port = 0;
3011
 
}
3012
 
 
3013
 
/* Contcirc vis area seems narrower than the other games... */
3014
 
 
3015
 
static MACHINE_CONFIG_START( contcirc, taitoz_state )
3016
 
 
3017
 
        /* basic machine hardware */
3018
 
        MCFG_CPU_ADD("maincpu", M68000, 12000000)       /* 12 MHz ??? */
3019
 
        MCFG_CPU_PROGRAM_MAP(contcirc_map)
3020
 
        MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3021
 
 
3022
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3023
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3024
 
 
3025
 
        MCFG_CPU_ADD("sub", M68000, 12000000)   /* 12 MHz ??? */
3026
 
        MCFG_CPU_PROGRAM_MAP(contcirc_cpub_map)
3027
 
        MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3028
 
 
3029
 
        MCFG_MACHINE_START(taitoz)
3030
 
        MCFG_MACHINE_RESET(taitoz)
3031
 
 
3032
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3033
 
 
3034
 
        /* video hardware */
3035
 
        MCFG_SCREEN_ADD("screen", RASTER)
3036
 
        MCFG_SCREEN_REFRESH_RATE(60)
3037
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3038
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3039
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3040
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 31*8-1)
3041
 
        MCFG_SCREEN_UPDATE(contcirc)
3042
 
 
3043
 
        MCFG_GFXDECODE(taitoz)
3044
 
        MCFG_PALETTE_LENGTH(4096)
3045
 
 
3046
 
        MCFG_VIDEO_START(taitoz)
3047
 
 
3048
 
        MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3049
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3050
 
        MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3051
 
 
3052
 
        /* sound hardware */
3053
 
        MCFG_SPEAKER_ADD("front", 0.0, 0.0,  0.7)
3054
 
        MCFG_SPEAKER_ADD("rear",  0.0, 0.0,  1.3)
3055
 
        MCFG_SPEAKER_ADD("subwoofer", 0.0, 0.0, 1.0)
3056
 
 
3057
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3058
 
        MCFG_SOUND_CONFIG(ym2610_config)
3059
 
        MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
3060
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3061
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3062
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3063
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3064
 
 
3065
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3066
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3067
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3068
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3069
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3070
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3071
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3072
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3073
 
 
3074
 
//  MCFG_SOUND_ADD("subwoofer", SUBWOOFER, 0)
3075
 
 
3076
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3077
 
MACHINE_CONFIG_END
3078
 
 
3079
 
 
3080
 
static MACHINE_CONFIG_START( chasehq, taitoz_state )
3081
 
 
3082
 
        /* basic machine hardware */
3083
 
        MCFG_CPU_ADD("maincpu", M68000, 12000000)       /* 12 MHz ??? */
3084
 
        MCFG_CPU_PROGRAM_MAP(chasehq_map)
3085
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3086
 
 
3087
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3088
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3089
 
 
3090
 
        MCFG_CPU_ADD("sub", M68000, 12000000)   /* 12 MHz ??? */
3091
 
        MCFG_CPU_PROGRAM_MAP(chq_cpub_map)
3092
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3093
 
 
3094
 
        MCFG_MACHINE_START(taitoz)
3095
 
        MCFG_MACHINE_RESET(taitoz)
3096
 
 
3097
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3098
 
 
3099
 
        /* video hardware */
3100
 
        MCFG_SCREEN_ADD("screen", RASTER)
3101
 
        MCFG_SCREEN_REFRESH_RATE(60)
3102
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3103
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3104
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3105
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3106
 
        MCFG_SCREEN_UPDATE(chasehq)
3107
 
 
3108
 
        MCFG_GFXDECODE(chasehq)
3109
 
        MCFG_PALETTE_LENGTH(4096)
3110
 
 
3111
 
        MCFG_VIDEO_START(taitoz)
3112
 
 
3113
 
        MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
3114
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3115
 
        MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3116
 
 
3117
 
        /* sound hardware */
3118
 
        MCFG_SPEAKER_ADD("front",  0.0, 0.0, 0.7)
3119
 
        MCFG_SPEAKER_ADD("rear",   0.0, 0.0, 1.3)
3120
 
        MCFG_SPEAKER_ADD("subwoofer", 0.0, 0.0, 1.0)
3121
 
 
3122
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3123
 
        MCFG_SOUND_CONFIG(ym2610_config)
3124
 
        MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
3125
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 1.0)
3126
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 1.0)
3127
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 1.0)
3128
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 1.0)
3129
 
 
3130
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3131
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3132
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3133
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3134
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3135
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3136
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3137
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3138
 
 
3139
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3140
 
MACHINE_CONFIG_END
3141
 
 
3142
 
 
3143
 
static MACHINE_CONFIG_START( enforce, taitoz_state )
3144
 
 
3145
 
        /* basic machine hardware */
3146
 
        MCFG_CPU_ADD("maincpu", M68000, 12000000)       /* 12 MHz ??? */
3147
 
        MCFG_CPU_PROGRAM_MAP(enforce_map)
3148
 
        MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3149
 
 
3150
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3151
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3152
 
 
3153
 
        MCFG_CPU_ADD("sub", M68000, 12000000)   /* 12 MHz ??? */
3154
 
        MCFG_CPU_PROGRAM_MAP(enforce_cpub_map)
3155
 
        MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3156
 
 
3157
 
        MCFG_MACHINE_START(taitoz)
3158
 
        MCFG_MACHINE_RESET(taitoz)
3159
 
 
3160
 
        MCFG_QUANTUM_TIME(attotime::from_hz(600))
3161
 
 
3162
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3163
 
 
3164
 
        /* video hardware */
3165
 
        MCFG_SCREEN_ADD("screen", RASTER)
3166
 
        MCFG_SCREEN_REFRESH_RATE(60)
3167
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3168
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3169
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3170
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 31*8-1)
3171
 
        MCFG_SCREEN_UPDATE(contcirc)
3172
 
 
3173
 
        MCFG_GFXDECODE(taitoz)
3174
 
        MCFG_PALETTE_LENGTH(4096)
3175
 
 
3176
 
        MCFG_VIDEO_START(taitoz)
3177
 
 
3178
 
        MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3179
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3180
 
        MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3181
 
 
3182
 
        /* sound hardware */
3183
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3184
 
 
3185
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3186
 
        MCFG_SOUND_CONFIG(ym2610_config)
3187
 
        MCFG_SOUND_ROUTE(0, "lspeaker",  0.25)
3188
 
        MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3189
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 20.0)
3190
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 20.0)
3191
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 20.0)
3192
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 20.0)
3193
 
 
3194
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3195
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3196
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3197
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3198
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3199
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3200
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3201
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3202
 
 
3203
 
//  MCFG_SOUND_ADD("subwoofer", SUBWOOFER, 0)
3204
 
 
3205
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3206
 
MACHINE_CONFIG_END
3207
 
 
3208
 
 
3209
 
static MACHINE_CONFIG_START( bshark, taitoz_state )
3210
 
 
3211
 
        /* basic machine hardware */
3212
 
        MCFG_CPU_ADD("maincpu", M68000, 12000000)       /* 12 MHz ??? */
3213
 
        MCFG_CPU_PROGRAM_MAP(bshark_map)
3214
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3215
 
 
3216
 
        MCFG_CPU_ADD("sub", M68000, 12000000)   /* 12 MHz ??? */
3217
 
        MCFG_CPU_PROGRAM_MAP(bshark_cpub_map)
3218
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3219
 
 
3220
 
        MCFG_MACHINE_START(bshark)
3221
 
        MCFG_MACHINE_RESET(taitoz)
3222
 
 
3223
 
        MCFG_QUANTUM_TIME(attotime::from_hz(6000))
3224
 
 
3225
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3226
 
 
3227
 
        /* video hardware */
3228
 
        MCFG_SCREEN_ADD("screen", RASTER)
3229
 
        MCFG_SCREEN_REFRESH_RATE(60)
3230
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3231
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3232
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3233
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3234
 
        MCFG_SCREEN_UPDATE(bshark)
3235
 
 
3236
 
        MCFG_GFXDECODE(taitoz)
3237
 
        MCFG_PALETTE_LENGTH(4096)
3238
 
 
3239
 
        MCFG_VIDEO_START(taitoz)
3240
 
 
3241
 
        MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3242
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3243
 
 
3244
 
        /* sound hardware */
3245
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3246
 
 
3247
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3248
 
        MCFG_SOUND_CONFIG(ym2610_interfaceb)
3249
 
        MCFG_SOUND_ROUTE(0, "lspeaker",  0.25)
3250
 
        MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3251
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 28.0)
3252
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 28.0)
3253
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 28.0)
3254
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 28.0)
3255
 
 
3256
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3257
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3258
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3259
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3260
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3261
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3262
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3263
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3264
 
 
3265
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3266
 
MACHINE_CONFIG_END
3267
 
 
3268
 
 
3269
 
static MACHINE_CONFIG_START( sci, taitoz_state )
3270
 
 
3271
 
        /* basic machine hardware */
3272
 
        MCFG_CPU_ADD("maincpu", M68000, 12000000)       /* 12 MHz ??? */
3273
 
        MCFG_CPU_PROGRAM_MAP(sci_map)
3274
 
        MCFG_CPU_VBLANK_INT("screen", sci_interrupt)
3275
 
 
3276
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3277
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3278
 
 
3279
 
        MCFG_CPU_ADD("sub", M68000, 12000000)   /* 12 MHz ??? */
3280
 
        MCFG_CPU_PROGRAM_MAP(sci_cpub_map)
3281
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3282
 
 
3283
 
        MCFG_MACHINE_START(taitoz)
3284
 
        MCFG_MACHINE_RESET(taitoz)
3285
 
 
3286
 
        MCFG_QUANTUM_TIME(attotime::from_hz(3000))
3287
 
 
3288
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3289
 
 
3290
 
        /* video hardware */
3291
 
        MCFG_SCREEN_ADD("screen", RASTER)
3292
 
        MCFG_SCREEN_REFRESH_RATE(60)
3293
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3294
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3295
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3296
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3297
 
        MCFG_SCREEN_UPDATE(sci)
3298
 
 
3299
 
        MCFG_GFXDECODE(taitoz)
3300
 
        MCFG_PALETTE_LENGTH(4096)
3301
 
 
3302
 
        MCFG_VIDEO_START(taitoz)
3303
 
 
3304
 
        MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3305
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3306
 
 
3307
 
        /* sound hardware */
3308
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3309
 
 
3310
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3311
 
        MCFG_SOUND_CONFIG(ym2610_config)
3312
 
        MCFG_SOUND_ROUTE(0, "lspeaker",  0.25)
3313
 
        MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3314
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3315
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3316
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3317
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3318
 
 
3319
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3320
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3321
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3322
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3323
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3324
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3325
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3326
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3327
 
 
3328
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3329
 
MACHINE_CONFIG_END
3330
 
 
3331
 
 
3332
 
static MACHINE_CONFIG_START( nightstr, taitoz_state )
3333
 
 
3334
 
        /* basic machine hardware */
3335
 
        MCFG_CPU_ADD("maincpu", M68000, 12000000)       /* 12 MHz ??? */
3336
 
        MCFG_CPU_PROGRAM_MAP(nightstr_map)
3337
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3338
 
 
3339
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3340
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3341
 
 
3342
 
        MCFG_CPU_ADD("sub", M68000, 12000000)   /* 12 MHz ??? */
3343
 
        MCFG_CPU_PROGRAM_MAP(nightstr_cpub_map)
3344
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3345
 
 
3346
 
        MCFG_MACHINE_START(taitoz)
3347
 
        MCFG_MACHINE_RESET(taitoz)
3348
 
 
3349
 
        MCFG_QUANTUM_TIME(attotime::from_hz(6000))
3350
 
 
3351
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3352
 
 
3353
 
        /* video hardware */
3354
 
        MCFG_SCREEN_ADD("screen", RASTER)
3355
 
        MCFG_SCREEN_REFRESH_RATE(60)
3356
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3357
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3358
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3359
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3360
 
        MCFG_SCREEN_UPDATE(chasehq)
3361
 
 
3362
 
        MCFG_GFXDECODE(chasehq)
3363
 
        MCFG_PALETTE_LENGTH(4096)
3364
 
 
3365
 
        MCFG_VIDEO_START(taitoz)
3366
 
 
3367
 
        MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
3368
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3369
 
        MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3370
 
 
3371
 
        /* sound hardware */
3372
 
        MCFG_SPEAKER_ADD("front",  0.0, 0.0, 0.7)
3373
 
        MCFG_SPEAKER_ADD("rear",   0.0, 0.0, 1.3)
3374
 
        MCFG_SPEAKER_ADD("subwoofer", 0.0, 0.0, 1.0)
3375
 
 
3376
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3377
 
        MCFG_SOUND_CONFIG(ym2610_config)
3378
 
        MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
3379
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3380
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3381
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3382
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3383
 
 
3384
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3385
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3386
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3387
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3388
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3389
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3390
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3391
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3392
 
 
3393
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3394
 
MACHINE_CONFIG_END
3395
 
 
3396
 
 
3397
 
static MACHINE_CONFIG_START( aquajack, taitoz_state )
3398
 
 
3399
 
        /* basic machine hardware */
3400
 
        MCFG_CPU_ADD("maincpu", M68000, 12000000)       /* 12 MHz ??? */
3401
 
        MCFG_CPU_PROGRAM_MAP(aquajack_map)
3402
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3403
 
 
3404
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3405
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3406
 
 
3407
 
        MCFG_CPU_ADD("sub", M68000, 12000000)   /* 12 MHz ??? */
3408
 
        MCFG_CPU_PROGRAM_MAP(aquajack_cpub_map)
3409
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3410
 
 
3411
 
        MCFG_MACHINE_START(taitoz)
3412
 
        MCFG_MACHINE_RESET(taitoz)
3413
 
 
3414
 
        MCFG_QUANTUM_TIME(attotime::from_hz(30000))
3415
 
 
3416
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3417
 
 
3418
 
        /* video hardware */
3419
 
        MCFG_SCREEN_ADD("screen", RASTER)
3420
 
        MCFG_SCREEN_REFRESH_RATE(60)
3421
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3422
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3423
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3424
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3425
 
        MCFG_SCREEN_UPDATE(aquajack)
3426
 
 
3427
 
        MCFG_GFXDECODE(taitoz)
3428
 
        MCFG_PALETTE_LENGTH(4096)
3429
 
 
3430
 
        MCFG_VIDEO_START(taitoz)
3431
 
 
3432
 
        MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3433
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3434
 
        MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3435
 
 
3436
 
        /* sound hardware */
3437
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3438
 
 
3439
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3440
 
        MCFG_SOUND_CONFIG(ym2610_config)
3441
 
        MCFG_SOUND_ROUTE(0, "lspeaker",  0.25)
3442
 
        MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3443
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3444
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3445
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3446
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3447
 
 
3448
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3449
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3450
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3451
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3452
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3453
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3454
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3455
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3456
 
 
3457
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3458
 
MACHINE_CONFIG_END
3459
 
 
3460
 
 
3461
 
static MACHINE_CONFIG_START( spacegun, taitoz_state )
3462
 
 
3463
 
        /* basic machine hardware */
3464
 
        MCFG_CPU_ADD("maincpu", M68000, 16000000)       /* 16 MHz ??? */
3465
 
        MCFG_CPU_PROGRAM_MAP(spacegun_map)
3466
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3467
 
 
3468
 
        MCFG_CPU_ADD("sub", M68000, 16000000)   /* 16 MHz ??? */
3469
 
        MCFG_CPU_PROGRAM_MAP(spacegun_cpub_map)
3470
 
        MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3471
 
 
3472
 
        MCFG_MACHINE_START(bshark)
3473
 
        MCFG_MACHINE_RESET(taitoz)
3474
 
 
3475
 
        MCFG_EEPROM_ADD("eeprom", spacegun_eeprom_intf)
3476
 
        MCFG_EEPROM_DATA(spacegun_default_eeprom, 128)
3477
 
 
3478
 
        MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3479
 
 
3480
 
        /* video hardware */
3481
 
        MCFG_SCREEN_ADD("screen", RASTER)
3482
 
        MCFG_SCREEN_REFRESH_RATE(60)
3483
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3484
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3485
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3486
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3487
 
        MCFG_SCREEN_UPDATE(spacegun)
3488
 
 
3489
 
        MCFG_GFXDECODE(taitoz)
3490
 
        MCFG_PALETTE_LENGTH(4096)
3491
 
 
3492
 
 
3493
 
        MCFG_TC0100SCN_ADD("tc0100scn", spacegun_tc0100scn_intf)
3494
 
        MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3495
 
 
3496
 
        /* sound hardware */
3497
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3498
 
 
3499
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3500
 
        MCFG_SOUND_CONFIG(ym2610_interfaceb)
3501
 
        MCFG_SOUND_ROUTE(0, "lspeaker",  0.25)
3502
 
        MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3503
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
3504
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
3505
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
3506
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
3507
 
 
3508
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3509
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3510
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3511
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3512
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3513
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3514
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3515
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3516
 
 
3517
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3518
 
MACHINE_CONFIG_END
3519
 
 
3520
 
 
3521
 
static MACHINE_CONFIG_START( dblaxle, taitoz_state )
3522
 
 
3523
 
        /* basic machine hardware */
3524
 
        MCFG_CPU_ADD("maincpu", M68000, 16000000)       /* 16 MHz ??? */
3525
 
        MCFG_CPU_PROGRAM_MAP(dblaxle_map)
3526
 
        MCFG_CPU_VBLANK_INT("screen", dblaxle_interrupt)
3527
 
 
3528
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3529
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3530
 
 
3531
 
        MCFG_CPU_ADD("sub", M68000, 16000000)   /* 16 MHz ??? */
3532
 
        MCFG_CPU_PROGRAM_MAP(dblaxle_cpub_map)
3533
 
        MCFG_CPU_VBLANK_INT("screen", dblaxle_cpub_interrupt)
3534
 
 
3535
 
        MCFG_MACHINE_START(taitoz)
3536
 
        MCFG_MACHINE_RESET(taitoz)
3537
 
 
3538
 
        MCFG_QUANTUM_TIME(attotime::from_hz(600))
3539
 
 
3540
 
        MCFG_TC0510NIO_ADD("tc0510nio", taitoz_io510_intf)
3541
 
 
3542
 
        /* video hardware */
3543
 
        MCFG_SCREEN_ADD("screen", RASTER)
3544
 
        MCFG_SCREEN_REFRESH_RATE(60)
3545
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3546
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3547
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3548
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3549
 
        MCFG_SCREEN_UPDATE(dblaxle)
3550
 
 
3551
 
        MCFG_GFXDECODE(dblaxle)
3552
 
        MCFG_PALETTE_LENGTH(4096)
3553
 
 
3554
 
        MCFG_VIDEO_START(taitoz)
3555
 
 
3556
 
        MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
3557
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3558
 
 
3559
 
        /* sound hardware */
3560
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3561
 
 
3562
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3563
 
        MCFG_SOUND_CONFIG(ym2610_config)
3564
 
        MCFG_SOUND_ROUTE(0, "lspeaker",  0.25)
3565
 
        MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3566
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
3567
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
3568
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
3569
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
3570
 
 
3571
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3572
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3573
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3574
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3575
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3576
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3577
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3578
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3579
 
 
3580
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3581
 
MACHINE_CONFIG_END
3582
 
 
3583
 
 
3584
 
static MACHINE_CONFIG_START( racingb, taitoz_state )
3585
 
 
3586
 
        /* basic machine hardware */
3587
 
        MCFG_CPU_ADD("maincpu", M68000, 16000000)       /* 16 MHz ??? */
3588
 
        MCFG_CPU_PROGRAM_MAP(racingb_map)
3589
 
        MCFG_CPU_VBLANK_INT("screen", dblaxle_interrupt)
3590
 
 
3591
 
        MCFG_CPU_ADD("audiocpu", Z80,16000000/4)        /* 4 MHz ??? */
3592
 
        MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3593
 
 
3594
 
        MCFG_CPU_ADD("sub", M68000, 16000000)   /* 16 MHz ??? */
3595
 
        MCFG_CPU_PROGRAM_MAP(racingb_cpub_map)
3596
 
        MCFG_CPU_VBLANK_INT("screen", dblaxle_cpub_interrupt)
3597
 
 
3598
 
        MCFG_MACHINE_START(taitoz)
3599
 
        MCFG_MACHINE_RESET(taitoz)
3600
 
 
3601
 
        MCFG_QUANTUM_TIME(attotime::from_hz(6000))
3602
 
 
3603
 
        MCFG_TC0510NIO_ADD("tc0510nio", taitoz_io510_intf)
3604
 
 
3605
 
        /* video hardware */
3606
 
        MCFG_SCREEN_ADD("screen", RASTER)
3607
 
        MCFG_SCREEN_REFRESH_RATE(60)
3608
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3609
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3610
 
        MCFG_SCREEN_SIZE(40*8, 32*8)
3611
 
        MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3612
 
        MCFG_SCREEN_UPDATE(dblaxle)
3613
 
 
3614
 
        MCFG_GFXDECODE(dblaxle)
3615
 
        MCFG_PALETTE_LENGTH(4096)
3616
 
 
3617
 
        MCFG_VIDEO_START(taitoz)
3618
 
 
3619
 
        MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
3620
 
        MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3621
 
 
3622
 
        /* sound hardware */
3623
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3624
 
 
3625
 
        MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3626
 
        MCFG_SOUND_CONFIG(ym2610_config)
3627
 
        MCFG_SOUND_ROUTE(0, "lspeaker",  0.25)
3628
 
        MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3629
 
        MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
3630
 
        MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
3631
 
        MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
3632
 
        MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
3633
 
 
3634
 
        MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3635
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3636
 
        MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3637
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3638
 
        MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3639
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3640
 
        MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3641
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3642
 
 
3643
 
        MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3644
 
MACHINE_CONFIG_END
3645
 
 
3646
 
 
3647
 
/***************************************************************************
3648
 
                                 DRIVERS
3649
 
 
3650
 
Contcirc, Dblaxle sound sample rom order is uncertain as sound imperfect
3651
 
***************************************************************************/
3652
 
 
3653
 
ROM_START( contcirc )
3654
 
        ROM_REGION( 0x40000, "maincpu", 0 )     /* 256K for 68000 code (CPU A) */
3655
 
        ROM_LOAD16_BYTE( "ic25", 0x00000, 0x20000, CRC(f5c92e42) SHA1(42dfa1895e601df76d7022b83f05c4e5c843fd12) )
3656
 
        ROM_LOAD16_BYTE( "ic26", 0x00001, 0x20000, CRC(e7c1d1fa) SHA1(75e851629a54facb8804ee8a953ab3265633bbf4) )
3657
 
// this was bogus and has been removed.
3658
 
// someone hacked the copyright year from 1987 to 1989, and changed an unused byte from FF to F3 to keep
3659
 
// the checksum the same. There are no other differences.
3660
 
//  ROM_LOAD16_BYTE( "cc_26.bin", 0x00001, 0x20000, CRC(1345ebe6) SHA1(88b9cc8ba2f7061beb8f6b763583cd45b03bcea1) )
3661
 
 
3662
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
3663
 
        ROM_LOAD16_BYTE( "ic35",      0x00000, 0x20000, CRC(16522f2d) SHA1(1d2823d61518936d342df3ed712da5bdfdf6e55a) )
3664
 
        ROM_LOAD16_BYTE( "cc_36.bin", 0x00001, 0x20000, CRC(a1732ea5) SHA1(b773add433c20633e7acbc99d5cfeb7ccde83371) )
3665
 
 
3666
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* Z80 sound cpu */
3667
 
        ROM_LOAD( "b33-30.11", 0x00000, 0x04000, CRC(d8746234) SHA1(39132eedfe2ff4e3133f8020304da0d04dd757db) )
3668
 
        ROM_CONTINUE(          0x10000, 0x0c000 )       /* banked stuff */
3669
 
 
3670
 
        ROM_REGION( 0x80000, "gfx1", 0 )
3671
 
        ROM_LOAD( "b33-02.57", 0x00000, 0x80000, CRC(f6fb3ba2) SHA1(19b7c4cf33c4737405ebe53e7342578454e6ef95) ) /* SCR 8x8 */
3672
 
 
3673
 
        ROM_REGION( 0x200000, "gfx2", 0 )
3674
 
        ROM_LOAD32_BYTE( "b33-06", 0x000000, 0x080000, CRC(2cb40599) SHA1(48b269610f80a42608f563742e5266dcf11638d1) )   /* OBJ 16x8 */
3675
 
        ROM_LOAD32_BYTE( "b33-05", 0x000001, 0x080000, CRC(bddf9eea) SHA1(284f4ba3dc107b4e26424963d8206c5ec4882983) )
3676
 
        ROM_LOAD32_BYTE( "b33-04", 0x000002, 0x080000, CRC(8df866a2) SHA1(6b87d8e683fe7d31070b16620ebfee4edf7711b8) )
3677
 
        ROM_LOAD32_BYTE( "b33-03", 0x000003, 0x080000, CRC(4f6c36d9) SHA1(18b15a991c3daf22b7f3f144edf3bd2abb3917eb) )
3678
 
 
3679
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
3680
 
        ROM_LOAD( "b33-01.3", 0x00000, 0x80000, CRC(f11f2be8) SHA1(72ae08dc5bf5f6901fbb52d3b1dabcba90929b38) )  /* ROD, road lines */
3681
 
 
3682
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
3683
 
        ROM_LOAD16_WORD( "b33-07.64", 0x00000, 0x80000, CRC(151e1f52) SHA1(118c673d74f27c4e76b321cc0e84f166d9f0d412) )  /* STY spritemap */
3684
 
 
3685
 
        ROM_REGION( 0x100000, "ymsnd", 0 )      /* ADPCM samples */
3686
 
        ROM_LOAD( "b33-09.18", 0x00000, 0x80000, CRC(1e6724b5) SHA1(48bb96b648605a9ceb88ff3b175a87226583c3d6) )
3687
 
        ROM_LOAD( "b33-10.17", 0x80000, 0x80000, CRC(e9ce03ab) SHA1(17324e8f0422118bc0912eba5750d80469f40b78) )
3688
 
 
3689
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
3690
 
        ROM_LOAD( "b33-08.19", 0x00000, 0x80000, CRC(caa1c4c8) SHA1(15ef4f36e56fab793d2249252c456677ca6a85c9) )
3691
 
 
3692
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
3693
 
        ROM_LOAD( "b14-30.97",   0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) )       // sprite vertical zoom
3694
 
        ROM_LOAD( "b14-31.50",   0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) )       // sprite horizontal zoom
3695
 
        ROM_LOAD( "b33-17.16",   0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) )       // road/sprite priority and palette select
3696
 
        ROM_LOAD( "b33-18.17",   0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )       // road A/B internal priority
3697
 
ROM_END
3698
 
 
3699
 
ROM_START( contcircu )
3700
 
        ROM_REGION( 0x40000, "maincpu", 0 )     /* 256K for 68000 code (CPU A) */
3701
 
        ROM_LOAD16_BYTE( "ic25", 0x00000, 0x20000, CRC(f5c92e42) SHA1(42dfa1895e601df76d7022b83f05c4e5c843fd12) )
3702
 
        ROM_LOAD16_BYTE( "ic26", 0x00001, 0x20000, CRC(e7c1d1fa) SHA1(75e851629a54facb8804ee8a953ab3265633bbf4) )
3703
 
 
3704
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
3705
 
        ROM_LOAD16_BYTE( "ic35", 0x00000, 0x20000, CRC(16522f2d) SHA1(1d2823d61518936d342df3ed712da5bdfdf6e55a) )
3706
 
        ROM_LOAD16_BYTE( "ic36", 0x00001, 0x20000, CRC(d6741e33) SHA1(8e86789e1664a34ceed85434fd3186f2571f0c4a) )
3707
 
 
3708
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* Z80 sound cpu */
3709
 
        ROM_LOAD( "b33-30.11", 0x00000, 0x04000, CRC(d8746234) SHA1(39132eedfe2ff4e3133f8020304da0d04dd757db) )
3710
 
        ROM_CONTINUE(          0x10000, 0x0c000 )       /* banked stuff */
3711
 
 
3712
 
        ROM_REGION( 0x80000, "gfx1", 0 )
3713
 
        ROM_LOAD( "b33-02.57", 0x00000, 0x80000, CRC(f6fb3ba2) SHA1(19b7c4cf33c4737405ebe53e7342578454e6ef95) ) /* SCR 8x8 */
3714
 
 
3715
 
        ROM_REGION( 0x200000, "gfx2", 0 )
3716
 
        ROM_LOAD32_BYTE( "b33-06", 0x000000, 0x080000, CRC(2cb40599) SHA1(48b269610f80a42608f563742e5266dcf11638d1) )   /* OBJ 16x8 */
3717
 
        ROM_LOAD32_BYTE( "b33-05", 0x000001, 0x080000, CRC(bddf9eea) SHA1(284f4ba3dc107b4e26424963d8206c5ec4882983) )
3718
 
        ROM_LOAD32_BYTE( "b33-04", 0x000002, 0x080000, CRC(8df866a2) SHA1(6b87d8e683fe7d31070b16620ebfee4edf7711b8) )
3719
 
        ROM_LOAD32_BYTE( "b33-03", 0x000003, 0x080000, CRC(4f6c36d9) SHA1(18b15a991c3daf22b7f3f144edf3bd2abb3917eb) )
3720
 
 
3721
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
3722
 
        ROM_LOAD( "b33-01.3", 0x00000, 0x80000, CRC(f11f2be8) SHA1(72ae08dc5bf5f6901fbb52d3b1dabcba90929b38) )  /* ROD, road lines */
3723
 
 
3724
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
3725
 
        ROM_LOAD16_WORD( "b33-07.64", 0x00000, 0x80000, CRC(151e1f52) SHA1(118c673d74f27c4e76b321cc0e84f166d9f0d412) )  /* STY spritemap */
3726
 
 
3727
 
        ROM_REGION( 0x100000, "ymsnd", 0 )      /* ADPCM samples */
3728
 
        ROM_LOAD( "b33-09.18", 0x00000, 0x80000, CRC(1e6724b5) SHA1(48bb96b648605a9ceb88ff3b175a87226583c3d6) )
3729
 
        ROM_LOAD( "b33-10.17", 0x80000, 0x80000, CRC(e9ce03ab) SHA1(17324e8f0422118bc0912eba5750d80469f40b78) )
3730
 
 
3731
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
3732
 
        ROM_LOAD( "b33-08.19", 0x00000, 0x80000, CRC(caa1c4c8) SHA1(15ef4f36e56fab793d2249252c456677ca6a85c9) )
3733
 
 
3734
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
3735
 
        ROM_LOAD( "b14-30.97",   0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) )       // sprite vertical zoom
3736
 
        ROM_LOAD( "b14-31.50",   0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) )       // sprite horizontal zoom
3737
 
        ROM_LOAD( "b33-17.16",   0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) )       // road/sprite priority and palette select
3738
 
        ROM_LOAD( "b33-18.17",   0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )       // road A/B internal priority
3739
 
ROM_END
3740
 
 
3741
 
ROM_START( contcircua )
3742
 
        ROM_REGION( 0x40000, "maincpu", 0 )     /* 256K for 68000 code (CPU A) */
3743
 
        ROM_LOAD16_BYTE( "b33-34.ic25", 0x00000, 0x20000, CRC(e1e016c1) SHA1(d6ca3bcf03828dc296eab73185f773860bbaaae6) )
3744
 
        ROM_LOAD16_BYTE( "b33-33.ic26", 0x00001, 0x20000, CRC(f539d44b) SHA1(1b77d97376f9bf3bbd728d459f0a0afbadc6d756) )
3745
 
 
3746
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
3747
 
        ROM_LOAD16_BYTE( "21-2.ic35", 0x00000, 0x20000, CRC(2723f9e3) SHA1(18a86e352bb0aeec6ad6c537294ddd0d33823ea6) )
3748
 
        ROM_LOAD16_BYTE( "31-1.ic36", 0x00001, 0x20000, CRC(438431f7) SHA1(9be4ac6526d5aee01c3691f189583a2cfdad0e45) )
3749
 
 
3750
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* Z80 sound cpu */
3751
 
        ROM_LOAD( "b33-30.11", 0x00000, 0x04000, CRC(d8746234) SHA1(39132eedfe2ff4e3133f8020304da0d04dd757db) )
3752
 
        ROM_CONTINUE(          0x10000, 0x0c000 )       /* banked stuff */
3753
 
 
3754
 
        ROM_REGION( 0x80000, "gfx1", 0 )
3755
 
        ROM_LOAD( "b33-02.57", 0x00000, 0x80000, CRC(f6fb3ba2) SHA1(19b7c4cf33c4737405ebe53e7342578454e6ef95) ) /* SCR 8x8 */
3756
 
 
3757
 
        ROM_REGION( 0x200000, "gfx2", 0 )
3758
 
        ROM_LOAD32_BYTE( "b33-06", 0x000000, 0x080000, CRC(2cb40599) SHA1(48b269610f80a42608f563742e5266dcf11638d1) )   /* OBJ 16x8 */
3759
 
        ROM_LOAD32_BYTE( "b33-05", 0x000001, 0x080000, CRC(bddf9eea) SHA1(284f4ba3dc107b4e26424963d8206c5ec4882983) )
3760
 
        ROM_LOAD32_BYTE( "b33-04", 0x000002, 0x080000, CRC(8df866a2) SHA1(6b87d8e683fe7d31070b16620ebfee4edf7711b8) )
3761
 
        ROM_LOAD32_BYTE( "b33-03", 0x000003, 0x080000, CRC(4f6c36d9) SHA1(18b15a991c3daf22b7f3f144edf3bd2abb3917eb) )
3762
 
 
3763
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
3764
 
        ROM_LOAD( "b33-01.3", 0x00000, 0x80000, CRC(f11f2be8) SHA1(72ae08dc5bf5f6901fbb52d3b1dabcba90929b38) )  /* ROD, road lines */
3765
 
 
3766
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
3767
 
        ROM_LOAD16_WORD( "b33-07.64", 0x00000, 0x80000, CRC(151e1f52) SHA1(118c673d74f27c4e76b321cc0e84f166d9f0d412) )  /* STY spritemap */
3768
 
 
3769
 
        ROM_REGION( 0x100000, "ymsnd", 0 )      /* ADPCM samples */
3770
 
        ROM_LOAD( "b33-09.18", 0x00000, 0x80000, CRC(1e6724b5) SHA1(48bb96b648605a9ceb88ff3b175a87226583c3d6) )
3771
 
        ROM_LOAD( "b33-10.17", 0x80000, 0x80000, CRC(e9ce03ab) SHA1(17324e8f0422118bc0912eba5750d80469f40b78) )
3772
 
 
3773
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
3774
 
        ROM_LOAD( "b33-08.19", 0x00000, 0x80000, CRC(caa1c4c8) SHA1(15ef4f36e56fab793d2249252c456677ca6a85c9) )
3775
 
 
3776
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
3777
 
        ROM_LOAD( "b14-30.97",   0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) )       // sprite vertical zoom
3778
 
        ROM_LOAD( "b14-31.50",   0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) )       // sprite horizontal zoom
3779
 
        ROM_LOAD( "b33-17.16",   0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) )       // road/sprite priority and palette select
3780
 
        ROM_LOAD( "b33-18.17",   0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )       // road A/B internal priority
3781
 
ROM_END
3782
 
 
3783
 
ROM_START( chasehq )
3784
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
3785
 
        ROM_LOAD16_BYTE( "b52-130.36", 0x00000, 0x20000, CRC(4e7beb46) SHA1(b8890c4a2121aa93cfc3a41ddbb3b840d0804cfa) )
3786
 
        ROM_LOAD16_BYTE( "b52-136.29", 0x00001, 0x20000, CRC(2f414df0) SHA1(0daad8b1f7512a5af0722983751841b5b18064ac) )
3787
 
        ROM_LOAD16_BYTE( "b52-131.37", 0x40000, 0x20000, CRC(aa945d83) SHA1(9d8a8186a199cacc0e24cf1ee75d81ab8b056406) )
3788
 
        ROM_LOAD16_BYTE( "b52-129.30", 0x40001, 0x20000, CRC(0eaebc08) SHA1(1dde3304b251ddeb52f1378ef3845269c3667169) )
3789
 
 
3790
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
3791
 
        ROM_LOAD16_BYTE( "b52-132.39", 0x00000, 0x10000, CRC(a2f54789) SHA1(941a6470e3a5ae35d079657260a8d7d6a9fca122) )
3792
 
        ROM_LOAD16_BYTE( "b52-133.55", 0x00001, 0x10000, CRC(12232f95) SHA1(2894b95fc1d0a6e5b323bf3e7f1968f02b30a845) )
3793
 
 
3794
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* Z80 sound cpu */
3795
 
        ROM_LOAD( "b52-137.51",   0x00000, 0x04000, CRC(37abb74a) SHA1(1feb1e49102c13a90e02c150472545cd9f6334da) )
3796
 
        ROM_CONTINUE(             0x10000, 0x0c000 )    /* banked stuff */
3797
 
 
3798
 
        ROM_REGION( 0x80000, "gfx1", 0 )
3799
 
        ROM_LOAD( "b52-29.27", 0x00000, 0x80000, CRC(8366d27c) SHA1(d7c5f588b39742927228ce73e5d69bda1e903df6) ) /* SCR 8x8 */
3800
 
 
3801
 
        ROM_REGION( 0x200000, "gfx2", 0 )
3802
 
        ROM_LOAD32_BYTE( "b52-34.5",  0x000000, 0x080000, CRC(7d8dce36) SHA1(ca082e647d10378144c05a70a8e4fe352d95eeaf) )
3803
 
        ROM_LOAD32_BYTE( "b52-35.7",  0x000001, 0x080000, CRC(78eeec0d) SHA1(2e82186ca17c579816865ef21c52aef9e133fbf5) )        /* OBJ A 16x16 */
3804
 
        ROM_LOAD32_BYTE( "b52-36.9",  0x000002, 0x080000, CRC(61e89e91) SHA1(f655b3caa37a8835c2eb11f4d72e985636ac5379) )
3805
 
        ROM_LOAD32_BYTE( "b52-37.11", 0x000003, 0x080000, CRC(f02e47b9) SHA1(093864bd18bd58dafa57990e999f394ca3124452) )
3806
 
 
3807
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
3808
 
        ROM_LOAD( "b52-28.4", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) )  /* ROD, road lines */
3809
 
 
3810
 
        ROM_REGION( 0x200000, "gfx4", 0 )
3811
 
        ROM_LOAD32_BYTE( "b52-30.4",  0x000000, 0x080000, CRC(1b8cc647) SHA1(8807fe01b6804507564fc179adf995bf86521fda) )
3812
 
        ROM_LOAD32_BYTE( "b52-31.6",  0x000001, 0x080000, CRC(f1998e20) SHA1(b03d4e373e88933391f3533b885817edfca4cfdf) )        /* OBJ B 16x16 */
3813
 
        ROM_LOAD32_BYTE( "b52-32.8",  0x000002, 0x080000, CRC(8620780c) SHA1(2545fd8fb03dcddc3da86d5ea06a6dc915acd1a1) )
3814
 
        ROM_LOAD32_BYTE( "b52-33.10", 0x000003, 0x080000, CRC(e6f4b8c4) SHA1(8d15c75a16953aa56fb3dc6fd3b691e227bef622) )
3815
 
 
3816
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
3817
 
        ROM_LOAD16_WORD( "b52-38.34", 0x00000, 0x80000, CRC(5b5bf7f6) SHA1(71dd5b40b83870d351c9ecaccc4fb98c3a6740ae) )  /* STY spritemap */
3818
 
 
3819
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
3820
 
        ROM_LOAD( "b52-115.71", 0x000000, 0x080000, CRC(4e117e93) SHA1(51d893fa21793335878c76f6d5987d99da60be04) )
3821
 
        ROM_LOAD( "b52-114.72", 0x080000, 0x080000, CRC(3a73d6b1) SHA1(419f02a875b30913331db207e344d0eaa275297e) )
3822
 
        ROM_LOAD( "b52-113.73", 0x100000, 0x080000, CRC(2c6a3a05) SHA1(f2f0dfbbbb6930bf53025064ebae9c07a95c6deb) )
3823
 
 
3824
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
3825
 
        ROM_LOAD( "b52-116.70", 0x00000, 0x80000, CRC(ad46983c) SHA1(6fcad67456fbd8c967cd4786815f70b57a24a969) )
3826
 
 
3827
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
3828
 
        ROM_LOAD( "b52-01.7",    0x00000, 0x00100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) )       // road/sprite priority and palette select
3829
 
        ROM_LOAD( "b52-03.135",  0x00000, 0x00400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
3830
 
        ROM_LOAD( "b52-06.24",   0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )       // road A/B internal priority
3831
 
        ROM_LOAD( "b52-18.93",   0x00000, 0x00100, CRC(60bdaf1a) SHA1(0cb9c6b821de9ccc1f38336608dd7ead46cb8d24) )       // identical to b52-18b
3832
 
        ROM_LOAD( "b52-18a",     0x00000, 0x00100, CRC(6271be0d) SHA1(84282af98fc0de10e88282f7187cd865133ed6ce) )
3833
 
        ROM_LOAD( "b52-49.68",   0x00000, 0x02000, CRC(60dd2ed1) SHA1(8673b6b3355975fb91cd1491e0ac7c0f590e3824) )
3834
 
        ROM_LOAD( "b52-50.66",   0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
3835
 
        ROM_LOAD( "b52-51.65",   0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
3836
 
        ROM_LOAD( "b52-126.136", 0x00000, 0x00400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
3837
 
        ROM_LOAD( "b52-127.156", 0x00000, 0x00400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
3838
 
 
3839
 
        ROM_REGION( 0x02a00, "plds", 0 )
3840
 
        ROM_LOAD( "pal20l8b-b52-17.ic18",   0x0000, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3841
 
        ROM_LOAD( "pal20l8b-b52-17.ic16",   0x0200, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3842
 
        ROM_LOAD( "pal20l8b-b52-17.ic53",   0x0400, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3843
 
        ROM_LOAD( "pal20l8b-b52-17.ic55",   0x0600, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3844
 
        ROM_LOAD( "pal16l8b-b52-19.ic33",   0x0800, 0x0104, CRC(3ba292dc) SHA1(ce904e92e9c0d73802e6f53dc747204c194281c5) )
3845
 
        ROM_LOAD( "pal16l8b-b52-20.ic35",   0x0a00, 0x0104, CRC(bd39ad73) SHA1(03120f3d7d0b9b9105990e226388f9cdd53e5789) )
3846
 
        ROM_LOAD( "pal16l8b-b52-21.ic51",   0x0c00, 0x0104, CRC(2fe76aa4) SHA1(9ea187cff3e0edb58b019400cfc4bf342d4304c3) )
3847
 
        ROM_LOAD( "pal20l8b-b52-25.ic123",  0x0e00, 0x0144, CRC(372b632d) SHA1(84631489c9f56907a97d686c35b15284fab09e8d) )
3848
 
        ROM_LOAD( "pal20l8b-b52-26.ic15",   0x1000, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3849
 
        ROM_LOAD( "pal20l8b-b52-26.ic18",   0x1200, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3850
 
        ROM_LOAD( "pal20l8b-b52-26.ic52",   0x1400, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3851
 
        ROM_LOAD( "pal20l8b-b52-26.ic54",   0x1600, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3852
 
        ROM_LOAD( "pal20l8b-b52-27.ic64",   0x1800, 0x0144, CRC(61c2ab26) SHA1(8540d452a21581739b1ab08708b0c799dd2d2393) )
3853
 
        ROM_LOAD( "pal20l8b-b52-118.ic20",  0x1a00, 0x0144, CRC(9c5fe4af) SHA1(1fbc6461f067eeac9679ca32c126563951a99c09) )
3854
 
        ROM_LOAD( "pal20l8b-b52-119.ic21",  0x1c00, 0x0144, CRC(8b8e2106) SHA1(be59baae5cada9901c2ea8891f99731f010364db) )
3855
 
        ROM_LOAD( "pal16l8b-b52-120.ic56",  0x1e00, 0x0104, CRC(3e7effa0) SHA1(0e8c09613b6a9311261aa8fa8bafab0f27081741) )
3856
 
        ROM_LOAD( "pal20l8b-b52-121.ic57",  0x2000, 0x0144, CRC(7056fd1d) SHA1(fc032f24b95ff7a8bf5a7badddef51c5447c445d) )
3857
 
        ROM_LOAD( "pal16l8b-b52-122.ic124", 0x2200, 0x0104, CRC(04c0fb04) SHA1(53dfeb747e213c67a78c1407e43cdad4cec2cb7e) )
3858
 
        ROM_LOAD( "pal16l8b-b52-123.ic125", 0x2400, 0x0104, CRC(3865d1c8) SHA1(2d77326be4fb047243c3d5c33c442b009bf6fc04) )
3859
 
        ROM_LOAD( "pal16l8b-b52-124.ic180", 0x2600, 0x0104, NO_DUMP )   /* read protected */
3860
 
        ROM_LOAD( "pal16l8b-b52-125.ic112", 0x2800, 0x0104, CRC(7628c557) SHA1(11bf628e091dc02e0c2e17ae726061ac04705a54) )
3861
 
ROM_END
3862
 
 
3863
 
ROM_START( chasehqj )
3864
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
3865
 
        ROM_LOAD16_BYTE( "b52-140.36", 0x00000, 0x20000, CRC(c1298a4b) SHA1(41981b72c9ebbea8f8a4aa32e74b9ed46dd71e32) )
3866
 
        ROM_LOAD16_BYTE( "b52-139.29", 0x00001, 0x20000, CRC(997f732e) SHA1(0f7bd4b3c53e1f14830b3c288f2175e7c125c2cc) )
3867
 
        ROM_LOAD16_BYTE( "b52-131.37", 0x40000, 0x20000, CRC(aa945d83) SHA1(9d8a8186a199cacc0e24cf1ee75d81ab8b056406) )
3868
 
        ROM_LOAD16_BYTE( "b52-129.30", 0x40001, 0x20000, CRC(0eaebc08) SHA1(1dde3304b251ddeb52f1378ef3845269c3667169) )
3869
 
 
3870
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
3871
 
        ROM_LOAD16_BYTE( "b52-132.39", 0x00000, 0x10000, CRC(a2f54789) SHA1(941a6470e3a5ae35d079657260a8d7d6a9fca122) )
3872
 
        ROM_LOAD16_BYTE( "b52-133.55", 0x00001, 0x10000, CRC(12232f95) SHA1(2894b95fc1d0a6e5b323bf3e7f1968f02b30a845) )
3873
 
 
3874
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* Z80 sound cpu */
3875
 
        ROM_LOAD( "b52-134.51",    0x00000, 0x04000, CRC(91faac7f) SHA1(05f00e0909444566877d0ef678bae49f107e1628) )
3876
 
        ROM_CONTINUE(           0x10000, 0x0c000 )      /* banked stuff */
3877
 
 
3878
 
        ROM_REGION( 0x80000, "gfx1", 0 )
3879
 
        ROM_LOAD( "b52-29.27", 0x00000, 0x80000, CRC(8366d27c) SHA1(d7c5f588b39742927228ce73e5d69bda1e903df6) ) /* SCR 8x8*/
3880
 
 
3881
 
        ROM_REGION( 0x200000, "gfx2", 0 )
3882
 
        ROM_LOAD32_BYTE( "b52-34.5",  0x000000, 0x080000, CRC(7d8dce36) SHA1(ca082e647d10378144c05a70a8e4fe352d95eeaf) )
3883
 
        ROM_LOAD32_BYTE( "b52-35.7",  0x000001, 0x080000, CRC(78eeec0d) SHA1(2e82186ca17c579816865ef21c52aef9e133fbf5) )        /* OBJ A 16x16 */
3884
 
        ROM_LOAD32_BYTE( "b52-36.9",  0x000002, 0x080000, CRC(61e89e91) SHA1(f655b3caa37a8835c2eb11f4d72e985636ac5379) )
3885
 
        ROM_LOAD32_BYTE( "b52-37.11", 0x000003, 0x080000, CRC(f02e47b9) SHA1(093864bd18bd58dafa57990e999f394ca3124452) )
3886
 
 
3887
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
3888
 
        ROM_LOAD( "b52-28.4", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) )  /* ROD, road lines */
3889
 
 
3890
 
        ROM_REGION( 0x200000, "gfx4", 0 )
3891
 
        ROM_LOAD32_BYTE( "b52-30.4",  0x000000, 0x080000, CRC(1b8cc647) SHA1(8807fe01b6804507564fc179adf995bf86521fda) )
3892
 
        ROM_LOAD32_BYTE( "b52-31.6",  0x000001, 0x080000, CRC(f1998e20) SHA1(b03d4e373e88933391f3533b885817edfca4cfdf) )        /* OBJ B 16x16 */
3893
 
        ROM_LOAD32_BYTE( "b52-32.8",  0x000002, 0x080000, CRC(8620780c) SHA1(2545fd8fb03dcddc3da86d5ea06a6dc915acd1a1) )
3894
 
        ROM_LOAD32_BYTE( "b52-33.10", 0x000003, 0x080000, CRC(e6f4b8c4) SHA1(8d15c75a16953aa56fb3dc6fd3b691e227bef622) )
3895
 
 
3896
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
3897
 
        ROM_LOAD16_WORD( "b52-38.34", 0x00000, 0x80000, CRC(5b5bf7f6) SHA1(71dd5b40b83870d351c9ecaccc4fb98c3a6740ae) )  /* STY spritemap */
3898
 
 
3899
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
3900
 
        ROM_LOAD( "b52-41.71", 0x000000, 0x80000, CRC(8204880c) SHA1(4dfd6454b4a4c04db3593e98648afbfe8d1f59ed) )
3901
 
        ROM_LOAD( "b52-40.72", 0x080000, 0x80000, CRC(f0551055) SHA1(4498cd058a52d5e87c6d502e844908a5df3abf2a) )
3902
 
        ROM_LOAD( "b52-39.73", 0x100000, 0x80000, CRC(ac9cbbd3) SHA1(792f41fef37ff35067fd0173d944f90279176649) )
3903
 
 
3904
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
3905
 
        ROM_LOAD( "b52-42.70", 0x00000, 0x80000, CRC(6e617df1) SHA1(e3d1678132130c66506f2e1419db2f6b5b062f74) )
3906
 
 
3907
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
3908
 
        ROM_LOAD( "b52-01.7",    0x00000, 0x00100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) )       // road/sprite priority and palette select
3909
 
        ROM_LOAD( "b52-03.135",  0x00000, 0x00400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
3910
 
        ROM_LOAD( "b52-06.24",   0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )       // road A/B internal priority
3911
 
        ROM_LOAD( "b52-18.93",   0x00000, 0x00100, CRC(60bdaf1a) SHA1(0cb9c6b821de9ccc1f38336608dd7ead46cb8d24) )       // identical to b52-18b
3912
 
        ROM_LOAD( "b52-18a",     0x00000, 0x00100, CRC(6271be0d) SHA1(84282af98fc0de10e88282f7187cd865133ed6ce) )
3913
 
        ROM_LOAD( "b52-49.68",   0x00000, 0x02000, CRC(60dd2ed1) SHA1(8673b6b3355975fb91cd1491e0ac7c0f590e3824) )
3914
 
        ROM_LOAD( "b52-50.66",   0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
3915
 
        ROM_LOAD( "b52-51.65",   0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
3916
 
        ROM_LOAD( "b52-126.136", 0x00000, 0x00400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
3917
 
        ROM_LOAD( "b52-127.156", 0x00000, 0x00400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
3918
 
 
3919
 
        ROM_REGION( 0x02a00, "plds", 0 )
3920
 
        ROM_LOAD( "pal20l8b-b52-17.ic18",   0x0000, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3921
 
        ROM_LOAD( "pal20l8b-b52-17.ic16",   0x0200, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3922
 
        ROM_LOAD( "pal20l8b-b52-17.ic53",   0x0400, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3923
 
        ROM_LOAD( "pal20l8b-b52-17.ic55",   0x0600, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3924
 
        ROM_LOAD( "pal16l8b-b52-19.ic33",   0x0800, 0x0104, CRC(3ba292dc) SHA1(ce904e92e9c0d73802e6f53dc747204c194281c5) )
3925
 
        ROM_LOAD( "pal16l8b-b52-20.ic35",   0x0a00, 0x0104, CRC(bd39ad73) SHA1(03120f3d7d0b9b9105990e226388f9cdd53e5789) )
3926
 
        ROM_LOAD( "pal16l8b-b52-21.ic51",   0x0c00, 0x0104, CRC(2fe76aa4) SHA1(9ea187cff3e0edb58b019400cfc4bf342d4304c3) )
3927
 
        ROM_LOAD( "pal20l8b-b52-25.ic123",  0x0e00, 0x0144, CRC(372b632d) SHA1(84631489c9f56907a97d686c35b15284fab09e8d) )
3928
 
        ROM_LOAD( "pal20l8b-b52-26.ic15",   0x1000, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3929
 
        ROM_LOAD( "pal20l8b-b52-26.ic18",   0x1200, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3930
 
        ROM_LOAD( "pal20l8b-b52-26.ic52",   0x1400, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3931
 
        ROM_LOAD( "pal20l8b-b52-26.ic54",   0x1600, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3932
 
        ROM_LOAD( "pal20l8b-b52-27.ic64",   0x1800, 0x0144, CRC(61c2ab26) SHA1(8540d452a21581739b1ab08708b0c799dd2d2393) )
3933
 
        ROM_LOAD( "pal20l8b-b52-118.ic20",  0x1a00, 0x0144, CRC(9c5fe4af) SHA1(1fbc6461f067eeac9679ca32c126563951a99c09) )
3934
 
        ROM_LOAD( "pal20l8b-b52-119.ic21",  0x1c00, 0x0144, CRC(8b8e2106) SHA1(be59baae5cada9901c2ea8891f99731f010364db) )
3935
 
        ROM_LOAD( "pal16l8b-b52-120.ic56",  0x1e00, 0x0104, CRC(3e7effa0) SHA1(0e8c09613b6a9311261aa8fa8bafab0f27081741) )
3936
 
        ROM_LOAD( "pal20l8b-b52-121.ic57",  0x2000, 0x0144, CRC(7056fd1d) SHA1(fc032f24b95ff7a8bf5a7badddef51c5447c445d) )
3937
 
        ROM_LOAD( "pal16l8b-b52-122.ic124", 0x2200, 0x0104, CRC(04c0fb04) SHA1(53dfeb747e213c67a78c1407e43cdad4cec2cb7e) )
3938
 
        ROM_LOAD( "pal16l8b-b52-123.ic125", 0x2400, 0x0104, CRC(3865d1c8) SHA1(2d77326be4fb047243c3d5c33c442b009bf6fc04) )
3939
 
        ROM_LOAD( "pal16l8b-b52-124.ic180", 0x2600, 0x0104, NO_DUMP )   /* read protected */
3940
 
        ROM_LOAD( "pal16l8b-b52-125.ic112", 0x2800, 0x0104, CRC(7628c557) SHA1(11bf628e091dc02e0c2e17ae726061ac04705a54) )
3941
 
ROM_END
3942
 
 
3943
 
ROM_START( chasehqu )
3944
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
3945
 
        ROM_LOAD16_BYTE( "b52-138.36", 0x00000, 0x20000, CRC(8b71fe51) SHA1(6f2352aa2112dd18d328acddacf412b54c896ec0) )
3946
 
        ROM_LOAD16_BYTE( "b52-135.29", 0x00001, 0x20000, CRC(5ba56a7c) SHA1(3af6f1008181d5a5951fbd6a48dd7592a9e38f96) )
3947
 
        ROM_LOAD16_BYTE( "b52-131.37", 0x40000, 0x20000, CRC(aa945d83) SHA1(9d8a8186a199cacc0e24cf1ee75d81ab8b056406) )
3948
 
        ROM_LOAD16_BYTE( "b52-129.30", 0x40001, 0x20000, CRC(0eaebc08) SHA1(1dde3304b251ddeb52f1378ef3845269c3667169) )
3949
 
 
3950
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
3951
 
        ROM_LOAD16_BYTE( "b52-132.39", 0x00000, 0x10000, CRC(a2f54789) SHA1(941a6470e3a5ae35d079657260a8d7d6a9fca122) )
3952
 
        ROM_LOAD16_BYTE( "b52-133.55", 0x00001, 0x10000, CRC(12232f95) SHA1(2894b95fc1d0a6e5b323bf3e7f1968f02b30a845) )
3953
 
 
3954
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* Z80 sound cpu */
3955
 
        ROM_LOAD( "b52-137.51",   0x00000, 0x04000, CRC(37abb74a) SHA1(1feb1e49102c13a90e02c150472545cd9f6334da) )
3956
 
        ROM_CONTINUE(           0x10000, 0x0c000 )      /* banked stuff */
3957
 
 
3958
 
        ROM_REGION( 0x80000, "gfx1", 0 )
3959
 
        ROM_LOAD( "b52-29.27", 0x00000, 0x80000, CRC(8366d27c) SHA1(d7c5f588b39742927228ce73e5d69bda1e903df6) ) /* SCR 8x8*/
3960
 
 
3961
 
        ROM_REGION( 0x200000, "gfx2", 0 )
3962
 
        ROM_LOAD32_BYTE( "b52-34.5",  0x000000, 0x080000, CRC(7d8dce36) SHA1(ca082e647d10378144c05a70a8e4fe352d95eeaf) )
3963
 
        ROM_LOAD32_BYTE( "b52-35.7",  0x000001, 0x080000, CRC(78eeec0d) SHA1(2e82186ca17c579816865ef21c52aef9e133fbf5) )        /* OBJ A 16x16 */
3964
 
        ROM_LOAD32_BYTE( "b52-36.9",  0x000002, 0x080000, CRC(61e89e91) SHA1(f655b3caa37a8835c2eb11f4d72e985636ac5379) )
3965
 
        ROM_LOAD32_BYTE( "b52-37.11", 0x000003, 0x080000, CRC(f02e47b9) SHA1(093864bd18bd58dafa57990e999f394ca3124452) )
3966
 
 
3967
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
3968
 
        ROM_LOAD( "b52-28.4", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) )  /* ROD, road lines */
3969
 
 
3970
 
        ROM_REGION( 0x200000, "gfx4", 0 )
3971
 
        ROM_LOAD32_BYTE( "b52-30.4",  0x000000, 0x080000, CRC(1b8cc647) SHA1(8807fe01b6804507564fc179adf995bf86521fda) )
3972
 
        ROM_LOAD32_BYTE( "b52-31.6",  0x000001, 0x080000, CRC(f1998e20) SHA1(b03d4e373e88933391f3533b885817edfca4cfdf) )        /* OBJ B 16x16 */
3973
 
        ROM_LOAD32_BYTE( "b52-32.8",  0x000002, 0x080000, CRC(8620780c) SHA1(2545fd8fb03dcddc3da86d5ea06a6dc915acd1a1) )
3974
 
        ROM_LOAD32_BYTE( "b52-33.10", 0x000003, 0x080000, CRC(e6f4b8c4) SHA1(8d15c75a16953aa56fb3dc6fd3b691e227bef622) )
3975
 
 
3976
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
3977
 
        ROM_LOAD16_WORD( "b52-38.34", 0x00000, 0x80000, CRC(5b5bf7f6) SHA1(71dd5b40b83870d351c9ecaccc4fb98c3a6740ae) )  /* STY spritemap */
3978
 
 
3979
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
3980
 
        ROM_LOAD( "b52-115.71", 0x000000, 0x080000, CRC(4e117e93) SHA1(51d893fa21793335878c76f6d5987d99da60be04) )
3981
 
        ROM_LOAD( "b52-114.72", 0x080000, 0x080000, CRC(3a73d6b1) SHA1(419f02a875b30913331db207e344d0eaa275297e) )
3982
 
        ROM_LOAD( "b52-113.73", 0x100000, 0x080000, CRC(2c6a3a05) SHA1(f2f0dfbbbb6930bf53025064ebae9c07a95c6deb) )
3983
 
 
3984
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
3985
 
        ROM_LOAD( "b52-116.70", 0x00000, 0x80000, CRC(ad46983c) SHA1(6fcad67456fbd8c967cd4786815f70b57a24a969) )
3986
 
 
3987
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
3988
 
        ROM_LOAD( "b52-01.7",    0x00000, 0x00100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) )       // road/sprite priority and palette select
3989
 
        ROM_LOAD( "b52-03.135",  0x00000, 0x00400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
3990
 
        ROM_LOAD( "b52-06.24",   0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )       // road A/B internal priority
3991
 
        ROM_LOAD( "b52-18.93",   0x00000, 0x00100, CRC(60bdaf1a) SHA1(0cb9c6b821de9ccc1f38336608dd7ead46cb8d24) )       // identical to b52-18b
3992
 
        ROM_LOAD( "b52-18a",     0x00000, 0x00100, CRC(6271be0d) SHA1(84282af98fc0de10e88282f7187cd865133ed6ce) )
3993
 
        ROM_LOAD( "b52-49.68",   0x00000, 0x02000, CRC(60dd2ed1) SHA1(8673b6b3355975fb91cd1491e0ac7c0f590e3824) )
3994
 
        ROM_LOAD( "b52-50.66",   0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
3995
 
        ROM_LOAD( "b52-51.65",   0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
3996
 
        ROM_LOAD( "b52-126.136", 0x00000, 0x00400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
3997
 
        ROM_LOAD( "b52-127.156", 0x00000, 0x00400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
3998
 
 
3999
 
        ROM_REGION( 0x02a00, "plds", 0 )
4000
 
        ROM_LOAD( "pal20l8b-b52-17.ic18",   0x0000, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4001
 
        ROM_LOAD( "pal20l8b-b52-17.ic16",   0x0200, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4002
 
        ROM_LOAD( "pal20l8b-b52-17.ic53",   0x0400, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4003
 
        ROM_LOAD( "pal20l8b-b52-17.ic55",   0x0600, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4004
 
        ROM_LOAD( "pal16l8b-b52-19.ic33",   0x0800, 0x0104, CRC(3ba292dc) SHA1(ce904e92e9c0d73802e6f53dc747204c194281c5) )
4005
 
        ROM_LOAD( "pal16l8b-b52-20.ic35",   0x0a00, 0x0104, CRC(bd39ad73) SHA1(03120f3d7d0b9b9105990e226388f9cdd53e5789) )
4006
 
        ROM_LOAD( "pal16l8b-b52-21.ic51",   0x0c00, 0x0104, CRC(2fe76aa4) SHA1(9ea187cff3e0edb58b019400cfc4bf342d4304c3) )
4007
 
        ROM_LOAD( "pal20l8b-b52-25.ic123",  0x0e00, 0x0144, CRC(372b632d) SHA1(84631489c9f56907a97d686c35b15284fab09e8d) )
4008
 
        ROM_LOAD( "pal20l8b-b52-26.ic15",   0x1000, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4009
 
        ROM_LOAD( "pal20l8b-b52-26.ic18",   0x1200, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4010
 
        ROM_LOAD( "pal20l8b-b52-26.ic52",   0x1400, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4011
 
        ROM_LOAD( "pal20l8b-b52-26.ic54",   0x1600, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4012
 
        ROM_LOAD( "pal20l8b-b52-27.ic64",   0x1800, 0x0144, CRC(61c2ab26) SHA1(8540d452a21581739b1ab08708b0c799dd2d2393) )
4013
 
        ROM_LOAD( "pal20l8b-b52-118.ic20",  0x1a00, 0x0144, CRC(9c5fe4af) SHA1(1fbc6461f067eeac9679ca32c126563951a99c09) )
4014
 
        ROM_LOAD( "pal20l8b-b52-119.ic21",  0x1c00, 0x0144, CRC(8b8e2106) SHA1(be59baae5cada9901c2ea8891f99731f010364db) )
4015
 
        ROM_LOAD( "pal16l8b-b52-120.ic56",  0x1e00, 0x0104, CRC(3e7effa0) SHA1(0e8c09613b6a9311261aa8fa8bafab0f27081741) )
4016
 
        ROM_LOAD( "pal20l8b-b52-121.ic57",  0x2000, 0x0144, CRC(7056fd1d) SHA1(fc032f24b95ff7a8bf5a7badddef51c5447c445d) )
4017
 
        ROM_LOAD( "pal16l8b-b52-122.ic124", 0x2200, 0x0104, CRC(04c0fb04) SHA1(53dfeb747e213c67a78c1407e43cdad4cec2cb7e) )
4018
 
        ROM_LOAD( "pal16l8b-b52-123.ic125", 0x2400, 0x0104, CRC(3865d1c8) SHA1(2d77326be4fb047243c3d5c33c442b009bf6fc04) )
4019
 
        ROM_LOAD( "pal16l8b-b52-124.ic180", 0x2600, 0x0104, NO_DUMP )   /* read protected */
4020
 
        ROM_LOAD( "pal16l8b-b52-125.ic112", 0x2800, 0x0104, CRC(7628c557) SHA1(11bf628e091dc02e0c2e17ae726061ac04705a54) )
4021
 
ROM_END
4022
 
 
4023
 
 
4024
 
/*
4025
 
Enforce
4026
 
Taito, 198?/199?
4027
 
 
4028
 
Taito Z hardware
4029
 
PCB No: K1100406A J1100175A (CPU PCB)
4030
 
        K1100407A J1100176A (VIDEO PCB)
4031
 
 
4032
 
CPU: MC68000P12 (x2)
4033
 
SND: Z80, YM2610, TCO040IOC, YM3016F
4034
 
OSC: 26.686MHz, 24.000MHz, 16.000MHz
4035
 
DIPs: 8 Position (x2)
4036
 
 
4037
 
Taito Chips:
4038
 
CPU board - TCO100SCN, TCO140SYT, TCO170ABT, TCO110PCR
4039
 
Video Board - TCO150ROD, TCO050VDZ (x3), TCO020VAR
4040
 
 
4041
 
Ram: CPU BOARD - 6264 (x9), 43256 (x2),
4042
 
     VIDEO BOARD - 2018 (x10), 6264 (x2)
4043
 
 
4044
 
PALs/PROMs:
4045
 
CPU BOARD - All located near/around the 68000's
4046
 
b58-15 (PAL20L8)
4047
 
b58-16 (PAL20L8)
4048
 
b58-14 (PAL20L8)
4049
 
b58-13 (PAL16L8)
4050
 
b58-11 (PAL16L8)
4051
 
b58-12 (PAL16L8)
4052
 
 
4053
 
VIDEO BOARD -
4054
 
b58-22 (PAL16L8) \
4055
 
b58-23 (63s141)   |  near TCO150ROD
4056
 
b58-24 (63s141)  /
4057
 
 
4058
 
b58-20 (PAL16L8) \
4059
 
b58-21 (PAL16R4)  |
4060
 
b58-17 (PAL16L8)  |  near TCO020VAR
4061
 
b58-18 (PAL16R4) /
4062
 
 
4063
 
b58-25 (63S141)      near b58-27
4064
 
b58-19 (PAL16R4)     near b58-04/03/02/01
4065
 
 
4066
 
ROMs:
4067
 
CPU BOARD - b58-18 , 27C010  \
4068
 
        b58-19 , 27C010   |  68k Program
4069
 
        b58-26 , 27C010   |
4070
 
        b58-27 , 27C010  /
4071
 
 
4072
 
        b58-07 , 27C4096 \
4073
 
        b58-08 , 27C4096  |
4074
 
        b58-09 , 27C4100  |  near TCO100SCN & TCO140SYT
4075
 
        b58-10 , 27C4096 /
4076
 
 
4077
 
        b58-32 , 27C512      z80 program
4078
 
 
4079
 
VIDEO PCB - b58-06 , 27C4100     near TCO150ROD
4080
 
 
4081
 
        b58-26a, 27C512      ?
4082
 
        b58-27 , LH5763      ?
4083
 
 
4084
 
        b58-01 , 27C4100 \
4085
 
        b58-02 , 27C4100  |
4086
 
        b58-03 , 27C4100  |  near TCO050VDZ's
4087
 
        b58-04 , 27C4100 /
4088
 
*/
4089
 
 
4090
 
ROM_START( enforce )
4091
 
        ROM_REGION( 0x40000, "maincpu", 0 )     /* 256K for 68000 code (CPU A) */
4092
 
        ROM_LOAD16_BYTE( "b58-27.27", 0x00000, 0x20000, CRC(a1aa0191) SHA1(193d936e1bfe0da4ac984aba65d3e4e6c93a4c11) )
4093
 
        ROM_LOAD16_BYTE( "b58-19.19", 0x00001, 0x20000, CRC(40f43da3) SHA1(bb3d6c6db8df77674bb76c16992d05c297d97c9f) )
4094
 
 
4095
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4096
 
        ROM_LOAD16_BYTE( "b58-26.26", 0x00000, 0x20000, CRC(e823c85c) SHA1(199b19e81c76eb936f4cf31957ae08bed1395bda) )
4097
 
        ROM_LOAD16_BYTE( "b58-18.18", 0x00001, 0x20000, CRC(65328a3e) SHA1(f51ca107910629e030678e183cc8fd06d2569098) )
4098
 
 
4099
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* Z80 sound cpu */
4100
 
        ROM_LOAD( "b58-32.41",   0x00000, 0x04000, CRC(f3fd8eca) SHA1(3b1ab64984ea43805b6494f8add26210ed1175c5) )
4101
 
        ROM_CONTINUE(            0x10000, 0x0c000 )     /* banked stuff */
4102
 
 
4103
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4104
 
        ROM_LOAD( "b58-09.13", 0x00000, 0x80000, CRC(9ffd5b31) SHA1(0214fb32012a48560ca9c6ed5ee969d3c41cf95c) ) /* SCR 8x8 */
4105
 
 
4106
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4107
 
        ROM_LOAD32_BYTE( "b58-04.7",  0x000000, 0x080000, CRC(9482f08d) SHA1(3fc74b9bebca1d82b300ba72c7297c3bcd69cfa9) )
4108
 
        ROM_LOAD32_BYTE( "b58-03.6",  0x000001, 0x080000, CRC(158bc440) SHA1(ceab296146363a2e9a48f62118fba6123b4b5a1b) )        /* OBJ 16x8 */
4109
 
        ROM_LOAD32_BYTE( "b58-02.2",  0x000002, 0x080000, CRC(6a6e307c) SHA1(fc4a68220e0dd0e64d75ba7c7af0c1ac97dc7fd9) )
4110
 
        ROM_LOAD32_BYTE( "b58-01.1",  0x000003, 0x080000, CRC(01e9f0a8) SHA1(0d3a4dc81702e3c57c790eb8a45caca36cb47d4c) )
4111
 
 
4112
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4113
 
        ROM_LOAD( "b58-06.116", 0x00000, 0x80000, CRC(b3495d70) SHA1(ead4c2fd20b8f103a849201c7344cded013eb8bb) )        /* ROD, road lines */
4114
 
 
4115
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4116
 
        ROM_LOAD16_WORD( "b58-05.71", 0x00000, 0x80000, CRC(d1f4991b) SHA1(f1c5a9b8dce994d013290e98fda7bedf73e95900) )  /* STY spritemap */
4117
 
 
4118
 
        ROM_REGION( 0x100000, "ymsnd", 0 )      /* ADPCM samples */
4119
 
        ROM_LOAD( "b58-07.11", 0x000000, 0x080000, CRC(eeb5ba08) SHA1(fe40333e09339c76e503ce87b42a89b48d487016) )
4120
 
        ROM_LOAD( "b58-08.12", 0x080000, 0x080000, CRC(049243cf) SHA1(1f3099b6d764114dc4161ed308369d0f3148dc4e) )
4121
 
 
4122
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples ??? */
4123
 
        ROM_LOAD( "b58-10.14", 0x00000, 0x80000, CRC(edce0cc1) SHA1(1f6cbc60502b8b12b349e48446ce3a4a1f76bccd) ) /* ??? */
4124
 
 
4125
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4126
 
        ROM_LOAD( "b58-26a.104", 0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) )       // sprite vertical zoom
4127
 
        ROM_LOAD( "b58-27.56",   0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) )       // sprite horizontal zoom
4128
 
        ROM_LOAD( "b58-23.52",   0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) )       // road/sprite priority and palette select
4129
 
        ROM_LOAD( "b58-24.51",   0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )       // road A/B internal priority
4130
 
        ROM_LOAD( "b58-25.75",   0x00000, 0x00100, CRC(de547342) SHA1(3b2b116d4016ddbf46c41c625c7fcfd76129baa7) )
4131
 
// Add pals...
4132
 
ROM_END
4133
 
 
4134
 
ROM_START( bshark )
4135
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4136
 
        ROM_LOAD16_BYTE( "c34_71.98", 0x00000, 0x20000, CRC(df1fa629) SHA1(6cb207e577fac85da654f3dc56e2f9f25c38a76d) )
4137
 
        ROM_LOAD16_BYTE( "c34_69.75", 0x00001, 0x20000, CRC(a54c137a) SHA1(632bf2d65f54035de2ecb87648dafa877c45e428) )
4138
 
        ROM_LOAD16_BYTE( "c34_70.97", 0x40000, 0x20000, CRC(d77d81e2) SHA1(d60e586cefd9001e87cae583ca25bf5a8a461d8d) )
4139
 
        ROM_LOAD16_BYTE( "c34_67.64", 0x40001, 0x20000, CRC(39307c74) SHA1(65d1cb6b0baee29c1439180b8b4c6907e20b2921) )
4140
 
 
4141
 
        ROM_REGION( 0x80000, "sub", 0 ) /* 512K for 68000 code (CPU B) */
4142
 
        ROM_LOAD16_BYTE( "c34_74.128", 0x00000, 0x20000, CRC(6869fa99) SHA1(16221f25c865a81ca4f6a987b6de02a3ccf3208c) )
4143
 
        ROM_LOAD16_BYTE( "c34_72.112", 0x00001, 0x20000, CRC(c09c0f91) SHA1(32c78924617328abb11c094f89a90a92e72ed5e6) )
4144
 
        ROM_LOAD16_BYTE( "c34_75.129", 0x40000, 0x20000, CRC(6ba65542) SHA1(9ba5af9dd240a198dfa760ca14b0f0c84eb307c9) )
4145
 
        ROM_LOAD16_BYTE( "c34_73.113", 0x40001, 0x20000, CRC(f2fe62b5) SHA1(e31b5989b747de451ee6c2a5e15ec75235d84e0d) )
4146
 
 
4147
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4148
 
        ROM_LOAD( "c34_05.3", 0x00000, 0x80000, CRC(596b83da) SHA1(826cf1e48a017a0cbfcc4a4f507dfb285594178b) )  /* SCR 8x8 */
4149
 
 
4150
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4151
 
        ROM_LOAD32_BYTE( "c34_04.17", 0x000000, 0x080000, CRC(2446b0da) SHA1(bce5c73533e2bb7dfa7f18fad510f818cf1a542a) )        /* OBJ 16x8 */
4152
 
        ROM_LOAD32_BYTE( "c34_03.16", 0x000001, 0x080000, CRC(a18eab78) SHA1(155f0efbfe73e18355804477d4b8954bb47bf1ef) )
4153
 
        ROM_LOAD32_BYTE( "c34_02.15", 0x000002, 0x080000, CRC(8488ba10) SHA1(60f8f0dc9d4bc6bc452527250221c9915e9dfe6e) )
4154
 
        ROM_LOAD32_BYTE( "c34_01.14", 0x000003, 0x080000, CRC(3ebe8c63) SHA1(fa7403bf895c041cb64234209c944683ae372e57) )
4155
 
 
4156
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4157
 
        ROM_LOAD( "c34_07.42", 0x00000, 0x80000, CRC(edb07808) SHA1(f32b4b93e9125536376d96fbca76c2b2f5f78656) ) /* ROD, road lines */
4158
 
 
4159
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4160
 
        ROM_LOAD16_WORD( "c34_06.12", 0x00000, 0x80000, CRC(d200b6eb) SHA1(6bfe3a7dde8d4e983521877d2bb176f5d126b763) )  /* STY spritemap */
4161
 
 
4162
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
4163
 
        ROM_LOAD( "c34_08.127", 0x00000, 0x80000, CRC(89a30450) SHA1(96b96ca5a3e20cdceb9ac5ddf377fb21a9a529fb) )
4164
 
 
4165
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4166
 
        ROM_LOAD( "c34_09.126", 0x00000, 0x80000, CRC(39d12b50) SHA1(5c5d1369597604376943e4825f6c09cc28d66047) )
4167
 
 
4168
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4169
 
        ROM_LOAD( "c34_18.22", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4170
 
        ROM_LOAD( "c34_19.72", 0x00000, 0x00100, CRC(2ee9c404) SHA1(3a2ddaaaf7abe9f47f7e062b002fd3a61c80f60b) ) // road/sprite priority and palette select
4171
 
        ROM_LOAD( "c34_20.89", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4172
 
        ROM_LOAD( "c34_21.7",  0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4173
 
        ROM_LOAD( "c34_22.8",  0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4174
 
ROM_END
4175
 
 
4176
 
ROM_START( bsharkj )
4177
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4178
 
        ROM_LOAD16_BYTE( "c34_71.98", 0x00000, 0x20000, CRC(df1fa629) SHA1(6cb207e577fac85da654f3dc56e2f9f25c38a76d) )
4179
 
        ROM_LOAD16_BYTE( "c34_69.75", 0x00001, 0x20000, CRC(a54c137a) SHA1(632bf2d65f54035de2ecb87648dafa877c45e428) )
4180
 
        ROM_LOAD16_BYTE( "c34_70.97", 0x40000, 0x20000, CRC(d77d81e2) SHA1(d60e586cefd9001e87cae583ca25bf5a8a461d8d) )
4181
 
        ROM_LOAD16_BYTE( "c34_66.74", 0x40001, 0x20000, CRC(a0392dce) SHA1(5d20f39b75e921fda82c33990463cec73879d113) )
4182
 
 
4183
 
        ROM_REGION( 0x80000, "sub", 0 ) /* 512K for 68000 code (CPU B) */
4184
 
        ROM_LOAD16_BYTE( "c34_74.128", 0x00000, 0x20000, CRC(6869fa99) SHA1(16221f25c865a81ca4f6a987b6de02a3ccf3208c) )
4185
 
        ROM_LOAD16_BYTE( "c34_72.112", 0x00001, 0x20000, CRC(c09c0f91) SHA1(32c78924617328abb11c094f89a90a92e72ed5e6) )
4186
 
        ROM_LOAD16_BYTE( "c34_75.129", 0x40000, 0x20000, CRC(6ba65542) SHA1(9ba5af9dd240a198dfa760ca14b0f0c84eb307c9) )
4187
 
        ROM_LOAD16_BYTE( "c34_73.113", 0x40001, 0x20000, CRC(f2fe62b5) SHA1(e31b5989b747de451ee6c2a5e15ec75235d84e0d) )
4188
 
 
4189
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4190
 
        ROM_LOAD( "c34_05.3", 0x00000, 0x80000, CRC(596b83da) SHA1(826cf1e48a017a0cbfcc4a4f507dfb285594178b) )  /* SCR 8x8 */
4191
 
 
4192
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4193
 
        ROM_LOAD32_BYTE( "c34_04.17", 0x000000, 0x080000, CRC(2446b0da) SHA1(bce5c73533e2bb7dfa7f18fad510f818cf1a542a) )        /* OBJ 16x8 */
4194
 
        ROM_LOAD32_BYTE( "c34_03.16", 0x000001, 0x080000, CRC(a18eab78) SHA1(155f0efbfe73e18355804477d4b8954bb47bf1ef) )
4195
 
        ROM_LOAD32_BYTE( "c34_02.15", 0x000002, 0x080000, CRC(8488ba10) SHA1(60f8f0dc9d4bc6bc452527250221c9915e9dfe6e) )
4196
 
        ROM_LOAD32_BYTE( "c34_01.14", 0x000003, 0x080000, CRC(3ebe8c63) SHA1(fa7403bf895c041cb64234209c944683ae372e57) )
4197
 
 
4198
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4199
 
        ROM_LOAD( "c34_07.42", 0x00000, 0x80000, CRC(edb07808) SHA1(f32b4b93e9125536376d96fbca76c2b2f5f78656) ) /* ROD, road lines */
4200
 
 
4201
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4202
 
        ROM_LOAD16_WORD( "c34_06.12", 0x00000, 0x80000, CRC(d200b6eb) SHA1(6bfe3a7dde8d4e983521877d2bb176f5d126b763) )  /* STY spritemap */
4203
 
 
4204
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
4205
 
        ROM_LOAD( "c34_08.127", 0x00000, 0x80000, CRC(89a30450) SHA1(96b96ca5a3e20cdceb9ac5ddf377fb21a9a529fb) )
4206
 
 
4207
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4208
 
        ROM_LOAD( "c34_09.126", 0x00000, 0x80000, CRC(39d12b50) SHA1(5c5d1369597604376943e4825f6c09cc28d66047) )
4209
 
 
4210
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4211
 
        ROM_LOAD( "c34_18.22", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4212
 
        ROM_LOAD( "c34_19.72", 0x00000, 0x00100, CRC(2ee9c404) SHA1(3a2ddaaaf7abe9f47f7e062b002fd3a61c80f60b) ) // road/sprite priority and palette select
4213
 
        ROM_LOAD( "c34_20.89", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4214
 
        ROM_LOAD( "c34_21.7",  0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4215
 
        ROM_LOAD( "c34_22.8",  0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4216
 
ROM_END
4217
 
 
4218
 
ROM_START( sci )
4219
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4220
 
        ROM_LOAD16_BYTE( "c09-37.43", 0x00000, 0x20000, CRC(0fecea17) SHA1(0ad4454eee6646b0f978b1ba83206d64c1f6d081) )
4221
 
        ROM_LOAD16_BYTE( "c09-38.40", 0x00001, 0x20000, CRC(e46ebd9b) SHA1(52b0c1f95e8a664076d8fbc0f6204ca55893e281) )
4222
 
        ROM_LOAD16_BYTE( "c09-42.38", 0x40000, 0x20000, CRC(f4404f87) SHA1(8f051f1ffbf323cb3d613bc22afa53676590f29c) )
4223
 
        ROM_LOAD16_BYTE( "c09-39.41", 0x40001, 0x20000, CRC(de87bcb9) SHA1(b5537a25871ea90294f3b6f0b6386a883cfdf991) )
4224
 
 
4225
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4226
 
        ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4227
 
        ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4228
 
 
4229
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4230
 
        ROM_LOAD( "c09-34.31",   0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4231
 
        ROM_CONTINUE(            0x10000, 0x1c000 )     /* banked stuff */
4232
 
 
4233
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4234
 
        ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4235
 
 
4236
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4237
 
        ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) )        /* OBJ 16x8 */
4238
 
        ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4239
 
        ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4240
 
        ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4241
 
 
4242
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4243
 
        ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4244
 
 
4245
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4246
 
        ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) )  /* STY spritemap */
4247
 
 
4248
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4249
 
        ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4250
 
        ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4251
 
        ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4252
 
 
4253
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4254
 
        ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4255
 
 
4256
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4257
 
        ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4258
 
        ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4259
 
        ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4260
 
//  ROM_LOAD( "c09-21.2",  0x00000, 0x00???, NO_DUMP ) /* pals (Guru dump) */
4261
 
//  ROM_LOAD( "c09-22.3",  0x00000, 0x00???, NO_DUMP )
4262
 
//  ROM_LOAD( "c09-24.22", 0x00000, 0x00???, NO_DUMP )
4263
 
//  ROM_LOAD( "c09-25.25", 0x00000, 0x00???, NO_DUMP )
4264
 
//  ROM_LOAD( "c09-26.26", 0x00000, 0x00???, NO_DUMP )
4265
 
ROM_END
4266
 
 
4267
 
ROM_START( scia )
4268
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4269
 
        ROM_LOAD16_BYTE( "c09-28.43",  0x00000, 0x20000, CRC(630dbaad) SHA1(090f6a97007ac04f64d92ae5823b7254152144af) )
4270
 
        ROM_LOAD16_BYTE( "c09-30.40",  0x00001, 0x20000, CRC(68b1a97d) SHA1(c377f7880154b38fe25dc0ec420ca0cd7228fbad) )
4271
 
        ROM_LOAD16_BYTE( "c09-36.38",  0x40000, 0x20000, CRC(59e47cba) SHA1(313302bc62ff02b437b1091d394d2010ce66c7e7) )
4272
 
        ROM_LOAD16_BYTE( "c09-31.41",  0x40001, 0x20000, CRC(962b1fbf) SHA1(62181a289dfc6d1da674ba4bcbefeb16a67a55e3) )
4273
 
 
4274
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4275
 
        ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4276
 
        ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4277
 
 
4278
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4279
 
        ROM_LOAD( "c09-34.31",   0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4280
 
        ROM_CONTINUE(            0x10000, 0x1c000 )     /* banked stuff */
4281
 
 
4282
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4283
 
        ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4284
 
 
4285
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4286
 
        ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) )        /* OBJ 16x8 */
4287
 
        ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4288
 
        ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4289
 
        ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4290
 
 
4291
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4292
 
        ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4293
 
 
4294
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4295
 
        ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) )  /* STY spritemap */
4296
 
 
4297
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4298
 
        ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4299
 
        ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4300
 
        ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4301
 
 
4302
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4303
 
        ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4304
 
 
4305
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4306
 
        ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4307
 
        ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4308
 
        ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4309
 
ROM_END
4310
 
 
4311
 
ROM_START( scij )
4312
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4313
 
        ROM_LOAD16_BYTE( "c09-37.43", 0x00000, 0x20000, CRC(0fecea17) SHA1(0ad4454eee6646b0f978b1ba83206d64c1f6d081) )
4314
 
        ROM_LOAD16_BYTE( "c09-38.40", 0x00001, 0x20000, CRC(e46ebd9b) SHA1(52b0c1f95e8a664076d8fbc0f6204ca55893e281) )
4315
 
        ROM_LOAD16_BYTE( "c09-40.38", 0x40000, 0x20000, CRC(1a4e2eab) SHA1(7c95ba516d164b7b4e6eaf80e3dacf7c35d8123d) )
4316
 
        ROM_LOAD16_BYTE( "c09-39.41", 0x40001, 0x20000, CRC(de87bcb9) SHA1(b5537a25871ea90294f3b6f0b6386a883cfdf991) )
4317
 
 
4318
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4319
 
        ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4320
 
        ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4321
 
 
4322
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4323
 
        ROM_LOAD( "c09-27.31",   0x00000, 0x04000, CRC(cd161dca) SHA1(2e0632f290f8efae5e479c67ca8808a90e0f4afd) )
4324
 
        ROM_CONTINUE(            0x10000, 0x1c000 )     /* banked stuff */
4325
 
 
4326
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4327
 
        ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4328
 
 
4329
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4330
 
        ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) )        /* OBJ 16x8 */
4331
 
        ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4332
 
        ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4333
 
        ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4334
 
 
4335
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4336
 
        ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4337
 
 
4338
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4339
 
        ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) )  /* STY spritemap */
4340
 
 
4341
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4342
 
        ROM_LOAD( "c09-10.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4343
 
        ROM_LOAD( "c09-09.43", 0x080000, 0x080000, CRC(6a655c00) SHA1(5ae1ee422226e386550b69a1f35668c10d3bdcc2) )
4344
 
        ROM_LOAD( "c09-08.44", 0x100000, 0x080000, CRC(7ddfc316) SHA1(47f0ed8eecd4719b4c5cb8762ee6b8bb01686812) )
4345
 
 
4346
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4347
 
        ROM_LOAD( "c09-11.29", 0x00000, 0x80000, CRC(6b1a11e1) SHA1(4304d029ecf91fa5b779057f195f75ebdd0a7c1c) )
4348
 
 
4349
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4350
 
        ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4351
 
        ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4352
 
        ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4353
 
ROM_END
4354
 
 
4355
 
ROM_START( sciu )
4356
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4357
 
        ROM_LOAD16_BYTE( "c09-43.43",  0x00000, 0x20000, CRC(20a9343e) SHA1(b0185ddbda827236b7b41687f18c92e10c2dbd3a) )
4358
 
        ROM_LOAD16_BYTE( "c09-44.40",  0x00001, 0x20000, CRC(7524338a) SHA1(f4e68a4d09f843f4697b4b4a4e94b5759a14fd01) )
4359
 
        ROM_LOAD16_BYTE( "c09-41.38",  0x40000, 0x20000, CRC(83477f11) SHA1(f6dba2137a182dae215cf212bf85f4528e3d006d) )
4360
 
        ROM_LOAD16_BYTE( "c09-39.41",  0x40001, 0x20000, CRC(de87bcb9) SHA1(b5537a25871ea90294f3b6f0b6386a883cfdf991) )
4361
 
 
4362
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4363
 
        ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4364
 
        ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4365
 
 
4366
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4367
 
        ROM_LOAD( "c09-34.31",   0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4368
 
        ROM_CONTINUE(            0x10000, 0x1c000 )     /* banked stuff */
4369
 
 
4370
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4371
 
        ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4372
 
 
4373
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4374
 
        ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) )        /* OBJ 16x8 */
4375
 
        ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4376
 
        ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4377
 
        ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4378
 
 
4379
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4380
 
        ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4381
 
 
4382
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4383
 
        ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) )  /* STY spritemap */
4384
 
 
4385
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4386
 
        ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4387
 
        ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4388
 
        ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4389
 
 
4390
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4391
 
        ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4392
 
 
4393
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4394
 
        ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4395
 
        ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4396
 
        ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4397
 
ROM_END
4398
 
 
4399
 
ROM_START( scin )
4400
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4401
 
        ROM_LOAD16_BYTE( "ic37.37", 0x00000, 0x20000, CRC(33fb159c) SHA1(b004a5249414f69768d8a951ded3c104ea107b32) )
4402
 
        ROM_LOAD16_BYTE( "ic40.38", 0x00001, 0x20000, CRC(657df3f2) SHA1(80e30961e2cdcb834d2cbd48803ace68acaab422) )
4403
 
        ROM_LOAD16_BYTE( "ic38.42", 0x40000, 0x20000, CRC(0a09b90b) SHA1(0970644a0d79ab3898187849bec6c7cf598652f3) )
4404
 
        ROM_LOAD16_BYTE( "ic41.39", 0x40001, 0x20000, CRC(43167b2a) SHA1(1e6f2a113deb57df869ec2ceb99d6a7ecfa5d7e5) )
4405
 
 
4406
 
        ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4407
 
        ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4408
 
        ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4409
 
 
4410
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4411
 
        ROM_LOAD( "c09-34.31",   0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4412
 
        ROM_CONTINUE(            0x10000, 0x1c000 )     /* banked stuff */
4413
 
 
4414
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4415
 
        ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4416
 
 
4417
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4418
 
        ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) )        /* OBJ 16x8 */
4419
 
        ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4420
 
        ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4421
 
        ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4422
 
 
4423
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4424
 
        ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4425
 
 
4426
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4427
 
        ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) )  /* STY spritemap */
4428
 
 
4429
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4430
 
        ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4431
 
        ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4432
 
        ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4433
 
 
4434
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4435
 
        ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4436
 
 
4437
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4438
 
        ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4439
 
        ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4440
 
        ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4441
 
 
4442
 
ROM_END
4443
 
 
4444
 
ROM_START( nightstr )
4445
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4446
 
        ROM_LOAD16_BYTE( "b91-45.bin", 0x00000, 0x20000, CRC(7ad63421) SHA1(4ecfc3c8cd691d878e5d9212ccff0d225bb06bd9) )
4447
 
        ROM_LOAD16_BYTE( "b91-44.bin", 0x00001, 0x20000, CRC(4bc30adf) SHA1(531d6ee9c8ff0d4ed07c15465ec7cb78cf976115) )
4448
 
        ROM_LOAD16_BYTE( "b91-43.bin", 0x40000, 0x20000, CRC(3e6f727a) SHA1(ae837131a4c0c9bc5deba155c2a5b7ae72f1d070) )
4449
 
        ROM_LOAD16_BYTE( "b91-47.bin", 0x40001, 0x20000, CRC(9f778e03) SHA1(37888c3f4c52b5a714678f0f1e39f6a4f19beef9) )
4450
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4451
 
        ROM_LOAD16_BYTE( "b91-39.bin", 0x00000, 0x20000, CRC(725b23ae) SHA1(d4b4335863d32b9a81f7461240e960bf345c9835) )
4452
 
        ROM_LOAD16_BYTE( "b91-40.bin", 0x00001, 0x20000, CRC(81fb364d) SHA1(f02733509039cde2c1de616e0a7969e31de1007a) )
4453
 
 
4454
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4455
 
        ROM_LOAD( "b91-41.bin",   0x00000, 0x04000, CRC(2694bb42) SHA1(ee770472655ac0ef55eeff04037457dbf6744e4f) )
4456
 
        ROM_CONTINUE(             0x10000, 0x1c000 )    /* banked stuff */
4457
 
 
4458
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4459
 
        ROM_LOAD( "b91-11.bin", 0x00000, 0x80000, CRC(fff8ce31) SHA1(fc729de92937a805d79379228d7a30041594c0df) )        /* SCR 8x8 */
4460
 
 
4461
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4462
 
        ROM_LOAD32_BYTE( "b91-04.bin", 0x000000, 0x080000, CRC(8ca1970d) SHA1(d8504298a38a95f1d8f3a2fba479ec75fe4d5de7) )       /* OBJ A 16x16 */
4463
 
        ROM_LOAD32_BYTE( "b91-03.bin", 0x000001, 0x080000, CRC(cd5fed39) SHA1(c16c67cc998889288e6e96535fd8e61afc93bc78) )
4464
 
        ROM_LOAD32_BYTE( "b91-02.bin", 0x000002, 0x080000, CRC(457c64b8) SHA1(443f13d56d53ca6a7750ec974da675bad3f34a38) )
4465
 
        ROM_LOAD32_BYTE( "b91-01.bin", 0x000003, 0x080000, CRC(3731d94f) SHA1(2978d3eb1f44595681e84f3aa8dc03d34a191455) )
4466
 
 
4467
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4468
 
        ROM_LOAD( "b91-10.bin", 0x00000, 0x80000, CRC(1d8f05b4) SHA1(04caa6a0887b90860c426a973dc3c3270e996818) )        /* ROD, road lines */
4469
 
 
4470
 
        ROM_REGION( 0x200000, "gfx4", 0 )
4471
 
        ROM_LOAD32_BYTE( "b91-08.bin", 0x000000, 0x080000, CRC(66f35c34) SHA1(9040390fa9c626a54076a9461e0e198f059e2cb1) )       /* OBJ B 16x16 */
4472
 
        ROM_LOAD32_BYTE( "b91-07.bin", 0x000001, 0x080000, CRC(4d8ec6cf) SHA1(2b7c10b459dc45313c4c90899a73c42c55b6c5c9) )
4473
 
        ROM_LOAD32_BYTE( "b91-06.bin", 0x000002, 0x080000, CRC(a34dc839) SHA1(e1fcb763dbc562a62e862297458bde66d691606c) )
4474
 
        ROM_LOAD32_BYTE( "b91-05.bin", 0x000003, 0x080000, CRC(5e72ac90) SHA1(c28c2718e873be5a254992ef8db256a394ca03ff) )
4475
 
 
4476
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4477
 
        ROM_LOAD16_WORD( "b91-09.bin", 0x00000, 0x80000, CRC(5f247ca2) SHA1(3b89e5d035f27f62a14c5c7a976c804f9bb5c04d) ) /* STY spritemap */
4478
 
 
4479
 
        ROM_REGION( 0x100000, "ymsnd", 0 )      /* ADPCM samples */
4480
 
        ROM_LOAD( "b91-13.bin", 0x00000, 0x80000, CRC(8c7bf0f5) SHA1(6e18531991225c24a9722c9fbe1af6ae6e9b866b) )
4481
 
        ROM_LOAD( "b91-12.bin", 0x80000, 0x80000, CRC(da77c7af) SHA1(49662a69b83739e2e0209cabff83995a951383f4) )
4482
 
 
4483
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4484
 
        ROM_LOAD( "b91-14.bin", 0x00000, 0x80000, CRC(6bc314d3) SHA1(ae3e9c6b853bab4ec81a6bd951b39a4bc883f456) )
4485
 
 
4486
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4487
 
        ROM_LOAD( "b91-26.bin", 0x00000, 0x0400,  CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
4488
 
        ROM_LOAD( "b91-27.bin", 0x00000, 0x0400,  CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
4489
 
        ROM_LOAD( "b91-28.bin", 0x00000, 0x0400,  CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
4490
 
        ROM_LOAD( "b91-29.bin", 0x00000, 0x2000,  CRC(ad685be8) SHA1(e7681d76fa216c124c54544393c4f6a08fd7d74d) )
4491
 
        ROM_LOAD( "b91-30.bin", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
4492
 
        ROM_LOAD( "b91-31.bin", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
4493
 
        ROM_LOAD( "b91-32.bin", 0x00000, 0x0100,  CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )        // road A/B internal priority
4494
 
        ROM_LOAD( "b91-33.bin", 0x00000, 0x0100,  CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) )        // road/sprite priority and palette select
4495
 
ROM_END
4496
 
 
4497
 
ROM_START( nightstru )
4498
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4499
 
        ROM_LOAD16_BYTE( "b91-45.bin", 0x00000, 0x20000, CRC(7ad63421) SHA1(4ecfc3c8cd691d878e5d9212ccff0d225bb06bd9) )
4500
 
        ROM_LOAD16_BYTE( "b91-44.bin", 0x00001, 0x20000, CRC(4bc30adf) SHA1(531d6ee9c8ff0d4ed07c15465ec7cb78cf976115) )
4501
 
        ROM_LOAD16_BYTE( "b91-43.bin", 0x40000, 0x20000, CRC(3e6f727a) SHA1(ae837131a4c0c9bc5deba155c2a5b7ae72f1d070) )
4502
 
        ROM_LOAD16_BYTE( "b91-46.bin", 0x40001, 0x20000, CRC(e870be95) SHA1(9a83df2c88a029bc40f5ce074143778ea555a2ba) )
4503
 
 
4504
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4505
 
        ROM_LOAD16_BYTE( "b91-39.bin", 0x00000, 0x20000, CRC(725b23ae) SHA1(d4b4335863d32b9a81f7461240e960bf345c9835) )
4506
 
        ROM_LOAD16_BYTE( "b91-40.bin", 0x00001, 0x20000, CRC(81fb364d) SHA1(f02733509039cde2c1de616e0a7969e31de1007a) )
4507
 
 
4508
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4509
 
        ROM_LOAD( "b91-41.bin",   0x00000, 0x04000, CRC(2694bb42) SHA1(ee770472655ac0ef55eeff04037457dbf6744e4f) )
4510
 
        ROM_CONTINUE(             0x10000, 0x1c000 )    /* banked stuff */
4511
 
 
4512
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4513
 
        ROM_LOAD( "b91-11.bin", 0x00000, 0x80000, CRC(fff8ce31) SHA1(fc729de92937a805d79379228d7a30041594c0df) )        /* SCR 8x8 */
4514
 
 
4515
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4516
 
        ROM_LOAD32_BYTE( "b91-04.bin", 0x000000, 0x080000, CRC(8ca1970d) SHA1(d8504298a38a95f1d8f3a2fba479ec75fe4d5de7) )       /* OBJ A 16x16 */
4517
 
        ROM_LOAD32_BYTE( "b91-03.bin", 0x000001, 0x080000, CRC(cd5fed39) SHA1(c16c67cc998889288e6e96535fd8e61afc93bc78) )
4518
 
        ROM_LOAD32_BYTE( "b91-02.bin", 0x000002, 0x080000, CRC(457c64b8) SHA1(443f13d56d53ca6a7750ec974da675bad3f34a38) )
4519
 
        ROM_LOAD32_BYTE( "b91-01.bin", 0x000003, 0x080000, CRC(3731d94f) SHA1(2978d3eb1f44595681e84f3aa8dc03d34a191455) )
4520
 
 
4521
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4522
 
        ROM_LOAD( "b91-10.bin", 0x00000, 0x80000, CRC(1d8f05b4) SHA1(04caa6a0887b90860c426a973dc3c3270e996818) )        /* ROD, road lines */
4523
 
 
4524
 
        ROM_REGION( 0x200000, "gfx4", 0 )
4525
 
        ROM_LOAD32_BYTE( "b91-08.bin", 0x000000, 0x080000, CRC(66f35c34) SHA1(9040390fa9c626a54076a9461e0e198f059e2cb1) )       /* OBJ B 16x16 */
4526
 
        ROM_LOAD32_BYTE( "b91-07.bin", 0x000001, 0x080000, CRC(4d8ec6cf) SHA1(2b7c10b459dc45313c4c90899a73c42c55b6c5c9) )
4527
 
        ROM_LOAD32_BYTE( "b91-06.bin", 0x000002, 0x080000, CRC(a34dc839) SHA1(e1fcb763dbc562a62e862297458bde66d691606c) )
4528
 
        ROM_LOAD32_BYTE( "b91-05.bin", 0x000003, 0x080000, CRC(5e72ac90) SHA1(c28c2718e873be5a254992ef8db256a394ca03ff) )
4529
 
 
4530
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4531
 
        ROM_LOAD16_WORD( "b91-09.bin", 0x00000, 0x80000, CRC(5f247ca2) SHA1(3b89e5d035f27f62a14c5c7a976c804f9bb5c04d) ) /* STY spritemap */
4532
 
 
4533
 
        ROM_REGION( 0x100000, "ymsnd", 0 )      /* ADPCM samples */
4534
 
        ROM_LOAD( "b91-13.bin", 0x00000, 0x80000, CRC(8c7bf0f5) SHA1(6e18531991225c24a9722c9fbe1af6ae6e9b866b) )
4535
 
        ROM_LOAD( "b91-12.bin", 0x80000, 0x80000, CRC(da77c7af) SHA1(49662a69b83739e2e0209cabff83995a951383f4) )
4536
 
 
4537
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4538
 
        ROM_LOAD( "b91-14.bin", 0x00000, 0x80000, CRC(6bc314d3) SHA1(ae3e9c6b853bab4ec81a6bd951b39a4bc883f456) )
4539
 
 
4540
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4541
 
        ROM_LOAD( "b91-26.bin", 0x00000, 0x0400,  CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
4542
 
        ROM_LOAD( "b91-27.bin", 0x00000, 0x0400,  CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
4543
 
        ROM_LOAD( "b91-28.bin", 0x00000, 0x0400,  CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
4544
 
        ROM_LOAD( "b91-29.bin", 0x00000, 0x2000,  CRC(ad685be8) SHA1(e7681d76fa216c124c54544393c4f6a08fd7d74d) )
4545
 
        ROM_LOAD( "b91-30.bin", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
4546
 
        ROM_LOAD( "b91-31.bin", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
4547
 
        ROM_LOAD( "b91-32.bin", 0x00000, 0x0100,  CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )        // road A/B internal priority
4548
 
        ROM_LOAD( "b91-33.bin", 0x00000, 0x0100,  CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) )        // road/sprite priority and palette select
4549
 
ROM_END
4550
 
 
4551
 
ROM_START( nightstrj )
4552
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4553
 
        ROM_LOAD16_BYTE( "b91-45.bin", 0x00000, 0x20000, CRC(7ad63421) SHA1(4ecfc3c8cd691d878e5d9212ccff0d225bb06bd9) )
4554
 
        ROM_LOAD16_BYTE( "b91-44.bin", 0x00001, 0x20000, CRC(4bc30adf) SHA1(531d6ee9c8ff0d4ed07c15465ec7cb78cf976115) )
4555
 
        ROM_LOAD16_BYTE( "b91-43.bin", 0x40000, 0x20000, CRC(3e6f727a) SHA1(ae837131a4c0c9bc5deba155c2a5b7ae72f1d070) )
4556
 
        ROM_LOAD16_BYTE( "b91-42.bin", 0x40001, 0x20000, CRC(7179ef2f) SHA1(4c45f0c4dfcf16665d7eca4fdcd6a959d9b6fc01) )
4557
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4558
 
        ROM_LOAD16_BYTE( "b91-39.bin", 0x00000, 0x20000, CRC(725b23ae) SHA1(d4b4335863d32b9a81f7461240e960bf345c9835) )
4559
 
        ROM_LOAD16_BYTE( "b91-40.bin", 0x00001, 0x20000, CRC(81fb364d) SHA1(f02733509039cde2c1de616e0a7969e31de1007a) )
4560
 
 
4561
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* Z80 sound cpu */
4562
 
        ROM_LOAD( "b91-41.bin",   0x00000, 0x04000, CRC(2694bb42) SHA1(ee770472655ac0ef55eeff04037457dbf6744e4f) )
4563
 
        ROM_CONTINUE(             0x10000, 0x1c000 )    /* banked stuff */
4564
 
 
4565
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4566
 
        ROM_LOAD( "b91-11.bin", 0x00000, 0x80000, CRC(fff8ce31) SHA1(fc729de92937a805d79379228d7a30041594c0df) )        /* SCR 8x8 */
4567
 
 
4568
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4569
 
        ROM_LOAD32_BYTE( "b91-04.bin", 0x000000, 0x080000, CRC(8ca1970d) SHA1(d8504298a38a95f1d8f3a2fba479ec75fe4d5de7) )       /* OBJ A 16x16 */
4570
 
        ROM_LOAD32_BYTE( "b91-03.bin", 0x000001, 0x080000, CRC(cd5fed39) SHA1(c16c67cc998889288e6e96535fd8e61afc93bc78) )
4571
 
        ROM_LOAD32_BYTE( "b91-02.bin", 0x000002, 0x080000, CRC(457c64b8) SHA1(443f13d56d53ca6a7750ec974da675bad3f34a38) )
4572
 
        ROM_LOAD32_BYTE( "b91-01.bin", 0x000003, 0x080000, CRC(3731d94f) SHA1(2978d3eb1f44595681e84f3aa8dc03d34a191455) )
4573
 
 
4574
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4575
 
        ROM_LOAD( "b91-10.bin", 0x00000, 0x80000, CRC(1d8f05b4) SHA1(04caa6a0887b90860c426a973dc3c3270e996818) )        /* ROD, road lines */
4576
 
 
4577
 
        ROM_REGION( 0x200000, "gfx4", 0 )
4578
 
        ROM_LOAD32_BYTE( "b91-08.bin", 0x000000, 0x080000, CRC(66f35c34) SHA1(9040390fa9c626a54076a9461e0e198f059e2cb1) )       /* OBJ B 16x16 */
4579
 
        ROM_LOAD32_BYTE( "b91-07.bin", 0x000001, 0x080000, CRC(4d8ec6cf) SHA1(2b7c10b459dc45313c4c90899a73c42c55b6c5c9) )
4580
 
        ROM_LOAD32_BYTE( "b91-06.bin", 0x000002, 0x080000, CRC(a34dc839) SHA1(e1fcb763dbc562a62e862297458bde66d691606c) )
4581
 
        ROM_LOAD32_BYTE( "b91-05.bin", 0x000003, 0x080000, CRC(5e72ac90) SHA1(c28c2718e873be5a254992ef8db256a394ca03ff) )
4582
 
 
4583
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4584
 
        ROM_LOAD16_WORD( "b91-09.bin", 0x00000, 0x80000, CRC(5f247ca2) SHA1(3b89e5d035f27f62a14c5c7a976c804f9bb5c04d) ) /* STY spritemap */
4585
 
 
4586
 
        ROM_REGION( 0x100000, "ymsnd", 0 )      /* ADPCM samples */
4587
 
        ROM_LOAD( "b91-13.bin", 0x00000, 0x80000, CRC(8c7bf0f5) SHA1(6e18531991225c24a9722c9fbe1af6ae6e9b866b) )
4588
 
        ROM_LOAD( "b91-12.bin", 0x80000, 0x80000, CRC(da77c7af) SHA1(49662a69b83739e2e0209cabff83995a951383f4) )
4589
 
 
4590
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4591
 
        ROM_LOAD( "b91-14.bin", 0x00000, 0x80000, CRC(6bc314d3) SHA1(ae3e9c6b853bab4ec81a6bd951b39a4bc883f456) )
4592
 
 
4593
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4594
 
        ROM_LOAD( "b91-26.bin", 0x00000, 0x0400,  CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
4595
 
        ROM_LOAD( "b91-27.bin", 0x00000, 0x0400,  CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
4596
 
        ROM_LOAD( "b91-28.bin", 0x00000, 0x0400,  CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
4597
 
        ROM_LOAD( "b91-29.bin", 0x00000, 0x2000,  CRC(ad685be8) SHA1(e7681d76fa216c124c54544393c4f6a08fd7d74d) )
4598
 
        ROM_LOAD( "b91-30.bin", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
4599
 
        ROM_LOAD( "b91-31.bin", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
4600
 
        ROM_LOAD( "b91-32.bin", 0x00000, 0x0100,  CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )        // road A/B internal priority
4601
 
        ROM_LOAD( "b91-33.bin", 0x00000, 0x0100,  CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) )        // road/sprite priority and palette select
4602
 
ROM_END
4603
 
 
4604
 
ROM_START( aquajack )
4605
 
        ROM_REGION( 0x40000, "maincpu", 0 )     /* 256K for 68000 code (CPU A) */
4606
 
        ROM_LOAD16_BYTE( "b77-22.rom", 0x00000, 0x20000, CRC(67400dde) SHA1(1e47c4fbd4449f2d973ac962ad58f22502d59198) )
4607
 
        ROM_LOAD16_BYTE( "34.17",      0x00001, 0x20000, CRC(cd4d0969) SHA1(d610e7847a09f1ca892007440fa1b431bb0c41d2) )
4608
 
 
4609
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4610
 
        ROM_LOAD16_BYTE( "b77-24.rom", 0x00000, 0x20000, CRC(95e643ed) SHA1(d47ddd50c744f33b3cbd5ef90880ca577977f5ca) )
4611
 
        ROM_LOAD16_BYTE( "b77-23.rom", 0x00001, 0x20000, CRC(395a7d1c) SHA1(22cbbabb07f43e72a6139b6b9d68d6c1146d727f) )
4612
 
 
4613
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* sound cpu */
4614
 
        ROM_LOAD( "b77-20.rom",   0x00000, 0x04000, CRC(84ba54b7) SHA1(84e51c1a6a5b4eb2a65f4a6d9d54037323348f50) )
4615
 
        ROM_CONTINUE(             0x10000, 0x0c000 )    /* banked stuff */
4616
 
 
4617
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4618
 
        ROM_LOAD( "b77-05.rom", 0x00000, 0x80000, CRC(7238f0ff) SHA1(95e2d6815e99392358bbeabf1afbf237673f2e24) )        /* SCR 8x8 */
4619
 
 
4620
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4621
 
        ROM_LOAD32_BYTE( "b77-04.rom", 0x000000, 0x80000, CRC(bed0be6c) SHA1(2b11824f741b7f6755bd78f594af19b63a29092f) )        /* OBJ 16x8 */
4622
 
        ROM_LOAD32_BYTE( "b77-03.rom", 0x000001, 0x80000, CRC(9a3030a7) SHA1(7b60fd066eccd04d9fcc131d9d06f151334ccab2) )
4623
 
        ROM_LOAD32_BYTE( "b77-02.rom", 0x000002, 0x80000, CRC(daea0d2e) SHA1(10640651824234a589838e8f017964b79de79cb4) )
4624
 
        ROM_LOAD32_BYTE( "b77-01.rom", 0x000003, 0x80000, CRC(cdab000d) SHA1(d83ee7f1dc17ab113bac38d0d062bb1519ff69f7) )
4625
 
 
4626
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4627
 
        ROM_LOAD( "b77-07.rom", 0x000000, 0x80000, CRC(7db1fc5e) SHA1(fbc88c2179b881d34d3a33d0a901d8da3445f9a8) )       /* ROD, road lines */
4628
 
 
4629
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4630
 
        ROM_LOAD16_WORD( "b77-06.rom", 0x00000, 0x80000, CRC(ce2aed00) SHA1(9c992717914b13eb271122ecf7cca3634b013e56) ) /* STY spritemap */
4631
 
 
4632
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
4633
 
        ROM_LOAD( "b77-09.rom", 0x00000, 0x80000, CRC(948e5ad9) SHA1(35cd6706470f01b5a244817d10fc65c075ff29b1) )
4634
 
 
4635
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4636
 
        ROM_LOAD( "b77-08.rom", 0x00000, 0x80000, CRC(119b9485) SHA1(2c9cd90be20df769e09016abccf59c8f119da286) )
4637
 
 
4638
 
        ROM_REGION( 0x00200, "user2", 0 )       /* unused PROMs */
4639
 
        ROM_LOAD( "b77-17.bin", 0x00000, 0x0100,  CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )        // road A/B internal priority
4640
 
        ROM_LOAD( "b77-18.bin", 0x00100, 0x0100,  CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) )        // road/sprite priority and palette select
4641
 
 
4642
 
/*  (no unused roms in my set, there should be an 0x10000 one like the rest) */
4643
 
ROM_END
4644
 
 
4645
 
ROM_START( aquajackj )
4646
 
        ROM_REGION( 0x40000, "maincpu", 0 )     /* 256K for 68000 code (CPU A) */
4647
 
        ROM_LOAD16_BYTE( "b77-22.rom", 0x00000, 0x20000, CRC(67400dde) SHA1(1e47c4fbd4449f2d973ac962ad58f22502d59198) )
4648
 
        ROM_LOAD16_BYTE( "b77-21.rom", 0x00001, 0x20000, CRC(23436845) SHA1(e62111c902453e1b655c7f25bcea938a6f13aed2) )
4649
 
 
4650
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4651
 
        ROM_LOAD16_BYTE( "b77-24.rom", 0x00000, 0x20000, CRC(95e643ed) SHA1(d47ddd50c744f33b3cbd5ef90880ca577977f5ca) )
4652
 
        ROM_LOAD16_BYTE( "b77-23.rom", 0x00001, 0x20000, CRC(395a7d1c) SHA1(22cbbabb07f43e72a6139b6b9d68d6c1146d727f) )
4653
 
 
4654
 
        ROM_REGION( 0x1c000, "audiocpu", 0 )    /* sound cpu */
4655
 
        ROM_LOAD( "b77-20.rom",   0x00000, 0x04000, CRC(84ba54b7) SHA1(84e51c1a6a5b4eb2a65f4a6d9d54037323348f50) )
4656
 
        ROM_CONTINUE(             0x10000, 0x0c000 )    /* banked stuff */
4657
 
 
4658
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4659
 
        ROM_LOAD( "b77-05.rom", 0x00000, 0x80000, CRC(7238f0ff) SHA1(95e2d6815e99392358bbeabf1afbf237673f2e24) )        /* SCR 8x8 */
4660
 
 
4661
 
        ROM_REGION( 0x200000, "gfx2", 0 )
4662
 
        ROM_LOAD32_BYTE( "b77-04.rom", 0x000000, 0x80000, CRC(bed0be6c) SHA1(2b11824f741b7f6755bd78f594af19b63a29092f) )        /* OBJ 16x8 */
4663
 
        ROM_LOAD32_BYTE( "b77-03.rom", 0x000001, 0x80000, CRC(9a3030a7) SHA1(7b60fd066eccd04d9fcc131d9d06f151334ccab2) )
4664
 
        ROM_LOAD32_BYTE( "b77-02.rom", 0x000002, 0x80000, CRC(daea0d2e) SHA1(10640651824234a589838e8f017964b79de79cb4) )
4665
 
        ROM_LOAD32_BYTE( "b77-01.rom", 0x000003, 0x80000, CRC(cdab000d) SHA1(d83ee7f1dc17ab113bac38d0d062bb1519ff69f7) )
4666
 
 
4667
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4668
 
        ROM_LOAD( "b77-07.rom", 0x000000, 0x80000, CRC(7db1fc5e) SHA1(fbc88c2179b881d34d3a33d0a901d8da3445f9a8) )       /* ROD, road lines */
4669
 
 
4670
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4671
 
        ROM_LOAD16_WORD( "b77-06.rom", 0x00000, 0x80000, CRC(ce2aed00) SHA1(9c992717914b13eb271122ecf7cca3634b013e56) ) /* STY spritemap */
4672
 
 
4673
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
4674
 
        ROM_LOAD( "b77-09.rom", 0x00000, 0x80000, CRC(948e5ad9) SHA1(35cd6706470f01b5a244817d10fc65c075ff29b1) )
4675
 
 
4676
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4677
 
        ROM_LOAD( "b77-08.rom", 0x00000, 0x80000, CRC(119b9485) SHA1(2c9cd90be20df769e09016abccf59c8f119da286) )
4678
 
 
4679
 
        ROM_REGION( 0x00200, "user2", 0 )       /* unused PROMs */
4680
 
        ROM_LOAD( "b77-17.bin", 0x00000, 0x0100,  CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )        // road A/B internal priority
4681
 
        ROM_LOAD( "b77-18.bin", 0x00100, 0x0100,  CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) )        // road/sprite priority and palette select
4682
 
 
4683
 
/*  (no unused roms in my set, there should be an 0x10000 one like the rest) */
4684
 
ROM_END
4685
 
 
4686
 
ROM_START( spacegun )
4687
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4688
 
        ROM_LOAD16_BYTE( "c57-18.62", 0x00000, 0x20000, CRC(19d7d52e) SHA1(4361929a43f911864ece4dcd06995ea6b6156c59) )
4689
 
        ROM_LOAD16_BYTE( "c57-20.74", 0x00001, 0x20000, CRC(2e58253f) SHA1(36fb52ce1c6cf9f537cf500ba330b167871969b9) )
4690
 
        ROM_LOAD16_BYTE( "c57-17.59", 0x40000, 0x20000, CRC(e197edb8) SHA1(2ffd000aac1825ecd564c273f0cc055710ba4050) )
4691
 
        ROM_LOAD16_BYTE( "c57-22.73", 0x40001, 0x20000, CRC(5855fde3) SHA1(fcd6d7ed16b61b9023596f0efb7f6971060a2e0b) )
4692
 
 
4693
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4694
 
        ROM_LOAD16_BYTE( "c57-15.27", 0x00000, 0x20000, CRC(b36eb8f1) SHA1(e6e9fb844fd9acc6ee8a515a964d5df8de088a8c) )
4695
 
        ROM_LOAD16_BYTE( "c57-16.29", 0x00001, 0x20000, CRC(bfb5d1e7) SHA1(cbf22e9043aac54e08c5da74d973da27844170ef) )
4696
 
 
4697
 
        ROM_REGION( 0x80000, "gfx1", 0 )
4698
 
        ROM_LOAD( "c57-06.52", 0x00000, 0x80000, CRC(4ebadd5b) SHA1(d32a52b4d7dd19b0fa2551f93ce3d5cbcf2bc158) )         /* SCR 8x8 */
4699
 
 
4700
 
        ROM_REGION( 0x400000, "gfx2", 0 )
4701
 
        ROM_LOAD32_BYTE( "c57-01.25", 0x000000, 0x100000, CRC(f901b04e) SHA1(24bac1c3a0c585966a7cbeeebd9b2dd3acf45a67) )        /* OBJ 16x8 */
4702
 
        ROM_LOAD32_BYTE( "c57-02.24", 0x000001, 0x100000, CRC(21ee4633) SHA1(ddb948b165127c8fb1a988b5a0f17f92117f1b66) )
4703
 
        ROM_LOAD32_BYTE( "c57-03.12", 0x000002, 0x100000, CRC(fafca86f) SHA1(dc6ea78f0deafef632d8bd3677ec74e797dc69a2) )
4704
 
        ROM_LOAD32_BYTE( "c57-04.11", 0x000003, 0x100000, CRC(a9787090) SHA1(8c05c4c0d14a9f60defb37225da37aadf946c563) )
4705
 
 
4706
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4707
 
        ROM_LOAD16_WORD( "c57-05.36", 0x00000, 0x80000, CRC(6a70eb2e) SHA1(307dd876af65204e86e094b4015ffb4a655824f8) )  /* STY spritemap */
4708
 
 
4709
 
        ROM_REGION( 0x80000, "ymsnd", 0 )       /* ADPCM samples */
4710
 
        ROM_LOAD( "c57-07.76", 0x00000, 0x80000, CRC(ad653dc1) SHA1(2ec440f793b0a686233fbe61c9462f8365c42b65) )
4711
 
 
4712
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4713
 
        ROM_LOAD( "c57-08.75", 0x00000, 0x80000, CRC(22593550) SHA1(e802e947e6947d146e1b57dbff7ac021e19e7b2b) )
4714
 
 
4715
 
        ROM_REGION( 0x0c00, "plds", 0 )
4716
 
        ROM_LOAD( "pal16l8-c57-09.9",  0x0000, 0x0104, CRC(ea93161e) SHA1(c83c6ce3696b2754abb861d41a8d587a8e82aa1e) )
4717
 
        ROM_LOAD( "pal20l8-c57-10.47", 0x0200, 0x0144, CRC(3ee56888) SHA1(030efb0903d919686748b1ff86a327990832d0fa) )
4718
 
        ROM_LOAD( "pal16l8-c57-11.48", 0x0400, 0x0104, CRC(6bb4372e) SHA1(513bf6f032a9043303b8660c106753ae214d28ff) )
4719
 
        ROM_LOAD( "pal20l8-c57-12.61", 0x0600, 0x0144, CRC(debddb13) SHA1(47be25b3bb157d37b9813737544a56a2090f85ba) )
4720
 
        ROM_LOAD( "pal16l8-c57-13.72", 0x0800, 0x0104, CRC(1369f23e) SHA1(bbc960cfc3edd07e89134e1b876aa7a6c0cba5ac) )
4721
 
        ROM_LOAD( "pal16r4-c57-14.96", 0x0a00, 0x0104, CRC(75e1bf61) SHA1(e8358329a78ec0ab87641b2ecaec0b2b67c6ca30) )
4722
 
ROM_END
4723
 
 
4724
 
ROM_START( dblaxle )
4725
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4726
 
        ROM_LOAD16_BYTE( "c78-41-1.2",  0x00000, 0x20000, CRC(cf297fe4) SHA1(4875de63e8336062c27d83b55938bcb3d08a24a3) )
4727
 
        ROM_LOAD16_BYTE( "c78-43-1.4",  0x00001, 0x20000, CRC(38a8bad6) SHA1(50977a6a364893549d2f7899bbc4e0c67086697e) )
4728
 
        ROM_LOAD16_BYTE( "c78-42-1.3",  0x40000, 0x20000, CRC(4124ab2b) SHA1(96c3b6e01a1823259b3d7ca43e0a8631bfe33d0e) )
4729
 
        ROM_LOAD16_BYTE( "c78-44-1.5",  0x40001, 0x20000, CRC(50a55b6e) SHA1(62a72d33030d50c157a5cf05f6bdc1b02c9b9ff1) )
4730
 
 
4731
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4732
 
        ROM_LOAD16_BYTE( "c78-30-1.35", 0x00000, 0x20000, CRC(026aac18) SHA1(f50873982b4dc0fc822060f4c20c635efdd75d7e) )
4733
 
        ROM_LOAD16_BYTE( "c78-31-1.36", 0x00001, 0x20000, CRC(67ce23e8) SHA1(983e998a79e3d4376b005c92ded050be236d37cc) )
4734
 
 
4735
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* sound cpu */
4736
 
        ROM_LOAD    ( "c78-34.c42", 0x00000, 0x04000, CRC(f2186943) SHA1(2e9aed39fddf3aa1db7e20f8a709b6b82cc3e7df) )
4737
 
        ROM_CONTINUE(         0x10000, 0x1c000 )        /* banked stuff */
4738
 
 
4739
 
        ROM_REGION( 0x100000, "gfx1", 0 )
4740
 
        ROM_LOAD16_BYTE( "c78-10.12", 0x00000, 0x80000, CRC(44b1897c) SHA1(7ad179db6d7dfeb139ea13cb4a231f99d177f2b1) )  /* SCR 8x8 */
4741
 
        ROM_LOAD16_BYTE( "c78-11.11", 0x00001, 0x80000, CRC(7db3d4a3) SHA1(fc3c44ed36b212688a5bd8dc61321a994578258e) )
4742
 
 
4743
 
        ROM_REGION( 0x400000, "gfx2", 0 )
4744
 
        ROM_LOAD32_BYTE( "c78-08.25", 0x000000, 0x100000, CRC(6c725211) SHA1(3c1765f44fe57b496d305e994516674f71bd4c3c) )        /* OBJ 16x8 */
4745
 
        ROM_LOAD32_BYTE( "c78-07.33", 0x000001, 0x100000, CRC(9da00d5b) SHA1(f6b664c7495b936ce1b99852da45ec92cb37062a) )
4746
 
        ROM_LOAD32_BYTE( "c78-06.23", 0x000002, 0x100000, CRC(8309e91b) SHA1(3f27557bc82bf42cc77e3c7e363b51a0b119144d) )
4747
 
        ROM_LOAD32_BYTE( "c78-05.31", 0x000003, 0x100000, CRC(90001f68) SHA1(5c08dfe6a2e12e6ca84035815563f38fc2c2c029) )
4748
 
//  ROMX_LOAD      ( "c78-05l.1", 0x000003, 0x080000, CRC(f24bf972) , ROM_SKIP(7) )
4749
 
//  ROMX_LOAD      ( "c78-05h.2", 0x000007, 0x080000, CRC(c01039b5) , ROM_SKIP(7) )
4750
 
 
4751
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4752
 
        ROM_LOAD( "c78-09.12", 0x000000, 0x80000, CRC(0dbde6f5) SHA1(4049271e3738b54e0c56d191889b1aea5664d49f) )        /* ROD, road lines */
4753
 
 
4754
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4755
 
        ROM_LOAD16_WORD( "c78-04.3", 0x00000, 0x80000, CRC(cc1aa37c) SHA1(cfa2eb338dc81c98c637c2f0b14d2baea8b115f5) )   /* STY spritemap */
4756
 
 
4757
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4758
 
        ROM_LOAD( "c78-12.33", 0x000000, 0x100000, CRC(b0267404) SHA1(ffd337336ff9b096e3725f733364762f6e6d3fab) )
4759
 
        ROM_LOAD( "c78-13.46", 0x100000, 0x080000, CRC(1b363aa2) SHA1(0aae3988024654e98cc0c784307b1c329c8f0783) )
4760
 
 
4761
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4762
 
        ROM_LOAD( "c78-14.31",  0x00000, 0x80000, CRC(9cad4dfb) SHA1(9187ef827a3f1bc9233d0e45e72c72c0956c5912) )
4763
 
 
4764
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4765
 
        ROM_LOAD( "c78-25.15",  0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )        // 98% compression
4766
 
        ROM_LOAD( "c78-15.22",  0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )        // road A/B internal priority
4767
 
        ROM_LOAD( "c78-21.74",  0x00000, 0x00100, CRC(2926bf27) SHA1(bfbbe6c71bb29a05959f3de0d940816139f9ebfe) )        // road/sprite priority and palette select
4768
 
        ROM_LOAD( "c84-10.16",  0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4769
 
        ROM_LOAD( "c84-11.17",  0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4770
 
ROM_END
4771
 
 
4772
 
ROM_START( pwheelsj )
4773
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4774
 
        ROM_LOAD16_BYTE( "c78-26-2.2",  0x00000, 0x20000, CRC(25c8eb2e) SHA1(a526b886c76a19c9ce1abc25cf433574564605a3) )
4775
 
        ROM_LOAD16_BYTE( "c78-28-2.4",  0x00001, 0x20000, CRC(a9500eb1) SHA1(ad300add3439515512003703df46e2f9317f2ee8) )
4776
 
        ROM_LOAD16_BYTE( "c78-27-2.3",  0x40000, 0x20000, CRC(08d2cffb) SHA1(a4f117a15499c0df85bf8036f00871caa6723082) )
4777
 
        ROM_LOAD16_BYTE( "c78-29-2.5",  0x40001, 0x20000, CRC(e1608004) SHA1(c4863264074de09ab38e7b73214f4271728e30aa) )
4778
 
 
4779
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4780
 
        ROM_LOAD16_BYTE( "c78-30-1.35", 0x00000, 0x20000, CRC(026aac18) SHA1(f50873982b4dc0fc822060f4c20c635efdd75d7e) )
4781
 
        ROM_LOAD16_BYTE( "c78-31-1.36", 0x00001, 0x20000, CRC(67ce23e8) SHA1(983e998a79e3d4376b005c92ded050be236d37cc) )
4782
 
 
4783
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* sound cpu */
4784
 
        ROM_LOAD    ( "c78-32.42",    0x00000, 0x04000, CRC(1494199c) SHA1(f6b6ccaadbc5440f9342750a79ebc00c019ef355) )
4785
 
        ROM_CONTINUE(                 0x10000, 0x1c000 )        /* banked stuff */
4786
 
 
4787
 
        ROM_REGION( 0x100000, "gfx1", 0 )
4788
 
        ROM_LOAD16_BYTE( "c78-10.12", 0x00000, 0x80000, CRC(44b1897c) SHA1(7ad179db6d7dfeb139ea13cb4a231f99d177f2b1) )  /* SCR 8x8 */
4789
 
        ROM_LOAD16_BYTE( "c78-11.11", 0x00001, 0x80000, CRC(7db3d4a3) SHA1(fc3c44ed36b212688a5bd8dc61321a994578258e) )
4790
 
 
4791
 
        ROM_REGION( 0x400000, "gfx2", 0 )
4792
 
        ROM_LOAD32_BYTE( "c78-08.25", 0x000000, 0x100000, CRC(6c725211) SHA1(3c1765f44fe57b496d305e994516674f71bd4c3c) )        /* OBJ 16x8 */
4793
 
        ROM_LOAD32_BYTE( "c78-07.33", 0x000001, 0x100000, CRC(9da00d5b) SHA1(f6b664c7495b936ce1b99852da45ec92cb37062a) )
4794
 
        ROM_LOAD32_BYTE( "c78-06.23", 0x000002, 0x100000, CRC(8309e91b) SHA1(3f27557bc82bf42cc77e3c7e363b51a0b119144d) )
4795
 
        ROM_LOAD32_BYTE( "c78-05.31", 0x000003, 0x100000, CRC(90001f68) SHA1(5c08dfe6a2e12e6ca84035815563f38fc2c2c029) )
4796
 
 
4797
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4798
 
        ROM_LOAD( "c78-09.12", 0x000000, 0x80000, CRC(0dbde6f5) SHA1(4049271e3738b54e0c56d191889b1aea5664d49f) )        /* ROD, road lines */
4799
 
 
4800
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4801
 
        ROM_LOAD16_WORD( "c78-04.3", 0x00000, 0x80000, CRC(cc1aa37c) SHA1(cfa2eb338dc81c98c637c2f0b14d2baea8b115f5) )   /* STY spritemap */
4802
 
 
4803
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4804
 
        ROM_LOAD( "c78-01.33", 0x000000, 0x100000, CRC(90ff1e72) SHA1(6115e3683bc701922953b644427d1ddb471bf037) )
4805
 
        ROM_LOAD( "c78-02.46", 0x100000, 0x080000, CRC(8882d2b7) SHA1(4d3abac1e50cd5ae79a562f430563032a11e8390) )
4806
 
 
4807
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4808
 
        ROM_LOAD( "c78-03.31",  0x00000, 0x80000, CRC(9b926a2f) SHA1(cc2d612441a5cc587e097bb8380b56753b9a4f7c) )
4809
 
 
4810
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4811
 
        ROM_LOAD( "c78-25.15",  0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )        // 98% compression
4812
 
        ROM_LOAD( "c78-15.22",  0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) )        // road A/B internal priority
4813
 
        ROM_LOAD( "c78-21.74",  0x00000, 0x00100, CRC(2926bf27) SHA1(bfbbe6c71bb29a05959f3de0d940816139f9ebfe) )        // road/sprite priority and palette select
4814
 
        ROM_LOAD( "c84-10.16",  0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4815
 
        ROM_LOAD( "c84-11.17",  0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4816
 
ROM_END
4817
 
 
4818
 
ROM_START( racingb )
4819
 
        ROM_REGION( 0x80000, "maincpu", 0 )     /* 512K for 68000 code (CPU A) */
4820
 
        ROM_LOAD16_BYTE( "c84-110.3",  0x00000, 0x20000, CRC(119a8d3b) SHA1(bcda256730c4427c25aab17d2178814289361a78) )
4821
 
        ROM_LOAD16_BYTE( "c84-111.5",  0x00001, 0x20000, CRC(1f095692) SHA1(6a36f3a62de9fc24724e68a23de782bc21c01734) )
4822
 
        ROM_LOAD16_BYTE( "c84-104.2",  0x40000, 0x20000, CRC(37077fc6) SHA1(3498db29936f806e1cb624031940fda2e7e601fe) )
4823
 
        ROM_LOAD16_BYTE( "c84-103.4",  0x40001, 0x20000, CRC(4ca1d1c2) SHA1(cd526db226362b7d4429a29392dee40bcc519556) )
4824
 
 
4825
 
        ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4826
 
        ROM_LOAD16_BYTE( "c84-99.35",  0x00000, 0x20000, CRC(24778f40) SHA1(5a588be1774af4e179bdc0e16cd118e74bb9f6ff) )
4827
 
        ROM_LOAD16_BYTE( "c84-100.36", 0x00001, 0x20000, CRC(2b99258a) SHA1(ff2da0f3a0391f55e20655554d72b82cc29fbc87) )
4828
 
 
4829
 
        ROM_REGION( 0x2c000, "audiocpu", 0 )    /* sound cpu */
4830
 
        ROM_LOAD    ( "c84-101.42",    0x00000, 0x04000, CRC(9322106e) SHA1(6c42ee7b9c76483fec2e397ec2737c030a082267) )
4831
 
        ROM_CONTINUE(                  0x10000, 0x1c000 )       /* banked stuff */
4832
 
 
4833
 
        ROM_REGION( 0x100000, "gfx1", 0 )
4834
 
        ROM_LOAD16_BYTE( "c84-90.12",  0x00000, 0x80000, CRC(83ee0e8d) SHA1(a3b6067913f15656e1f74b30b4c0364a50d1846a) ) /* SCR 8x8 */
4835
 
        ROM_LOAD16_BYTE( "c84-89.11",  0x00001, 0x80000, CRC(aae43c87) SHA1(cfc05553f7a18132127ae5f1d181fcc582432b56) )
4836
 
 
4837
 
        ROM_REGION( 0x400000, "gfx2", 0 )
4838
 
        ROM_LOAD32_BYTE( "c84-92.25", 0x000000, 0x100000, CRC(56e8fd55) SHA1(852446d4069a446dd9b88b29e461b83b8d626b2c) )        /* OBJ 16x8 */
4839
 
        ROM_LOAD32_BYTE( "c84-94.33", 0x000001, 0x100000, CRC(6117c19b) SHA1(6b9587fb864a325aec17a73046ba5b7be08a8dd2) )
4840
 
        ROM_LOAD32_BYTE( "c84-91.23", 0x000002, 0x100000, CRC(b1b0146c) SHA1(d01f08085d644b17445d904a4684c00f133f7bae) )
4841
 
        ROM_LOAD32_BYTE( "c84-93.31", 0x000003, 0x100000, CRC(8837bb4e) SHA1(c41fff198a3c87c6e1672174ede589434374c1b3) )
4842
 
 
4843
 
        ROM_REGION( 0x80000, "gfx3", 0 )        /* don't dispose */
4844
 
        ROM_LOAD( "c84-84.12", 0x000000, 0x80000, CRC(34dc486b) SHA1(2f503be67adbc5293f2d1218c838416fd931796c) )        /* ROD, road lines */
4845
 
 
4846
 
        ROM_REGION16_LE( 0x80000, "user1", 0 )
4847
 
        ROM_LOAD16_WORD( "c84-88.3", 0x00000, 0x80000, CRC(edd1f49c) SHA1(f11c419dcc7da03ef1f1665c1344c27ff35fe867) )   /* STY spritemap */
4848
 
 
4849
 
        ROM_REGION( 0x180000, "ymsnd", 0 )      /* ADPCM samples */
4850
 
        ROM_LOAD( "c84-86.33", 0x000000, 0x100000, CRC(98d9771e) SHA1(0cbb6b08e1fa5e632309962d7ad7dca448ef4d78) )
4851
 
        ROM_LOAD( "c84-87.46", 0x100000, 0x080000, CRC(9c1dd80c) SHA1(e1bae4e02fd94413fac4683e39e530f9d508d658) )
4852
 
 
4853
 
        ROM_REGION( 0x80000, "ymsnd.deltat", 0 )        /* Delta-T samples */
4854
 
        ROM_LOAD( "c84-85.31",  0x00000, 0x80000, CRC(24cd838d) SHA1(18139f7df191ff2d005d76b3a85a6fafb630ea42) )
4855
 
 
4856
 
        ROM_REGION( 0x10000, "user2", 0 )       /* unused ROMs */
4857
 
        ROM_LOAD( "c84-19.15",  0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4858
 
        ROM_LOAD( "c84-07.22",  0x00000, 0x00100, CRC(95a15c77) SHA1(10246020776cf23c0659f41db66ae2c86db09ed2) )        // road A/B internal priority? bad dump?
4859
 
        ROM_LOAD( "c84-09.74",  0x00000, 0x00100, CRC(71217472) SHA1(69352cd484b4d5b41b37697aea24107dff8f1b24) )        // road/sprite priority and palette select?
4860
 
        ROM_LOAD( "c84-10.16",  0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4861
 
        ROM_LOAD( "c84-11.17",  0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4862
 
ROM_END
4863
 
 
4864
 
 
4865
 
static DRIVER_INIT( taitoz )
4866
 
{
4867
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
4868
 
        state->m_chasehq_lamps = 0;
4869
 
        state->m_dblaxle_vibration = 0;
4870
 
}
4871
 
 
4872
 
static DRIVER_INIT( dblaxle )
4873
 
{
4874
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
4875
 
        state->m_chasehq_lamps = 0;
4876
 
        state->m_dblaxle_vibration = 1;
4877
 
}
4878
 
 
4879
 
static DRIVER_INIT( bshark )
4880
 
{
4881
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
4882
 
        state->m_chasehq_lamps = 0;
4883
 
        state->m_dblaxle_vibration = 0;
4884
 
        state->m_eep_latch = 0;
4885
 
 
4886
 
        machine.save().register_postload(save_prepost_delegate(FUNC(parse_control), &machine));
4887
 
        state->save_item(NAME(state->m_eep_latch));
4888
 
}
4889
 
 
4890
 
static DRIVER_INIT( chasehq )
4891
 
{
4892
 
        taitoz_state *state = machine.driver_data<taitoz_state>();
4893
 
        state->m_chasehq_lamps = 1;
4894
 
        state->m_dblaxle_vibration = 0;
4895
 
}
4896
 
 
4897
 
 
4898
 
 
4899
 
GAMEL(1987, contcirc,   0,        contcirc, contcirc, taitoz,   ROT0,               "Taito Corporation Japan",   "Continental Circus (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4900
 
GAMEL(1987, contcircu,  contcirc, contcirc, contcrcu, taitoz,   ROT0,               "Taito America Corporation", "Continental Circus (US set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4901
 
GAMEL(1987, contcircua, contcirc, contcirc, contcrcu, taitoz,   ROT0,               "Taito America Corporation", "Continental Circus (US set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4902
 
GAMEL(1988, chasehq,    0,        chasehq,  chasehq,  chasehq,  ROT0,               "Taito Corporation Japan",   "Chase H.Q. (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4903
 
GAMEL(1988, chasehqj,   chasehq,  chasehq,  chasehqj, chasehq,  ROT0,               "Taito Corporation",         "Chase H.Q. (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4904
 
GAMEL(1988, chasehqu,   chasehq,  chasehq,  chasehq,  chasehq,  ROT0,               "Taito America Corporation", "Chase H.Q. (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4905
 
GAME( 1988, enforce,    0,        enforce,  enforce,  taitoz,   ROT0,               "Taito Corporation",         "Enforce (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4906
 
GAME( 1989, bshark,     0,        bshark,   bshark,   bshark,   ORIENTATION_FLIP_X, "Taito America Corporation", "Battle Shark (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4907
 
GAME( 1989, bsharkj,    bshark,   bshark,   bsharkj,  bshark,   ORIENTATION_FLIP_X, "Taito Corporation",         "Battle Shark (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4908
 
GAMEL(1989, sci,        0,        sci,      sci,      taitoz,   ROT0,               "Taito Corporation Japan",   "Special Criminal Investigation (World set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4909
 
GAMEL(1989, scia,       sci,      sci,      sci,      taitoz,   ROT0,               "Taito Corporation Japan",   "Special Criminal Investigation (World set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4910
 
GAMEL(1989, scij,       sci,      sci,      scij,     taitoz,   ROT0,               "Taito Corporation",         "Special Criminal Investigation (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4911
 
GAMEL(1989, sciu,       sci,      sci,      sciu,     taitoz,   ROT0,               "Taito America Corporation", "Special Criminal Investigation (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4912
 
GAMEL(1991, scin,       sci,      sci,      sci,      taitoz,   ROT0,               "hack (Negro Torino)",       "Super Special Criminal Investigation (Negro Torino hack)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4913
 
GAME( 1989, nightstr,   0,        nightstr, nightstr, taitoz,   ROT0,               "Taito Corporation Japan",   "Night Striker (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4914
 
GAME( 1989, nightstrj,  nightstr, nightstr, nghtstrj, taitoz,   ROT0,               "Taito Corporation",         "Night Striker (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4915
 
GAME( 1989, nightstru,  nightstr, nightstr, nghtstru, taitoz,   ROT0,               "Taito America Corporation", "Night Striker (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4916
 
GAME( 1990, aquajack,   0,        aquajack, aquajack, taitoz,   ROT0,               "Taito Corporation Japan",   "Aqua Jack (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4917
 
GAME( 1990, aquajackj,  aquajack, aquajack, aquajckj, taitoz,   ROT0,               "Taito Corporation",         "Aqua Jack (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4918
 
GAME( 1990, spacegun,   0,        spacegun, spacegun, bshark,   ORIENTATION_FLIP_X, "Taito Corporation Japan",   "Space Gun (World)", GAME_SUPPORTS_SAVE )
4919
 
GAMEL(1991, dblaxle,    0,        dblaxle,  dblaxle,  dblaxle,  ROT0,               "Taito America Corporation", "Double Axle (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
4920
 
GAME( 1991, pwheelsj,   dblaxle,  dblaxle,  pwheelsj, dblaxle,  ROT0,               "Taito Corporation",         "Power Wheels (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4921
 
GAME( 1991, racingb,    0,        racingb,  dblaxle,  dblaxle,  ROT0,               "Taito Corporation Japan",   "Racing Beat (World)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )