1
/***************************************************************************
3
Taito Z System [twin 68K with optional Z80]
4
-------------------------------------------
8
(this is based on the F2 driver by Bryan McPhail, Brad Oliver, Andrew Prime,
9
Nicola Salmoria. Thanks to Richard Bush and the Raine team, whose open
10
source was very helpful in many areas particularly the sprites.)
14
05-01-04 Added Racing Beat
15
01-26-02 Added Enforce
16
10-17-01 TC0150ROD support improved (e.g. Aquajack)
17
09-01-01 Preliminary TC0150ROD support
18
08-28-01 Fixed uncentered steer inputs, Nightstr controls
19
05-27-01 Inputs through taitoic ioc routines, contcirc subwoofer filter
20
04-12-01 Centered steering AD inputs, added digital steer
21
02-18-01 Added Spacegun gunsights (Insideoutboy)
26
The Taito Z system has a number of similarities with the Taito F2 system,
27
and uses some of the same custom Taito components.
29
TaitoZ supports 5 separate layers of graphics - one 64x64 tiled scrolling
30
background plane of 8x8 tiles, a similar foreground plane, another optional
31
plane used for drawing a road (e.g. Chasehq), a sprite plane [with varying
32
properties], and a text plane with character definitions held in ram.
34
(Double Axle has four rather than two background planes, and they contain
35
32x32 16x16 tiles. This is because it uses a TC0480SCP rather than the
36
older TC0100SCN tilemap generator used in previous Taito Z games. The
37
hardware for Taito's Super Chase was a further development of this, with a
38
68020 for main CPU and Ensoniq sound - standard features of Taito's F3
39
system. Taito's F3 system superceded both Taito B and F2 systems, but the
40
Taito Z system was enhanced with F3 features and continued in games like
41
Super Chase and Under Fire up to the mid 1990s.)
43
Each Taito Z game used one of the following sprite systems - allowing the
44
use of big sprites with minimal CPU overhead [*]:
46
(i) 16x8 tiles aggregated through a spritemap rom into 128x128 sprites
47
(ii) 16x16 tiles aggregated through a spritemap rom into three sprite sizes:
51
(iii) 16x8 tiles aggregated through a spritemap rom into 64x64 sprites
53
[* in Taito B/F2/F3 the CPU has to keep track of all the 16x16 tiles within
56
The Z system has twin 68K CPUs which communicate via shared ram.
57
Typically they share $4000 bytes, but Spacegun / Dbleaxle share $10000.
59
The first 68000 handles screen, palette and sprites, and sometimes other
60
jobs [e.g. inputs; in one game it also handles the road].
62
The second 68000 may handle functions such as:
63
(i) inputs/dips, sound (through a YM2610) and/or
64
(ii) the "road" that's in every TaitoZ game except Spacegun.
66
Most Z system games have a Z80 as well, which takes over sound duties.
67
Commands are written to it by the one of the 68000s.
69
The memory map for the Taito Z games is similar in outline but usually
70
shuffled around: some games have different i/o because of analogue
71
sticks, light guns, cockpit hardware etc.
74
Contcirc board (B.Troha)
77
Taito Sound PCB J1100137A K1100314A:
79
Zilog Z0840004PSC XTAL OSC Yamaha
80
Z80 CPU 16.000 MHz YM2610
90
Notes: B33-30 is a OKI M27512-15
93
Taito Video Baord PCB J1100139A K1100316A:
95
B33-03 TC0050VDZ TC0050VDZ TC0050VDZ
106
Notes: B14-31 is 27HC64 (Sharp LH5763J-70)
107
B14-30 is OKI M27512-15
108
DG: TC0020VAR + 3xTC0050VDZ may be precursor to 370MSO/300FLA combo
111
Taito CPU Board J110138A K1100315A:
118
TC0150ROD TC0100SCN NEC D43256C-10L
124
MC6800P12 IC-25 MC68000P12 IC-35
125
IC-26 IC 36 TC0040IOC
128
Notes: IC-41 Is 271001 Listed as JH1 (unsocketed / unused)
129
IC-42 Is 271001 Listed as JL1 (unsocketed / unused)
131
****************************************************************************
136
This game runs on Taito Z hardware
143
K1100457A AQUA JACK (sticker)
144
|--------------------------------------------------------------------------|
145
|B77-17.1 2063 B77-07.33 B77-05.105 DSWA(8) DSWB(8) |
147
| |---------| |---------| |---------| |TAITO | 2063 |-|
148
| | TAITO | | TAITO | | TAITO | |TC0110| TC0070RGB |
149
| |TC0050VDZ| |TC0150ROD| B77-19.46 |TC0100SCN| |PCR | 2063 |-|
150
| |(QFP100) | |(QFP160) | |(QFP160) | |------| |
151
| | | | | | | MB3771 |
152
| |---------| |---------| |---------| |------| |
153
| 58257 58257 |TAITO | (G) 2|
154
| 2018 |---------| |TC0220| TC0060DCA 8|
155
| 2018 | TAITO | |---------| |IOC | TC0060DCA W|
156
| 2018 |TC0020VAR| | TAITO | |------| A|
157
| 2018 |(QFP124) | |TC0320OBR| 2063 TL074 MB3735 Y|
158
| | | |(QFP144) | TL074 VOL |
159
| 2018 |---------| | | B77_20.54 YM3016 |
160
| 2018 B77-18.37 |---------| Z80 YM2610 |-|
161
| 2018 B77-06.39 MB3735 |
162
| 2018 |---------| |---------| VOL |-|
163
| | TAITO | 16MHz TL074| TAITO | |
164
| |TC0050VDZ| |TC0100SYT| B77-15.89 |
165
| B77-01.13 |(QFP100) | 2018 B77-08.57 |(QFP120) | |-|
166
| | | 2018 B77-09.58 | | | |
167
| B77-02.14 |---------| |--------------| |---------| | |
168
| |---------| | MC68000P12 | (M)| |
169
| B77-03.15 | TAITO | |--------------| 2063 | |
170
| |TC0050VDZ| 2063 |-|
171
| B77-04.16 |(QFP100) | B77-14.60 B77_23.67|---------| |
172
| | | B77-13.51 2063 | TAITO | B77-16.94 |
173
| |---------| |--------------| |TC0170ABT| |
174
| | MC68000P12 | B77_24.69|(QFP120) | 24MHz|
175
| B77_25.17 B77_22.31 |--------------| 2063 | | 26.686MHz |
176
| 2063 2063 |---------| |
177
|--------------------------------------------------------------------------|
179
68000 - Motorola MC68000P12 CPUs, running at 12.000MHz [24/2]
180
Z80 - Zilog Z0840004PSC Z80 CPU, running at 4.000MHz [16/4]
181
YM2610 - Yahama YM2610 sound chip, running at 8.000MHz [16/2]
182
2063 - Toshiba TMM2063 8K x8 SRAM (DIP28)
183
2018 - Toshiba TMM2018 2K x8 SRAM (DIP24)
184
58257 - Sony CXK58257 32K x8 SRAM (DIP28)
185
MB3771 - Fujitsu MB3771 System Reset IC (DIP8)
186
(G) - 28-Way Connector (Not JAMMA)
187
(M) - 50-pin Flat Cable Connector Joining Main PCB To Analog Control PCB
189
OSC: 26.686, 24.000, 16.000
192
TC0070RGB - RGB/Video Mixer (Ceramic Flat Pack SIP25)
193
TC0060DCA - Digital to Analog Conversion for Audio (Ceramic Flat Pack SIP20)
194
TC0100SYT - Sound Communication
195
TC0220IOC - Input/Output. This chip also provides the master reset via the MB3771. It probably does more things too,
196
including video output. For example, if the harness is connected backwards, this chip blows and kills
197
the PCB. Even manually resetting the 68000's cannot restart the PCB, and it just shows a wavey pattern
199
TC0110PCR - Pallete Generator
200
TC0100SCN - Tilemap Generator
201
TC0150ROD - Road Generator
202
TC0050VDZ - \ Motion Object Generator Combo?
205
TC0320OBR - Road Object Generator? (tied to TC0150ROD)
214
K9100227A AQUA JACK (sticker)
231
All components listed
233
(H) - 6 pin connector for attachment of Analog Controls
234
(M) - 50-pin Flat Cable Connector For Joining Analog Control PCB to Main PCB
235
ADC0809 - Texas Instruments ADC0809N Analog To Digital Convertor IC (DIP28)
252
32 b52-27 pal20 TC020VAR b52-03 b52-127
253
36 51 b52-126 b52-124 Pal
256
33 Pal b52-19 Pal b52-25
257
37 38 b52-18b Pal 122
258
Pal Pal b52-18a Pal 123
279
Pal b52-120 TC0170ABT TC0110PCR b52-01
282
TC0040IOC b52-133 b52-132 TC0150ROD b52-28
286
ChaseHQ2(SCI) custom chips (Guru) (DG: same as Bshark except 0140SYT?)
287
--------------------------
296
PROM type AM27S21PC, location looks like this...
334
c09-16.rom is located next to
335
c09-05, which is located next to Taito TCO370MSO.
340
Controls for this game are one wheel, one switch for shift lever (used for high gear)
341
and one switch each for accelerate, brake, gun and nitro.
343
Note that the gear is low by default and is shifted to high gear by a lever which
344
holds the switch closed. The lever is not self-centering or spring-loaded to go back to
345
low. The lever must be physically shifted back to low when required.
351
CPU PCB K1100490A J1100209A
352
|----------------------------------------------------|
353
| 24MHz C09-14.42 TCO140SYT C09-22.3 C09-21.2 |
355
| C09-12.44 C09-33.6 C09-32.5 |
356
| YM2610 C09-15.29 6264 6264 |
357
| YM3016 TL074 TL074 Z80 |
358
| C09-34.31 6264 TCO150ROD |
361
| MB3735 C09-07.15 C09-23.14 |
363
| 62064 6264 6264 TCO170ABT |
365
|G 62003 C09-36.38 C09-24.22 |
366
| TCO220IOC 6264 C09-26.26 C09-25.25 |
368
| DSWB DSWA C09-31.41 |
369
|----------------------------------------------------|
373
68000 : 16.000MHz (both)
380
MB3735: 15w Power AMP with dual output (used for stereo sounds ; CH1/CH2)
381
TL074 : JFET Lo Noise Quad OP Amp
383
TD62064 : NPN 50V 1.5A Quad Darlinton Switch (for driving coin meters)
384
TD62003 : PNP 50V 0.5A Quad Darlinton Switch (for driving coin meters)
385
D633 : Si NPN POWER transistor used in 68k reset circuit (TIP122 compatible)
387
C09-12 thru C09-14 - MB834100
389
C09-32 thru C09-33 - AM27C512
390
C09-30 thru C09-31 - TC571000
391
C09-38 and C09-36 - TC571000
393
C09-22 and C09-26 - MMI PAL16L8B
395
C09-24 thru C09-25 - MMI PAL20L8B
397
PINOUT CONNECTOR D (Note: All pinouts typed from an original Taito document)
406
Question: +24V and D OUT are for?
409
PINOUT CONNECTOR G (the meanings of some of these is a bit vague - PTL OUTx, DRV0, HANDLE CENTER SW etc)
412
---------------|---------------
420
COUNTER A 8|J COUNTER B
421
C LOCKOUT A 9|K C LOCKOUT B
422
SPK CH1+ 10|L SPK CH2+
423
SPK CH1- 11|M SPK CH2-
429
BRAKE SW1 17|U BRAKE SW2
431
HANDLE CENTER SW 19|W START SW
432
SHIFT SW 20|X ACCEL SW0
433
ACCEL SW1 21|Y ACCEL SW2
434
PTL OUT1 22|Z PTL OUT2
438
HANDLE Z1 26|d HANDLE Z2
442
Question: What hardware is used for steering and where is it connected? It doesn't seem to use
443
a regular potentiometer for the steering??
449
VIDEO PCB K1100491A J1100210A
450
|-----------------------------------------------------|
451
| TCO370MSO C09-17.24 43256 |
454
| C09-16.17 26.686MHz TCO100SCN 6264 |
457
| C1815 TCO260DAR C09-06.37 |
460
| TCO380BSH C09-19.67|
461
|TCO270MOD TCO300FLA |
463
|43256 43256 43256 43256 C09-04.52 C09-20.71|
464
|43256 43256 43256 43256 C09-03.53 |
465
|43256 43256 43256 43256 C09-02.54 |
466
|43256 43256 43256 43256 C09-01.55 |
467
|-----------------------------------------------------|
471
C09-01 thru C09-05 - 234000
473
C09-17 thru C09-18 - MMI 63S441
474
C09-19 - MMI PAL16L8B
480
C1815: transistor used for driving RGB
517
TC0220IOC (known io chip)
518
TC0260DAR (known palette chip)
519
TC0400YSC substitute for TC0140SYT when 68K writes directly to YM2610 ??
520
TC0170ABT = same in Dblaxle
521
TC0100SCN (known tilemap chip)
522
TC0370MSO = same in Dblaxle, Motion Objects ?
523
TC0300FLA = same in Dblaxle
526
TC0150ROD (known road generator chip)
529
DblAxle custom chip info
530
------------------------
532
TC0150ROD is next to road lines gfx chip [c78-09] but also
533
c78-15, an unused 256 byte rom. Perhaps this contains color
534
info for the road lines? Raine makes an artificial "pal map"
535
for the road, AFAICS.
537
TC0170ABT is between 68000 CPUA and the TC0140SYT. Next to
538
that is the Z80A, the YM2610, and the three adpcm roms.
540
On the graphics board we have the TC0480SCP next to its two
541
scr gfx roms: c78-10 & 11.
543
The STY object mapping rom is next to c78-25, an unused
544
0x10000 byte rom which compresses by 98%. To right of this
545
are TC0370MSO (motion objects?), then TC0300FLA.
547
Below c78-25 are two unused 1K roms: c84-10 and c84-11.
548
Below right is another unused 256 byte rom, c78-21.
549
(At the bottom are the 5 obj gfx roms.)
553
43256 c78-11 SCN1 CHR
554
43256 c78-10 SCN0 CHR TC0480SCP
558
c78-25 TC0370MSO TC0300FLA
562
43256 43256 43256 43256
563
43256 43256 43256 43256 43256
564
43256 43256 43256 43256 43256
571
c78-08 OBJ3 c78-07 OBJ2
610
Is the no-Z80 sound handling correct: some voices in Bshark
613
Make taitosnd cpu-independent so we can restore Z80 to CPU3.
619
Sprite zooming - dimensions may be got from the unused 64K rom
620
on the video board (it's in the right place for it, both with
621
Contcirc video chips and the chips used on later boards). These
622
64K roms compare as follows - makes sense as these groups
623
comprise the three sprite layout types used in TaitoZ games:
625
Contcirc / Enforce =IDENTICAL
626
ChaseHQ / Nightstr =IDENTICAL
627
Bshark / SCI / Dblaxle / Racingb =IDENTICAL
629
Missing from Aquajack / Spacegun dumps (I would bet they are
630
the same as Bshark). Can anyone dump these two along with any
631
proms on the video board?
637
Road priority incompletely understood - e.g. start barrier should
638
be darkening LH edge of road as well as RH edge.
640
The 8 level accel / brake should be possible to control with
641
analogue pedal. Don't think mame can do this.
643
Junk (?) stuff often written in high byte of sound word.
645
Speculative YM2610 a/b/c channel filtering as these may be
646
outputs to subwoofer (vibration). They sound better, anyway.
652
Motor CPU: appears to be identical to one in Topspeed.
654
[Used to have junk sprites when you reach criminal car (the 'criminals
655
here' sprite): two bits above tile number are used. Are these
656
meaningless, or is some effect missing?]
662
Test mode - SHIFT: LO/HI is not understood (appears to depend on Demo
665
Landscape in the background can be made to scroll rapidly with DSW.
668
Some layer offsets are out a little.
670
Road layer has wrong colors--regression?
676
Is road on the road stages correct? Hard to tell.
678
Does the original have the "seeking" crosshair effect, making it a
679
challenge to control?
685
Road seems ok, but are the green bushes in round 1 a little too far
686
to the edge of the interroad verge?
688
Sprite frames were plotted in opposite order so flickered. Reversing
689
this has lost us alternate frames: probably need to buffer sprite
690
ram by one frame to solve this?
696
Road A/B priority problems will manifest in the choice tunnels with,
697
one or the other having higher priority in top and bottom halves. Can
698
someone provide a sequence of screenshots showing exactly what happens
699
at the road split point.
701
Strange page in test mode which lets you alter all sorts of settings,
702
may relate to sit-in cockpit version. Can't find a dip that disables
703
this. <- Test Mode 1? That's used for lamps and motor testing... -AS
705
Motors (located at the 0xe000**) are mirrored, they uses both bytes of a
706
word, the high one is used during gameplay and the other one is used on service
707
mode. The gameplay port is xor'ed (!).
709
--xx xx-- Force Feedback power
710
---- --x- "Reverse" motor
711
---- ---x "Turn" motor
713
TC0220IOC offset 3 is used for lamps, both upright and cockpit version afaik:
714
x--- ---- spot 2 lamp (right)
715
-x-- ---- spot 1 lamp (left)
716
--x- ---- motor lamp 3 (right)
717
---x ---- motor lamp 2 (center)
718
---- x--- motor lamp 1 (left)
719
---- -x-- trigger lamp
722
The two spot lamps are big red lamps located at the sides of the screen (at least
723
in the upright version), they lights when the player gets hit and/or if he's dying.
729
Sprites left on screen under hiscore table. Deliberate? Or is there
730
a sprite disable bit somewhere.
732
Should road body be largely transparent as I've implemented it?
734
Sprite/sprite priorities often look bad. Sprites go to max size for
735
a frame before they explode - surely a bug.
737
Hangs briefly fairly often without massive cpu interleaving (500).
738
Keys aren't very responsive in test mode.
740
The problem code is this:
743
$1fe02 hangs waiting for ($6002,A5) in shared ram to be zero.
746
$1056 calls $11ea routine which starts by setting ($6002,A5) non-
747
zero. At end (after $1218 waiting for a bit from sound comm port)
748
it alters ($6002,A5) to zero (but this value lasts briefly!).
750
Unless context rapidly switches back to cpua this change is missed
751
because $11ea gets called again *very* rapidly at times when sounds
752
are being written [that's when the problem manifested].
754
$108a-c2 reads 0x20 bytes from unmapped area, not sure
755
what it's doing. Perhaps this machine had some optional
756
exotic input device...
762
Problem with the zoomed sprites not matching up very well
763
when forming the background. They jerk a bit relative to
764
each other... probably a cpu sync thing, perhaps also some
765
fine-tuning required on the zoomed sprite dimension calcs.
767
Light gun interrupt timing arbitrary.
773
Road occasionally has incorrectly unclipped line appearing at top
774
(ice stage). Also road 'ghost' often remains on screen - also an
775
interrupt issue I presume.
777
Double Axle has poor sound: one ADPCM rom should be twice as long?
778
[In log we saw stuff like this, suggesting extra ADPCM rom needed:
779
YM2610: ADPCM-A end out of range: $001157ff
780
YM2610: ADPCM-A start out of range: $00111f00]
782
Various sprites go missing e.g. mountains half way through cross
783
country course. Fall off the ledge and crash and you will see
784
the explosion sprites make other mountain sprites vanish, as
785
though their entries in spriteram are being overwritten. (Perhaps
786
an int6 timing/number issue: sprites seem to be ChaseHQ2ish with
787
a spriteframe toggle - currently this never changes which may be
794
Sprites (and main road) very wrong
798
K1100650A J1100264A CPU PCB
799
|-------------------------------------------------------------|
800
|6264 62256 32MHz DSWA DSWB |
803
|C84-110.3 TC0170ABT TC0510NIO |
821
| PAL C84-99.35 YM3016 |
824
| PAL C84-100.36 TL074 |
831
|-------------------------------------------------------------|
833
68000s running at 16MHz
835
YM2610 running at 8MHz
841
|-------------------------------------------------------------|
843
|62256 C84-89.11 TC0260DAR |
853
| TC0370MSO TC0300FLA PAL |
858
| 62256 62256 62256 62256 |
861
| 62256 62256 62256 62256 62256 |
864
| 62256 62256 62256 62256 62256 |
868
| C84-91.23 C84-93.31 |
870
| TC0380BSH TC0270MOD |
871
| C84-92.25 C84-94.33 |
873
|-------------------------------------------------------------|
876
***************************************************************************/
879
#include "cpu/z80/z80.h"
880
#include "includes/taitoipt.h"
881
#include "cpu/m68000/m68000.h"
882
#include "machine/eeprom.h"
883
#include "video/taitoic.h"
884
#include "audio/taitosnd.h"
885
#include "sound/2610intf.h"
886
#include "sound/flt_vol.h"
887
#include "machine/taitoio.h"
888
#include "includes/taito_z.h"
890
#include "contcirc.lh"
891
#include "dblaxle.lh"
893
static void parse_control( running_machine &machine )
895
/* bit 0 enables cpu B */
896
/* however this fails when recovering from a save state
897
if cpu B is disabled !! */
898
taitoz_state *state = machine.driver_data<taitoz_state>();
899
device_set_input_line(state->m_subcpu, INPUT_LINE_RESET, (state->m_cpua_ctrl & 0x1) ? CLEAR_LINE : ASSERT_LINE);
903
static WRITE16_HANDLER( cpua_ctrl_w )
905
taitoz_state *state = space->machine().driver_data<taitoz_state>();
907
if ((data & 0xff00) && ((data & 0xff) == 0))
908
data = data >> 8; /* for Wgp */
910
state->m_cpua_ctrl = data;
912
parse_control(space->machine());
914
// Chase HQ: handle the lights
915
if (state->m_chasehq_lamps)
917
output_set_lamp_value(0, (data & 0x20) ? 1 : 0);
918
output_set_lamp_value(1, (data & 0x40) ? 1 : 0);
921
if (state->m_dblaxle_vibration) output_set_value("Wheel_Vibration", (data & 0x04)>>2);
922
logerror("CPU #0 PC %06x: write %04x to cpu control\n", cpu_get_pc(&space->device()), data);
926
/***********************************************************
928
***********************************************************/
932
static TIMER_CALLBACK( taitoz_interrupt6 )
934
taitoz_state *state = machine.driver_data<taitoz_state>();
935
device_set_input_line(state->m_maincpu, 6, HOLD_LINE);
940
static TIMER_CALLBACK( taitoz_cpub_interrupt5 )
942
taitoz_state *state = machine.driver_data<taitoz_state>();
943
device_set_input_line(state->m_subcpu, 5, HOLD_LINE);
947
static TIMER_CALLBACK( taitoz_cpub_interrupt6 )
949
taitoz_state *state = machine.driver_data<taitoz_state>();
950
device_set_input_line(state->m_subcpu, 6, HOLD_LINE);
956
/***** Routines for particular games *****/
958
static INTERRUPT_GEN( sci_interrupt )
960
/* Need 2 int4's per int6 else (-$6b63,A5) never set to 1 which
961
causes all sprites to vanish! Spriteram has areas for 2 frames
962
so in theory only needs updating every other frame. */
964
taitoz_state *state = device->machine().driver_data<taitoz_state>();
965
state->m_sci_int6 = !state->m_sci_int6;
967
if (state->m_sci_int6)
968
device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6));
970
device_set_input_line(device, 4, HOLD_LINE);
973
/* Double Axle seems to keep only 1 sprite frame in sprite ram,
974
which is probably wrong. Game seems to work with no int 6's
975
at all. Cpu control byte has 0,4,8,c poked into 2nd nibble
976
and it seems possible this should be causing int6's ? */
978
static INTERRUPT_GEN( dblaxle_interrupt )
980
// Unsure how many int6's per frame, copy SCI for now
982
taitoz_state *state = device->machine().driver_data<taitoz_state>();
983
state->m_dblaxle_int6 = !state->m_dblaxle_int6;
985
if (state->m_dblaxle_int6)
986
device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6));
988
device_set_input_line(device, 4, HOLD_LINE);
991
static INTERRUPT_GEN( dblaxle_cpub_interrupt )
993
// Unsure how many int6's per frame
994
device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6));
995
device_set_input_line(device, 4, HOLD_LINE);
999
/******************************************************************
1001
******************************************************************/
1003
static const UINT16 spacegun_default_eeprom[64]=
1005
0x0000,0x00ff,0x0001,0x4141,0x0000,0x00ff,0x0000,0xf0f0,
1006
0x0000,0x00ff,0x0001,0x4141,0x0000,0x00ff,0x0000,0xf0f0,
1007
0x0080,0x0080,0x0080,0x0080,0x0001,0x4000,0x0000,0xf000,
1008
0x0001,0x4285,0x0000,0xf1e3,0x0001,0x4000,0x0000,0xf000,
1009
0x0001,0x4285,0x0000,0xf1e3,0xcccb,0xffff,0xffff,0xffff,
1010
0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
1011
0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
1012
0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
1015
static const eeprom_interface spacegun_eeprom_intf =
1017
6, /* address bits */
1019
"0110", /* read command */
1020
"0101", /* write command */
1021
"0111", /* erase command */
1022
"0100000000", /* lock command */
1023
"0100111111", /* unlock command */
1024
0, /* multi-read disabled */
1030
static READ16_HANDLER( eep_latch_r )
1032
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1033
return state->m_eep_latch;
1037
static WRITE16_HANDLER( spacegun_output_bypass_w )
1039
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1045
/* 0000xxxx (unused)
1046
000x0000 eeprom reset (active low)
1047
00x00000 eeprom clock
1048
0x000000 eeprom data
1049
x0000000 (unused) */
1051
COMBINE_DATA(&state->m_eep_latch);
1052
input_port_write(space->machine(), "EEPROMOUT", data, 0xff);
1056
tc0220ioc_w(state->m_tc0220ioc, offset, data); /* might be a 510NIO ! */
1061
/**********************************************************
1063
**********************************************************/
1065
static READ8_HANDLER( contcirc_input_bypass_r )
1067
/* Bypass TC0220IOC controller for analog input */
1069
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1070
UINT8 port = tc0220ioc_port_r(state->m_tc0220ioc, 0); /* read port number */
1072
int fake = input_port_read(space->machine(), "FAKE");
1074
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
1076
/* center around zero and reduce span to 0xc0 */
1077
steer = ((input_port_read(space->machine(), "STEER") - 0x80) * 0xc0) / 0x100;
1080
else /* Digital steer */
1086
else if (fake & 0x08)
1095
return steer & 0xff;
1101
return tc0220ioc_portreg_r(state->m_tc0220ioc, offset);
1106
static READ8_HANDLER( chasehq_input_bypass_r )
1108
/* Bypass TC0220IOC controller for extra inputs */
1110
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1111
UINT8 port = tc0220ioc_port_r(state->m_tc0220ioc, 0); /* read port number */
1113
int fake = input_port_read(space->machine(), "FAKE");
1115
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
1117
/* center around zero */
1118
steer = input_port_read(space->machine(), "STEER") - 0x80;
1120
else /* Digital steer */
1126
else if (fake & 0x08)
1135
return input_port_read(space->machine(), "UNK1");
1138
return input_port_read(space->machine(), "UNK2");
1141
return input_port_read(space->machine(), "UNK3");
1144
return input_port_read(space->machine(), "UNK4");
1147
return steer & 0xff;
1153
return tc0220ioc_portreg_r(state->m_tc0220ioc, offset);
1158
static READ16_HANDLER( bshark_stick_r )
1163
return input_port_read(space->machine(), "STICKX");
1166
return input_port_read(space->machine(), "X_ADJUST");
1169
return input_port_read(space->machine(), "STICKY");
1172
return input_port_read(space->machine(), "Y_ADJUST");
1175
logerror("CPU #0 PC %06x: warning - read unmapped stick offset %06x\n", cpu_get_pc(&space->device()), offset);
1181
static READ16_HANDLER( nightstr_stick_r )
1186
return input_port_read(space->machine(), "STICKX");
1189
return input_port_read(space->machine(), "STICKY");
1192
return input_port_read(space->machine(), "X_ADJUST");
1195
return input_port_read(space->machine(), "Y_ADJUST");
1198
logerror("CPU #0 PC %06x: warning - read unmapped stick offset %06x\n", cpu_get_pc(&space->device()), offset);
1203
static WRITE16_HANDLER( bshark_stick_w )
1205
/* Each write invites a new interrupt as soon as the
1206
hardware has got the next a/d conversion ready. We set a token
1207
delay of 10000 cycles; our "coords" are always ready
1208
but we don't want CPUA to have an int6 before int4 is over (?)
1211
space->machine().scheduler().timer_set(downcast<cpu_device *>(&space->device())->cycles_to_attotime(10000), FUNC(taitoz_interrupt6));
1215
static READ16_HANDLER( sci_steer_input_r )
1218
int fake = input_port_read(space->machine(), "FAKE");
1220
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
1222
/* center around zero and reduce span to 0xc0 */
1223
steer = ((input_port_read(space->machine(), "STEER") - 0x80) * 0xc0) / 0x100;
1225
else /* Digital steer */
1231
else if (fake & 0x08)
1240
return (steer & 0xff);
1243
return (steer & 0xff00) >> 8;
1246
logerror("CPU #0 PC %06x: warning - read unmapped steer input offset %06x\n", cpu_get_pc(&space->device()), offset);
1252
static READ16_HANDLER( spacegun_input_bypass_r )
1254
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1259
return state->m_eeprom->read_bit() << 7;
1262
return tc0220ioc_r(state->m_tc0220ioc, offset); /* might be a 510NIO ! */
1266
static READ16_HANDLER( spacegun_lightgun_r )
1271
return input_port_read(space->machine(), "STICKX1");
1274
return input_port_read(space->machine(), "STICKY1");
1277
return input_port_read(space->machine(), "STICKX2");
1280
return input_port_read(space->machine(), "STICKY2");
1286
static WRITE16_HANDLER( spacegun_lightgun_w )
1288
/* Each write invites a new lightgun interrupt as soon as the
1289
hardware has got the next coordinate ready. We set a token
1290
delay of 10000 cycles; our "lightgun" coords are always ready
1291
but we don't want CPUB to have an int5 before int4 is over (?).
1293
Four lightgun interrupts happen before the collected coords
1294
are moved to shared ram where CPUA can use them. */
1296
space->machine().scheduler().timer_set(downcast<cpu_device *>(&space->device())->cycles_to_attotime(10000), FUNC(taitoz_cpub_interrupt5));
1299
static WRITE16_HANDLER( spacegun_gun_output_w )
1301
output_set_value("Player1_Gun_Recoil",(data & 0x01));
1302
output_set_value("Player2_Gun_Recoil",(data & 0x02)>>1);
1306
static READ16_HANDLER( dblaxle_steer_input_r )
1309
int fake = input_port_read(space->machine(), "FAKE");
1311
if (!(fake & 0x10)) /* Analogue steer (the real control method) */
1313
/* center around zero and reduce span to 0x80 */
1314
steer = ((input_port_read(space->machine(), "STEER") - 0x80) * 0x80) / 0x100;
1316
else /* Digital steer */
1322
else if (fake & 0x08)
1334
return steer & 0xff;
1337
logerror("CPU #0 PC %06x: warning - read unmapped steer input offset %02x\n", cpu_get_pc(&space->device()), offset);
1343
static READ16_HANDLER( chasehq_motor_r )
1348
return (space->machine().rand() &0xff); /* motor status ?? */
1351
return 0x55; /* motor cpu status ? */
1354
logerror("CPU #0 PC %06x: warning - read motor cpu %03x\n",cpu_get_pc(&space->device()),offset);
1359
static WRITE16_HANDLER( chasehq_motor_w )
1361
/* Writes $e00000-25 and $e00200-219 */
1367
/* outputs will go here, but driver is still broken */
1370
logerror("CPU #0 PC %06x: warning - write %04x to motor cpu %03x\n",cpu_get_pc(&space->device()),data,offset);
1375
static WRITE16_HANDLER( nightstr_motor_w )
1378
/* Despite the informative notes at the top, the high end of the word doesn't seem to output any useful data. */
1379
/* I've added this so someone else can finish it. */
1383
output_set_value("Motor_1_Direction",0);
1384
if (data & 1) output_set_value("Motor_1_Direction",1);
1385
if (data & 2) output_set_value("Motor_1_Direction",2);
1386
output_set_value("Motor_1_Speed",(data & 60)/4);
1391
output_set_value("Motor_2_Direction",0);
1392
if (data & 1) output_set_value("Motor_2_Direction",1);
1393
if (data & 2) output_set_value("Motor_2_Direction",2);
1394
output_set_value("Motor_2_Speed",(data & 60)/4);
1398
output_set_value("Motor_3_Direction",0);
1399
if (data & 1) output_set_value("Motor_3_Direction",1);
1400
if (data & 2) output_set_value("Motor_3_Direction",2);
1401
output_set_value("Motor_3_Speed",(data & 60)/4);
1405
output_set_value("motor_debug",data);
1413
static READ16_HANDLER( aquajack_unknown_r )
1419
/*****************************************************
1421
*****************************************************/
1423
static void reset_sound_region( running_machine &machine )
1425
taitoz_state *state = machine.driver_data<taitoz_state>();
1426
memory_set_bank(machine, "bank10", state->m_banknum);
1429
static WRITE8_HANDLER( sound_bankswitch_w )
1431
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1433
state->m_banknum = data & 7;
1434
reset_sound_region(space->machine());
1437
static WRITE16_HANDLER( taitoz_sound_w )
1439
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1442
tc0140syt_port_w(state->m_tc0140syt, 0, data & 0xff);
1443
else if (offset == 1)
1444
tc0140syt_comm_w(state->m_tc0140syt, 0, data & 0xff);
1447
// if (data & 0xff00)
1451
// sprintf(buf,"taitoz_sound_w to high byte: %04x",data);
1457
static READ16_HANDLER( taitoz_sound_r )
1459
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1462
return (tc0140syt_comm_r(state->m_tc0140syt, 0) & 0xff);
1468
static WRITE16_HANDLER( taitoz_msb_sound_w )
1470
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1473
tc0140syt_port_w(state->m_tc0140syt, 0, (data >> 8) & 0xff);
1474
else if (offset == 1)
1475
tc0140syt_comm_w(state->m_tc0140syt, 0, (data >> 8) & 0xff);
1482
sprintf(buf,"taitoz_msb_sound_w to low byte: %04x",data);
1488
static READ16_HANDLER( taitoz_msb_sound_r )
1490
taitoz_state *state = space->machine().driver_data<taitoz_state>();
1493
return ((tc0140syt_comm_r(state->m_tc0140syt, 0) & 0xff) << 8);
1500
/**** sound pan control ****/
1501
static WRITE8_HANDLER( taitoz_pancontrol )
1503
// taitoz_state *state = space->machine().driver_data<taitoz_state>();
1504
static const char *const fltname[] = { "2610.1.r", "2610.1.l", "2610.2.r", "2610.2.l" };
1506
offset = offset & 3;
1508
// state->m_pandata[offset] = data;
1509
// popmessage(" pan %02x %02x %02x %02x", state->m_pandata[0], state->m_pandata[1], state->m_pandata[2], state->m_pandata[3] );
1511
flt_volume_set_volume(space->machine().device(fltname[offset & 3]), data / 255.0f);
1514
static WRITE16_HANDLER( spacegun_pancontrol )
1516
if (ACCESSING_BITS_0_7)
1517
taitoz_pancontrol(space, offset, data & 0xff);
1521
/***********************************************************
1523
***********************************************************/
1526
static ADDRESS_MAP_START( contcirc_map, AS_PROGRAM, 16 )
1527
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1528
AM_RANGE(0x080000, 0x083fff) AM_RAM
1529
AM_RANGE(0x084000, 0x087fff) AM_RAM AM_SHARE("share1")
1530
AM_RANGE(0x090000, 0x090001) AM_WRITE(contcirc_out_w) /* road palette bank, sub CPU reset, 3d glasses control */
1531
AM_RANGE(0x100000, 0x100007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w) /* palette */
1532
AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1533
AM_RANGE(0x220000, 0x22000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1534
AM_RANGE(0x300000, 0x301fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w) /* "root ram" */
1535
AM_RANGE(0x400000, 0x4006ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1538
static ADDRESS_MAP_START( contcirc_cpub_map, AS_PROGRAM, 16 )
1539
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1540
AM_RANGE(0x080000, 0x083fff) AM_RAM
1541
AM_RANGE(0x084000, 0x087fff) AM_RAM AM_SHARE("share1")
1542
AM_RANGE(0x100000, 0x100001) AM_READ8(contcirc_input_bypass_r, 0x00ff) AM_DEVWRITE8("tc0220ioc", tc0220ioc_portreg_w, 0x00ff)
1543
AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff) /* (actually game uses TC040IOC) */
1544
AM_RANGE(0x200000, 0x200003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1548
static ADDRESS_MAP_START( chasehq_map, AS_PROGRAM, 16 )
1549
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1550
AM_RANGE(0x100000, 0x107fff) AM_RAM
1551
AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
1552
AM_RANGE(0x10c000, 0x10ffff) AM_RAM
1553
AM_RANGE(0x400000, 0x400001) AM_READ8(chasehq_input_bypass_r, 0x00ff) AM_DEVWRITE8("tc0220ioc", tc0220ioc_portreg_w, 0x00ff)
1554
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff)
1555
AM_RANGE(0x800000, 0x800001) AM_WRITE(cpua_ctrl_w)
1556
AM_RANGE(0x820000, 0x820003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1557
AM_RANGE(0xa00000, 0xa00007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette */
1558
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1559
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1560
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1561
AM_RANGE(0xe00000, 0xe003ff) AM_READWRITE(chasehq_motor_r, chasehq_motor_w) /* motor cpu */
1564
static ADDRESS_MAP_START( chq_cpub_map, AS_PROGRAM, 16 )
1565
AM_RANGE(0x000000, 0x01ffff) AM_ROM
1566
AM_RANGE(0x100000, 0x103fff) AM_RAM
1567
AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
1568
AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1572
static ADDRESS_MAP_START( enforce_map, AS_PROGRAM, 16 )
1573
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1574
AM_RANGE(0x100000, 0x103fff) AM_RAM
1575
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1576
AM_RANGE(0x200000, 0x200001) AM_WRITE(cpua_ctrl_w) // works without?
1577
AM_RANGE(0x300000, 0x3006ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1578
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w) /* "root ram" ??? */
1579
AM_RANGE(0x500000, 0x500007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w) /* palette */
1580
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1581
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1584
static ADDRESS_MAP_START( enforce_cpub_map, AS_PROGRAM, 16 )
1585
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1586
AM_RANGE(0x100000, 0x103fff) AM_RAM
1587
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1588
AM_RANGE(0x200000, 0x200003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1589
AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_portreg_r, tc0220ioc_portreg_w, 0x00ff)
1590
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff)
1594
static ADDRESS_MAP_START( bshark_map, AS_PROGRAM, 16 )
1595
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1596
AM_RANGE(0x100000, 0x10ffff) AM_RAM
1597
AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
1598
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1599
AM_RANGE(0x600000, 0x600001) AM_WRITE(cpua_ctrl_w)
1600
AM_RANGE(0x800000, 0x800007) AM_READWRITE(bshark_stick_r, bshark_stick_w)
1601
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1602
AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1603
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1604
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1607
static ADDRESS_MAP_START( bshark_cpub_map, AS_PROGRAM, 16 )
1608
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1609
AM_RANGE(0x108000, 0x10bfff) AM_RAM
1610
AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
1611
AM_RANGE(0x400000, 0x400007) AM_WRITE(spacegun_pancontrol) /* pan */
1612
// AM_RANGE(0x40000a, 0x40000b) AM_READ(taitoz_unknown_r) // ???
1613
AM_RANGE(0x600000, 0x600007) AM_DEVREADWRITE8("ymsnd", ym2610_r, ym2610_w, 0x00ff)
1614
AM_RANGE(0x60000c, 0x60000d) AM_NOP // interrupt controller?
1615
AM_RANGE(0x60000e, 0x60000f) AM_NOP
1616
AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1620
static ADDRESS_MAP_START( sci_map, AS_PROGRAM, 16 )
1621
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1622
AM_RANGE(0x100000, 0x107fff) AM_RAM
1623
AM_RANGE(0x108000, 0x10bfff) AM_RAM AM_SHARE("share1")
1624
AM_RANGE(0x10c000, 0x10ffff) AM_RAM
1625
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1626
AM_RANGE(0x200010, 0x20001f) AM_READ(sci_steer_input_r)
1627
// AM_RANGE(0x400000, 0x400001) AM_WRITE(cpua_ctrl_w) // ?? doesn't seem to fit what's written
1628
AM_RANGE(0x420000, 0x420003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1629
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1630
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1631
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1632
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1633
AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w)
1636
static ADDRESS_MAP_START( sci_cpub_map, AS_PROGRAM, 16 )
1637
AM_RANGE(0x000000, 0x01ffff) AM_ROM
1638
AM_RANGE(0x200000, 0x203fff) AM_RAM
1639
AM_RANGE(0x208000, 0x20bfff) AM_RAM AM_SHARE("share1")
1640
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1644
static ADDRESS_MAP_START( nightstr_map, AS_PROGRAM, 16 )
1645
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1646
AM_RANGE(0x100000, 0x10ffff) AM_RAM
1647
AM_RANGE(0x110000, 0x113fff) AM_RAM AM_SHARE("share1")
1648
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1649
AM_RANGE(0x800000, 0x800001) AM_WRITE(cpua_ctrl_w)
1650
AM_RANGE(0x820000, 0x820003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1651
AM_RANGE(0xa00000, 0xa00007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette */
1652
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1653
AM_RANGE(0xc20000, 0xc2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1654
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1655
AM_RANGE(0xe00000, 0xe00011) AM_WRITE(nightstr_motor_w) /* Motor outputs */
1656
AM_RANGE(0xe40000, 0xe40007) AM_READWRITE(nightstr_stick_r, bshark_stick_w)
1659
static ADDRESS_MAP_START( nightstr_cpub_map, AS_PROGRAM, 16 )
1660
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1661
AM_RANGE(0x100000, 0x103fff) AM_RAM
1662
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1663
AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1667
static ADDRESS_MAP_START( aquajack_map, AS_PROGRAM, 16 )
1668
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1669
AM_RANGE(0x100000, 0x103fff) AM_RAM
1670
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1671
AM_RANGE(0x200000, 0x200001) AM_WRITE(cpua_ctrl_w) // not needed, but it's probably like the others
1672
AM_RANGE(0x300000, 0x300007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w) /* palette */
1673
AM_RANGE(0x800000, 0x801fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1674
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1675
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1676
AM_RANGE(0xc40000, 0xc403ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1679
static ADDRESS_MAP_START( aquajack_cpub_map, AS_PROGRAM, 16 )
1680
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1681
AM_RANGE(0x100000, 0x103fff) AM_RAM
1682
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("share1")
1683
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
1684
AM_RANGE(0x300000, 0x300003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1685
AM_RANGE(0x800800, 0x80083f) AM_READ(aquajack_unknown_r) // Read regularly after write to 800800...
1686
// AM_RANGE(0x800800, 0x800801) AM_WRITE(taitoz_unknown_w)
1687
// AM_RANGE(0x900000, 0x900007) AM_READWRITE(taitoz_unknown_r, taitoz_unknown_w)
1691
static ADDRESS_MAP_START( spacegun_map, AS_PROGRAM, 16 )
1692
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1693
AM_RANGE(0x30c000, 0x30ffff) AM_RAM
1694
AM_RANGE(0x310000, 0x31ffff) AM_RAM AM_SHARE("share1")
1695
AM_RANGE(0x500000, 0x5005ff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size)
1696
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
1697
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
1698
AM_RANGE(0xb00000, 0xb00007) AM_DEVREADWRITE("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_rbswap_word_w) /* palette */
1701
static ADDRESS_MAP_START( spacegun_cpub_map, AS_PROGRAM, 16 )
1702
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1703
AM_RANGE(0x20c000, 0x20ffff) AM_RAM
1704
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("share1")
1705
AM_RANGE(0x800000, 0x80000f) AM_READWRITE(spacegun_input_bypass_r, spacegun_output_bypass_w)
1706
AM_RANGE(0xc00000, 0xc00007) AM_DEVREADWRITE8("ymsnd", ym2610_r, ym2610_w, 0x00ff)
1707
AM_RANGE(0xc0000c, 0xc0000d) AM_NOP // interrupt controller?
1708
AM_RANGE(0xc0000e, 0xc0000f) AM_NOP
1709
AM_RANGE(0xc20000, 0xc20007) AM_WRITE(spacegun_pancontrol) /* pan */
1710
AM_RANGE(0xe00000, 0xe00001) AM_WRITE(spacegun_gun_output_w) /* gun outputs */
1711
AM_RANGE(0xf00000, 0xf00007) AM_READWRITE(spacegun_lightgun_r, spacegun_lightgun_w)
1715
static ADDRESS_MAP_START( dblaxle_map, AS_PROGRAM, 16 )
1716
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1717
AM_RANGE(0x200000, 0x203fff) AM_RAM
1718
AM_RANGE(0x210000, 0x21ffff) AM_RAM AM_SHARE("share1")
1719
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
1720
AM_RANGE(0x400010, 0x40001f) AM_READ(dblaxle_steer_input_r)
1721
AM_RANGE(0x600000, 0x600001) AM_WRITE(cpua_ctrl_w) /* could this be causing int6 ? */
1722
AM_RANGE(0x620000, 0x620003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1723
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1724
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemap mirror */
1725
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemaps */
1726
AM_RANGE(0xa30000, 0xa3002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
1727
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size) /* mostly unused ? */
1728
AM_RANGE(0xc08000, 0xc08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* set in int6, seems to stay zero */
1731
static ADDRESS_MAP_START( dblaxle_cpub_map, AS_PROGRAM, 16 )
1732
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1733
AM_RANGE(0x100000, 0x103fff) AM_RAM
1734
AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("share1")
1735
AM_RANGE(0x300000, 0x301fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1736
AM_RANGE(0x500000, 0x503fff) AM_RAM /* network ram ? (see Gunbustr) */
1740
static ADDRESS_MAP_START( racingb_map, AS_PROGRAM, 16 )
1741
AM_RANGE(0x000000, 0x07ffff) AM_ROM
1742
AM_RANGE(0x100000, 0x103fff) AM_RAM
1743
AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_SHARE("share1")
1744
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
1745
AM_RANGE(0x300010, 0x30001f) AM_READ(dblaxle_steer_input_r)
1746
AM_RANGE(0x500002, 0x500003) AM_WRITE(cpua_ctrl_w)
1747
AM_RANGE(0x520000, 0x520003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
1748
AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
1749
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_word_r, tc0480scp_word_w) /* tilemaps */
1750
AM_RANGE(0x930000, 0x93002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_ctrl_word_r, tc0480scp_ctrl_word_w)
1751
AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_BASE_SIZE_MEMBER(taitoz_state, m_spriteram, m_spriteram_size) /* mostly unused ? */
1752
AM_RANGE(0xb08000, 0xb08001) AM_READWRITE(sci_spriteframe_r, sci_spriteframe_w) /* alternates 0/0x100 */
1755
static ADDRESS_MAP_START( racingb_cpub_map, AS_PROGRAM, 16 )
1756
AM_RANGE(0x000000, 0x03ffff) AM_ROM
1757
AM_RANGE(0x400000, 0x403fff) AM_RAM
1758
AM_RANGE(0x410000, 0x41ffff) AM_RAM AM_SHARE("share1")
1759
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("tc0150rod", tc0150rod_word_r, tc0150rod_word_w)
1760
AM_RANGE(0xd00000, 0xd03fff) AM_RAM /* network ram ? */
1764
/***************************************************************************/
1766
static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8 )
1767
AM_RANGE(0x0000, 0x3fff) AM_ROM
1768
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
1769
AM_RANGE(0xc000, 0xdfff) AM_RAM
1770
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w)
1771
AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_slave_port_w)
1772
AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
1773
AM_RANGE(0xe400, 0xe403) AM_WRITE(taitoz_pancontrol) /* pan */
1774
AM_RANGE(0xea00, 0xea00) AM_READNOP
1775
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
1776
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ? */
1777
AM_RANGE(0xf200, 0xf200) AM_WRITE(sound_bankswitch_w)
1781
/***********************************************************
1783
***********************************************************/
1785
#define TAITO_Z_ANALOG_ADJUST( str ) \
1786
PORT_DIPNAME( 0xff, 0x80, str ) \
1787
PORT_DIPSETTING( 0x00, "-80" ) \
1788
PORT_DIPSETTING( 0x01, "-7F" ) \
1789
PORT_DIPSETTING( 0x02, "-7E" ) \
1790
PORT_DIPSETTING( 0x03, "-7D" ) \
1791
PORT_DIPSETTING( 0x04, "-7C" ) \
1792
PORT_DIPSETTING( 0x05, "-7B" ) \
1793
PORT_DIPSETTING( 0x06, "-7A" ) \
1794
PORT_DIPSETTING( 0x07, "-79" ) \
1795
PORT_DIPSETTING( 0x08, "-78" ) \
1796
PORT_DIPSETTING( 0x09, "-77" ) \
1797
PORT_DIPSETTING( 0x0a, "-76" ) \
1798
PORT_DIPSETTING( 0x0b, "-75" ) \
1799
PORT_DIPSETTING( 0x0c, "-74" ) \
1800
PORT_DIPSETTING( 0x0d, "-73" ) \
1801
PORT_DIPSETTING( 0x0e, "-72" ) \
1802
PORT_DIPSETTING( 0x0f, "-71" ) \
1803
PORT_DIPSETTING( 0x10, "-70" ) \
1804
PORT_DIPSETTING( 0x11, "-6F" ) \
1805
PORT_DIPSETTING( 0x12, "-6E" ) \
1806
PORT_DIPSETTING( 0x13, "-6D" ) \
1807
PORT_DIPSETTING( 0x14, "-6C" ) \
1808
PORT_DIPSETTING( 0x15, "-6B" ) \
1809
PORT_DIPSETTING( 0x16, "-6A" ) \
1810
PORT_DIPSETTING( 0x17, "-69" ) \
1811
PORT_DIPSETTING( 0x18, "-68" ) \
1812
PORT_DIPSETTING( 0x19, "-67" ) \
1813
PORT_DIPSETTING( 0x1a, "-66" ) \
1814
PORT_DIPSETTING( 0x1b, "-65" ) \
1815
PORT_DIPSETTING( 0x1c, "-64" ) \
1816
PORT_DIPSETTING( 0x1d, "-63" ) \
1817
PORT_DIPSETTING( 0x1e, "-62" ) \
1818
PORT_DIPSETTING( 0x1f, "-61" ) \
1819
PORT_DIPSETTING( 0x20, "-60" ) \
1820
PORT_DIPSETTING( 0x21, "-5F" ) \
1821
PORT_DIPSETTING( 0x22, "-5E" ) \
1822
PORT_DIPSETTING( 0x23, "-5D" ) \
1823
PORT_DIPSETTING( 0x24, "-5C" ) \
1824
PORT_DIPSETTING( 0x25, "-5B" ) \
1825
PORT_DIPSETTING( 0x26, "-5A" ) \
1826
PORT_DIPSETTING( 0x27, "-59" ) \
1827
PORT_DIPSETTING( 0x28, "-58" ) \
1828
PORT_DIPSETTING( 0x29, "-57" ) \
1829
PORT_DIPSETTING( 0x2a, "-56" ) \
1830
PORT_DIPSETTING( 0x2b, "-55" ) \
1831
PORT_DIPSETTING( 0x2c, "-54" ) \
1832
PORT_DIPSETTING( 0x2d, "-53" ) \
1833
PORT_DIPSETTING( 0x2e, "-52" ) \
1834
PORT_DIPSETTING( 0x2f, "-51" ) \
1835
PORT_DIPSETTING( 0x30, "-50" ) \
1836
PORT_DIPSETTING( 0x31, "-4F" ) \
1837
PORT_DIPSETTING( 0x32, "-4E" ) \
1838
PORT_DIPSETTING( 0x33, "-4D" ) \
1839
PORT_DIPSETTING( 0x34, "-4C" ) \
1840
PORT_DIPSETTING( 0x35, "-4B" ) \
1841
PORT_DIPSETTING( 0x36, "-4A" ) \
1842
PORT_DIPSETTING( 0x37, "-49" ) \
1843
PORT_DIPSETTING( 0x38, "-48" ) \
1844
PORT_DIPSETTING( 0x39, "-47" ) \
1845
PORT_DIPSETTING( 0x3a, "-46" ) \
1846
PORT_DIPSETTING( 0x3b, "-45" ) \
1847
PORT_DIPSETTING( 0x3c, "-44" ) \
1848
PORT_DIPSETTING( 0x3d, "-43" ) \
1849
PORT_DIPSETTING( 0x3e, "-42" ) \
1850
PORT_DIPSETTING( 0x3f, "-41" ) \
1851
PORT_DIPSETTING( 0x40, "-40" ) \
1852
PORT_DIPSETTING( 0x41, "-3F" ) \
1853
PORT_DIPSETTING( 0x42, "-3E" ) \
1854
PORT_DIPSETTING( 0x43, "-3D" ) \
1855
PORT_DIPSETTING( 0x44, "-3C" ) \
1856
PORT_DIPSETTING( 0x45, "-3B" ) \
1857
PORT_DIPSETTING( 0x46, "-3A" ) \
1858
PORT_DIPSETTING( 0x47, "-39" ) \
1859
PORT_DIPSETTING( 0x48, "-38" ) \
1860
PORT_DIPSETTING( 0x49, "-37" ) \
1861
PORT_DIPSETTING( 0x4a, "-36" ) \
1862
PORT_DIPSETTING( 0x4b, "-35" ) \
1863
PORT_DIPSETTING( 0x4c, "-34" ) \
1864
PORT_DIPSETTING( 0x4d, "-33" ) \
1865
PORT_DIPSETTING( 0x4e, "-32" ) \
1866
PORT_DIPSETTING( 0x4f, "-31" ) \
1867
PORT_DIPSETTING( 0x50, "-30" ) \
1868
PORT_DIPSETTING( 0x51, "-2F" ) \
1869
PORT_DIPSETTING( 0x52, "-2E" ) \
1870
PORT_DIPSETTING( 0x53, "-2D" ) \
1871
PORT_DIPSETTING( 0x54, "-2C" ) \
1872
PORT_DIPSETTING( 0x55, "-2B" ) \
1873
PORT_DIPSETTING( 0x56, "-2A" ) \
1874
PORT_DIPSETTING( 0x57, "-29" ) \
1875
PORT_DIPSETTING( 0x58, "-28" ) \
1876
PORT_DIPSETTING( 0x59, "-27" ) \
1877
PORT_DIPSETTING( 0x5a, "-26" ) \
1878
PORT_DIPSETTING( 0x5b, "-25" ) \
1879
PORT_DIPSETTING( 0x5c, "-24" ) \
1880
PORT_DIPSETTING( 0x5d, "-23" ) \
1881
PORT_DIPSETTING( 0x5e, "-22" ) \
1882
PORT_DIPSETTING( 0x5f, "-21" ) \
1883
PORT_DIPSETTING( 0x60, "-20" ) \
1884
PORT_DIPSETTING( 0x61, "-1F" ) \
1885
PORT_DIPSETTING( 0x62, "-1E" ) \
1886
PORT_DIPSETTING( 0x63, "-1D" ) \
1887
PORT_DIPSETTING( 0x64, "-1C" ) \
1888
PORT_DIPSETTING( 0x65, "-1B" ) \
1889
PORT_DIPSETTING( 0x66, "-1A" ) \
1890
PORT_DIPSETTING( 0x67, "-19" ) \
1891
PORT_DIPSETTING( 0x68, "-18" ) \
1892
PORT_DIPSETTING( 0x69, "-17" ) \
1893
PORT_DIPSETTING( 0x6a, "-16" ) \
1894
PORT_DIPSETTING( 0x6b, "-15" ) \
1895
PORT_DIPSETTING( 0x6c, "-14" ) \
1896
PORT_DIPSETTING( 0x6d, "-13" ) \
1897
PORT_DIPSETTING( 0x6e, "-12" ) \
1898
PORT_DIPSETTING( 0x6f, "-11" ) \
1899
PORT_DIPSETTING( 0x70, "-10" ) \
1900
PORT_DIPSETTING( 0x71, "-0F" ) \
1901
PORT_DIPSETTING( 0x72, "-0E" ) \
1902
PORT_DIPSETTING( 0x73, "-0D" ) \
1903
PORT_DIPSETTING( 0x74, "-0C" ) \
1904
PORT_DIPSETTING( 0x75, "-0B" ) \
1905
PORT_DIPSETTING( 0x76, "-0A" ) \
1906
PORT_DIPSETTING( 0x77, "-09" ) \
1907
PORT_DIPSETTING( 0x78, "-08" ) \
1908
PORT_DIPSETTING( 0x79, "-07" ) \
1909
PORT_DIPSETTING( 0x7a, "-06" ) \
1910
PORT_DIPSETTING( 0x7b, "-05" ) \
1911
PORT_DIPSETTING( 0x7c, "-04" ) \
1912
PORT_DIPSETTING( 0x7d, "-03" ) \
1913
PORT_DIPSETTING( 0x7e, "-02" ) \
1914
PORT_DIPSETTING( 0x7f, "-01" ) \
1915
PORT_DIPSETTING( 0x80, "+-00" ) \
1916
PORT_DIPSETTING( 0x81, "+01" ) \
1917
PORT_DIPSETTING( 0x82, "+02" ) \
1918
PORT_DIPSETTING( 0x83, "+03" ) \
1919
PORT_DIPSETTING( 0x84, "+04" ) \
1920
PORT_DIPSETTING( 0x85, "+05" ) \
1921
PORT_DIPSETTING( 0x86, "+06" ) \
1922
PORT_DIPSETTING( 0x87, "+07" ) \
1923
PORT_DIPSETTING( 0x88, "+08" ) \
1924
PORT_DIPSETTING( 0x89, "+09" ) \
1925
PORT_DIPSETTING( 0x8a, "+0A" ) \
1926
PORT_DIPSETTING( 0x8b, "+0B" ) \
1927
PORT_DIPSETTING( 0x8c, "+0C" ) \
1928
PORT_DIPSETTING( 0x8d, "+0D" ) \
1929
PORT_DIPSETTING( 0x8e, "+0E" ) \
1930
PORT_DIPSETTING( 0x8f, "+0F" ) \
1931
PORT_DIPSETTING( 0x90, "+10" ) \
1932
PORT_DIPSETTING( 0x91, "+11" ) \
1933
PORT_DIPSETTING( 0x92, "+12" ) \
1934
PORT_DIPSETTING( 0x93, "+13" ) \
1935
PORT_DIPSETTING( 0x94, "+14" ) \
1936
PORT_DIPSETTING( 0x95, "+15" ) \
1937
PORT_DIPSETTING( 0x96, "+16" ) \
1938
PORT_DIPSETTING( 0x97, "+17" ) \
1939
PORT_DIPSETTING( 0x98, "+18" ) \
1940
PORT_DIPSETTING( 0x99, "+19" ) \
1941
PORT_DIPSETTING( 0x9a, "+1A" ) \
1942
PORT_DIPSETTING( 0x9b, "+1B" ) \
1943
PORT_DIPSETTING( 0x9c, "+1C" ) \
1944
PORT_DIPSETTING( 0x9d, "+1D" ) \
1945
PORT_DIPSETTING( 0x9e, "+1E" ) \
1946
PORT_DIPSETTING( 0x9f, "+1F" ) \
1947
PORT_DIPSETTING( 0xa0, "+20" ) \
1948
PORT_DIPSETTING( 0xa1, "+21" ) \
1949
PORT_DIPSETTING( 0xa2, "+22" ) \
1950
PORT_DIPSETTING( 0xa3, "+23" ) \
1951
PORT_DIPSETTING( 0xa4, "+24" ) \
1952
PORT_DIPSETTING( 0xa5, "+25" ) \
1953
PORT_DIPSETTING( 0xa6, "+26" ) \
1954
PORT_DIPSETTING( 0xa7, "+27" ) \
1955
PORT_DIPSETTING( 0xa8, "+28" ) \
1956
PORT_DIPSETTING( 0xa9, "+29" ) \
1957
PORT_DIPSETTING( 0xaa, "+2A" ) \
1958
PORT_DIPSETTING( 0xab, "+2B" ) \
1959
PORT_DIPSETTING( 0xac, "+2C" ) \
1960
PORT_DIPSETTING( 0xad, "+2D" ) \
1961
PORT_DIPSETTING( 0xae, "+2E" ) \
1962
PORT_DIPSETTING( 0xaf, "+2F" ) \
1963
PORT_DIPSETTING( 0xb0, "+30" ) \
1964
PORT_DIPSETTING( 0xb1, "+31" ) \
1965
PORT_DIPSETTING( 0xb2, "+32" ) \
1966
PORT_DIPSETTING( 0xb3, "+33" ) \
1967
PORT_DIPSETTING( 0xb4, "+34" ) \
1968
PORT_DIPSETTING( 0xb5, "+35" ) \
1969
PORT_DIPSETTING( 0xb6, "+36" ) \
1970
PORT_DIPSETTING( 0xb7, "+37" ) \
1971
PORT_DIPSETTING( 0xb8, "+38" ) \
1972
PORT_DIPSETTING( 0xb9, "+39" ) \
1973
PORT_DIPSETTING( 0xba, "+3A" ) \
1974
PORT_DIPSETTING( 0xbb, "+3B" ) \
1975
PORT_DIPSETTING( 0xbc, "+3C" ) \
1976
PORT_DIPSETTING( 0xbd, "+3D" ) \
1977
PORT_DIPSETTING( 0xbe, "+3E" ) \
1978
PORT_DIPSETTING( 0xbf, "+3F" ) \
1979
PORT_DIPSETTING( 0xc0, "+40" ) \
1980
PORT_DIPSETTING( 0xc1, "+41" ) \
1981
PORT_DIPSETTING( 0xc2, "+42" ) \
1982
PORT_DIPSETTING( 0xc3, "+43" ) \
1983
PORT_DIPSETTING( 0xc4, "+44" ) \
1984
PORT_DIPSETTING( 0xc5, "+45" ) \
1985
PORT_DIPSETTING( 0xc6, "+46" ) \
1986
PORT_DIPSETTING( 0xc7, "+47" ) \
1987
PORT_DIPSETTING( 0xc8, "+48" ) \
1988
PORT_DIPSETTING( 0xc9, "+49" ) \
1989
PORT_DIPSETTING( 0xca, "+4A" ) \
1990
PORT_DIPSETTING( 0xcb, "+4B" ) \
1991
PORT_DIPSETTING( 0xcc, "+4C" ) \
1992
PORT_DIPSETTING( 0xcd, "+4D" ) \
1993
PORT_DIPSETTING( 0xce, "+4E" ) \
1994
PORT_DIPSETTING( 0xcf, "+4F" ) \
1995
PORT_DIPSETTING( 0xd0, "+50" ) \
1996
PORT_DIPSETTING( 0xd1, "+51" ) \
1997
PORT_DIPSETTING( 0xd2, "+52" ) \
1998
PORT_DIPSETTING( 0xd3, "+53" ) \
1999
PORT_DIPSETTING( 0xd4, "+54" ) \
2000
PORT_DIPSETTING( 0xd5, "+55" ) \
2001
PORT_DIPSETTING( 0xd6, "+56" ) \
2002
PORT_DIPSETTING( 0xd7, "+57" ) \
2003
PORT_DIPSETTING( 0xd8, "+58" ) \
2004
PORT_DIPSETTING( 0xd9, "+59" ) \
2005
PORT_DIPSETTING( 0xda, "+5A" ) \
2006
PORT_DIPSETTING( 0xdb, "+5B" ) \
2007
PORT_DIPSETTING( 0xdc, "+5C" ) \
2008
PORT_DIPSETTING( 0xdd, "+5D" ) \
2009
PORT_DIPSETTING( 0xde, "+5E" ) \
2010
PORT_DIPSETTING( 0xdf, "+5F" ) \
2011
PORT_DIPSETTING( 0xe0, "+60" ) \
2012
PORT_DIPSETTING( 0xe1, "+61" ) \
2013
PORT_DIPSETTING( 0xe2, "+62" ) \
2014
PORT_DIPSETTING( 0xe3, "+63" ) \
2015
PORT_DIPSETTING( 0xe4, "+64" ) \
2016
PORT_DIPSETTING( 0xe5, "+65" ) \
2017
PORT_DIPSETTING( 0xe6, "+66" ) \
2018
PORT_DIPSETTING( 0xe7, "+67" ) \
2019
PORT_DIPSETTING( 0xe8, "+68" ) \
2020
PORT_DIPSETTING( 0xe9, "+69" ) \
2021
PORT_DIPSETTING( 0xea, "+6A" ) \
2022
PORT_DIPSETTING( 0xeb, "+6B" ) \
2023
PORT_DIPSETTING( 0xec, "+6C" ) \
2024
PORT_DIPSETTING( 0xed, "+6D" ) \
2025
PORT_DIPSETTING( 0xee, "+6E" ) \
2026
PORT_DIPSETTING( 0xef, "+6F" ) \
2027
PORT_DIPSETTING( 0xf0, "+70" ) \
2028
PORT_DIPSETTING( 0xf1, "+71" ) \
2029
PORT_DIPSETTING( 0xf2, "+72" ) \
2030
PORT_DIPSETTING( 0xf3, "+73" ) \
2031
PORT_DIPSETTING( 0xf4, "+74" ) \
2032
PORT_DIPSETTING( 0xf5, "+75" ) \
2033
PORT_DIPSETTING( 0xf6, "+76" ) \
2034
PORT_DIPSETTING( 0xf7, "+77" ) \
2035
PORT_DIPSETTING( 0xf8, "+78" ) \
2036
PORT_DIPSETTING( 0xf9, "+79" ) \
2037
PORT_DIPSETTING( 0xfa, "+7A" ) \
2038
PORT_DIPSETTING( 0xfb, "+7B" ) \
2039
PORT_DIPSETTING( 0xfc, "+7C" ) \
2040
PORT_DIPSETTING( 0xfd, "+7D" ) \
2041
PORT_DIPSETTING( 0xfe, "+7E" ) \
2042
PORT_DIPSETTING( 0xff, "+7F" )
2045
static INPUT_PORTS_START( contcirc )
2047
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2048
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
2049
PORT_DIPSETTING( 0x00, "Cockpit" ) // analogue accelerator pedal
2050
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" )
2051
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2052
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2053
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2054
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2055
TAITO_COINAGE_WORLD_LOC(SW A)
2058
PORT_DIPNAME( 0x03, 0x03, "Difficulty 1 (time/speed)" ) PORT_DIPLOCATION("SW B:1,2")
2059
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
2060
PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
2061
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
2062
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
2063
PORT_DIPNAME( 0x0c, 0x0c, "Difficulty 2 (other cars)" ) PORT_DIPLOCATION("SW B:3,4")
2064
PORT_DIPSETTING( 0x08, DEF_STR( Easy ) )
2065
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
2066
PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
2067
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
2068
PORT_DIPNAME( 0x10, 0x10, "Steering wheel" ) PORT_DIPLOCATION("SW B:5") //not sure what effect this has
2069
PORT_DIPSETTING( 0x10, "Free" )
2070
PORT_DIPSETTING( 0x00, "Locked" )
2071
PORT_DIPNAME( 0x20, 0x00, "Enable 3d alternate frames" ) PORT_DIPLOCATION("SW B:6")
2072
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2073
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
2074
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2075
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2078
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2079
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2080
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
2081
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
2082
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2083
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_PLAYER(1) /* 3 for accel [7 levels] */
2084
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)
2085
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) /* main accel key */
2087
PORT_START("IN1") /* b3 not mapped: standardized on holding b4=lo gear */
2088
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2089
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2090
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
2091
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2092
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1) /* gear shift lo/hi */
2093
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_PLAYER(1) /* 3 for brake [7 levels] */
2094
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_PLAYER(1)
2095
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) /* main brake key */
2097
PORT_START("IN2") /* unused */
2098
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2100
PORT_START("STEER") /* "handle" i.e. steering */
2101
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
2103
PORT_START("FAKE") /* fake allowing digital steer */
2104
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2105
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2106
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2107
PORT_DIPSETTING( 0x10, "Digital" )
2108
PORT_DIPSETTING( 0x00, "Analogue" )
2111
static INPUT_PORTS_START( contcrcu )
2112
PORT_INCLUDE(contcirc)
2114
PORT_MODIFY("DSWA") // confirmed
2115
TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2118
static INPUT_PORTS_START( chasehq ) // IN3-6 perhaps used with cockpit setup? //
2120
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1,2") /* US Manual states DIPS 1 & 2 "MUST REMAIN OFF" */
2121
PORT_DIPSETTING( 0x03, "Upright / Steering Lock" )
2122
PORT_DIPSETTING( 0x02, "Upright / No Steering Lock" )
2123
PORT_DIPSETTING( 0x01, "Full Throttle Convert, Cockpit" )
2124
PORT_DIPSETTING( 0x00, "Full Throttle Convert, Deluxe" )
2125
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2126
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2127
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2128
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2129
TAITO_COINAGE_WORLD_LOC(SW A)
2132
TAITO_DIFFICULTY_LOC(SW B)
2133
PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
2134
PORT_DIPSETTING( 0x08, "70 Seconds" )
2135
PORT_DIPSETTING( 0x04, "65 Seconds" )
2136
PORT_DIPSETTING( 0x0c, "60 Seconds" )
2137
PORT_DIPSETTING( 0x00, "55 Seconds" )
2138
PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
2139
PORT_DIPSETTING( 0x10, "3" )
2140
PORT_DIPSETTING( 0x00, "5" )
2141
PORT_DIPNAME( 0x20, 0x20, "Discounted Continue Play" ) PORT_DIPLOCATION("SW B:6") /* Full coin price to start, 1 coin to continue */
2142
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2143
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2144
PORT_DIPNAME( 0x40, 0x40, "Damage Cleared at Continue" ) PORT_DIPLOCATION("SW B:7")
2145
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2146
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2147
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:8")
2148
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2149
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
2152
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2153
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2154
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
2155
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
2156
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2157
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* brake */
2158
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2159
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2162
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) /* turbo */
2163
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
2164
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2165
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2166
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1) /* gear */
2167
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* accel */
2168
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2169
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2171
PORT_START("IN2") /* unused */
2172
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2174
PORT_START("UNK1") /* ??? */
2175
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2176
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2177
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2178
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2179
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2180
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2181
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2182
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2184
PORT_START("UNK2") /* ??? */
2185
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2186
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2187
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2188
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2189
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2190
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2191
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2192
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2194
PORT_START("UNK3") /* ??? */
2195
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2196
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2197
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2198
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2199
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2200
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2201
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2202
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2204
PORT_START("UNK4") /* ??? */
2205
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2206
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2207
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2208
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2209
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2210
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2211
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2212
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2214
PORT_START("STEER") /* steering */
2215
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
2217
PORT_START("FAKE") /* fake allowing digital steer */
2218
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2219
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2220
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2221
PORT_DIPSETTING( 0x10, "Digital" )
2222
PORT_DIPSETTING( 0x00, "Analogue" )
2225
static INPUT_PORTS_START( chasehqj )
2226
PORT_INCLUDE(chasehq)
2229
TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2232
static INPUT_PORTS_START( enforce )
2234
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW A:1" )
2235
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" )
2236
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2237
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2238
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // Says SHIFT HI in test mode !?
2239
PORT_DIPSETTING( 0x08, DEF_STR( On ) ) // Says SHIFT LO in test mode !?
2240
TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2243
TAITO_DIFFICULTY_LOC(SW B)
2244
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW B:3" )
2245
PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW B:4" )
2246
PORT_DIPNAME( 0x10, 0x00, "Background scenery" ) PORT_DIPLOCATION("SW B:5")
2247
PORT_DIPSETTING( 0x10, "Crazy scrolling" )
2248
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) )
2249
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" )
2250
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2251
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2254
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2255
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2256
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
2257
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
2258
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2259
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2260
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2261
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2264
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* Bomb */
2265
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* Laser */
2266
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT )
2267
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2268
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2269
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2270
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2271
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2273
PORT_START("IN2") /* unused */
2274
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2277
static INPUT_PORTS_START( bshark )
2279
PORT_DIPNAME( 0x01, 0x01, "Mirror screen" ) PORT_DIPLOCATION("SW A:1") // manual says it must be off
2280
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2281
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2282
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" ) // manual says it must be off
2283
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2284
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2285
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2286
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2287
TAITO_COINAGE_US_LOC(SW A)
2290
TAITO_DIFFICULTY_LOC(SW B)
2291
PORT_DIPNAME( 0x0c, 0x04, "Speed of Sight" ) PORT_DIPLOCATION("SW B:3,4")
2292
PORT_DIPSETTING( 0x0c, "Slow" )
2293
PORT_DIPSETTING( 0x08, DEF_STR( Medium ) )
2294
PORT_DIPSETTING( 0x04, "Fast" )
2295
PORT_DIPSETTING( 0x00, "Fastest" )
2296
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW B:5" ) // manual says all these must be off
2297
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" )
2298
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2299
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2302
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
2303
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
2304
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2305
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_TILT )
2306
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2307
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2308
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2309
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2311
PORT_START("IN1") /* unused */
2312
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2314
PORT_START("IN2") /* b2-5 affect sound num in service mode but otherwise useless (?) */
2315
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2316
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
2317
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2318
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
2319
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
2320
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
2321
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* "Fire" */
2322
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) /* same as "Fire" */
2324
PORT_START("STICKX") /* values chosen to match allowed crosshair area */
2325
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x35, 0xcc) PORT_SENSITIVITY(20) PORT_KEYDELTA(4) PORT_REVERSE PORT_PLAYER(1)
2327
PORT_START("X_ADJUST") /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2328
TAITO_Z_ANALOG_ADJUST( "Adjust Stick H (VARIABLE REGISTER)" )
2330
PORT_START("STICKY") /* values chosen to match allowed crosshair area */
2331
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0x32, 0xd5) PORT_SENSITIVITY(20) PORT_KEYDELTA(4) PORT_PLAYER(1)
2333
PORT_START("Y_ADJUST") /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2334
TAITO_Z_ANALOG_ADJUST( "Adjust Stick V (VARIABLE REGISTER)" )
2337
static INPUT_PORTS_START( bsharkj )
2338
PORT_INCLUDE(bshark)
2341
TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2344
static INPUT_PORTS_START( sci )
2346
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2347
PORT_DIPSETTING( 0x01, "Cockpit" )
2348
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2349
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" ) /* Manual states "MUST REMAIN OFF" */
2350
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2351
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2352
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2353
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2354
TAITO_COINAGE_WORLD_LOC(SW A)
2357
TAITO_DIFFICULTY_LOC(SW B)
2358
PORT_DIPNAME( 0x0c, 0x0c, "Timer Setting" ) PORT_DIPLOCATION("SW B:3,4")
2359
PORT_DIPSETTING( 0x08, "70 Seconds" )
2360
PORT_DIPSETTING( 0x04, "65 Seconds" )
2361
PORT_DIPSETTING( 0x0c, "60 Seconds" )
2362
PORT_DIPSETTING( 0x00, "55 Seconds" )
2363
PORT_DIPNAME( 0x10, 0x10, "Turbos Stocked" ) PORT_DIPLOCATION("SW B:5")
2364
PORT_DIPSETTING( 0x10, "3" )
2365
PORT_DIPSETTING( 0x00, "5" )
2366
PORT_DIPNAME( 0x20, 0x20, "Steering Radius" ) PORT_DIPLOCATION("SW B:6")
2367
PORT_DIPSETTING( 0x00, "270 Degree" )
2368
PORT_DIPSETTING( 0x20, "360 Degree" )
2369
PORT_DIPNAME( 0x40, 0x40, "Damage Cleared at Continue" ) PORT_DIPLOCATION("SW B:7")
2370
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2371
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2372
PORT_DIPNAME( 0x80, 0x80, "Siren Volume" ) PORT_DIPLOCATION("SW B:8")
2373
PORT_DIPSETTING( 0x80, DEF_STR( Normal ) )
2374
PORT_DIPSETTING( 0x00, DEF_STR( Low ) )
2377
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2378
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) /* fire */
2379
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2380
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2381
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2382
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* brake */
2383
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2384
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2387
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) /* turbo */
2388
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
2389
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) /* "center" */
2390
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2391
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1) /* gear */
2392
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* accel */
2393
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2394
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2396
PORT_START("IN2") /* unused */
2397
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2399
PORT_START("STEER") /* steering */
2400
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
2402
PORT_START("FAKE") /* fake allowing digital steer */
2403
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2404
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2405
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2406
PORT_DIPSETTING( 0x10, "Digital" )
2407
PORT_DIPSETTING( 0x00, "Analogue" )
2410
static INPUT_PORTS_START( sciu )
2414
TAITO_COINAGE_US_LOC(SW A)
2417
static INPUT_PORTS_START( scij )
2421
TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2424
static INPUT_PORTS_START( nightstr )
2426
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2427
PORT_DIPSETTING( 0x01, "Cockpit" )
2428
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2429
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW A:2" ) // manual says it must be off
2430
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2431
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2432
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2433
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2434
TAITO_COINAGE_WORLD_LOC(SW A)
2437
TAITO_DIFFICULTY_LOC(SW B)
2438
PORT_DIPNAME( 0x0c, 0x0c, "Bonus Shields" ) PORT_DIPLOCATION("SW B:3,4")
2439
PORT_DIPSETTING( 0x08, "3" )
2440
PORT_DIPSETTING( 0x04, "2" )
2441
PORT_DIPSETTING( 0x0c, "1" )
2442
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
2443
PORT_DIPNAME( 0x30, 0x30, "Shields" ) PORT_DIPLOCATION("SW B:5,6")
2444
PORT_DIPSETTING( 0x00, "3" )
2445
PORT_DIPSETTING( 0x10, "4" )
2446
PORT_DIPSETTING( 0x30, "5" )
2447
PORT_DIPSETTING( 0x20, "6" )
2448
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:7")
2449
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2450
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2451
PORT_DIPNAME( 0x80, 0x80, "Trigger Turbo" ) PORT_DIPLOCATION("SW B:8")
2452
PORT_DIPSETTING( 0x80, "7 Shots / Second" )
2453
PORT_DIPSETTING( 0x00, "10 Shots / Second" )
2456
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2457
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
2458
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
2459
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
2460
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
2461
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
2462
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
2463
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
2465
PORT_START("IN1") /* unused */
2466
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2469
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
2470
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
2471
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2472
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2473
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2474
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2475
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
2476
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2478
PORT_START("STICKX")
2479
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(60) PORT_KEYDELTA(15) PORT_PLAYER(1)
2481
PORT_START("STICKY")
2482
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(60) PORT_KEYDELTA(15) PORT_REVERSE PORT_PLAYER(1)
2484
PORT_START("X_ADJUST") /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2485
TAITO_Z_ANALOG_ADJUST( "Adjust Stick H (VARIABLE REGISTER)" )
2487
PORT_START("Y_ADJUST") /* declare as DIP SWITCH instead of VARIABLE REGISTER */
2488
TAITO_Z_ANALOG_ADJUST( "Adjust Stick V (VARIABLE REGISTER)" )
2491
static INPUT_PORTS_START( nghtstrj )
2492
PORT_INCLUDE( nightstr )
2495
TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2498
static INPUT_PORTS_START( nghtstru )
2499
PORT_INCLUDE( nightstr )
2502
TAITO_COINAGE_US_LOC(SW A)
2505
static INPUT_PORTS_START( aquajack )
2507
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW A:1")
2508
PORT_DIPSETTING( 0x80, "Cockpit" )
2509
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2510
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW A:2" ) /* Dip 2 shown as "Must Remain in "Off" Position" in manual */
2511
PORT_SERVICE_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW A:3" )
2512
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2513
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2514
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
2515
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:6,5")
2516
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
2517
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
2518
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
2519
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
2520
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:8,7") /* The Romstar (US version) manual list this as "Continue Pricing" */
2521
PORT_DIPSETTING( 0x03, DEF_STR( 1C_2C ) ) /* Same pricing as Coin A */
2522
PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) /* 1 Coin to Continue */
2523
PORT_DIPSETTING( 0x02, DEF_STR( 1C_4C ) ) /* 2 Coins to Continue */
2524
PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) /* 3 Coins to Continue */
2527
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW B:2,1")
2528
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
2529
PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
2530
PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
2531
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
2532
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW B:4,3")
2533
PORT_DIPSETTING( 0x00, "30k" )
2534
PORT_DIPSETTING( 0x30, "50k" )
2535
PORT_DIPSETTING( 0x10, "80k" )
2536
PORT_DIPSETTING( 0x20, "100k" )
2537
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW B:6,5")
2538
PORT_DIPSETTING( 0x08, "1" )
2539
PORT_DIPSETTING( 0x04, "2" )
2540
PORT_DIPSETTING( 0x0c, "3" )
2541
PORT_DIPSETTING( 0x00, "5" )
2542
PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW B:7" ) /* Dip 7 shown as "Do Not Touch" in manuals */
2543
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW B:8" ) /* Dip 8 */
2544
/* The previous taito_z.c said ---
2545
The Romstar (US version) manual list this as "Endless Game" - Has no effect on "World" version
2546
--- , and declared it as unused switch.
2548
/* PORT_DIPNAME( 0x01, 0x01, "Endless Game" ) PORT_DIPLOCATION("SW B:8") */
2549
/* PORT_DIPSETTING( 0x01, "Normal Game" ) */
2550
/* PORT_DIPSETTING( 0x00, "Endless Game" ) */
2553
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2554
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
2555
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2556
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2557
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2558
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
2559
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2560
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2563
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
2564
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
2565
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
2566
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
2567
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
2568
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2569
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
2570
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2572
PORT_START("IN2") /* what is it ??? */
2573
PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)
2576
static INPUT_PORTS_START( aquajckj )
2577
PORT_INCLUDE(aquajack)
2580
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW A:6,5")
2581
PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
2582
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
2583
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2584
PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
2585
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW A:8,7")
2586
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
2587
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
2588
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2589
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
2592
static INPUT_PORTS_START( spacegun )
2594
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW A:1" ) // Manual says Always Off
2595
PORT_DIPNAME( 0x02, 0x02, "Always have gunsight power up" ) PORT_DIPLOCATION("SW A:2")
2596
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2597
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2598
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2599
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2600
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2601
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2602
TAITO_COINAGE_WORLD_LOC(SW A)
2605
TAITO_DIFFICULTY_LOC(SW B)
2606
PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW B:3" ) // Manual lists dips 3 through 6 and 8 as Always off
2607
PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW B:4" )
2608
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW B:5" )
2609
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" )
2610
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW B:7")
2611
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2612
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2613
PORT_DIPNAME( 0x80, 0x80, "Disable Pedal (?)" ) PORT_DIPLOCATION("SW B:8")
2614
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2615
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2618
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
2619
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
2620
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
2621
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
2622
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2623
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2624
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1)
2625
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2)
2627
PORT_START("IN1") /* unused */
2628
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2631
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
2632
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
2633
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
2634
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
2635
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2636
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2637
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2638
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2640
PORT_START( "EEPROMOUT" )
2641
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_cs_line)
2642
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, set_clock_line)
2643
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_device, write_bit)
2645
PORT_START("STICKX1")
2646
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_REVERSE PORT_PLAYER(1)
2648
PORT_START("STICKY1")
2649
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_PLAYER(1)
2651
PORT_START("STICKX2")
2652
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_REVERSE PORT_PLAYER(2)
2654
PORT_START("STICKY2")
2655
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(13) PORT_CENTERDELTA(0) PORT_PLAYER(2)
2658
static INPUT_PORTS_START( dblaxle )
2660
PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW A:1" )
2661
PORT_DIPNAME( 0x02, 0x02, "Gear shift" ) PORT_DIPLOCATION("SW A:2")
2662
PORT_DIPSETTING( 0x02, DEF_STR( Normal ) )
2663
PORT_DIPSETTING( 0x00, "Inverted" )
2664
PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW A:3" )
2665
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW A:4")
2666
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2667
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2668
TAITO_COINAGE_US_LOC(SW A)
2671
TAITO_DIFFICULTY_LOC(SW B)
2672
PORT_DIPNAME( 0x04, 0x00, "Multi-machine hookup ?" ) PORT_DIPLOCATION("SW B:3") // doesn't boot if on
2673
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2674
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
2675
PORT_DIPNAME( 0x08, 0x08, "Player Truck" ) PORT_DIPLOCATION("SW B:4")
2676
PORT_DIPSETTING( 0x08, "Red" )
2677
PORT_DIPSETTING( 0x00, "Blue" )
2678
PORT_DIPNAME( 0x10, 0x10, "Back button" ) PORT_DIPLOCATION("SW B:5")
2679
PORT_DIPSETTING( 0x10, DEF_STR( Normal ) )
2680
PORT_DIPSETTING( 0x00, "Inverted" )
2681
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW B:6" ) // causes "Root CPU Error" on "Icy Road" (Tourniquet)
2682
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW B:7" )
2683
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW B:8" )
2686
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
2687
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) /* shift */
2688
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
2689
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
2690
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
2691
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) /* brake */
2692
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2693
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) /* "back" */
2696
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) /* nitro */
2697
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
2698
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) /* "center" */
2699
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2700
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
2701
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* accel */
2702
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2703
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2705
PORT_START("IN2") /* unused */
2706
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
2708
PORT_START("STEER") /* steering */
2709
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(40) PORT_KEYDELTA(10) PORT_PLAYER(1)
2711
PORT_START("FAKE") /* fake allowing digital steer */
2712
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_PLAYER(1)
2713
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_PLAYER(1)
2714
PORT_DIPNAME( 0x10, 0x00, "Steering type" )
2715
PORT_DIPSETTING( 0x10, "Digital" )
2716
PORT_DIPSETTING( 0x00, "Analogue" )
2719
static INPUT_PORTS_START( pwheelsj )
2720
PORT_INCLUDE(dblaxle)
2723
TAITO_COINAGE_JAPAN_OLD_LOC(SW A)
2727
/***********************************************************
2729
***********************************************************/
2731
static const gfx_layout tile16x8_layout =
2733
16,8, /* 16*8 sprites */
2735
4, /* 4 bits per pixel */
2737
{ 32, 33, 34, 35, 36, 37, 38, 39, 0, 1, 2, 3, 4, 5, 6, 7 },
2738
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 },
2739
64*8 /* every sprite takes 64 consecutive bytes */
2742
static const gfx_layout tile16x16_layout =
2744
16,16, /* 16*16 sprites */
2746
4, /* 4 bits per pixel */
2748
{ 32, 33, 34, 35, 36, 37, 38, 39, 0, 1, 2, 3, 4, 5, 6, 7 },
2749
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
2750
8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
2751
64*16 /* every sprite takes 128 consecutive bytes */
2754
static const gfx_layout charlayout =
2756
8,8, /* 8*8 characters */
2758
4, /* 4 bits per pixel */
2760
{ 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 },
2761
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
2762
32*8 /* every sprite takes 32 consecutive bytes */
2765
static const gfx_layout dblaxle_charlayout =
2767
16,16, /* 16*16 characters */
2769
4, /* 4 bits per pixel */
2771
{ 1*4, 0*4, 5*4, 4*4, 3*4, 2*4, 7*4, 6*4, 9*4, 8*4, 13*4, 12*4, 11*4, 10*4, 15*4, 14*4 },
2772
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
2773
128*8 /* every sprite takes 128 consecutive bytes */
2776
static GFXDECODE_START( taitoz )
2777
GFXDECODE_ENTRY( "gfx2", 0x0, tile16x8_layout, 0, 256 ) /* sprite parts */
2778
GFXDECODE_ENTRY( "gfx1", 0x0, charlayout, 0, 256 ) /* sprites & playfield */
2781
/* taitoic.c TC0100SCN routines expect scr stuff to be in second gfx
2782
slot, so 2nd batch of obj must be placed third */
2784
static GFXDECODE_START( chasehq )
2785
GFXDECODE_ENTRY( "gfx2", 0x0, tile16x16_layout, 0, 256 ) /* sprite parts */
2786
GFXDECODE_ENTRY( "gfx1", 0x0, charlayout, 0, 256 ) /* sprites & playfield */
2787
GFXDECODE_ENTRY( "gfx4", 0x0, tile16x16_layout, 0, 256 ) /* sprite parts */
2790
static GFXDECODE_START( dblaxle )
2791
GFXDECODE_ENTRY( "gfx2", 0x0, tile16x8_layout, 0, 256 ) /* sprite parts */
2792
GFXDECODE_ENTRY( "gfx1", 0x0, dblaxle_charlayout, 0, 256 ) /* sprites & playfield */
2797
/**************************************************************
2800
The first interface is for game boards with twin 68000 and Z80.
2801
Interface B is for games which lack a Z80 (Spacegun, Bshark).
2802
**************************************************************/
2804
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
2805
static void irqhandler(device_t *device, int irq)
2807
taitoz_state *state = device->machine().driver_data<taitoz_state>();
2808
device_set_input_line(state->m_audiocpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
2811
/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
2812
static void irqhandlerb(device_t *device, int irq)
2814
// DG: this is probably specific to Z80 and wrong?
2815
// taitoz_state *state = device->machine().driver_data<taitoz_state>();
2816
// device_set_input_line(state->m_audiocpu, 0, irq ? ASSERT_LINE : CLEAR_LINE);
2819
static const ym2610_interface ym2610_config =
2824
static const ym2610_interface ym2610_interfaceb =
2830
/**************************************************************
2832
**************************************************************/
2835
static DEVICE_START( subwoofer )
2837
/* Adjust the lowpass filter of the first three YM2610 channels */
2839
/* 150 Hz is a common top frequency played by a generic */
2840
/* subwoofer, the real Arcade Machine may differs */
2842
mixer_set_lowpass_frequency(0, 20);
2843
mixer_set_lowpass_frequency(1, 20);
2844
mixer_set_lowpass_frequency(2, 20);
2847
static DEVICE_GET_INFO( subwoofer )
2851
/* --- the following bits of info are returned as pointers to data or functions --- */
2852
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(subwoofer); break;
2854
/* --- the following bits of info are returned as NULL-terminated strings --- */
2855
case DEVINFO_STR_NAME: strcpy(info->s, "Subwoofer"); break;
2856
case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
2862
/***********************************************************
2868
Chasehq2 needs high interleaving to have sound (not checked
2869
since May 2001 - may have changed).
2871
Enforce with interleave of 1 sometimes lets you take over from
2872
the demo game when you coin up! Set to 10 seems to cure this.
2874
Bshark needs the high cpu interleaving to run test mode.
2876
Nightstr needs the high cpu interleaving to get through init.
2878
Aquajack has it VERY high to cure frequent sound-related
2881
Dblaxle has 10 to boot up reliably but very occasionally gets
2882
a "root cpu error" still.
2884
Racingb inherited interleave from Dblaxle - other values not
2887
Mostly it's the 2nd 68K which writes to road chip, so syncing
2888
between it and the master 68K may be important. Contcirc
2889
and ChaseHQ have interleave of only 1 - possible cause of
2890
Contcirc road glitchiness in attract?
2892
***********************************************************/
2895
static const tc0100scn_interface taitoz_tc0100scn_intf =
2898
1, 2, /* gfxnum, txnum */
2899
0, 0, /* x_offset, y_offset */
2900
0, 0, /* flip_xoff, flip_yoff */
2901
0, 0, /* flip_text_xoff, flip_text_yoff */
2905
static const tc0100scn_interface chasehq_tc0100scn_intf =
2908
1, 3, /* gfxnum, txnum */
2909
0, 0, /* x_offset, y_offset */
2910
0, 0, /* flip_xoff, flip_yoff */
2911
0, 0, /* flip_text_xoff, flip_text_yoff */
2915
static const tc0100scn_interface spacegun_tc0100scn_intf =
2918
1, 2, /* gfxnum, txnum */
2919
4, 0, /* x_offset, y_offset */
2920
0, 0, /* flip_xoff, flip_yoff */
2921
0, 0, /* flip_text_xoff, flip_text_yoff */
2925
static const tc0480scp_interface taitoz_tc0480scp_intf =
2927
1, 2, /* gfxnum, txnum */
2929
0x21, 0x08, /* x_offset, y_offset */
2930
4, 0, /* text_xoff, text_yoff */
2931
0, 0, /* flip_xoff, flip_yoff */
2935
static const tc0110pcr_interface taitoz_tc0110pcr_intf = { 0 };
2937
static const tc0150rod_interface taitoz_tc0150rod_intf = { "gfx3" };
2939
static const tc0220ioc_interface taitoz_io220_intf =
2941
DEVCB_INPUT_PORT("DSWA"), DEVCB_INPUT_PORT("DSWB"),
2942
DEVCB_INPUT_PORT("IN0"), DEVCB_INPUT_PORT("IN1"), DEVCB_INPUT_PORT("IN2") /* port read handlers */
2945
static const tc0510nio_interface taitoz_io510_intf =
2947
DEVCB_INPUT_PORT("DSWA"), DEVCB_INPUT_PORT("DSWB"),
2948
DEVCB_INPUT_PORT("IN0"), DEVCB_INPUT_PORT("IN1"), DEVCB_INPUT_PORT("IN2") /* port read handlers */
2951
static const tc0140syt_interface taitoz_tc0140syt_intf =
2957
/***********************************************************
2959
***********************************************************/
2961
static void taitoz_postload(running_machine &machine)
2963
parse_control(machine);
2964
reset_sound_region(machine);
2967
static MACHINE_START( bshark )
2969
taitoz_state *state = machine.driver_data<taitoz_state>();
2971
state->m_maincpu = machine.device("maincpu");
2972
state->m_subcpu = machine.device("sub");
2973
state->m_audiocpu = machine.device("audiocpu");
2974
state->m_eeprom = machine.device<eeprom_device>("eeprom");
2975
state->m_tc0100scn = machine.device("tc0100scn");
2976
state->m_tc0150rod = machine.device("tc0150rod");
2977
state->m_tc0480scp = machine.device("tc0480scp");
2978
state->m_tc0220ioc = machine.device("tc0220ioc");
2979
state->m_tc0140syt = machine.device("tc0140syt");
2981
state->save_item(NAME(state->m_cpua_ctrl));
2983
/* these are specific to various games: we ought to split the inits */
2984
state->save_item(NAME(state->m_sci_int6));
2985
state->save_item(NAME(state->m_dblaxle_int6));
2986
state->save_item(NAME(state->m_ioc220_port));
2988
state->save_item(NAME(state->m_banknum));
2991
static MACHINE_START( taitoz )
2993
int banks = (machine.region("audiocpu")->bytes() - 0xc000) / 0x4000;
2995
memory_configure_bank(machine, "bank10", 0, banks, machine.region("audiocpu")->base() + 0xc000, 0x4000);
2997
machine.save().register_postload(save_prepost_delegate(FUNC(taitoz_postload), &machine));
2999
MACHINE_START_CALL(bshark);
3002
static MACHINE_RESET( taitoz )
3004
taitoz_state *state = machine.driver_data<taitoz_state>();
3006
state->m_banknum = -1;
3007
state->m_cpua_ctrl = 0xff;
3008
state->m_sci_int6 = 0;
3009
state->m_dblaxle_int6 = 0;
3010
state->m_ioc220_port = 0;
3013
/* Contcirc vis area seems narrower than the other games... */
3015
static MACHINE_CONFIG_START( contcirc, taitoz_state )
3017
/* basic machine hardware */
3018
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
3019
MCFG_CPU_PROGRAM_MAP(contcirc_map)
3020
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3022
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3023
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3025
MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
3026
MCFG_CPU_PROGRAM_MAP(contcirc_cpub_map)
3027
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3029
MCFG_MACHINE_START(taitoz)
3030
MCFG_MACHINE_RESET(taitoz)
3032
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3034
/* video hardware */
3035
MCFG_SCREEN_ADD("screen", RASTER)
3036
MCFG_SCREEN_REFRESH_RATE(60)
3037
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3038
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3039
MCFG_SCREEN_SIZE(40*8, 32*8)
3040
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 31*8-1)
3041
MCFG_SCREEN_UPDATE(contcirc)
3043
MCFG_GFXDECODE(taitoz)
3044
MCFG_PALETTE_LENGTH(4096)
3046
MCFG_VIDEO_START(taitoz)
3048
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3049
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3050
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3052
/* sound hardware */
3053
MCFG_SPEAKER_ADD("front", 0.0, 0.0, 0.7)
3054
MCFG_SPEAKER_ADD("rear", 0.0, 0.0, 1.3)
3055
MCFG_SPEAKER_ADD("subwoofer", 0.0, 0.0, 1.0)
3057
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3058
MCFG_SOUND_CONFIG(ym2610_config)
3059
MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
3060
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3061
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3062
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3063
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3065
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3066
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3067
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3068
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3069
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3070
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3071
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3072
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3074
// MCFG_SOUND_ADD("subwoofer", SUBWOOFER, 0)
3076
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3080
static MACHINE_CONFIG_START( chasehq, taitoz_state )
3082
/* basic machine hardware */
3083
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
3084
MCFG_CPU_PROGRAM_MAP(chasehq_map)
3085
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3087
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3088
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3090
MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
3091
MCFG_CPU_PROGRAM_MAP(chq_cpub_map)
3092
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3094
MCFG_MACHINE_START(taitoz)
3095
MCFG_MACHINE_RESET(taitoz)
3097
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3099
/* video hardware */
3100
MCFG_SCREEN_ADD("screen", RASTER)
3101
MCFG_SCREEN_REFRESH_RATE(60)
3102
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3103
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3104
MCFG_SCREEN_SIZE(40*8, 32*8)
3105
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3106
MCFG_SCREEN_UPDATE(chasehq)
3108
MCFG_GFXDECODE(chasehq)
3109
MCFG_PALETTE_LENGTH(4096)
3111
MCFG_VIDEO_START(taitoz)
3113
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
3114
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3115
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3117
/* sound hardware */
3118
MCFG_SPEAKER_ADD("front", 0.0, 0.0, 0.7)
3119
MCFG_SPEAKER_ADD("rear", 0.0, 0.0, 1.3)
3120
MCFG_SPEAKER_ADD("subwoofer", 0.0, 0.0, 1.0)
3122
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3123
MCFG_SOUND_CONFIG(ym2610_config)
3124
MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
3125
MCFG_SOUND_ROUTE(1, "2610.1.l", 1.0)
3126
MCFG_SOUND_ROUTE(1, "2610.1.r", 1.0)
3127
MCFG_SOUND_ROUTE(2, "2610.2.l", 1.0)
3128
MCFG_SOUND_ROUTE(2, "2610.2.r", 1.0)
3130
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3131
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3132
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3133
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3134
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3135
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3136
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3137
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3139
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3143
static MACHINE_CONFIG_START( enforce, taitoz_state )
3145
/* basic machine hardware */
3146
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
3147
MCFG_CPU_PROGRAM_MAP(enforce_map)
3148
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3150
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3151
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3153
MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
3154
MCFG_CPU_PROGRAM_MAP(enforce_cpub_map)
3155
MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)
3157
MCFG_MACHINE_START(taitoz)
3158
MCFG_MACHINE_RESET(taitoz)
3160
MCFG_QUANTUM_TIME(attotime::from_hz(600))
3162
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3164
/* video hardware */
3165
MCFG_SCREEN_ADD("screen", RASTER)
3166
MCFG_SCREEN_REFRESH_RATE(60)
3167
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3168
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3169
MCFG_SCREEN_SIZE(40*8, 32*8)
3170
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 31*8-1)
3171
MCFG_SCREEN_UPDATE(contcirc)
3173
MCFG_GFXDECODE(taitoz)
3174
MCFG_PALETTE_LENGTH(4096)
3176
MCFG_VIDEO_START(taitoz)
3178
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3179
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3180
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3182
/* sound hardware */
3183
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3185
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3186
MCFG_SOUND_CONFIG(ym2610_config)
3187
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
3188
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3189
MCFG_SOUND_ROUTE(1, "2610.1.l", 20.0)
3190
MCFG_SOUND_ROUTE(1, "2610.1.r", 20.0)
3191
MCFG_SOUND_ROUTE(2, "2610.2.l", 20.0)
3192
MCFG_SOUND_ROUTE(2, "2610.2.r", 20.0)
3194
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3195
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3196
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3197
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3198
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3199
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3200
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3201
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3203
// MCFG_SOUND_ADD("subwoofer", SUBWOOFER, 0)
3205
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3209
static MACHINE_CONFIG_START( bshark, taitoz_state )
3211
/* basic machine hardware */
3212
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
3213
MCFG_CPU_PROGRAM_MAP(bshark_map)
3214
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3216
MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
3217
MCFG_CPU_PROGRAM_MAP(bshark_cpub_map)
3218
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3220
MCFG_MACHINE_START(bshark)
3221
MCFG_MACHINE_RESET(taitoz)
3223
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
3225
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3227
/* video hardware */
3228
MCFG_SCREEN_ADD("screen", RASTER)
3229
MCFG_SCREEN_REFRESH_RATE(60)
3230
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3231
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3232
MCFG_SCREEN_SIZE(40*8, 32*8)
3233
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3234
MCFG_SCREEN_UPDATE(bshark)
3236
MCFG_GFXDECODE(taitoz)
3237
MCFG_PALETTE_LENGTH(4096)
3239
MCFG_VIDEO_START(taitoz)
3241
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3242
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3244
/* sound hardware */
3245
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3247
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3248
MCFG_SOUND_CONFIG(ym2610_interfaceb)
3249
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
3250
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3251
MCFG_SOUND_ROUTE(1, "2610.1.l", 28.0)
3252
MCFG_SOUND_ROUTE(1, "2610.1.r", 28.0)
3253
MCFG_SOUND_ROUTE(2, "2610.2.l", 28.0)
3254
MCFG_SOUND_ROUTE(2, "2610.2.r", 28.0)
3256
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3257
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3258
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3259
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3260
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3261
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3262
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3263
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3265
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3269
static MACHINE_CONFIG_START( sci, taitoz_state )
3271
/* basic machine hardware */
3272
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
3273
MCFG_CPU_PROGRAM_MAP(sci_map)
3274
MCFG_CPU_VBLANK_INT("screen", sci_interrupt)
3276
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3277
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3279
MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
3280
MCFG_CPU_PROGRAM_MAP(sci_cpub_map)
3281
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3283
MCFG_MACHINE_START(taitoz)
3284
MCFG_MACHINE_RESET(taitoz)
3286
MCFG_QUANTUM_TIME(attotime::from_hz(3000))
3288
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3290
/* video hardware */
3291
MCFG_SCREEN_ADD("screen", RASTER)
3292
MCFG_SCREEN_REFRESH_RATE(60)
3293
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3294
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3295
MCFG_SCREEN_SIZE(40*8, 32*8)
3296
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3297
MCFG_SCREEN_UPDATE(sci)
3299
MCFG_GFXDECODE(taitoz)
3300
MCFG_PALETTE_LENGTH(4096)
3302
MCFG_VIDEO_START(taitoz)
3304
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3305
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3307
/* sound hardware */
3308
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3310
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3311
MCFG_SOUND_CONFIG(ym2610_config)
3312
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
3313
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3314
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3315
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3316
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3317
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3319
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3320
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3321
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3322
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3323
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3324
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3325
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3326
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3328
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3332
static MACHINE_CONFIG_START( nightstr, taitoz_state )
3334
/* basic machine hardware */
3335
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
3336
MCFG_CPU_PROGRAM_MAP(nightstr_map)
3337
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3339
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3340
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3342
MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
3343
MCFG_CPU_PROGRAM_MAP(nightstr_cpub_map)
3344
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3346
MCFG_MACHINE_START(taitoz)
3347
MCFG_MACHINE_RESET(taitoz)
3349
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
3351
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3353
/* video hardware */
3354
MCFG_SCREEN_ADD("screen", RASTER)
3355
MCFG_SCREEN_REFRESH_RATE(60)
3356
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3357
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3358
MCFG_SCREEN_SIZE(40*8, 32*8)
3359
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3360
MCFG_SCREEN_UPDATE(chasehq)
3362
MCFG_GFXDECODE(chasehq)
3363
MCFG_PALETTE_LENGTH(4096)
3365
MCFG_VIDEO_START(taitoz)
3367
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
3368
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3369
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3371
/* sound hardware */
3372
MCFG_SPEAKER_ADD("front", 0.0, 0.0, 0.7)
3373
MCFG_SPEAKER_ADD("rear", 0.0, 0.0, 1.3)
3374
MCFG_SPEAKER_ADD("subwoofer", 0.0, 0.0, 1.0)
3376
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3377
MCFG_SOUND_CONFIG(ym2610_config)
3378
MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
3379
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3380
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3381
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3382
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3384
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3385
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3386
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3387
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3388
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3389
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rear", 1.0)
3390
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3391
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
3393
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3397
static MACHINE_CONFIG_START( aquajack, taitoz_state )
3399
/* basic machine hardware */
3400
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
3401
MCFG_CPU_PROGRAM_MAP(aquajack_map)
3402
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3404
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3405
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3407
MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
3408
MCFG_CPU_PROGRAM_MAP(aquajack_cpub_map)
3409
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3411
MCFG_MACHINE_START(taitoz)
3412
MCFG_MACHINE_RESET(taitoz)
3414
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
3416
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3418
/* video hardware */
3419
MCFG_SCREEN_ADD("screen", RASTER)
3420
MCFG_SCREEN_REFRESH_RATE(60)
3421
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3422
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3423
MCFG_SCREEN_SIZE(40*8, 32*8)
3424
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3425
MCFG_SCREEN_UPDATE(aquajack)
3427
MCFG_GFXDECODE(taitoz)
3428
MCFG_PALETTE_LENGTH(4096)
3430
MCFG_VIDEO_START(taitoz)
3432
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
3433
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3434
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3436
/* sound hardware */
3437
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3439
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3440
MCFG_SOUND_CONFIG(ym2610_config)
3441
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
3442
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3443
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
3444
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
3445
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
3446
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
3448
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3449
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3450
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3451
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3452
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3453
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3454
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3455
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3457
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3461
static MACHINE_CONFIG_START( spacegun, taitoz_state )
3463
/* basic machine hardware */
3464
MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz ??? */
3465
MCFG_CPU_PROGRAM_MAP(spacegun_map)
3466
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3468
MCFG_CPU_ADD("sub", M68000, 16000000) /* 16 MHz ??? */
3469
MCFG_CPU_PROGRAM_MAP(spacegun_cpub_map)
3470
MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
3472
MCFG_MACHINE_START(bshark)
3473
MCFG_MACHINE_RESET(taitoz)
3475
MCFG_EEPROM_ADD("eeprom", spacegun_eeprom_intf)
3476
MCFG_EEPROM_DATA(spacegun_default_eeprom, 128)
3478
MCFG_TC0220IOC_ADD("tc0220ioc", taitoz_io220_intf)
3480
/* video hardware */
3481
MCFG_SCREEN_ADD("screen", RASTER)
3482
MCFG_SCREEN_REFRESH_RATE(60)
3483
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3484
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3485
MCFG_SCREEN_SIZE(40*8, 32*8)
3486
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3487
MCFG_SCREEN_UPDATE(spacegun)
3489
MCFG_GFXDECODE(taitoz)
3490
MCFG_PALETTE_LENGTH(4096)
3493
MCFG_TC0100SCN_ADD("tc0100scn", spacegun_tc0100scn_intf)
3494
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
3496
/* sound hardware */
3497
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3499
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3500
MCFG_SOUND_CONFIG(ym2610_interfaceb)
3501
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
3502
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3503
MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
3504
MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
3505
MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
3506
MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
3508
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3509
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3510
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3511
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3512
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3513
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3514
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3515
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3517
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3521
static MACHINE_CONFIG_START( dblaxle, taitoz_state )
3523
/* basic machine hardware */
3524
MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz ??? */
3525
MCFG_CPU_PROGRAM_MAP(dblaxle_map)
3526
MCFG_CPU_VBLANK_INT("screen", dblaxle_interrupt)
3528
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3529
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3531
MCFG_CPU_ADD("sub", M68000, 16000000) /* 16 MHz ??? */
3532
MCFG_CPU_PROGRAM_MAP(dblaxle_cpub_map)
3533
MCFG_CPU_VBLANK_INT("screen", dblaxle_cpub_interrupt)
3535
MCFG_MACHINE_START(taitoz)
3536
MCFG_MACHINE_RESET(taitoz)
3538
MCFG_QUANTUM_TIME(attotime::from_hz(600))
3540
MCFG_TC0510NIO_ADD("tc0510nio", taitoz_io510_intf)
3542
/* video hardware */
3543
MCFG_SCREEN_ADD("screen", RASTER)
3544
MCFG_SCREEN_REFRESH_RATE(60)
3545
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3546
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3547
MCFG_SCREEN_SIZE(40*8, 32*8)
3548
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3549
MCFG_SCREEN_UPDATE(dblaxle)
3551
MCFG_GFXDECODE(dblaxle)
3552
MCFG_PALETTE_LENGTH(4096)
3554
MCFG_VIDEO_START(taitoz)
3556
MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
3557
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3559
/* sound hardware */
3560
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3562
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3563
MCFG_SOUND_CONFIG(ym2610_config)
3564
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
3565
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3566
MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
3567
MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
3568
MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
3569
MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
3571
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3572
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3573
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3574
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3575
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3576
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3577
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3578
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3580
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3584
static MACHINE_CONFIG_START( racingb, taitoz_state )
3586
/* basic machine hardware */
3587
MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz ??? */
3588
MCFG_CPU_PROGRAM_MAP(racingb_map)
3589
MCFG_CPU_VBLANK_INT("screen", dblaxle_interrupt)
3591
MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
3592
MCFG_CPU_PROGRAM_MAP(z80_sound_map)
3594
MCFG_CPU_ADD("sub", M68000, 16000000) /* 16 MHz ??? */
3595
MCFG_CPU_PROGRAM_MAP(racingb_cpub_map)
3596
MCFG_CPU_VBLANK_INT("screen", dblaxle_cpub_interrupt)
3598
MCFG_MACHINE_START(taitoz)
3599
MCFG_MACHINE_RESET(taitoz)
3601
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
3603
MCFG_TC0510NIO_ADD("tc0510nio", taitoz_io510_intf)
3605
/* video hardware */
3606
MCFG_SCREEN_ADD("screen", RASTER)
3607
MCFG_SCREEN_REFRESH_RATE(60)
3608
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3609
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
3610
MCFG_SCREEN_SIZE(40*8, 32*8)
3611
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
3612
MCFG_SCREEN_UPDATE(dblaxle)
3614
MCFG_GFXDECODE(dblaxle)
3615
MCFG_PALETTE_LENGTH(4096)
3617
MCFG_VIDEO_START(taitoz)
3619
MCFG_TC0480SCP_ADD("tc0480scp", taitoz_tc0480scp_intf)
3620
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
3622
/* sound hardware */
3623
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
3625
MCFG_SOUND_ADD("ymsnd", YM2610, 16000000/2)
3626
MCFG_SOUND_CONFIG(ym2610_config)
3627
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
3628
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
3629
MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
3630
MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
3631
MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
3632
MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
3634
MCFG_SOUND_ADD("2610.1.r", FILTER_VOLUME, 0)
3635
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3636
MCFG_SOUND_ADD("2610.1.l", FILTER_VOLUME, 0)
3637
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3638
MCFG_SOUND_ADD("2610.2.r", FILTER_VOLUME, 0)
3639
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
3640
MCFG_SOUND_ADD("2610.2.l", FILTER_VOLUME, 0)
3641
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
3643
MCFG_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3647
/***************************************************************************
3650
Contcirc, Dblaxle sound sample rom order is uncertain as sound imperfect
3651
***************************************************************************/
3653
ROM_START( contcirc )
3654
ROM_REGION( 0x40000, "maincpu", 0 ) /* 256K for 68000 code (CPU A) */
3655
ROM_LOAD16_BYTE( "ic25", 0x00000, 0x20000, CRC(f5c92e42) SHA1(42dfa1895e601df76d7022b83f05c4e5c843fd12) )
3656
ROM_LOAD16_BYTE( "ic26", 0x00001, 0x20000, CRC(e7c1d1fa) SHA1(75e851629a54facb8804ee8a953ab3265633bbf4) )
3657
// this was bogus and has been removed.
3658
// someone hacked the copyright year from 1987 to 1989, and changed an unused byte from FF to F3 to keep
3659
// the checksum the same. There are no other differences.
3660
// ROM_LOAD16_BYTE( "cc_26.bin", 0x00001, 0x20000, CRC(1345ebe6) SHA1(88b9cc8ba2f7061beb8f6b763583cd45b03bcea1) )
3662
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
3663
ROM_LOAD16_BYTE( "ic35", 0x00000, 0x20000, CRC(16522f2d) SHA1(1d2823d61518936d342df3ed712da5bdfdf6e55a) )
3664
ROM_LOAD16_BYTE( "cc_36.bin", 0x00001, 0x20000, CRC(a1732ea5) SHA1(b773add433c20633e7acbc99d5cfeb7ccde83371) )
3666
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* Z80 sound cpu */
3667
ROM_LOAD( "b33-30.11", 0x00000, 0x04000, CRC(d8746234) SHA1(39132eedfe2ff4e3133f8020304da0d04dd757db) )
3668
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
3670
ROM_REGION( 0x80000, "gfx1", 0 )
3671
ROM_LOAD( "b33-02.57", 0x00000, 0x80000, CRC(f6fb3ba2) SHA1(19b7c4cf33c4737405ebe53e7342578454e6ef95) ) /* SCR 8x8 */
3673
ROM_REGION( 0x200000, "gfx2", 0 )
3674
ROM_LOAD32_BYTE( "b33-06", 0x000000, 0x080000, CRC(2cb40599) SHA1(48b269610f80a42608f563742e5266dcf11638d1) ) /* OBJ 16x8 */
3675
ROM_LOAD32_BYTE( "b33-05", 0x000001, 0x080000, CRC(bddf9eea) SHA1(284f4ba3dc107b4e26424963d8206c5ec4882983) )
3676
ROM_LOAD32_BYTE( "b33-04", 0x000002, 0x080000, CRC(8df866a2) SHA1(6b87d8e683fe7d31070b16620ebfee4edf7711b8) )
3677
ROM_LOAD32_BYTE( "b33-03", 0x000003, 0x080000, CRC(4f6c36d9) SHA1(18b15a991c3daf22b7f3f144edf3bd2abb3917eb) )
3679
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
3680
ROM_LOAD( "b33-01.3", 0x00000, 0x80000, CRC(f11f2be8) SHA1(72ae08dc5bf5f6901fbb52d3b1dabcba90929b38) ) /* ROD, road lines */
3682
ROM_REGION16_LE( 0x80000, "user1", 0 )
3683
ROM_LOAD16_WORD( "b33-07.64", 0x00000, 0x80000, CRC(151e1f52) SHA1(118c673d74f27c4e76b321cc0e84f166d9f0d412) ) /* STY spritemap */
3685
ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */
3686
ROM_LOAD( "b33-09.18", 0x00000, 0x80000, CRC(1e6724b5) SHA1(48bb96b648605a9ceb88ff3b175a87226583c3d6) )
3687
ROM_LOAD( "b33-10.17", 0x80000, 0x80000, CRC(e9ce03ab) SHA1(17324e8f0422118bc0912eba5750d80469f40b78) )
3689
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
3690
ROM_LOAD( "b33-08.19", 0x00000, 0x80000, CRC(caa1c4c8) SHA1(15ef4f36e56fab793d2249252c456677ca6a85c9) )
3692
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
3693
ROM_LOAD( "b14-30.97", 0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) ) // sprite vertical zoom
3694
ROM_LOAD( "b14-31.50", 0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) ) // sprite horizontal zoom
3695
ROM_LOAD( "b33-17.16", 0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) ) // road/sprite priority and palette select
3696
ROM_LOAD( "b33-18.17", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
3699
ROM_START( contcircu )
3700
ROM_REGION( 0x40000, "maincpu", 0 ) /* 256K for 68000 code (CPU A) */
3701
ROM_LOAD16_BYTE( "ic25", 0x00000, 0x20000, CRC(f5c92e42) SHA1(42dfa1895e601df76d7022b83f05c4e5c843fd12) )
3702
ROM_LOAD16_BYTE( "ic26", 0x00001, 0x20000, CRC(e7c1d1fa) SHA1(75e851629a54facb8804ee8a953ab3265633bbf4) )
3704
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
3705
ROM_LOAD16_BYTE( "ic35", 0x00000, 0x20000, CRC(16522f2d) SHA1(1d2823d61518936d342df3ed712da5bdfdf6e55a) )
3706
ROM_LOAD16_BYTE( "ic36", 0x00001, 0x20000, CRC(d6741e33) SHA1(8e86789e1664a34ceed85434fd3186f2571f0c4a) )
3708
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* Z80 sound cpu */
3709
ROM_LOAD( "b33-30.11", 0x00000, 0x04000, CRC(d8746234) SHA1(39132eedfe2ff4e3133f8020304da0d04dd757db) )
3710
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
3712
ROM_REGION( 0x80000, "gfx1", 0 )
3713
ROM_LOAD( "b33-02.57", 0x00000, 0x80000, CRC(f6fb3ba2) SHA1(19b7c4cf33c4737405ebe53e7342578454e6ef95) ) /* SCR 8x8 */
3715
ROM_REGION( 0x200000, "gfx2", 0 )
3716
ROM_LOAD32_BYTE( "b33-06", 0x000000, 0x080000, CRC(2cb40599) SHA1(48b269610f80a42608f563742e5266dcf11638d1) ) /* OBJ 16x8 */
3717
ROM_LOAD32_BYTE( "b33-05", 0x000001, 0x080000, CRC(bddf9eea) SHA1(284f4ba3dc107b4e26424963d8206c5ec4882983) )
3718
ROM_LOAD32_BYTE( "b33-04", 0x000002, 0x080000, CRC(8df866a2) SHA1(6b87d8e683fe7d31070b16620ebfee4edf7711b8) )
3719
ROM_LOAD32_BYTE( "b33-03", 0x000003, 0x080000, CRC(4f6c36d9) SHA1(18b15a991c3daf22b7f3f144edf3bd2abb3917eb) )
3721
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
3722
ROM_LOAD( "b33-01.3", 0x00000, 0x80000, CRC(f11f2be8) SHA1(72ae08dc5bf5f6901fbb52d3b1dabcba90929b38) ) /* ROD, road lines */
3724
ROM_REGION16_LE( 0x80000, "user1", 0 )
3725
ROM_LOAD16_WORD( "b33-07.64", 0x00000, 0x80000, CRC(151e1f52) SHA1(118c673d74f27c4e76b321cc0e84f166d9f0d412) ) /* STY spritemap */
3727
ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */
3728
ROM_LOAD( "b33-09.18", 0x00000, 0x80000, CRC(1e6724b5) SHA1(48bb96b648605a9ceb88ff3b175a87226583c3d6) )
3729
ROM_LOAD( "b33-10.17", 0x80000, 0x80000, CRC(e9ce03ab) SHA1(17324e8f0422118bc0912eba5750d80469f40b78) )
3731
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
3732
ROM_LOAD( "b33-08.19", 0x00000, 0x80000, CRC(caa1c4c8) SHA1(15ef4f36e56fab793d2249252c456677ca6a85c9) )
3734
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
3735
ROM_LOAD( "b14-30.97", 0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) ) // sprite vertical zoom
3736
ROM_LOAD( "b14-31.50", 0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) ) // sprite horizontal zoom
3737
ROM_LOAD( "b33-17.16", 0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) ) // road/sprite priority and palette select
3738
ROM_LOAD( "b33-18.17", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
3741
ROM_START( contcircua )
3742
ROM_REGION( 0x40000, "maincpu", 0 ) /* 256K for 68000 code (CPU A) */
3743
ROM_LOAD16_BYTE( "b33-34.ic25", 0x00000, 0x20000, CRC(e1e016c1) SHA1(d6ca3bcf03828dc296eab73185f773860bbaaae6) )
3744
ROM_LOAD16_BYTE( "b33-33.ic26", 0x00001, 0x20000, CRC(f539d44b) SHA1(1b77d97376f9bf3bbd728d459f0a0afbadc6d756) )
3746
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
3747
ROM_LOAD16_BYTE( "21-2.ic35", 0x00000, 0x20000, CRC(2723f9e3) SHA1(18a86e352bb0aeec6ad6c537294ddd0d33823ea6) )
3748
ROM_LOAD16_BYTE( "31-1.ic36", 0x00001, 0x20000, CRC(438431f7) SHA1(9be4ac6526d5aee01c3691f189583a2cfdad0e45) )
3750
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* Z80 sound cpu */
3751
ROM_LOAD( "b33-30.11", 0x00000, 0x04000, CRC(d8746234) SHA1(39132eedfe2ff4e3133f8020304da0d04dd757db) )
3752
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
3754
ROM_REGION( 0x80000, "gfx1", 0 )
3755
ROM_LOAD( "b33-02.57", 0x00000, 0x80000, CRC(f6fb3ba2) SHA1(19b7c4cf33c4737405ebe53e7342578454e6ef95) ) /* SCR 8x8 */
3757
ROM_REGION( 0x200000, "gfx2", 0 )
3758
ROM_LOAD32_BYTE( "b33-06", 0x000000, 0x080000, CRC(2cb40599) SHA1(48b269610f80a42608f563742e5266dcf11638d1) ) /* OBJ 16x8 */
3759
ROM_LOAD32_BYTE( "b33-05", 0x000001, 0x080000, CRC(bddf9eea) SHA1(284f4ba3dc107b4e26424963d8206c5ec4882983) )
3760
ROM_LOAD32_BYTE( "b33-04", 0x000002, 0x080000, CRC(8df866a2) SHA1(6b87d8e683fe7d31070b16620ebfee4edf7711b8) )
3761
ROM_LOAD32_BYTE( "b33-03", 0x000003, 0x080000, CRC(4f6c36d9) SHA1(18b15a991c3daf22b7f3f144edf3bd2abb3917eb) )
3763
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
3764
ROM_LOAD( "b33-01.3", 0x00000, 0x80000, CRC(f11f2be8) SHA1(72ae08dc5bf5f6901fbb52d3b1dabcba90929b38) ) /* ROD, road lines */
3766
ROM_REGION16_LE( 0x80000, "user1", 0 )
3767
ROM_LOAD16_WORD( "b33-07.64", 0x00000, 0x80000, CRC(151e1f52) SHA1(118c673d74f27c4e76b321cc0e84f166d9f0d412) ) /* STY spritemap */
3769
ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */
3770
ROM_LOAD( "b33-09.18", 0x00000, 0x80000, CRC(1e6724b5) SHA1(48bb96b648605a9ceb88ff3b175a87226583c3d6) )
3771
ROM_LOAD( "b33-10.17", 0x80000, 0x80000, CRC(e9ce03ab) SHA1(17324e8f0422118bc0912eba5750d80469f40b78) )
3773
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
3774
ROM_LOAD( "b33-08.19", 0x00000, 0x80000, CRC(caa1c4c8) SHA1(15ef4f36e56fab793d2249252c456677ca6a85c9) )
3776
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
3777
ROM_LOAD( "b14-30.97", 0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) ) // sprite vertical zoom
3778
ROM_LOAD( "b14-31.50", 0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) ) // sprite horizontal zoom
3779
ROM_LOAD( "b33-17.16", 0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) ) // road/sprite priority and palette select
3780
ROM_LOAD( "b33-18.17", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
3783
ROM_START( chasehq )
3784
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
3785
ROM_LOAD16_BYTE( "b52-130.36", 0x00000, 0x20000, CRC(4e7beb46) SHA1(b8890c4a2121aa93cfc3a41ddbb3b840d0804cfa) )
3786
ROM_LOAD16_BYTE( "b52-136.29", 0x00001, 0x20000, CRC(2f414df0) SHA1(0daad8b1f7512a5af0722983751841b5b18064ac) )
3787
ROM_LOAD16_BYTE( "b52-131.37", 0x40000, 0x20000, CRC(aa945d83) SHA1(9d8a8186a199cacc0e24cf1ee75d81ab8b056406) )
3788
ROM_LOAD16_BYTE( "b52-129.30", 0x40001, 0x20000, CRC(0eaebc08) SHA1(1dde3304b251ddeb52f1378ef3845269c3667169) )
3790
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
3791
ROM_LOAD16_BYTE( "b52-132.39", 0x00000, 0x10000, CRC(a2f54789) SHA1(941a6470e3a5ae35d079657260a8d7d6a9fca122) )
3792
ROM_LOAD16_BYTE( "b52-133.55", 0x00001, 0x10000, CRC(12232f95) SHA1(2894b95fc1d0a6e5b323bf3e7f1968f02b30a845) )
3794
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* Z80 sound cpu */
3795
ROM_LOAD( "b52-137.51", 0x00000, 0x04000, CRC(37abb74a) SHA1(1feb1e49102c13a90e02c150472545cd9f6334da) )
3796
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
3798
ROM_REGION( 0x80000, "gfx1", 0 )
3799
ROM_LOAD( "b52-29.27", 0x00000, 0x80000, CRC(8366d27c) SHA1(d7c5f588b39742927228ce73e5d69bda1e903df6) ) /* SCR 8x8 */
3801
ROM_REGION( 0x200000, "gfx2", 0 )
3802
ROM_LOAD32_BYTE( "b52-34.5", 0x000000, 0x080000, CRC(7d8dce36) SHA1(ca082e647d10378144c05a70a8e4fe352d95eeaf) )
3803
ROM_LOAD32_BYTE( "b52-35.7", 0x000001, 0x080000, CRC(78eeec0d) SHA1(2e82186ca17c579816865ef21c52aef9e133fbf5) ) /* OBJ A 16x16 */
3804
ROM_LOAD32_BYTE( "b52-36.9", 0x000002, 0x080000, CRC(61e89e91) SHA1(f655b3caa37a8835c2eb11f4d72e985636ac5379) )
3805
ROM_LOAD32_BYTE( "b52-37.11", 0x000003, 0x080000, CRC(f02e47b9) SHA1(093864bd18bd58dafa57990e999f394ca3124452) )
3807
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
3808
ROM_LOAD( "b52-28.4", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
3810
ROM_REGION( 0x200000, "gfx4", 0 )
3811
ROM_LOAD32_BYTE( "b52-30.4", 0x000000, 0x080000, CRC(1b8cc647) SHA1(8807fe01b6804507564fc179adf995bf86521fda) )
3812
ROM_LOAD32_BYTE( "b52-31.6", 0x000001, 0x080000, CRC(f1998e20) SHA1(b03d4e373e88933391f3533b885817edfca4cfdf) ) /* OBJ B 16x16 */
3813
ROM_LOAD32_BYTE( "b52-32.8", 0x000002, 0x080000, CRC(8620780c) SHA1(2545fd8fb03dcddc3da86d5ea06a6dc915acd1a1) )
3814
ROM_LOAD32_BYTE( "b52-33.10", 0x000003, 0x080000, CRC(e6f4b8c4) SHA1(8d15c75a16953aa56fb3dc6fd3b691e227bef622) )
3816
ROM_REGION16_LE( 0x80000, "user1", 0 )
3817
ROM_LOAD16_WORD( "b52-38.34", 0x00000, 0x80000, CRC(5b5bf7f6) SHA1(71dd5b40b83870d351c9ecaccc4fb98c3a6740ae) ) /* STY spritemap */
3819
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
3820
ROM_LOAD( "b52-115.71", 0x000000, 0x080000, CRC(4e117e93) SHA1(51d893fa21793335878c76f6d5987d99da60be04) )
3821
ROM_LOAD( "b52-114.72", 0x080000, 0x080000, CRC(3a73d6b1) SHA1(419f02a875b30913331db207e344d0eaa275297e) )
3822
ROM_LOAD( "b52-113.73", 0x100000, 0x080000, CRC(2c6a3a05) SHA1(f2f0dfbbbb6930bf53025064ebae9c07a95c6deb) )
3824
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
3825
ROM_LOAD( "b52-116.70", 0x00000, 0x80000, CRC(ad46983c) SHA1(6fcad67456fbd8c967cd4786815f70b57a24a969) )
3827
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
3828
ROM_LOAD( "b52-01.7", 0x00000, 0x00100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) ) // road/sprite priority and palette select
3829
ROM_LOAD( "b52-03.135", 0x00000, 0x00400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
3830
ROM_LOAD( "b52-06.24", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
3831
ROM_LOAD( "b52-18.93", 0x00000, 0x00100, CRC(60bdaf1a) SHA1(0cb9c6b821de9ccc1f38336608dd7ead46cb8d24) ) // identical to b52-18b
3832
ROM_LOAD( "b52-18a", 0x00000, 0x00100, CRC(6271be0d) SHA1(84282af98fc0de10e88282f7187cd865133ed6ce) )
3833
ROM_LOAD( "b52-49.68", 0x00000, 0x02000, CRC(60dd2ed1) SHA1(8673b6b3355975fb91cd1491e0ac7c0f590e3824) )
3834
ROM_LOAD( "b52-50.66", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
3835
ROM_LOAD( "b52-51.65", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
3836
ROM_LOAD( "b52-126.136", 0x00000, 0x00400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
3837
ROM_LOAD( "b52-127.156", 0x00000, 0x00400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
3839
ROM_REGION( 0x02a00, "plds", 0 )
3840
ROM_LOAD( "pal20l8b-b52-17.ic18", 0x0000, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3841
ROM_LOAD( "pal20l8b-b52-17.ic16", 0x0200, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3842
ROM_LOAD( "pal20l8b-b52-17.ic53", 0x0400, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3843
ROM_LOAD( "pal20l8b-b52-17.ic55", 0x0600, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3844
ROM_LOAD( "pal16l8b-b52-19.ic33", 0x0800, 0x0104, CRC(3ba292dc) SHA1(ce904e92e9c0d73802e6f53dc747204c194281c5) )
3845
ROM_LOAD( "pal16l8b-b52-20.ic35", 0x0a00, 0x0104, CRC(bd39ad73) SHA1(03120f3d7d0b9b9105990e226388f9cdd53e5789) )
3846
ROM_LOAD( "pal16l8b-b52-21.ic51", 0x0c00, 0x0104, CRC(2fe76aa4) SHA1(9ea187cff3e0edb58b019400cfc4bf342d4304c3) )
3847
ROM_LOAD( "pal20l8b-b52-25.ic123", 0x0e00, 0x0144, CRC(372b632d) SHA1(84631489c9f56907a97d686c35b15284fab09e8d) )
3848
ROM_LOAD( "pal20l8b-b52-26.ic15", 0x1000, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3849
ROM_LOAD( "pal20l8b-b52-26.ic18", 0x1200, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3850
ROM_LOAD( "pal20l8b-b52-26.ic52", 0x1400, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3851
ROM_LOAD( "pal20l8b-b52-26.ic54", 0x1600, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3852
ROM_LOAD( "pal20l8b-b52-27.ic64", 0x1800, 0x0144, CRC(61c2ab26) SHA1(8540d452a21581739b1ab08708b0c799dd2d2393) )
3853
ROM_LOAD( "pal20l8b-b52-118.ic20", 0x1a00, 0x0144, CRC(9c5fe4af) SHA1(1fbc6461f067eeac9679ca32c126563951a99c09) )
3854
ROM_LOAD( "pal20l8b-b52-119.ic21", 0x1c00, 0x0144, CRC(8b8e2106) SHA1(be59baae5cada9901c2ea8891f99731f010364db) )
3855
ROM_LOAD( "pal16l8b-b52-120.ic56", 0x1e00, 0x0104, CRC(3e7effa0) SHA1(0e8c09613b6a9311261aa8fa8bafab0f27081741) )
3856
ROM_LOAD( "pal20l8b-b52-121.ic57", 0x2000, 0x0144, CRC(7056fd1d) SHA1(fc032f24b95ff7a8bf5a7badddef51c5447c445d) )
3857
ROM_LOAD( "pal16l8b-b52-122.ic124", 0x2200, 0x0104, CRC(04c0fb04) SHA1(53dfeb747e213c67a78c1407e43cdad4cec2cb7e) )
3858
ROM_LOAD( "pal16l8b-b52-123.ic125", 0x2400, 0x0104, CRC(3865d1c8) SHA1(2d77326be4fb047243c3d5c33c442b009bf6fc04) )
3859
ROM_LOAD( "pal16l8b-b52-124.ic180", 0x2600, 0x0104, NO_DUMP ) /* read protected */
3860
ROM_LOAD( "pal16l8b-b52-125.ic112", 0x2800, 0x0104, CRC(7628c557) SHA1(11bf628e091dc02e0c2e17ae726061ac04705a54) )
3863
ROM_START( chasehqj )
3864
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
3865
ROM_LOAD16_BYTE( "b52-140.36", 0x00000, 0x20000, CRC(c1298a4b) SHA1(41981b72c9ebbea8f8a4aa32e74b9ed46dd71e32) )
3866
ROM_LOAD16_BYTE( "b52-139.29", 0x00001, 0x20000, CRC(997f732e) SHA1(0f7bd4b3c53e1f14830b3c288f2175e7c125c2cc) )
3867
ROM_LOAD16_BYTE( "b52-131.37", 0x40000, 0x20000, CRC(aa945d83) SHA1(9d8a8186a199cacc0e24cf1ee75d81ab8b056406) )
3868
ROM_LOAD16_BYTE( "b52-129.30", 0x40001, 0x20000, CRC(0eaebc08) SHA1(1dde3304b251ddeb52f1378ef3845269c3667169) )
3870
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
3871
ROM_LOAD16_BYTE( "b52-132.39", 0x00000, 0x10000, CRC(a2f54789) SHA1(941a6470e3a5ae35d079657260a8d7d6a9fca122) )
3872
ROM_LOAD16_BYTE( "b52-133.55", 0x00001, 0x10000, CRC(12232f95) SHA1(2894b95fc1d0a6e5b323bf3e7f1968f02b30a845) )
3874
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* Z80 sound cpu */
3875
ROM_LOAD( "b52-134.51", 0x00000, 0x04000, CRC(91faac7f) SHA1(05f00e0909444566877d0ef678bae49f107e1628) )
3876
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
3878
ROM_REGION( 0x80000, "gfx1", 0 )
3879
ROM_LOAD( "b52-29.27", 0x00000, 0x80000, CRC(8366d27c) SHA1(d7c5f588b39742927228ce73e5d69bda1e903df6) ) /* SCR 8x8*/
3881
ROM_REGION( 0x200000, "gfx2", 0 )
3882
ROM_LOAD32_BYTE( "b52-34.5", 0x000000, 0x080000, CRC(7d8dce36) SHA1(ca082e647d10378144c05a70a8e4fe352d95eeaf) )
3883
ROM_LOAD32_BYTE( "b52-35.7", 0x000001, 0x080000, CRC(78eeec0d) SHA1(2e82186ca17c579816865ef21c52aef9e133fbf5) ) /* OBJ A 16x16 */
3884
ROM_LOAD32_BYTE( "b52-36.9", 0x000002, 0x080000, CRC(61e89e91) SHA1(f655b3caa37a8835c2eb11f4d72e985636ac5379) )
3885
ROM_LOAD32_BYTE( "b52-37.11", 0x000003, 0x080000, CRC(f02e47b9) SHA1(093864bd18bd58dafa57990e999f394ca3124452) )
3887
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
3888
ROM_LOAD( "b52-28.4", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
3890
ROM_REGION( 0x200000, "gfx4", 0 )
3891
ROM_LOAD32_BYTE( "b52-30.4", 0x000000, 0x080000, CRC(1b8cc647) SHA1(8807fe01b6804507564fc179adf995bf86521fda) )
3892
ROM_LOAD32_BYTE( "b52-31.6", 0x000001, 0x080000, CRC(f1998e20) SHA1(b03d4e373e88933391f3533b885817edfca4cfdf) ) /* OBJ B 16x16 */
3893
ROM_LOAD32_BYTE( "b52-32.8", 0x000002, 0x080000, CRC(8620780c) SHA1(2545fd8fb03dcddc3da86d5ea06a6dc915acd1a1) )
3894
ROM_LOAD32_BYTE( "b52-33.10", 0x000003, 0x080000, CRC(e6f4b8c4) SHA1(8d15c75a16953aa56fb3dc6fd3b691e227bef622) )
3896
ROM_REGION16_LE( 0x80000, "user1", 0 )
3897
ROM_LOAD16_WORD( "b52-38.34", 0x00000, 0x80000, CRC(5b5bf7f6) SHA1(71dd5b40b83870d351c9ecaccc4fb98c3a6740ae) ) /* STY spritemap */
3899
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
3900
ROM_LOAD( "b52-41.71", 0x000000, 0x80000, CRC(8204880c) SHA1(4dfd6454b4a4c04db3593e98648afbfe8d1f59ed) )
3901
ROM_LOAD( "b52-40.72", 0x080000, 0x80000, CRC(f0551055) SHA1(4498cd058a52d5e87c6d502e844908a5df3abf2a) )
3902
ROM_LOAD( "b52-39.73", 0x100000, 0x80000, CRC(ac9cbbd3) SHA1(792f41fef37ff35067fd0173d944f90279176649) )
3904
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
3905
ROM_LOAD( "b52-42.70", 0x00000, 0x80000, CRC(6e617df1) SHA1(e3d1678132130c66506f2e1419db2f6b5b062f74) )
3907
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
3908
ROM_LOAD( "b52-01.7", 0x00000, 0x00100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) ) // road/sprite priority and palette select
3909
ROM_LOAD( "b52-03.135", 0x00000, 0x00400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
3910
ROM_LOAD( "b52-06.24", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
3911
ROM_LOAD( "b52-18.93", 0x00000, 0x00100, CRC(60bdaf1a) SHA1(0cb9c6b821de9ccc1f38336608dd7ead46cb8d24) ) // identical to b52-18b
3912
ROM_LOAD( "b52-18a", 0x00000, 0x00100, CRC(6271be0d) SHA1(84282af98fc0de10e88282f7187cd865133ed6ce) )
3913
ROM_LOAD( "b52-49.68", 0x00000, 0x02000, CRC(60dd2ed1) SHA1(8673b6b3355975fb91cd1491e0ac7c0f590e3824) )
3914
ROM_LOAD( "b52-50.66", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
3915
ROM_LOAD( "b52-51.65", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
3916
ROM_LOAD( "b52-126.136", 0x00000, 0x00400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
3917
ROM_LOAD( "b52-127.156", 0x00000, 0x00400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
3919
ROM_REGION( 0x02a00, "plds", 0 )
3920
ROM_LOAD( "pal20l8b-b52-17.ic18", 0x0000, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3921
ROM_LOAD( "pal20l8b-b52-17.ic16", 0x0200, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3922
ROM_LOAD( "pal20l8b-b52-17.ic53", 0x0400, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3923
ROM_LOAD( "pal20l8b-b52-17.ic55", 0x0600, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
3924
ROM_LOAD( "pal16l8b-b52-19.ic33", 0x0800, 0x0104, CRC(3ba292dc) SHA1(ce904e92e9c0d73802e6f53dc747204c194281c5) )
3925
ROM_LOAD( "pal16l8b-b52-20.ic35", 0x0a00, 0x0104, CRC(bd39ad73) SHA1(03120f3d7d0b9b9105990e226388f9cdd53e5789) )
3926
ROM_LOAD( "pal16l8b-b52-21.ic51", 0x0c00, 0x0104, CRC(2fe76aa4) SHA1(9ea187cff3e0edb58b019400cfc4bf342d4304c3) )
3927
ROM_LOAD( "pal20l8b-b52-25.ic123", 0x0e00, 0x0144, CRC(372b632d) SHA1(84631489c9f56907a97d686c35b15284fab09e8d) )
3928
ROM_LOAD( "pal20l8b-b52-26.ic15", 0x1000, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3929
ROM_LOAD( "pal20l8b-b52-26.ic18", 0x1200, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3930
ROM_LOAD( "pal20l8b-b52-26.ic52", 0x1400, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3931
ROM_LOAD( "pal20l8b-b52-26.ic54", 0x1600, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
3932
ROM_LOAD( "pal20l8b-b52-27.ic64", 0x1800, 0x0144, CRC(61c2ab26) SHA1(8540d452a21581739b1ab08708b0c799dd2d2393) )
3933
ROM_LOAD( "pal20l8b-b52-118.ic20", 0x1a00, 0x0144, CRC(9c5fe4af) SHA1(1fbc6461f067eeac9679ca32c126563951a99c09) )
3934
ROM_LOAD( "pal20l8b-b52-119.ic21", 0x1c00, 0x0144, CRC(8b8e2106) SHA1(be59baae5cada9901c2ea8891f99731f010364db) )
3935
ROM_LOAD( "pal16l8b-b52-120.ic56", 0x1e00, 0x0104, CRC(3e7effa0) SHA1(0e8c09613b6a9311261aa8fa8bafab0f27081741) )
3936
ROM_LOAD( "pal20l8b-b52-121.ic57", 0x2000, 0x0144, CRC(7056fd1d) SHA1(fc032f24b95ff7a8bf5a7badddef51c5447c445d) )
3937
ROM_LOAD( "pal16l8b-b52-122.ic124", 0x2200, 0x0104, CRC(04c0fb04) SHA1(53dfeb747e213c67a78c1407e43cdad4cec2cb7e) )
3938
ROM_LOAD( "pal16l8b-b52-123.ic125", 0x2400, 0x0104, CRC(3865d1c8) SHA1(2d77326be4fb047243c3d5c33c442b009bf6fc04) )
3939
ROM_LOAD( "pal16l8b-b52-124.ic180", 0x2600, 0x0104, NO_DUMP ) /* read protected */
3940
ROM_LOAD( "pal16l8b-b52-125.ic112", 0x2800, 0x0104, CRC(7628c557) SHA1(11bf628e091dc02e0c2e17ae726061ac04705a54) )
3943
ROM_START( chasehqu )
3944
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
3945
ROM_LOAD16_BYTE( "b52-138.36", 0x00000, 0x20000, CRC(8b71fe51) SHA1(6f2352aa2112dd18d328acddacf412b54c896ec0) )
3946
ROM_LOAD16_BYTE( "b52-135.29", 0x00001, 0x20000, CRC(5ba56a7c) SHA1(3af6f1008181d5a5951fbd6a48dd7592a9e38f96) )
3947
ROM_LOAD16_BYTE( "b52-131.37", 0x40000, 0x20000, CRC(aa945d83) SHA1(9d8a8186a199cacc0e24cf1ee75d81ab8b056406) )
3948
ROM_LOAD16_BYTE( "b52-129.30", 0x40001, 0x20000, CRC(0eaebc08) SHA1(1dde3304b251ddeb52f1378ef3845269c3667169) )
3950
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
3951
ROM_LOAD16_BYTE( "b52-132.39", 0x00000, 0x10000, CRC(a2f54789) SHA1(941a6470e3a5ae35d079657260a8d7d6a9fca122) )
3952
ROM_LOAD16_BYTE( "b52-133.55", 0x00001, 0x10000, CRC(12232f95) SHA1(2894b95fc1d0a6e5b323bf3e7f1968f02b30a845) )
3954
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* Z80 sound cpu */
3955
ROM_LOAD( "b52-137.51", 0x00000, 0x04000, CRC(37abb74a) SHA1(1feb1e49102c13a90e02c150472545cd9f6334da) )
3956
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
3958
ROM_REGION( 0x80000, "gfx1", 0 )
3959
ROM_LOAD( "b52-29.27", 0x00000, 0x80000, CRC(8366d27c) SHA1(d7c5f588b39742927228ce73e5d69bda1e903df6) ) /* SCR 8x8*/
3961
ROM_REGION( 0x200000, "gfx2", 0 )
3962
ROM_LOAD32_BYTE( "b52-34.5", 0x000000, 0x080000, CRC(7d8dce36) SHA1(ca082e647d10378144c05a70a8e4fe352d95eeaf) )
3963
ROM_LOAD32_BYTE( "b52-35.7", 0x000001, 0x080000, CRC(78eeec0d) SHA1(2e82186ca17c579816865ef21c52aef9e133fbf5) ) /* OBJ A 16x16 */
3964
ROM_LOAD32_BYTE( "b52-36.9", 0x000002, 0x080000, CRC(61e89e91) SHA1(f655b3caa37a8835c2eb11f4d72e985636ac5379) )
3965
ROM_LOAD32_BYTE( "b52-37.11", 0x000003, 0x080000, CRC(f02e47b9) SHA1(093864bd18bd58dafa57990e999f394ca3124452) )
3967
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
3968
ROM_LOAD( "b52-28.4", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
3970
ROM_REGION( 0x200000, "gfx4", 0 )
3971
ROM_LOAD32_BYTE( "b52-30.4", 0x000000, 0x080000, CRC(1b8cc647) SHA1(8807fe01b6804507564fc179adf995bf86521fda) )
3972
ROM_LOAD32_BYTE( "b52-31.6", 0x000001, 0x080000, CRC(f1998e20) SHA1(b03d4e373e88933391f3533b885817edfca4cfdf) ) /* OBJ B 16x16 */
3973
ROM_LOAD32_BYTE( "b52-32.8", 0x000002, 0x080000, CRC(8620780c) SHA1(2545fd8fb03dcddc3da86d5ea06a6dc915acd1a1) )
3974
ROM_LOAD32_BYTE( "b52-33.10", 0x000003, 0x080000, CRC(e6f4b8c4) SHA1(8d15c75a16953aa56fb3dc6fd3b691e227bef622) )
3976
ROM_REGION16_LE( 0x80000, "user1", 0 )
3977
ROM_LOAD16_WORD( "b52-38.34", 0x00000, 0x80000, CRC(5b5bf7f6) SHA1(71dd5b40b83870d351c9ecaccc4fb98c3a6740ae) ) /* STY spritemap */
3979
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
3980
ROM_LOAD( "b52-115.71", 0x000000, 0x080000, CRC(4e117e93) SHA1(51d893fa21793335878c76f6d5987d99da60be04) )
3981
ROM_LOAD( "b52-114.72", 0x080000, 0x080000, CRC(3a73d6b1) SHA1(419f02a875b30913331db207e344d0eaa275297e) )
3982
ROM_LOAD( "b52-113.73", 0x100000, 0x080000, CRC(2c6a3a05) SHA1(f2f0dfbbbb6930bf53025064ebae9c07a95c6deb) )
3984
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
3985
ROM_LOAD( "b52-116.70", 0x00000, 0x80000, CRC(ad46983c) SHA1(6fcad67456fbd8c967cd4786815f70b57a24a969) )
3987
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
3988
ROM_LOAD( "b52-01.7", 0x00000, 0x00100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) ) // road/sprite priority and palette select
3989
ROM_LOAD( "b52-03.135", 0x00000, 0x00400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
3990
ROM_LOAD( "b52-06.24", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
3991
ROM_LOAD( "b52-18.93", 0x00000, 0x00100, CRC(60bdaf1a) SHA1(0cb9c6b821de9ccc1f38336608dd7ead46cb8d24) ) // identical to b52-18b
3992
ROM_LOAD( "b52-18a", 0x00000, 0x00100, CRC(6271be0d) SHA1(84282af98fc0de10e88282f7187cd865133ed6ce) )
3993
ROM_LOAD( "b52-49.68", 0x00000, 0x02000, CRC(60dd2ed1) SHA1(8673b6b3355975fb91cd1491e0ac7c0f590e3824) )
3994
ROM_LOAD( "b52-50.66", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
3995
ROM_LOAD( "b52-51.65", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
3996
ROM_LOAD( "b52-126.136", 0x00000, 0x00400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
3997
ROM_LOAD( "b52-127.156", 0x00000, 0x00400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
3999
ROM_REGION( 0x02a00, "plds", 0 )
4000
ROM_LOAD( "pal20l8b-b52-17.ic18", 0x0000, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4001
ROM_LOAD( "pal20l8b-b52-17.ic16", 0x0200, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4002
ROM_LOAD( "pal20l8b-b52-17.ic53", 0x0400, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4003
ROM_LOAD( "pal20l8b-b52-17.ic55", 0x0600, 0x0144, CRC(4851316d) SHA1(c58537b4b1ded471b7edcb94518757916a207bc0) )
4004
ROM_LOAD( "pal16l8b-b52-19.ic33", 0x0800, 0x0104, CRC(3ba292dc) SHA1(ce904e92e9c0d73802e6f53dc747204c194281c5) )
4005
ROM_LOAD( "pal16l8b-b52-20.ic35", 0x0a00, 0x0104, CRC(bd39ad73) SHA1(03120f3d7d0b9b9105990e226388f9cdd53e5789) )
4006
ROM_LOAD( "pal16l8b-b52-21.ic51", 0x0c00, 0x0104, CRC(2fe76aa4) SHA1(9ea187cff3e0edb58b019400cfc4bf342d4304c3) )
4007
ROM_LOAD( "pal20l8b-b52-25.ic123", 0x0e00, 0x0144, CRC(372b632d) SHA1(84631489c9f56907a97d686c35b15284fab09e8d) )
4008
ROM_LOAD( "pal20l8b-b52-26.ic15", 0x1000, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4009
ROM_LOAD( "pal20l8b-b52-26.ic18", 0x1200, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4010
ROM_LOAD( "pal20l8b-b52-26.ic52", 0x1400, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4011
ROM_LOAD( "pal20l8b-b52-26.ic54", 0x1600, 0x0144, CRC(d94f2bc2) SHA1(5ef92f824549add1a115ec25a10567bd4fe65c41) )
4012
ROM_LOAD( "pal20l8b-b52-27.ic64", 0x1800, 0x0144, CRC(61c2ab26) SHA1(8540d452a21581739b1ab08708b0c799dd2d2393) )
4013
ROM_LOAD( "pal20l8b-b52-118.ic20", 0x1a00, 0x0144, CRC(9c5fe4af) SHA1(1fbc6461f067eeac9679ca32c126563951a99c09) )
4014
ROM_LOAD( "pal20l8b-b52-119.ic21", 0x1c00, 0x0144, CRC(8b8e2106) SHA1(be59baae5cada9901c2ea8891f99731f010364db) )
4015
ROM_LOAD( "pal16l8b-b52-120.ic56", 0x1e00, 0x0104, CRC(3e7effa0) SHA1(0e8c09613b6a9311261aa8fa8bafab0f27081741) )
4016
ROM_LOAD( "pal20l8b-b52-121.ic57", 0x2000, 0x0144, CRC(7056fd1d) SHA1(fc032f24b95ff7a8bf5a7badddef51c5447c445d) )
4017
ROM_LOAD( "pal16l8b-b52-122.ic124", 0x2200, 0x0104, CRC(04c0fb04) SHA1(53dfeb747e213c67a78c1407e43cdad4cec2cb7e) )
4018
ROM_LOAD( "pal16l8b-b52-123.ic125", 0x2400, 0x0104, CRC(3865d1c8) SHA1(2d77326be4fb047243c3d5c33c442b009bf6fc04) )
4019
ROM_LOAD( "pal16l8b-b52-124.ic180", 0x2600, 0x0104, NO_DUMP ) /* read protected */
4020
ROM_LOAD( "pal16l8b-b52-125.ic112", 0x2800, 0x0104, CRC(7628c557) SHA1(11bf628e091dc02e0c2e17ae726061ac04705a54) )
4029
PCB No: K1100406A J1100175A (CPU PCB)
4030
K1100407A J1100176A (VIDEO PCB)
4032
CPU: MC68000P12 (x2)
4033
SND: Z80, YM2610, TCO040IOC, YM3016F
4034
OSC: 26.686MHz, 24.000MHz, 16.000MHz
4035
DIPs: 8 Position (x2)
4038
CPU board - TCO100SCN, TCO140SYT, TCO170ABT, TCO110PCR
4039
Video Board - TCO150ROD, TCO050VDZ (x3), TCO020VAR
4041
Ram: CPU BOARD - 6264 (x9), 43256 (x2),
4042
VIDEO BOARD - 2018 (x10), 6264 (x2)
4045
CPU BOARD - All located near/around the 68000's
4055
b58-23 (63s141) | near TCO150ROD
4060
b58-17 (PAL16L8) | near TCO020VAR
4063
b58-25 (63S141) near b58-27
4064
b58-19 (PAL16R4) near b58-04/03/02/01
4067
CPU BOARD - b58-18 , 27C010 \
4068
b58-19 , 27C010 | 68k Program
4074
b58-09 , 27C4100 | near TCO100SCN & TCO140SYT
4077
b58-32 , 27C512 z80 program
4079
VIDEO PCB - b58-06 , 27C4100 near TCO150ROD
4086
b58-03 , 27C4100 | near TCO050VDZ's
4090
ROM_START( enforce )
4091
ROM_REGION( 0x40000, "maincpu", 0 ) /* 256K for 68000 code (CPU A) */
4092
ROM_LOAD16_BYTE( "b58-27.27", 0x00000, 0x20000, CRC(a1aa0191) SHA1(193d936e1bfe0da4ac984aba65d3e4e6c93a4c11) )
4093
ROM_LOAD16_BYTE( "b58-19.19", 0x00001, 0x20000, CRC(40f43da3) SHA1(bb3d6c6db8df77674bb76c16992d05c297d97c9f) )
4095
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4096
ROM_LOAD16_BYTE( "b58-26.26", 0x00000, 0x20000, CRC(e823c85c) SHA1(199b19e81c76eb936f4cf31957ae08bed1395bda) )
4097
ROM_LOAD16_BYTE( "b58-18.18", 0x00001, 0x20000, CRC(65328a3e) SHA1(f51ca107910629e030678e183cc8fd06d2569098) )
4099
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* Z80 sound cpu */
4100
ROM_LOAD( "b58-32.41", 0x00000, 0x04000, CRC(f3fd8eca) SHA1(3b1ab64984ea43805b6494f8add26210ed1175c5) )
4101
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
4103
ROM_REGION( 0x80000, "gfx1", 0 )
4104
ROM_LOAD( "b58-09.13", 0x00000, 0x80000, CRC(9ffd5b31) SHA1(0214fb32012a48560ca9c6ed5ee969d3c41cf95c) ) /* SCR 8x8 */
4106
ROM_REGION( 0x200000, "gfx2", 0 )
4107
ROM_LOAD32_BYTE( "b58-04.7", 0x000000, 0x080000, CRC(9482f08d) SHA1(3fc74b9bebca1d82b300ba72c7297c3bcd69cfa9) )
4108
ROM_LOAD32_BYTE( "b58-03.6", 0x000001, 0x080000, CRC(158bc440) SHA1(ceab296146363a2e9a48f62118fba6123b4b5a1b) ) /* OBJ 16x8 */
4109
ROM_LOAD32_BYTE( "b58-02.2", 0x000002, 0x080000, CRC(6a6e307c) SHA1(fc4a68220e0dd0e64d75ba7c7af0c1ac97dc7fd9) )
4110
ROM_LOAD32_BYTE( "b58-01.1", 0x000003, 0x080000, CRC(01e9f0a8) SHA1(0d3a4dc81702e3c57c790eb8a45caca36cb47d4c) )
4112
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4113
ROM_LOAD( "b58-06.116", 0x00000, 0x80000, CRC(b3495d70) SHA1(ead4c2fd20b8f103a849201c7344cded013eb8bb) ) /* ROD, road lines */
4115
ROM_REGION16_LE( 0x80000, "user1", 0 )
4116
ROM_LOAD16_WORD( "b58-05.71", 0x00000, 0x80000, CRC(d1f4991b) SHA1(f1c5a9b8dce994d013290e98fda7bedf73e95900) ) /* STY spritemap */
4118
ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */
4119
ROM_LOAD( "b58-07.11", 0x000000, 0x080000, CRC(eeb5ba08) SHA1(fe40333e09339c76e503ce87b42a89b48d487016) )
4120
ROM_LOAD( "b58-08.12", 0x080000, 0x080000, CRC(049243cf) SHA1(1f3099b6d764114dc4161ed308369d0f3148dc4e) )
4122
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples ??? */
4123
ROM_LOAD( "b58-10.14", 0x00000, 0x80000, CRC(edce0cc1) SHA1(1f6cbc60502b8b12b349e48446ce3a4a1f76bccd) ) /* ??? */
4125
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4126
ROM_LOAD( "b58-26a.104", 0x00000, 0x10000, CRC(dccb0c7f) SHA1(42f0af72f559133b74912a4478e1323062be4b77) ) // sprite vertical zoom
4127
ROM_LOAD( "b58-27.56", 0x00000, 0x02000, CRC(5c6b013d) SHA1(6d02d4560076213b6fb6fe856143bb533090603e) ) // sprite horizontal zoom
4128
ROM_LOAD( "b58-23.52", 0x00000, 0x00100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) ) // road/sprite priority and palette select
4129
ROM_LOAD( "b58-24.51", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4130
ROM_LOAD( "b58-25.75", 0x00000, 0x00100, CRC(de547342) SHA1(3b2b116d4016ddbf46c41c625c7fcfd76129baa7) )
4135
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4136
ROM_LOAD16_BYTE( "c34_71.98", 0x00000, 0x20000, CRC(df1fa629) SHA1(6cb207e577fac85da654f3dc56e2f9f25c38a76d) )
4137
ROM_LOAD16_BYTE( "c34_69.75", 0x00001, 0x20000, CRC(a54c137a) SHA1(632bf2d65f54035de2ecb87648dafa877c45e428) )
4138
ROM_LOAD16_BYTE( "c34_70.97", 0x40000, 0x20000, CRC(d77d81e2) SHA1(d60e586cefd9001e87cae583ca25bf5a8a461d8d) )
4139
ROM_LOAD16_BYTE( "c34_67.64", 0x40001, 0x20000, CRC(39307c74) SHA1(65d1cb6b0baee29c1439180b8b4c6907e20b2921) )
4141
ROM_REGION( 0x80000, "sub", 0 ) /* 512K for 68000 code (CPU B) */
4142
ROM_LOAD16_BYTE( "c34_74.128", 0x00000, 0x20000, CRC(6869fa99) SHA1(16221f25c865a81ca4f6a987b6de02a3ccf3208c) )
4143
ROM_LOAD16_BYTE( "c34_72.112", 0x00001, 0x20000, CRC(c09c0f91) SHA1(32c78924617328abb11c094f89a90a92e72ed5e6) )
4144
ROM_LOAD16_BYTE( "c34_75.129", 0x40000, 0x20000, CRC(6ba65542) SHA1(9ba5af9dd240a198dfa760ca14b0f0c84eb307c9) )
4145
ROM_LOAD16_BYTE( "c34_73.113", 0x40001, 0x20000, CRC(f2fe62b5) SHA1(e31b5989b747de451ee6c2a5e15ec75235d84e0d) )
4147
ROM_REGION( 0x80000, "gfx1", 0 )
4148
ROM_LOAD( "c34_05.3", 0x00000, 0x80000, CRC(596b83da) SHA1(826cf1e48a017a0cbfcc4a4f507dfb285594178b) ) /* SCR 8x8 */
4150
ROM_REGION( 0x200000, "gfx2", 0 )
4151
ROM_LOAD32_BYTE( "c34_04.17", 0x000000, 0x080000, CRC(2446b0da) SHA1(bce5c73533e2bb7dfa7f18fad510f818cf1a542a) ) /* OBJ 16x8 */
4152
ROM_LOAD32_BYTE( "c34_03.16", 0x000001, 0x080000, CRC(a18eab78) SHA1(155f0efbfe73e18355804477d4b8954bb47bf1ef) )
4153
ROM_LOAD32_BYTE( "c34_02.15", 0x000002, 0x080000, CRC(8488ba10) SHA1(60f8f0dc9d4bc6bc452527250221c9915e9dfe6e) )
4154
ROM_LOAD32_BYTE( "c34_01.14", 0x000003, 0x080000, CRC(3ebe8c63) SHA1(fa7403bf895c041cb64234209c944683ae372e57) )
4156
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4157
ROM_LOAD( "c34_07.42", 0x00000, 0x80000, CRC(edb07808) SHA1(f32b4b93e9125536376d96fbca76c2b2f5f78656) ) /* ROD, road lines */
4159
ROM_REGION16_LE( 0x80000, "user1", 0 )
4160
ROM_LOAD16_WORD( "c34_06.12", 0x00000, 0x80000, CRC(d200b6eb) SHA1(6bfe3a7dde8d4e983521877d2bb176f5d126b763) ) /* STY spritemap */
4162
ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */
4163
ROM_LOAD( "c34_08.127", 0x00000, 0x80000, CRC(89a30450) SHA1(96b96ca5a3e20cdceb9ac5ddf377fb21a9a529fb) )
4165
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4166
ROM_LOAD( "c34_09.126", 0x00000, 0x80000, CRC(39d12b50) SHA1(5c5d1369597604376943e4825f6c09cc28d66047) )
4168
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4169
ROM_LOAD( "c34_18.22", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4170
ROM_LOAD( "c34_19.72", 0x00000, 0x00100, CRC(2ee9c404) SHA1(3a2ddaaaf7abe9f47f7e062b002fd3a61c80f60b) ) // road/sprite priority and palette select
4171
ROM_LOAD( "c34_20.89", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4172
ROM_LOAD( "c34_21.7", 0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4173
ROM_LOAD( "c34_22.8", 0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4176
ROM_START( bsharkj )
4177
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4178
ROM_LOAD16_BYTE( "c34_71.98", 0x00000, 0x20000, CRC(df1fa629) SHA1(6cb207e577fac85da654f3dc56e2f9f25c38a76d) )
4179
ROM_LOAD16_BYTE( "c34_69.75", 0x00001, 0x20000, CRC(a54c137a) SHA1(632bf2d65f54035de2ecb87648dafa877c45e428) )
4180
ROM_LOAD16_BYTE( "c34_70.97", 0x40000, 0x20000, CRC(d77d81e2) SHA1(d60e586cefd9001e87cae583ca25bf5a8a461d8d) )
4181
ROM_LOAD16_BYTE( "c34_66.74", 0x40001, 0x20000, CRC(a0392dce) SHA1(5d20f39b75e921fda82c33990463cec73879d113) )
4183
ROM_REGION( 0x80000, "sub", 0 ) /* 512K for 68000 code (CPU B) */
4184
ROM_LOAD16_BYTE( "c34_74.128", 0x00000, 0x20000, CRC(6869fa99) SHA1(16221f25c865a81ca4f6a987b6de02a3ccf3208c) )
4185
ROM_LOAD16_BYTE( "c34_72.112", 0x00001, 0x20000, CRC(c09c0f91) SHA1(32c78924617328abb11c094f89a90a92e72ed5e6) )
4186
ROM_LOAD16_BYTE( "c34_75.129", 0x40000, 0x20000, CRC(6ba65542) SHA1(9ba5af9dd240a198dfa760ca14b0f0c84eb307c9) )
4187
ROM_LOAD16_BYTE( "c34_73.113", 0x40001, 0x20000, CRC(f2fe62b5) SHA1(e31b5989b747de451ee6c2a5e15ec75235d84e0d) )
4189
ROM_REGION( 0x80000, "gfx1", 0 )
4190
ROM_LOAD( "c34_05.3", 0x00000, 0x80000, CRC(596b83da) SHA1(826cf1e48a017a0cbfcc4a4f507dfb285594178b) ) /* SCR 8x8 */
4192
ROM_REGION( 0x200000, "gfx2", 0 )
4193
ROM_LOAD32_BYTE( "c34_04.17", 0x000000, 0x080000, CRC(2446b0da) SHA1(bce5c73533e2bb7dfa7f18fad510f818cf1a542a) ) /* OBJ 16x8 */
4194
ROM_LOAD32_BYTE( "c34_03.16", 0x000001, 0x080000, CRC(a18eab78) SHA1(155f0efbfe73e18355804477d4b8954bb47bf1ef) )
4195
ROM_LOAD32_BYTE( "c34_02.15", 0x000002, 0x080000, CRC(8488ba10) SHA1(60f8f0dc9d4bc6bc452527250221c9915e9dfe6e) )
4196
ROM_LOAD32_BYTE( "c34_01.14", 0x000003, 0x080000, CRC(3ebe8c63) SHA1(fa7403bf895c041cb64234209c944683ae372e57) )
4198
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4199
ROM_LOAD( "c34_07.42", 0x00000, 0x80000, CRC(edb07808) SHA1(f32b4b93e9125536376d96fbca76c2b2f5f78656) ) /* ROD, road lines */
4201
ROM_REGION16_LE( 0x80000, "user1", 0 )
4202
ROM_LOAD16_WORD( "c34_06.12", 0x00000, 0x80000, CRC(d200b6eb) SHA1(6bfe3a7dde8d4e983521877d2bb176f5d126b763) ) /* STY spritemap */
4204
ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */
4205
ROM_LOAD( "c34_08.127", 0x00000, 0x80000, CRC(89a30450) SHA1(96b96ca5a3e20cdceb9ac5ddf377fb21a9a529fb) )
4207
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4208
ROM_LOAD( "c34_09.126", 0x00000, 0x80000, CRC(39d12b50) SHA1(5c5d1369597604376943e4825f6c09cc28d66047) )
4210
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4211
ROM_LOAD( "c34_18.22", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4212
ROM_LOAD( "c34_19.72", 0x00000, 0x00100, CRC(2ee9c404) SHA1(3a2ddaaaf7abe9f47f7e062b002fd3a61c80f60b) ) // road/sprite priority and palette select
4213
ROM_LOAD( "c34_20.89", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4214
ROM_LOAD( "c34_21.7", 0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4215
ROM_LOAD( "c34_22.8", 0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4219
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4220
ROM_LOAD16_BYTE( "c09-37.43", 0x00000, 0x20000, CRC(0fecea17) SHA1(0ad4454eee6646b0f978b1ba83206d64c1f6d081) )
4221
ROM_LOAD16_BYTE( "c09-38.40", 0x00001, 0x20000, CRC(e46ebd9b) SHA1(52b0c1f95e8a664076d8fbc0f6204ca55893e281) )
4222
ROM_LOAD16_BYTE( "c09-42.38", 0x40000, 0x20000, CRC(f4404f87) SHA1(8f051f1ffbf323cb3d613bc22afa53676590f29c) )
4223
ROM_LOAD16_BYTE( "c09-39.41", 0x40001, 0x20000, CRC(de87bcb9) SHA1(b5537a25871ea90294f3b6f0b6386a883cfdf991) )
4225
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4226
ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4227
ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4229
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4230
ROM_LOAD( "c09-34.31", 0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4231
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4233
ROM_REGION( 0x80000, "gfx1", 0 )
4234
ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4236
ROM_REGION( 0x200000, "gfx2", 0 )
4237
ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) ) /* OBJ 16x8 */
4238
ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4239
ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4240
ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4242
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4243
ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4245
ROM_REGION16_LE( 0x80000, "user1", 0 )
4246
ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) ) /* STY spritemap */
4248
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4249
ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4250
ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4251
ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4253
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4254
ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4256
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4257
ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4258
ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4259
ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4260
// ROM_LOAD( "c09-21.2", 0x00000, 0x00???, NO_DUMP ) /* pals (Guru dump) */
4261
// ROM_LOAD( "c09-22.3", 0x00000, 0x00???, NO_DUMP )
4262
// ROM_LOAD( "c09-24.22", 0x00000, 0x00???, NO_DUMP )
4263
// ROM_LOAD( "c09-25.25", 0x00000, 0x00???, NO_DUMP )
4264
// ROM_LOAD( "c09-26.26", 0x00000, 0x00???, NO_DUMP )
4268
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4269
ROM_LOAD16_BYTE( "c09-28.43", 0x00000, 0x20000, CRC(630dbaad) SHA1(090f6a97007ac04f64d92ae5823b7254152144af) )
4270
ROM_LOAD16_BYTE( "c09-30.40", 0x00001, 0x20000, CRC(68b1a97d) SHA1(c377f7880154b38fe25dc0ec420ca0cd7228fbad) )
4271
ROM_LOAD16_BYTE( "c09-36.38", 0x40000, 0x20000, CRC(59e47cba) SHA1(313302bc62ff02b437b1091d394d2010ce66c7e7) )
4272
ROM_LOAD16_BYTE( "c09-31.41", 0x40001, 0x20000, CRC(962b1fbf) SHA1(62181a289dfc6d1da674ba4bcbefeb16a67a55e3) )
4274
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4275
ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4276
ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4278
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4279
ROM_LOAD( "c09-34.31", 0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4280
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4282
ROM_REGION( 0x80000, "gfx1", 0 )
4283
ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4285
ROM_REGION( 0x200000, "gfx2", 0 )
4286
ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) ) /* OBJ 16x8 */
4287
ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4288
ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4289
ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4291
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4292
ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4294
ROM_REGION16_LE( 0x80000, "user1", 0 )
4295
ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) ) /* STY spritemap */
4297
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4298
ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4299
ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4300
ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4302
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4303
ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4305
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4306
ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4307
ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4308
ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4312
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4313
ROM_LOAD16_BYTE( "c09-37.43", 0x00000, 0x20000, CRC(0fecea17) SHA1(0ad4454eee6646b0f978b1ba83206d64c1f6d081) )
4314
ROM_LOAD16_BYTE( "c09-38.40", 0x00001, 0x20000, CRC(e46ebd9b) SHA1(52b0c1f95e8a664076d8fbc0f6204ca55893e281) )
4315
ROM_LOAD16_BYTE( "c09-40.38", 0x40000, 0x20000, CRC(1a4e2eab) SHA1(7c95ba516d164b7b4e6eaf80e3dacf7c35d8123d) )
4316
ROM_LOAD16_BYTE( "c09-39.41", 0x40001, 0x20000, CRC(de87bcb9) SHA1(b5537a25871ea90294f3b6f0b6386a883cfdf991) )
4318
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4319
ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4320
ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4322
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4323
ROM_LOAD( "c09-27.31", 0x00000, 0x04000, CRC(cd161dca) SHA1(2e0632f290f8efae5e479c67ca8808a90e0f4afd) )
4324
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4326
ROM_REGION( 0x80000, "gfx1", 0 )
4327
ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4329
ROM_REGION( 0x200000, "gfx2", 0 )
4330
ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) ) /* OBJ 16x8 */
4331
ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4332
ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4333
ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4335
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4336
ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4338
ROM_REGION16_LE( 0x80000, "user1", 0 )
4339
ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) ) /* STY spritemap */
4341
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4342
ROM_LOAD( "c09-10.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4343
ROM_LOAD( "c09-09.43", 0x080000, 0x080000, CRC(6a655c00) SHA1(5ae1ee422226e386550b69a1f35668c10d3bdcc2) )
4344
ROM_LOAD( "c09-08.44", 0x100000, 0x080000, CRC(7ddfc316) SHA1(47f0ed8eecd4719b4c5cb8762ee6b8bb01686812) )
4346
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4347
ROM_LOAD( "c09-11.29", 0x00000, 0x80000, CRC(6b1a11e1) SHA1(4304d029ecf91fa5b779057f195f75ebdd0a7c1c) )
4349
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4350
ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4351
ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4352
ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4356
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4357
ROM_LOAD16_BYTE( "c09-43.43", 0x00000, 0x20000, CRC(20a9343e) SHA1(b0185ddbda827236b7b41687f18c92e10c2dbd3a) )
4358
ROM_LOAD16_BYTE( "c09-44.40", 0x00001, 0x20000, CRC(7524338a) SHA1(f4e68a4d09f843f4697b4b4a4e94b5759a14fd01) )
4359
ROM_LOAD16_BYTE( "c09-41.38", 0x40000, 0x20000, CRC(83477f11) SHA1(f6dba2137a182dae215cf212bf85f4528e3d006d) )
4360
ROM_LOAD16_BYTE( "c09-39.41", 0x40001, 0x20000, CRC(de87bcb9) SHA1(b5537a25871ea90294f3b6f0b6386a883cfdf991) )
4362
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4363
ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4364
ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4366
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4367
ROM_LOAD( "c09-34.31", 0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4368
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4370
ROM_REGION( 0x80000, "gfx1", 0 )
4371
ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4373
ROM_REGION( 0x200000, "gfx2", 0 )
4374
ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) ) /* OBJ 16x8 */
4375
ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4376
ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4377
ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4379
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4380
ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4382
ROM_REGION16_LE( 0x80000, "user1", 0 )
4383
ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) ) /* STY spritemap */
4385
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4386
ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4387
ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4388
ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4390
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4391
ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4393
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4394
ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4395
ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4396
ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4400
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4401
ROM_LOAD16_BYTE( "ic37.37", 0x00000, 0x20000, CRC(33fb159c) SHA1(b004a5249414f69768d8a951ded3c104ea107b32) )
4402
ROM_LOAD16_BYTE( "ic40.38", 0x00001, 0x20000, CRC(657df3f2) SHA1(80e30961e2cdcb834d2cbd48803ace68acaab422) )
4403
ROM_LOAD16_BYTE( "ic38.42", 0x40000, 0x20000, CRC(0a09b90b) SHA1(0970644a0d79ab3898187849bec6c7cf598652f3) )
4404
ROM_LOAD16_BYTE( "ic41.39", 0x40001, 0x20000, CRC(43167b2a) SHA1(1e6f2a113deb57df869ec2ceb99d6a7ecfa5d7e5) )
4406
ROM_REGION( 0x20000, "sub", 0 ) /* 128K for 68000 code (CPU B) */
4407
ROM_LOAD16_BYTE( "c09-33.6", 0x00000, 0x10000, CRC(cf4e6c5b) SHA1(8d6720b605b8e0c7f0473ba452c79bf5efc2615d) ) /* Actual label is "C09 33*" */
4408
ROM_LOAD16_BYTE( "c09-32.5", 0x00001, 0x10000, CRC(a4713719) SHA1(b1110e397d3407ec63975cdd92a23cbb16348200) ) /* Actual label is "C09 32*" */
4410
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4411
ROM_LOAD( "c09-34.31", 0x00000, 0x04000, CRC(a21b3151) SHA1(f59c7b1ba5edf97d72670ee194ce9fdc5c5b9a58) )
4412
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4414
ROM_REGION( 0x80000, "gfx1", 0 )
4415
ROM_LOAD( "c09-05.16", 0x00000, 0x80000, CRC(890b38f0) SHA1(b478c96214ce027926346a4653250c8ee8a98bdc) ) /* SCR 8x8 */
4417
ROM_REGION( 0x200000, "gfx2", 0 )
4418
ROM_LOAD32_BYTE( "c09-04.52", 0x000000, 0x080000, CRC(2cbb3c9b) SHA1(9e3d95f76f5f5d385b6a9516af781aefef1eb0ca) ) /* OBJ 16x8 */
4419
ROM_LOAD32_BYTE( "c09-02.53", 0x000001, 0x080000, CRC(a83a0389) SHA1(932788b5b5f01326d0fbb2b9fdb94a8c7c004db3) )
4420
ROM_LOAD32_BYTE( "c09-03.54", 0x000002, 0x080000, CRC(a31d0e80) SHA1(dfeff1b89dd7b3f19b26e77f2d66f6448cb00553) )
4421
ROM_LOAD32_BYTE( "c09-01.55", 0x000003, 0x080000, CRC(64bfea10) SHA1(15ea43092027b1717d0f24fbe6ac2cdf11a7ddc6) )
4423
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4424
ROM_LOAD( "c09-07.15", 0x00000, 0x80000, CRC(963bc82b) SHA1(e3558aecd1b82ddbf10ab2b71843a3664705f1f1) ) /* ROD, road lines */
4426
ROM_REGION16_LE( 0x80000, "user1", 0 )
4427
ROM_LOAD16_WORD( "c09-06.37", 0x00000, 0x80000, CRC(12df6d7b) SHA1(8ce742eb3f7eb6283b5ca32bb520d1cc7684d515) ) /* STY spritemap */
4429
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4430
ROM_LOAD( "c09-14.42", 0x000000, 0x080000, CRC(ad78bf46) SHA1(4020744bbdc4b9ec3dee1a9d7b5ffa8def43d7b2) )
4431
ROM_LOAD( "c09-13.43", 0x080000, 0x080000, CRC(d57c41d3) SHA1(3375a1fc6389840544b9fdb96b2fafbc8e3276e2) )
4432
ROM_LOAD( "c09-12.44", 0x100000, 0x080000, CRC(56c99fa5) SHA1(3f9a6bc89d847cc4c99d35f98157ea3f187c0f98) )
4434
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4435
ROM_LOAD( "c09-15.29", 0x00000, 0x80000, CRC(e63b9095) SHA1(c6ea670b5a90ab39429259ec1fefb2bde5d0213f) )
4437
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4438
ROM_LOAD( "c09-16.17", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4439
ROM_LOAD( "c09-20.71", 0x00000, 0x00100, CRC(cd8ffd80) SHA1(133bcd291a3751bce5293cb6b685f87258e8db19) ) // road/sprite priority and palette select
4440
ROM_LOAD( "c09-23.14", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4444
ROM_START( nightstr )
4445
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4446
ROM_LOAD16_BYTE( "b91-45.bin", 0x00000, 0x20000, CRC(7ad63421) SHA1(4ecfc3c8cd691d878e5d9212ccff0d225bb06bd9) )
4447
ROM_LOAD16_BYTE( "b91-44.bin", 0x00001, 0x20000, CRC(4bc30adf) SHA1(531d6ee9c8ff0d4ed07c15465ec7cb78cf976115) )
4448
ROM_LOAD16_BYTE( "b91-43.bin", 0x40000, 0x20000, CRC(3e6f727a) SHA1(ae837131a4c0c9bc5deba155c2a5b7ae72f1d070) )
4449
ROM_LOAD16_BYTE( "b91-47.bin", 0x40001, 0x20000, CRC(9f778e03) SHA1(37888c3f4c52b5a714678f0f1e39f6a4f19beef9) )
4450
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4451
ROM_LOAD16_BYTE( "b91-39.bin", 0x00000, 0x20000, CRC(725b23ae) SHA1(d4b4335863d32b9a81f7461240e960bf345c9835) )
4452
ROM_LOAD16_BYTE( "b91-40.bin", 0x00001, 0x20000, CRC(81fb364d) SHA1(f02733509039cde2c1de616e0a7969e31de1007a) )
4454
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4455
ROM_LOAD( "b91-41.bin", 0x00000, 0x04000, CRC(2694bb42) SHA1(ee770472655ac0ef55eeff04037457dbf6744e4f) )
4456
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4458
ROM_REGION( 0x80000, "gfx1", 0 )
4459
ROM_LOAD( "b91-11.bin", 0x00000, 0x80000, CRC(fff8ce31) SHA1(fc729de92937a805d79379228d7a30041594c0df) ) /* SCR 8x8 */
4461
ROM_REGION( 0x200000, "gfx2", 0 )
4462
ROM_LOAD32_BYTE( "b91-04.bin", 0x000000, 0x080000, CRC(8ca1970d) SHA1(d8504298a38a95f1d8f3a2fba479ec75fe4d5de7) ) /* OBJ A 16x16 */
4463
ROM_LOAD32_BYTE( "b91-03.bin", 0x000001, 0x080000, CRC(cd5fed39) SHA1(c16c67cc998889288e6e96535fd8e61afc93bc78) )
4464
ROM_LOAD32_BYTE( "b91-02.bin", 0x000002, 0x080000, CRC(457c64b8) SHA1(443f13d56d53ca6a7750ec974da675bad3f34a38) )
4465
ROM_LOAD32_BYTE( "b91-01.bin", 0x000003, 0x080000, CRC(3731d94f) SHA1(2978d3eb1f44595681e84f3aa8dc03d34a191455) )
4467
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4468
ROM_LOAD( "b91-10.bin", 0x00000, 0x80000, CRC(1d8f05b4) SHA1(04caa6a0887b90860c426a973dc3c3270e996818) ) /* ROD, road lines */
4470
ROM_REGION( 0x200000, "gfx4", 0 )
4471
ROM_LOAD32_BYTE( "b91-08.bin", 0x000000, 0x080000, CRC(66f35c34) SHA1(9040390fa9c626a54076a9461e0e198f059e2cb1) ) /* OBJ B 16x16 */
4472
ROM_LOAD32_BYTE( "b91-07.bin", 0x000001, 0x080000, CRC(4d8ec6cf) SHA1(2b7c10b459dc45313c4c90899a73c42c55b6c5c9) )
4473
ROM_LOAD32_BYTE( "b91-06.bin", 0x000002, 0x080000, CRC(a34dc839) SHA1(e1fcb763dbc562a62e862297458bde66d691606c) )
4474
ROM_LOAD32_BYTE( "b91-05.bin", 0x000003, 0x080000, CRC(5e72ac90) SHA1(c28c2718e873be5a254992ef8db256a394ca03ff) )
4476
ROM_REGION16_LE( 0x80000, "user1", 0 )
4477
ROM_LOAD16_WORD( "b91-09.bin", 0x00000, 0x80000, CRC(5f247ca2) SHA1(3b89e5d035f27f62a14c5c7a976c804f9bb5c04d) ) /* STY spritemap */
4479
ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */
4480
ROM_LOAD( "b91-13.bin", 0x00000, 0x80000, CRC(8c7bf0f5) SHA1(6e18531991225c24a9722c9fbe1af6ae6e9b866b) )
4481
ROM_LOAD( "b91-12.bin", 0x80000, 0x80000, CRC(da77c7af) SHA1(49662a69b83739e2e0209cabff83995a951383f4) )
4483
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4484
ROM_LOAD( "b91-14.bin", 0x00000, 0x80000, CRC(6bc314d3) SHA1(ae3e9c6b853bab4ec81a6bd951b39a4bc883f456) )
4486
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4487
ROM_LOAD( "b91-26.bin", 0x00000, 0x0400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
4488
ROM_LOAD( "b91-27.bin", 0x00000, 0x0400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
4489
ROM_LOAD( "b91-28.bin", 0x00000, 0x0400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
4490
ROM_LOAD( "b91-29.bin", 0x00000, 0x2000, CRC(ad685be8) SHA1(e7681d76fa216c124c54544393c4f6a08fd7d74d) )
4491
ROM_LOAD( "b91-30.bin", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
4492
ROM_LOAD( "b91-31.bin", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
4493
ROM_LOAD( "b91-32.bin", 0x00000, 0x0100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4494
ROM_LOAD( "b91-33.bin", 0x00000, 0x0100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) ) // road/sprite priority and palette select
4497
ROM_START( nightstru )
4498
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4499
ROM_LOAD16_BYTE( "b91-45.bin", 0x00000, 0x20000, CRC(7ad63421) SHA1(4ecfc3c8cd691d878e5d9212ccff0d225bb06bd9) )
4500
ROM_LOAD16_BYTE( "b91-44.bin", 0x00001, 0x20000, CRC(4bc30adf) SHA1(531d6ee9c8ff0d4ed07c15465ec7cb78cf976115) )
4501
ROM_LOAD16_BYTE( "b91-43.bin", 0x40000, 0x20000, CRC(3e6f727a) SHA1(ae837131a4c0c9bc5deba155c2a5b7ae72f1d070) )
4502
ROM_LOAD16_BYTE( "b91-46.bin", 0x40001, 0x20000, CRC(e870be95) SHA1(9a83df2c88a029bc40f5ce074143778ea555a2ba) )
4504
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4505
ROM_LOAD16_BYTE( "b91-39.bin", 0x00000, 0x20000, CRC(725b23ae) SHA1(d4b4335863d32b9a81f7461240e960bf345c9835) )
4506
ROM_LOAD16_BYTE( "b91-40.bin", 0x00001, 0x20000, CRC(81fb364d) SHA1(f02733509039cde2c1de616e0a7969e31de1007a) )
4508
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4509
ROM_LOAD( "b91-41.bin", 0x00000, 0x04000, CRC(2694bb42) SHA1(ee770472655ac0ef55eeff04037457dbf6744e4f) )
4510
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4512
ROM_REGION( 0x80000, "gfx1", 0 )
4513
ROM_LOAD( "b91-11.bin", 0x00000, 0x80000, CRC(fff8ce31) SHA1(fc729de92937a805d79379228d7a30041594c0df) ) /* SCR 8x8 */
4515
ROM_REGION( 0x200000, "gfx2", 0 )
4516
ROM_LOAD32_BYTE( "b91-04.bin", 0x000000, 0x080000, CRC(8ca1970d) SHA1(d8504298a38a95f1d8f3a2fba479ec75fe4d5de7) ) /* OBJ A 16x16 */
4517
ROM_LOAD32_BYTE( "b91-03.bin", 0x000001, 0x080000, CRC(cd5fed39) SHA1(c16c67cc998889288e6e96535fd8e61afc93bc78) )
4518
ROM_LOAD32_BYTE( "b91-02.bin", 0x000002, 0x080000, CRC(457c64b8) SHA1(443f13d56d53ca6a7750ec974da675bad3f34a38) )
4519
ROM_LOAD32_BYTE( "b91-01.bin", 0x000003, 0x080000, CRC(3731d94f) SHA1(2978d3eb1f44595681e84f3aa8dc03d34a191455) )
4521
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4522
ROM_LOAD( "b91-10.bin", 0x00000, 0x80000, CRC(1d8f05b4) SHA1(04caa6a0887b90860c426a973dc3c3270e996818) ) /* ROD, road lines */
4524
ROM_REGION( 0x200000, "gfx4", 0 )
4525
ROM_LOAD32_BYTE( "b91-08.bin", 0x000000, 0x080000, CRC(66f35c34) SHA1(9040390fa9c626a54076a9461e0e198f059e2cb1) ) /* OBJ B 16x16 */
4526
ROM_LOAD32_BYTE( "b91-07.bin", 0x000001, 0x080000, CRC(4d8ec6cf) SHA1(2b7c10b459dc45313c4c90899a73c42c55b6c5c9) )
4527
ROM_LOAD32_BYTE( "b91-06.bin", 0x000002, 0x080000, CRC(a34dc839) SHA1(e1fcb763dbc562a62e862297458bde66d691606c) )
4528
ROM_LOAD32_BYTE( "b91-05.bin", 0x000003, 0x080000, CRC(5e72ac90) SHA1(c28c2718e873be5a254992ef8db256a394ca03ff) )
4530
ROM_REGION16_LE( 0x80000, "user1", 0 )
4531
ROM_LOAD16_WORD( "b91-09.bin", 0x00000, 0x80000, CRC(5f247ca2) SHA1(3b89e5d035f27f62a14c5c7a976c804f9bb5c04d) ) /* STY spritemap */
4533
ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */
4534
ROM_LOAD( "b91-13.bin", 0x00000, 0x80000, CRC(8c7bf0f5) SHA1(6e18531991225c24a9722c9fbe1af6ae6e9b866b) )
4535
ROM_LOAD( "b91-12.bin", 0x80000, 0x80000, CRC(da77c7af) SHA1(49662a69b83739e2e0209cabff83995a951383f4) )
4537
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4538
ROM_LOAD( "b91-14.bin", 0x00000, 0x80000, CRC(6bc314d3) SHA1(ae3e9c6b853bab4ec81a6bd951b39a4bc883f456) )
4540
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4541
ROM_LOAD( "b91-26.bin", 0x00000, 0x0400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
4542
ROM_LOAD( "b91-27.bin", 0x00000, 0x0400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
4543
ROM_LOAD( "b91-28.bin", 0x00000, 0x0400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
4544
ROM_LOAD( "b91-29.bin", 0x00000, 0x2000, CRC(ad685be8) SHA1(e7681d76fa216c124c54544393c4f6a08fd7d74d) )
4545
ROM_LOAD( "b91-30.bin", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
4546
ROM_LOAD( "b91-31.bin", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
4547
ROM_LOAD( "b91-32.bin", 0x00000, 0x0100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4548
ROM_LOAD( "b91-33.bin", 0x00000, 0x0100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) ) // road/sprite priority and palette select
4551
ROM_START( nightstrj )
4552
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4553
ROM_LOAD16_BYTE( "b91-45.bin", 0x00000, 0x20000, CRC(7ad63421) SHA1(4ecfc3c8cd691d878e5d9212ccff0d225bb06bd9) )
4554
ROM_LOAD16_BYTE( "b91-44.bin", 0x00001, 0x20000, CRC(4bc30adf) SHA1(531d6ee9c8ff0d4ed07c15465ec7cb78cf976115) )
4555
ROM_LOAD16_BYTE( "b91-43.bin", 0x40000, 0x20000, CRC(3e6f727a) SHA1(ae837131a4c0c9bc5deba155c2a5b7ae72f1d070) )
4556
ROM_LOAD16_BYTE( "b91-42.bin", 0x40001, 0x20000, CRC(7179ef2f) SHA1(4c45f0c4dfcf16665d7eca4fdcd6a959d9b6fc01) )
4557
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4558
ROM_LOAD16_BYTE( "b91-39.bin", 0x00000, 0x20000, CRC(725b23ae) SHA1(d4b4335863d32b9a81f7461240e960bf345c9835) )
4559
ROM_LOAD16_BYTE( "b91-40.bin", 0x00001, 0x20000, CRC(81fb364d) SHA1(f02733509039cde2c1de616e0a7969e31de1007a) )
4561
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* Z80 sound cpu */
4562
ROM_LOAD( "b91-41.bin", 0x00000, 0x04000, CRC(2694bb42) SHA1(ee770472655ac0ef55eeff04037457dbf6744e4f) )
4563
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4565
ROM_REGION( 0x80000, "gfx1", 0 )
4566
ROM_LOAD( "b91-11.bin", 0x00000, 0x80000, CRC(fff8ce31) SHA1(fc729de92937a805d79379228d7a30041594c0df) ) /* SCR 8x8 */
4568
ROM_REGION( 0x200000, "gfx2", 0 )
4569
ROM_LOAD32_BYTE( "b91-04.bin", 0x000000, 0x080000, CRC(8ca1970d) SHA1(d8504298a38a95f1d8f3a2fba479ec75fe4d5de7) ) /* OBJ A 16x16 */
4570
ROM_LOAD32_BYTE( "b91-03.bin", 0x000001, 0x080000, CRC(cd5fed39) SHA1(c16c67cc998889288e6e96535fd8e61afc93bc78) )
4571
ROM_LOAD32_BYTE( "b91-02.bin", 0x000002, 0x080000, CRC(457c64b8) SHA1(443f13d56d53ca6a7750ec974da675bad3f34a38) )
4572
ROM_LOAD32_BYTE( "b91-01.bin", 0x000003, 0x080000, CRC(3731d94f) SHA1(2978d3eb1f44595681e84f3aa8dc03d34a191455) )
4574
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4575
ROM_LOAD( "b91-10.bin", 0x00000, 0x80000, CRC(1d8f05b4) SHA1(04caa6a0887b90860c426a973dc3c3270e996818) ) /* ROD, road lines */
4577
ROM_REGION( 0x200000, "gfx4", 0 )
4578
ROM_LOAD32_BYTE( "b91-08.bin", 0x000000, 0x080000, CRC(66f35c34) SHA1(9040390fa9c626a54076a9461e0e198f059e2cb1) ) /* OBJ B 16x16 */
4579
ROM_LOAD32_BYTE( "b91-07.bin", 0x000001, 0x080000, CRC(4d8ec6cf) SHA1(2b7c10b459dc45313c4c90899a73c42c55b6c5c9) )
4580
ROM_LOAD32_BYTE( "b91-06.bin", 0x000002, 0x080000, CRC(a34dc839) SHA1(e1fcb763dbc562a62e862297458bde66d691606c) )
4581
ROM_LOAD32_BYTE( "b91-05.bin", 0x000003, 0x080000, CRC(5e72ac90) SHA1(c28c2718e873be5a254992ef8db256a394ca03ff) )
4583
ROM_REGION16_LE( 0x80000, "user1", 0 )
4584
ROM_LOAD16_WORD( "b91-09.bin", 0x00000, 0x80000, CRC(5f247ca2) SHA1(3b89e5d035f27f62a14c5c7a976c804f9bb5c04d) ) /* STY spritemap */
4586
ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */
4587
ROM_LOAD( "b91-13.bin", 0x00000, 0x80000, CRC(8c7bf0f5) SHA1(6e18531991225c24a9722c9fbe1af6ae6e9b866b) )
4588
ROM_LOAD( "b91-12.bin", 0x80000, 0x80000, CRC(da77c7af) SHA1(49662a69b83739e2e0209cabff83995a951383f4) )
4590
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4591
ROM_LOAD( "b91-14.bin", 0x00000, 0x80000, CRC(6bc314d3) SHA1(ae3e9c6b853bab4ec81a6bd951b39a4bc883f456) )
4593
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4594
ROM_LOAD( "b91-26.bin", 0x00000, 0x0400, CRC(77682a4f) SHA1(da2b3143f1c8688a22d8ec47bbb73b2f2e578480) )
4595
ROM_LOAD( "b91-27.bin", 0x00000, 0x0400, CRC(a3f8490d) SHA1(349b8c9ba914603f72f800a3fc8e8277d756deb1) )
4596
ROM_LOAD( "b91-28.bin", 0x00000, 0x0400, CRC(fa2f840e) SHA1(dd61ee6833bd43bbf619d36ec46f2bfa00880f40) )
4597
ROM_LOAD( "b91-29.bin", 0x00000, 0x2000, CRC(ad685be8) SHA1(e7681d76fa216c124c54544393c4f6a08fd7d74d) )
4598
ROM_LOAD( "b91-30.bin", 0x00000, 0x10000, CRC(30cc1f79) SHA1(3b0e3e6e8bce7a7d04a5b0103e2ce4e18e52a68e) )
4599
ROM_LOAD( "b91-31.bin", 0x00000, 0x10000, CRC(c189781c) SHA1(af3904ce51f715970965d110313491dbacf188b8) )
4600
ROM_LOAD( "b91-32.bin", 0x00000, 0x0100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4601
ROM_LOAD( "b91-33.bin", 0x00000, 0x0100, CRC(89719d17) SHA1(50181b8172b0fc08b149db18caf10659be9c517f) ) // road/sprite priority and palette select
4604
ROM_START( aquajack )
4605
ROM_REGION( 0x40000, "maincpu", 0 ) /* 256K for 68000 code (CPU A) */
4606
ROM_LOAD16_BYTE( "b77-22.rom", 0x00000, 0x20000, CRC(67400dde) SHA1(1e47c4fbd4449f2d973ac962ad58f22502d59198) )
4607
ROM_LOAD16_BYTE( "34.17", 0x00001, 0x20000, CRC(cd4d0969) SHA1(d610e7847a09f1ca892007440fa1b431bb0c41d2) )
4609
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4610
ROM_LOAD16_BYTE( "b77-24.rom", 0x00000, 0x20000, CRC(95e643ed) SHA1(d47ddd50c744f33b3cbd5ef90880ca577977f5ca) )
4611
ROM_LOAD16_BYTE( "b77-23.rom", 0x00001, 0x20000, CRC(395a7d1c) SHA1(22cbbabb07f43e72a6139b6b9d68d6c1146d727f) )
4613
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */
4614
ROM_LOAD( "b77-20.rom", 0x00000, 0x04000, CRC(84ba54b7) SHA1(84e51c1a6a5b4eb2a65f4a6d9d54037323348f50) )
4615
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
4617
ROM_REGION( 0x80000, "gfx1", 0 )
4618
ROM_LOAD( "b77-05.rom", 0x00000, 0x80000, CRC(7238f0ff) SHA1(95e2d6815e99392358bbeabf1afbf237673f2e24) ) /* SCR 8x8 */
4620
ROM_REGION( 0x200000, "gfx2", 0 )
4621
ROM_LOAD32_BYTE( "b77-04.rom", 0x000000, 0x80000, CRC(bed0be6c) SHA1(2b11824f741b7f6755bd78f594af19b63a29092f) ) /* OBJ 16x8 */
4622
ROM_LOAD32_BYTE( "b77-03.rom", 0x000001, 0x80000, CRC(9a3030a7) SHA1(7b60fd066eccd04d9fcc131d9d06f151334ccab2) )
4623
ROM_LOAD32_BYTE( "b77-02.rom", 0x000002, 0x80000, CRC(daea0d2e) SHA1(10640651824234a589838e8f017964b79de79cb4) )
4624
ROM_LOAD32_BYTE( "b77-01.rom", 0x000003, 0x80000, CRC(cdab000d) SHA1(d83ee7f1dc17ab113bac38d0d062bb1519ff69f7) )
4626
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4627
ROM_LOAD( "b77-07.rom", 0x000000, 0x80000, CRC(7db1fc5e) SHA1(fbc88c2179b881d34d3a33d0a901d8da3445f9a8) ) /* ROD, road lines */
4629
ROM_REGION16_LE( 0x80000, "user1", 0 )
4630
ROM_LOAD16_WORD( "b77-06.rom", 0x00000, 0x80000, CRC(ce2aed00) SHA1(9c992717914b13eb271122ecf7cca3634b013e56) ) /* STY spritemap */
4632
ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */
4633
ROM_LOAD( "b77-09.rom", 0x00000, 0x80000, CRC(948e5ad9) SHA1(35cd6706470f01b5a244817d10fc65c075ff29b1) )
4635
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4636
ROM_LOAD( "b77-08.rom", 0x00000, 0x80000, CRC(119b9485) SHA1(2c9cd90be20df769e09016abccf59c8f119da286) )
4638
ROM_REGION( 0x00200, "user2", 0 ) /* unused PROMs */
4639
ROM_LOAD( "b77-17.bin", 0x00000, 0x0100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4640
ROM_LOAD( "b77-18.bin", 0x00100, 0x0100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) ) // road/sprite priority and palette select
4642
/* (no unused roms in my set, there should be an 0x10000 one like the rest) */
4645
ROM_START( aquajackj )
4646
ROM_REGION( 0x40000, "maincpu", 0 ) /* 256K for 68000 code (CPU A) */
4647
ROM_LOAD16_BYTE( "b77-22.rom", 0x00000, 0x20000, CRC(67400dde) SHA1(1e47c4fbd4449f2d973ac962ad58f22502d59198) )
4648
ROM_LOAD16_BYTE( "b77-21.rom", 0x00001, 0x20000, CRC(23436845) SHA1(e62111c902453e1b655c7f25bcea938a6f13aed2) )
4650
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4651
ROM_LOAD16_BYTE( "b77-24.rom", 0x00000, 0x20000, CRC(95e643ed) SHA1(d47ddd50c744f33b3cbd5ef90880ca577977f5ca) )
4652
ROM_LOAD16_BYTE( "b77-23.rom", 0x00001, 0x20000, CRC(395a7d1c) SHA1(22cbbabb07f43e72a6139b6b9d68d6c1146d727f) )
4654
ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */
4655
ROM_LOAD( "b77-20.rom", 0x00000, 0x04000, CRC(84ba54b7) SHA1(84e51c1a6a5b4eb2a65f4a6d9d54037323348f50) )
4656
ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */
4658
ROM_REGION( 0x80000, "gfx1", 0 )
4659
ROM_LOAD( "b77-05.rom", 0x00000, 0x80000, CRC(7238f0ff) SHA1(95e2d6815e99392358bbeabf1afbf237673f2e24) ) /* SCR 8x8 */
4661
ROM_REGION( 0x200000, "gfx2", 0 )
4662
ROM_LOAD32_BYTE( "b77-04.rom", 0x000000, 0x80000, CRC(bed0be6c) SHA1(2b11824f741b7f6755bd78f594af19b63a29092f) ) /* OBJ 16x8 */
4663
ROM_LOAD32_BYTE( "b77-03.rom", 0x000001, 0x80000, CRC(9a3030a7) SHA1(7b60fd066eccd04d9fcc131d9d06f151334ccab2) )
4664
ROM_LOAD32_BYTE( "b77-02.rom", 0x000002, 0x80000, CRC(daea0d2e) SHA1(10640651824234a589838e8f017964b79de79cb4) )
4665
ROM_LOAD32_BYTE( "b77-01.rom", 0x000003, 0x80000, CRC(cdab000d) SHA1(d83ee7f1dc17ab113bac38d0d062bb1519ff69f7) )
4667
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4668
ROM_LOAD( "b77-07.rom", 0x000000, 0x80000, CRC(7db1fc5e) SHA1(fbc88c2179b881d34d3a33d0a901d8da3445f9a8) ) /* ROD, road lines */
4670
ROM_REGION16_LE( 0x80000, "user1", 0 )
4671
ROM_LOAD16_WORD( "b77-06.rom", 0x00000, 0x80000, CRC(ce2aed00) SHA1(9c992717914b13eb271122ecf7cca3634b013e56) ) /* STY spritemap */
4673
ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */
4674
ROM_LOAD( "b77-09.rom", 0x00000, 0x80000, CRC(948e5ad9) SHA1(35cd6706470f01b5a244817d10fc65c075ff29b1) )
4676
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4677
ROM_LOAD( "b77-08.rom", 0x00000, 0x80000, CRC(119b9485) SHA1(2c9cd90be20df769e09016abccf59c8f119da286) )
4679
ROM_REGION( 0x00200, "user2", 0 ) /* unused PROMs */
4680
ROM_LOAD( "b77-17.bin", 0x00000, 0x0100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4681
ROM_LOAD( "b77-18.bin", 0x00100, 0x0100, CRC(7b7d8ff4) SHA1(18842ed8160739cd2e2ccc2db605153dbed6cc0a) ) // road/sprite priority and palette select
4683
/* (no unused roms in my set, there should be an 0x10000 one like the rest) */
4686
ROM_START( spacegun )
4687
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4688
ROM_LOAD16_BYTE( "c57-18.62", 0x00000, 0x20000, CRC(19d7d52e) SHA1(4361929a43f911864ece4dcd06995ea6b6156c59) )
4689
ROM_LOAD16_BYTE( "c57-20.74", 0x00001, 0x20000, CRC(2e58253f) SHA1(36fb52ce1c6cf9f537cf500ba330b167871969b9) )
4690
ROM_LOAD16_BYTE( "c57-17.59", 0x40000, 0x20000, CRC(e197edb8) SHA1(2ffd000aac1825ecd564c273f0cc055710ba4050) )
4691
ROM_LOAD16_BYTE( "c57-22.73", 0x40001, 0x20000, CRC(5855fde3) SHA1(fcd6d7ed16b61b9023596f0efb7f6971060a2e0b) )
4693
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4694
ROM_LOAD16_BYTE( "c57-15.27", 0x00000, 0x20000, CRC(b36eb8f1) SHA1(e6e9fb844fd9acc6ee8a515a964d5df8de088a8c) )
4695
ROM_LOAD16_BYTE( "c57-16.29", 0x00001, 0x20000, CRC(bfb5d1e7) SHA1(cbf22e9043aac54e08c5da74d973da27844170ef) )
4697
ROM_REGION( 0x80000, "gfx1", 0 )
4698
ROM_LOAD( "c57-06.52", 0x00000, 0x80000, CRC(4ebadd5b) SHA1(d32a52b4d7dd19b0fa2551f93ce3d5cbcf2bc158) ) /* SCR 8x8 */
4700
ROM_REGION( 0x400000, "gfx2", 0 )
4701
ROM_LOAD32_BYTE( "c57-01.25", 0x000000, 0x100000, CRC(f901b04e) SHA1(24bac1c3a0c585966a7cbeeebd9b2dd3acf45a67) ) /* OBJ 16x8 */
4702
ROM_LOAD32_BYTE( "c57-02.24", 0x000001, 0x100000, CRC(21ee4633) SHA1(ddb948b165127c8fb1a988b5a0f17f92117f1b66) )
4703
ROM_LOAD32_BYTE( "c57-03.12", 0x000002, 0x100000, CRC(fafca86f) SHA1(dc6ea78f0deafef632d8bd3677ec74e797dc69a2) )
4704
ROM_LOAD32_BYTE( "c57-04.11", 0x000003, 0x100000, CRC(a9787090) SHA1(8c05c4c0d14a9f60defb37225da37aadf946c563) )
4706
ROM_REGION16_LE( 0x80000, "user1", 0 )
4707
ROM_LOAD16_WORD( "c57-05.36", 0x00000, 0x80000, CRC(6a70eb2e) SHA1(307dd876af65204e86e094b4015ffb4a655824f8) ) /* STY spritemap */
4709
ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */
4710
ROM_LOAD( "c57-07.76", 0x00000, 0x80000, CRC(ad653dc1) SHA1(2ec440f793b0a686233fbe61c9462f8365c42b65) )
4712
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4713
ROM_LOAD( "c57-08.75", 0x00000, 0x80000, CRC(22593550) SHA1(e802e947e6947d146e1b57dbff7ac021e19e7b2b) )
4715
ROM_REGION( 0x0c00, "plds", 0 )
4716
ROM_LOAD( "pal16l8-c57-09.9", 0x0000, 0x0104, CRC(ea93161e) SHA1(c83c6ce3696b2754abb861d41a8d587a8e82aa1e) )
4717
ROM_LOAD( "pal20l8-c57-10.47", 0x0200, 0x0144, CRC(3ee56888) SHA1(030efb0903d919686748b1ff86a327990832d0fa) )
4718
ROM_LOAD( "pal16l8-c57-11.48", 0x0400, 0x0104, CRC(6bb4372e) SHA1(513bf6f032a9043303b8660c106753ae214d28ff) )
4719
ROM_LOAD( "pal20l8-c57-12.61", 0x0600, 0x0144, CRC(debddb13) SHA1(47be25b3bb157d37b9813737544a56a2090f85ba) )
4720
ROM_LOAD( "pal16l8-c57-13.72", 0x0800, 0x0104, CRC(1369f23e) SHA1(bbc960cfc3edd07e89134e1b876aa7a6c0cba5ac) )
4721
ROM_LOAD( "pal16r4-c57-14.96", 0x0a00, 0x0104, CRC(75e1bf61) SHA1(e8358329a78ec0ab87641b2ecaec0b2b67c6ca30) )
4724
ROM_START( dblaxle )
4725
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4726
ROM_LOAD16_BYTE( "c78-41-1.2", 0x00000, 0x20000, CRC(cf297fe4) SHA1(4875de63e8336062c27d83b55938bcb3d08a24a3) )
4727
ROM_LOAD16_BYTE( "c78-43-1.4", 0x00001, 0x20000, CRC(38a8bad6) SHA1(50977a6a364893549d2f7899bbc4e0c67086697e) )
4728
ROM_LOAD16_BYTE( "c78-42-1.3", 0x40000, 0x20000, CRC(4124ab2b) SHA1(96c3b6e01a1823259b3d7ca43e0a8631bfe33d0e) )
4729
ROM_LOAD16_BYTE( "c78-44-1.5", 0x40001, 0x20000, CRC(50a55b6e) SHA1(62a72d33030d50c157a5cf05f6bdc1b02c9b9ff1) )
4731
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4732
ROM_LOAD16_BYTE( "c78-30-1.35", 0x00000, 0x20000, CRC(026aac18) SHA1(f50873982b4dc0fc822060f4c20c635efdd75d7e) )
4733
ROM_LOAD16_BYTE( "c78-31-1.36", 0x00001, 0x20000, CRC(67ce23e8) SHA1(983e998a79e3d4376b005c92ded050be236d37cc) )
4735
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */
4736
ROM_LOAD ( "c78-34.c42", 0x00000, 0x04000, CRC(f2186943) SHA1(2e9aed39fddf3aa1db7e20f8a709b6b82cc3e7df) )
4737
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4739
ROM_REGION( 0x100000, "gfx1", 0 )
4740
ROM_LOAD16_BYTE( "c78-10.12", 0x00000, 0x80000, CRC(44b1897c) SHA1(7ad179db6d7dfeb139ea13cb4a231f99d177f2b1) ) /* SCR 8x8 */
4741
ROM_LOAD16_BYTE( "c78-11.11", 0x00001, 0x80000, CRC(7db3d4a3) SHA1(fc3c44ed36b212688a5bd8dc61321a994578258e) )
4743
ROM_REGION( 0x400000, "gfx2", 0 )
4744
ROM_LOAD32_BYTE( "c78-08.25", 0x000000, 0x100000, CRC(6c725211) SHA1(3c1765f44fe57b496d305e994516674f71bd4c3c) ) /* OBJ 16x8 */
4745
ROM_LOAD32_BYTE( "c78-07.33", 0x000001, 0x100000, CRC(9da00d5b) SHA1(f6b664c7495b936ce1b99852da45ec92cb37062a) )
4746
ROM_LOAD32_BYTE( "c78-06.23", 0x000002, 0x100000, CRC(8309e91b) SHA1(3f27557bc82bf42cc77e3c7e363b51a0b119144d) )
4747
ROM_LOAD32_BYTE( "c78-05.31", 0x000003, 0x100000, CRC(90001f68) SHA1(5c08dfe6a2e12e6ca84035815563f38fc2c2c029) )
4748
// ROMX_LOAD ( "c78-05l.1", 0x000003, 0x080000, CRC(f24bf972) , ROM_SKIP(7) )
4749
// ROMX_LOAD ( "c78-05h.2", 0x000007, 0x080000, CRC(c01039b5) , ROM_SKIP(7) )
4751
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4752
ROM_LOAD( "c78-09.12", 0x000000, 0x80000, CRC(0dbde6f5) SHA1(4049271e3738b54e0c56d191889b1aea5664d49f) ) /* ROD, road lines */
4754
ROM_REGION16_LE( 0x80000, "user1", 0 )
4755
ROM_LOAD16_WORD( "c78-04.3", 0x00000, 0x80000, CRC(cc1aa37c) SHA1(cfa2eb338dc81c98c637c2f0b14d2baea8b115f5) ) /* STY spritemap */
4757
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4758
ROM_LOAD( "c78-12.33", 0x000000, 0x100000, CRC(b0267404) SHA1(ffd337336ff9b096e3725f733364762f6e6d3fab) )
4759
ROM_LOAD( "c78-13.46", 0x100000, 0x080000, CRC(1b363aa2) SHA1(0aae3988024654e98cc0c784307b1c329c8f0783) )
4761
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4762
ROM_LOAD( "c78-14.31", 0x00000, 0x80000, CRC(9cad4dfb) SHA1(9187ef827a3f1bc9233d0e45e72c72c0956c5912) )
4764
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4765
ROM_LOAD( "c78-25.15", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) ) // 98% compression
4766
ROM_LOAD( "c78-15.22", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4767
ROM_LOAD( "c78-21.74", 0x00000, 0x00100, CRC(2926bf27) SHA1(bfbbe6c71bb29a05959f3de0d940816139f9ebfe) ) // road/sprite priority and palette select
4768
ROM_LOAD( "c84-10.16", 0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4769
ROM_LOAD( "c84-11.17", 0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4772
ROM_START( pwheelsj )
4773
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4774
ROM_LOAD16_BYTE( "c78-26-2.2", 0x00000, 0x20000, CRC(25c8eb2e) SHA1(a526b886c76a19c9ce1abc25cf433574564605a3) )
4775
ROM_LOAD16_BYTE( "c78-28-2.4", 0x00001, 0x20000, CRC(a9500eb1) SHA1(ad300add3439515512003703df46e2f9317f2ee8) )
4776
ROM_LOAD16_BYTE( "c78-27-2.3", 0x40000, 0x20000, CRC(08d2cffb) SHA1(a4f117a15499c0df85bf8036f00871caa6723082) )
4777
ROM_LOAD16_BYTE( "c78-29-2.5", 0x40001, 0x20000, CRC(e1608004) SHA1(c4863264074de09ab38e7b73214f4271728e30aa) )
4779
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4780
ROM_LOAD16_BYTE( "c78-30-1.35", 0x00000, 0x20000, CRC(026aac18) SHA1(f50873982b4dc0fc822060f4c20c635efdd75d7e) )
4781
ROM_LOAD16_BYTE( "c78-31-1.36", 0x00001, 0x20000, CRC(67ce23e8) SHA1(983e998a79e3d4376b005c92ded050be236d37cc) )
4783
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */
4784
ROM_LOAD ( "c78-32.42", 0x00000, 0x04000, CRC(1494199c) SHA1(f6b6ccaadbc5440f9342750a79ebc00c019ef355) )
4785
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4787
ROM_REGION( 0x100000, "gfx1", 0 )
4788
ROM_LOAD16_BYTE( "c78-10.12", 0x00000, 0x80000, CRC(44b1897c) SHA1(7ad179db6d7dfeb139ea13cb4a231f99d177f2b1) ) /* SCR 8x8 */
4789
ROM_LOAD16_BYTE( "c78-11.11", 0x00001, 0x80000, CRC(7db3d4a3) SHA1(fc3c44ed36b212688a5bd8dc61321a994578258e) )
4791
ROM_REGION( 0x400000, "gfx2", 0 )
4792
ROM_LOAD32_BYTE( "c78-08.25", 0x000000, 0x100000, CRC(6c725211) SHA1(3c1765f44fe57b496d305e994516674f71bd4c3c) ) /* OBJ 16x8 */
4793
ROM_LOAD32_BYTE( "c78-07.33", 0x000001, 0x100000, CRC(9da00d5b) SHA1(f6b664c7495b936ce1b99852da45ec92cb37062a) )
4794
ROM_LOAD32_BYTE( "c78-06.23", 0x000002, 0x100000, CRC(8309e91b) SHA1(3f27557bc82bf42cc77e3c7e363b51a0b119144d) )
4795
ROM_LOAD32_BYTE( "c78-05.31", 0x000003, 0x100000, CRC(90001f68) SHA1(5c08dfe6a2e12e6ca84035815563f38fc2c2c029) )
4797
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4798
ROM_LOAD( "c78-09.12", 0x000000, 0x80000, CRC(0dbde6f5) SHA1(4049271e3738b54e0c56d191889b1aea5664d49f) ) /* ROD, road lines */
4800
ROM_REGION16_LE( 0x80000, "user1", 0 )
4801
ROM_LOAD16_WORD( "c78-04.3", 0x00000, 0x80000, CRC(cc1aa37c) SHA1(cfa2eb338dc81c98c637c2f0b14d2baea8b115f5) ) /* STY spritemap */
4803
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4804
ROM_LOAD( "c78-01.33", 0x000000, 0x100000, CRC(90ff1e72) SHA1(6115e3683bc701922953b644427d1ddb471bf037) )
4805
ROM_LOAD( "c78-02.46", 0x100000, 0x080000, CRC(8882d2b7) SHA1(4d3abac1e50cd5ae79a562f430563032a11e8390) )
4807
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4808
ROM_LOAD( "c78-03.31", 0x00000, 0x80000, CRC(9b926a2f) SHA1(cc2d612441a5cc587e097bb8380b56753b9a4f7c) )
4810
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4811
ROM_LOAD( "c78-25.15", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) ) // 98% compression
4812
ROM_LOAD( "c78-15.22", 0x00000, 0x00100, CRC(fbf81f30) SHA1(c868452c334792345dcced075f6df69cff9e31ca) ) // road A/B internal priority
4813
ROM_LOAD( "c78-21.74", 0x00000, 0x00100, CRC(2926bf27) SHA1(bfbbe6c71bb29a05959f3de0d940816139f9ebfe) ) // road/sprite priority and palette select
4814
ROM_LOAD( "c84-10.16", 0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4815
ROM_LOAD( "c84-11.17", 0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4818
ROM_START( racingb )
4819
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512K for 68000 code (CPU A) */
4820
ROM_LOAD16_BYTE( "c84-110.3", 0x00000, 0x20000, CRC(119a8d3b) SHA1(bcda256730c4427c25aab17d2178814289361a78) )
4821
ROM_LOAD16_BYTE( "c84-111.5", 0x00001, 0x20000, CRC(1f095692) SHA1(6a36f3a62de9fc24724e68a23de782bc21c01734) )
4822
ROM_LOAD16_BYTE( "c84-104.2", 0x40000, 0x20000, CRC(37077fc6) SHA1(3498db29936f806e1cb624031940fda2e7e601fe) )
4823
ROM_LOAD16_BYTE( "c84-103.4", 0x40001, 0x20000, CRC(4ca1d1c2) SHA1(cd526db226362b7d4429a29392dee40bcc519556) )
4825
ROM_REGION( 0x40000, "sub", 0 ) /* 256K for 68000 code (CPU B) */
4826
ROM_LOAD16_BYTE( "c84-99.35", 0x00000, 0x20000, CRC(24778f40) SHA1(5a588be1774af4e179bdc0e16cd118e74bb9f6ff) )
4827
ROM_LOAD16_BYTE( "c84-100.36", 0x00001, 0x20000, CRC(2b99258a) SHA1(ff2da0f3a0391f55e20655554d72b82cc29fbc87) )
4829
ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */
4830
ROM_LOAD ( "c84-101.42", 0x00000, 0x04000, CRC(9322106e) SHA1(6c42ee7b9c76483fec2e397ec2737c030a082267) )
4831
ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */
4833
ROM_REGION( 0x100000, "gfx1", 0 )
4834
ROM_LOAD16_BYTE( "c84-90.12", 0x00000, 0x80000, CRC(83ee0e8d) SHA1(a3b6067913f15656e1f74b30b4c0364a50d1846a) ) /* SCR 8x8 */
4835
ROM_LOAD16_BYTE( "c84-89.11", 0x00001, 0x80000, CRC(aae43c87) SHA1(cfc05553f7a18132127ae5f1d181fcc582432b56) )
4837
ROM_REGION( 0x400000, "gfx2", 0 )
4838
ROM_LOAD32_BYTE( "c84-92.25", 0x000000, 0x100000, CRC(56e8fd55) SHA1(852446d4069a446dd9b88b29e461b83b8d626b2c) ) /* OBJ 16x8 */
4839
ROM_LOAD32_BYTE( "c84-94.33", 0x000001, 0x100000, CRC(6117c19b) SHA1(6b9587fb864a325aec17a73046ba5b7be08a8dd2) )
4840
ROM_LOAD32_BYTE( "c84-91.23", 0x000002, 0x100000, CRC(b1b0146c) SHA1(d01f08085d644b17445d904a4684c00f133f7bae) )
4841
ROM_LOAD32_BYTE( "c84-93.31", 0x000003, 0x100000, CRC(8837bb4e) SHA1(c41fff198a3c87c6e1672174ede589434374c1b3) )
4843
ROM_REGION( 0x80000, "gfx3", 0 ) /* don't dispose */
4844
ROM_LOAD( "c84-84.12", 0x000000, 0x80000, CRC(34dc486b) SHA1(2f503be67adbc5293f2d1218c838416fd931796c) ) /* ROD, road lines */
4846
ROM_REGION16_LE( 0x80000, "user1", 0 )
4847
ROM_LOAD16_WORD( "c84-88.3", 0x00000, 0x80000, CRC(edd1f49c) SHA1(f11c419dcc7da03ef1f1665c1344c27ff35fe867) ) /* STY spritemap */
4849
ROM_REGION( 0x180000, "ymsnd", 0 ) /* ADPCM samples */
4850
ROM_LOAD( "c84-86.33", 0x000000, 0x100000, CRC(98d9771e) SHA1(0cbb6b08e1fa5e632309962d7ad7dca448ef4d78) )
4851
ROM_LOAD( "c84-87.46", 0x100000, 0x080000, CRC(9c1dd80c) SHA1(e1bae4e02fd94413fac4683e39e530f9d508d658) )
4853
ROM_REGION( 0x80000, "ymsnd.deltat", 0 ) /* Delta-T samples */
4854
ROM_LOAD( "c84-85.31", 0x00000, 0x80000, CRC(24cd838d) SHA1(18139f7df191ff2d005d76b3a85a6fafb630ea42) )
4856
ROM_REGION( 0x10000, "user2", 0 ) /* unused ROMs */
4857
ROM_LOAD( "c84-19.15", 0x00000, 0x10000, CRC(7245a6f6) SHA1(5bdde4e3bcde8c59dc84478c3cc079d7ef8ee9c5) )
4858
ROM_LOAD( "c84-07.22", 0x00000, 0x00100, CRC(95a15c77) SHA1(10246020776cf23c0659f41db66ae2c86db09ed2) ) // road A/B internal priority? bad dump?
4859
ROM_LOAD( "c84-09.74", 0x00000, 0x00100, CRC(71217472) SHA1(69352cd484b4d5b41b37697aea24107dff8f1b24) ) // road/sprite priority and palette select?
4860
ROM_LOAD( "c84-10.16", 0x00000, 0x00400, CRC(643e8bfc) SHA1(a6e6086fb8fbd102e01ec72fe60a4232f5909565) )
4861
ROM_LOAD( "c84-11.17", 0x00000, 0x00400, CRC(10728853) SHA1(45d7cc8e06fbe01295cc2194bca9586f0ef8b12b) )
4865
static DRIVER_INIT( taitoz )
4867
taitoz_state *state = machine.driver_data<taitoz_state>();
4868
state->m_chasehq_lamps = 0;
4869
state->m_dblaxle_vibration = 0;
4872
static DRIVER_INIT( dblaxle )
4874
taitoz_state *state = machine.driver_data<taitoz_state>();
4875
state->m_chasehq_lamps = 0;
4876
state->m_dblaxle_vibration = 1;
4879
static DRIVER_INIT( bshark )
4881
taitoz_state *state = machine.driver_data<taitoz_state>();
4882
state->m_chasehq_lamps = 0;
4883
state->m_dblaxle_vibration = 0;
4884
state->m_eep_latch = 0;
4886
machine.save().register_postload(save_prepost_delegate(FUNC(parse_control), &machine));
4887
state->save_item(NAME(state->m_eep_latch));
4890
static DRIVER_INIT( chasehq )
4892
taitoz_state *state = machine.driver_data<taitoz_state>();
4893
state->m_chasehq_lamps = 1;
4894
state->m_dblaxle_vibration = 0;
4899
GAMEL(1987, contcirc, 0, contcirc, contcirc, taitoz, ROT0, "Taito Corporation Japan", "Continental Circus (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4900
GAMEL(1987, contcircu, contcirc, contcirc, contcrcu, taitoz, ROT0, "Taito America Corporation", "Continental Circus (US set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4901
GAMEL(1987, contcircua, contcirc, contcirc, contcrcu, taitoz, ROT0, "Taito America Corporation", "Continental Circus (US set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4902
GAMEL(1988, chasehq, 0, chasehq, chasehq, chasehq, ROT0, "Taito Corporation Japan", "Chase H.Q. (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4903
GAMEL(1988, chasehqj, chasehq, chasehq, chasehqj, chasehq, ROT0, "Taito Corporation", "Chase H.Q. (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4904
GAMEL(1988, chasehqu, chasehq, chasehq, chasehq, chasehq, ROT0, "Taito America Corporation", "Chase H.Q. (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4905
GAME( 1988, enforce, 0, enforce, enforce, taitoz, ROT0, "Taito Corporation", "Enforce (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4906
GAME( 1989, bshark, 0, bshark, bshark, bshark, ORIENTATION_FLIP_X, "Taito America Corporation", "Battle Shark (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4907
GAME( 1989, bsharkj, bshark, bshark, bsharkj, bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Battle Shark (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4908
GAMEL(1989, sci, 0, sci, sci, taitoz, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4909
GAMEL(1989, scia, sci, sci, sci, taitoz, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4910
GAMEL(1989, scij, sci, sci, scij, taitoz, ROT0, "Taito Corporation", "Special Criminal Investigation (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4911
GAMEL(1989, sciu, sci, sci, sciu, taitoz, ROT0, "Taito America Corporation", "Special Criminal Investigation (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4912
GAMEL(1991, scin, sci, sci, sci, taitoz, ROT0, "hack (Negro Torino)", "Super Special Criminal Investigation (Negro Torino hack)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
4913
GAME( 1989, nightstr, 0, nightstr, nightstr, taitoz, ROT0, "Taito Corporation Japan", "Night Striker (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4914
GAME( 1989, nightstrj, nightstr, nightstr, nghtstrj, taitoz, ROT0, "Taito Corporation", "Night Striker (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4915
GAME( 1989, nightstru, nightstr, nightstr, nghtstru, taitoz, ROT0, "Taito America Corporation", "Night Striker (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4916
GAME( 1990, aquajack, 0, aquajack, aquajack, taitoz, ROT0, "Taito Corporation Japan", "Aqua Jack (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4917
GAME( 1990, aquajackj, aquajack, aquajack, aquajckj, taitoz, ROT0, "Taito Corporation", "Aqua Jack (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4918
GAME( 1990, spacegun, 0, spacegun, spacegun, bshark, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Space Gun (World)", GAME_SUPPORTS_SAVE )
4919
GAMEL(1991, dblaxle, 0, dblaxle, dblaxle, dblaxle, ROT0, "Taito America Corporation", "Double Axle (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
4920
GAME( 1991, pwheelsj, dblaxle, dblaxle, pwheelsj, dblaxle, ROT0, "Taito Corporation", "Power Wheels (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
4921
GAME( 1991, racingb, 0, racingb, dblaxle, dblaxle, ROT0, "Taito Corporation Japan", "Racing Beat (World)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )