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