1 /***************************************************************************
2
3 Various Video System Co. games using the C7-01 GGA, VS8803, VS8904, VS8905
4 video chips.
5 C7-01 GGA is used in a lot of games, some of them without sprites. So it
6 either controls tilemaps, or the video signal, or both.
7 I think 8904/8905 handle sprites, don't know about 8803.
8 tail2nos doesn't have the 8904/8905, and indeed it has a different sprite
9 system.
10
11 Driver by Nicola Salmoria
12
13
14 Notes:
15 - Sprite zoom is probably not 100% accurate.
16 In pspikes, the zooming text during attract mode is horrible.
17
18 pspikes/turbofrc/aerofgtb write to two addresses which look like control
19 registers for a video generator. Maybe they control the display size/position.
20 aerofgt is different, it writes to consecutive memory addresses and the values
21 it writes don't seem to be related to these ones.
22
23 00 01 02 03 04 05 08 09 0a 0b 0c 0d
24 ------------------------------------
25 pspikes 352x240? 57 63 69 71 1f 00 77 79 7b 7f 1f 00
26 karatblz 352x240 57 63 69 71 1f 00 77 79 7b 7f 1f 00
27 turbofrc 352x240 57 63 69 71 1f 00 77 79 7b 7f 1f 00
28 spinlbrk 352x240 57 68 6f 75 ff 01 77 78 7b 7f ff 00
29 aerofgtb 320x224 4f 5d 63 71 1f 00 6f 70 72 7c 1f 02
30 tail2nos 320x240 4f 5e 64 71 1f 09 7a 7c 7e 7f 1f 02
31 f1gp 320x240 4f 5e 64 71 1f 09 7a 7c 7e 7f 1f 02
32 welltris 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00
33
34 games with 8x4 tiles:
35
36 pipedrm 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00 * register 0b also briefly toggled to ff
37 hatris 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00 * register 0b also briefly toggled to ff
38 idolmj 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00
39 mjnatsu 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00 * register 0b also briefly toggled to ff
40 mfunclub 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00 * register 0b also briefly toggled to ff
41 daiyogen 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00 * register 0b also briefly toggled to ff
42 nmsengen 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00 * register 0b also briefly toggled to ff
43 fromance 352x240 57 63 69 71 1f 00 7a 7b 7e 7f 1f 00 * register 0b also briefly toggled to ff
44
45 register 00 could be screen width / 4 (hblank start?)
46 register 08 could be screen height / 2 (vblank start?)
47
48 ***************************************************************************/
49
50 #include "driver.h"
51 #include "vidhrdw/generic.h"
52 #include "cpu/z80/z80.h"
53
54
55 extern data16_t *aerofgt_rasterram;
56 extern data16_t *aerofgt_bg1videoram,*aerofgt_bg2videoram;
57 extern data16_t *aerofgt_spriteram1,*aerofgt_spriteram2,*aerofgt_spriteram3;
58 extern size_t aerofgt_spriteram1_size,aerofgt_spriteram2_size,aerofgt_spriteram3_size;
59
60 WRITE16_HANDLER( aerofgt_bg1videoram_w );
61 WRITE16_HANDLER( aerofgt_bg2videoram_w );
62 WRITE16_HANDLER( pspikes_gfxbank_w );
63 WRITE16_HANDLER( karatblz_gfxbank_w );
64 WRITE16_HANDLER( spinlbrk_gfxbank_w );
65 WRITE16_HANDLER( turbofrc_gfxbank_w );
66 WRITE16_HANDLER( aerofgt_gfxbank_w );
67 WRITE16_HANDLER( aerofgt_bg1scrollx_w );
68 WRITE16_HANDLER( aerofgt_bg1scrolly_w );
69 WRITE16_HANDLER( aerofgt_bg2scrollx_w );
70 WRITE16_HANDLER( aerofgt_bg2scrolly_w );
71 WRITE16_HANDLER( pspikes_palette_bank_w );
72 VIDEO_START( pspikes );
73 VIDEO_START( karatblz );
74 VIDEO_START( spinlbrk );
75 VIDEO_START( turbofrc );
76 VIDEO_UPDATE( pspikes );
77 VIDEO_UPDATE( karatblz );
78 VIDEO_UPDATE( spinlbrk );
79 VIDEO_UPDATE( turbofrc );
80 VIDEO_UPDATE( aerofgt );
81
82
83
84
85 static int pending_command;
86
WRITE16_HANDLER(sound_command_w)87 static WRITE16_HANDLER( sound_command_w )
88 {
89 if (ACCESSING_LSB)
90 {
91 pending_command = 1;
92 soundlatch_w(offset,data & 0xff);
93 cpu_set_irq_line(1, IRQ_LINE_NMI, PULSE_LINE);
94 }
95 }
96
WRITE16_HANDLER(turbofrc_sound_command_w)97 static WRITE16_HANDLER( turbofrc_sound_command_w )
98 {
99 if (ACCESSING_MSB)
100 {
101 pending_command = 1;
102 soundlatch_w(offset,(data >> 8) & 0xff);
103 cpu_set_irq_line(1, IRQ_LINE_NMI, PULSE_LINE);
104 }
105 }
106
READ16_HANDLER(pending_command_r)107 static READ16_HANDLER( pending_command_r )
108 {
109 return pending_command;
110 }
111
WRITE_HANDLER(pending_command_clear_w)112 static WRITE_HANDLER( pending_command_clear_w )
113 {
114 pending_command = 0;
115 }
116
WRITE_HANDLER(aerofgt_sh_bankswitch_w)117 static WRITE_HANDLER( aerofgt_sh_bankswitch_w )
118 {
119 data8_t *rom = memory_region(REGION_CPU2) + 0x10000;
120
121 cpu_setbank(1,rom + (data & 0x03) * 0x8000);
122 }
123
MACHINE_INIT(aerofgt)124 static MACHINE_INIT( aerofgt )
125 {
126 aerofgt_sh_bankswitch_w(0,0); /* needed by spinlbrk */
127 }
128
129
130
MEMORY_READ16_START(pspikes_readmem)131 static MEMORY_READ16_START( pspikes_readmem )
132 { 0x000000, 0x03ffff, MRA16_ROM },
133 { 0x100000, 0x10ffff, MRA16_RAM },
134 { 0x200000, 0x203fff, MRA16_RAM },
135 { 0xff8000, 0xff8fff, MRA16_RAM },
136 { 0xffd000, 0xffdfff, MRA16_RAM },
137 { 0xffe000, 0xffefff, MRA16_RAM },
138 { 0xfff000, 0xfff001, input_port_0_word_r },
139 { 0xfff002, 0xfff003, input_port_1_word_r },
140 { 0xfff004, 0xfff005, input_port_2_word_r },
141 { 0xfff006, 0xfff007, pending_command_r },
142 MEMORY_END
143
144 static MEMORY_WRITE16_START( pspikes_writemem )
145 { 0x000000, 0x03ffff, MWA16_ROM },
146 { 0x100000, 0x10ffff, MWA16_RAM }, /* work RAM */
147 { 0x200000, 0x203fff, MWA16_RAM, &aerofgt_spriteram1, &aerofgt_spriteram1_size },
148 { 0xff8000, 0xff8fff, aerofgt_bg1videoram_w, &aerofgt_bg1videoram },
149 { 0xffc000, 0xffc3ff, MWA16_RAM, &aerofgt_spriteram3, &aerofgt_spriteram3_size },
150 { 0xffd000, 0xffdfff, MWA16_RAM, &aerofgt_rasterram }, /* bg1 scroll registers */
151 { 0xffe000, 0xffefff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
152 { 0xfff000, 0xfff001, pspikes_palette_bank_w },
153 { 0xfff002, 0xfff003, pspikes_gfxbank_w },
154 { 0xfff004, 0xfff005, aerofgt_bg1scrolly_w },
155 { 0xfff006, 0xfff007, sound_command_w },
156 MEMORY_END
157
158 static MEMORY_READ16_START( karatblz_readmem )
159 MEMORY_ADDRESS_BITS(20)
160 { 0x000000, 0x07ffff, MRA16_ROM },
161 { 0x080000, 0x081fff, MRA16_RAM },
162 { 0x082000, 0x083fff, MRA16_RAM },
163 { 0x0a0000, 0x0affff, MRA16_RAM },
164 { 0x0b0000, 0x0bffff, MRA16_RAM },
165 { 0x0c0000, 0x0cffff, MRA16_RAM }, /* work RAM */
166 { 0x0f8000, 0x0fbfff, MRA16_RAM }, /* work RAM */
167 { 0x0fc000, 0x0fc7ff, MRA16_RAM },
168 { 0x0fe000, 0x0fe7ff, MRA16_RAM },
169 { 0x0ff000, 0x0ff001, input_port_0_word_r },
170 { 0x0ff002, 0x0ff003, input_port_1_word_r },
171 { 0x0ff004, 0x0ff005, input_port_2_word_r },
172 { 0x0ff006, 0x0ff007, input_port_3_word_r },
173 { 0x0ff008, 0x0ff009, input_port_4_word_r },
174 { 0x0ff00a, 0x0ff00b, pending_command_r },
175 MEMORY_END
176
177 static MEMORY_WRITE16_START( karatblz_writemem )
178 MEMORY_ADDRESS_BITS(20)
179 { 0x000000, 0x07ffff, MWA16_ROM },
180 { 0x080000, 0x081fff, aerofgt_bg1videoram_w, &aerofgt_bg1videoram },
181 { 0x082000, 0x083fff, aerofgt_bg2videoram_w, &aerofgt_bg2videoram },
182 { 0x0a0000, 0x0affff, MWA16_RAM, &aerofgt_spriteram1, &aerofgt_spriteram1_size },
183 { 0x0b0000, 0x0bffff, MWA16_RAM, &aerofgt_spriteram2, &aerofgt_spriteram2_size },
184 { 0x0c0000, 0x0cffff, MWA16_RAM }, /* work RAM */
185 { 0x0f8000, 0x0fbfff, MWA16_RAM }, /* work RAM */
186 { 0x0fc000, 0x0fc7ff, MWA16_RAM, &aerofgt_spriteram3, &aerofgt_spriteram3_size },
187 { 0x0fe000, 0x0fe7ff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
188 { 0x0ff002, 0x0ff003, karatblz_gfxbank_w },
189 { 0x0ff006, 0x0ff007, sound_command_w },
190 { 0x0ff008, 0x0ff009, aerofgt_bg1scrollx_w },
191 { 0x0ff00a, 0x0ff00b, aerofgt_bg1scrolly_w },
192 { 0x0ff00c, 0x0ff00d, aerofgt_bg2scrollx_w },
193 { 0x0ff00e, 0x0ff00f, aerofgt_bg2scrolly_w },
194 MEMORY_END
195
196 static MEMORY_READ16_START( spinlbrk_readmem )
197 { 0x000000, 0x03ffff, MRA16_ROM },
198 { 0x080000, 0x080fff, MRA16_RAM },
199 { 0x082000, 0x082fff, MRA16_RAM },
200 { 0xff8000, 0xffbfff, MRA16_RAM },
201 { 0xffc000, 0xffc7ff, MRA16_RAM },
202 { 0xffd000, 0xffd1ff, MRA16_RAM },
203 { 0xffe000, 0xffe7ff, MRA16_RAM },
204 { 0xfff000, 0xfff001, input_port_0_word_r },
205 { 0xfff002, 0xfff003, input_port_1_word_r },
206 { 0xfff004, 0xfff005, input_port_2_word_r },
207 MEMORY_END
208
209 static MEMORY_WRITE16_START( spinlbrk_writemem )
210 { 0x000000, 0x03ffff, MWA16_ROM },
211 { 0x080000, 0x080fff, aerofgt_bg1videoram_w, &aerofgt_bg1videoram },
212 { 0x082000, 0x082fff, aerofgt_bg2videoram_w, &aerofgt_bg2videoram },
213 { 0xff8000, 0xffbfff, MWA16_RAM }, /* work RAM */
214 { 0xffc000, 0xffc7ff, MWA16_RAM, &aerofgt_spriteram3, &aerofgt_spriteram3_size },
215 { 0xffd000, 0xffd1ff, MWA16_RAM, &aerofgt_rasterram }, /* bg1 scroll registers */
216 { 0xffe000, 0xffe7ff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
217 { 0xfff000, 0xfff001, spinlbrk_gfxbank_w },
218 { 0xfff002, 0xfff003, aerofgt_bg2scrollx_w },
219 { 0xfff006, 0xfff007, sound_command_w },
220 MEMORY_END
221
222 static MEMORY_READ16_START( turbofrc_readmem )
223 MEMORY_ADDRESS_BITS(20)
224 { 0x000000, 0x0bffff, MRA16_ROM },
225 { 0x0c0000, 0x0cffff, MRA16_RAM }, /* work RAM */
226 { 0x0d0000, 0x0d1fff, MRA16_RAM },
227 { 0x0d2000, 0x0d3fff, MRA16_RAM },
228 { 0x0e0000, 0x0e3fff, MRA16_RAM },
229 { 0x0e4000, 0x0e7fff, MRA16_RAM },
230 { 0x0f8000, 0x0fbfff, MRA16_RAM }, /* work RAM */
231 { 0x0fc000, 0x0fc7ff, MRA16_RAM },
232 { 0x0fd000, 0x0fdfff, MRA16_RAM },
233 { 0x0fe000, 0x0fe7ff, MRA16_RAM },
234 { 0x0ff000, 0x0ff001, input_port_0_word_r },
235 { 0x0ff002, 0x0ff003, input_port_1_word_r },
236 { 0x0ff004, 0x0ff005, input_port_2_word_r },
237 { 0x0ff006, 0x0ff007, pending_command_r },
238 { 0x0ff008, 0x0ff009, input_port_3_word_r },
239 MEMORY_END
240
241 static MEMORY_WRITE16_START( turbofrc_writemem )
242 MEMORY_ADDRESS_BITS(20)
243 { 0x000000, 0x0bffff, MWA16_ROM },
244 { 0x0c0000, 0x0cffff, MWA16_RAM }, /* work RAM */
245 { 0x0d0000, 0x0d1fff, aerofgt_bg1videoram_w, &aerofgt_bg1videoram },
246 { 0x0d2000, 0x0d3fff, aerofgt_bg2videoram_w, &aerofgt_bg2videoram },
247 { 0x0e0000, 0x0e3fff, MWA16_RAM, &aerofgt_spriteram1, &aerofgt_spriteram1_size },
248 { 0x0e4000, 0x0e7fff, MWA16_RAM, &aerofgt_spriteram2, &aerofgt_spriteram2_size },
249 { 0x0f8000, 0x0fbfff, MWA16_RAM }, /* work RAM */
250 { 0x0fc000, 0x0fc7ff, MWA16_RAM, &aerofgt_spriteram3, &aerofgt_spriteram3_size },
251 { 0x0fd000, 0x0fdfff, MWA16_RAM, &aerofgt_rasterram }, /* bg1 scroll registers */
252 { 0x0fe000, 0x0fe7ff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
253 { 0x0ff002, 0x0ff003, aerofgt_bg1scrolly_w },
254 { 0x0ff004, 0x0ff005, aerofgt_bg2scrollx_w },
255 { 0x0ff006, 0x0ff007, aerofgt_bg2scrolly_w },
256 { 0x0ff008, 0x0ff00b, turbofrc_gfxbank_w },
257 { 0x0ff00c, 0x0ff00d, MWA16_NOP }, /* related to bg2 (written together with the scroll registers) */
258 { 0x0ff00e, 0x0ff00f, turbofrc_sound_command_w },
259 MEMORY_END
260
261 static MEMORY_READ16_START( aerofgtb_readmem )
262 { 0x000000, 0x07ffff, MRA16_ROM },
263 { 0x0c0000, 0x0cffff, MRA16_RAM }, /* work RAM */
264 { 0x0d0000, 0x0d1fff, MRA16_RAM },
265 { 0x0d2000, 0x0d3fff, MRA16_RAM },
266 { 0x0e0000, 0x0e3fff, MRA16_RAM },
267 { 0x0e4000, 0x0e7fff, MRA16_RAM },
268 { 0x0f8000, 0x0fbfff, MRA16_RAM }, /* work RAM */
269 { 0x0fc000, 0x0fc7ff, MRA16_RAM },
270 { 0x0fd000, 0x0fd7ff, MRA16_RAM },
271 { 0x0fe000, 0x0fe001, input_port_0_word_r },
272 { 0x0fe002, 0x0fe003, input_port_1_word_r },
273 { 0x0fe004, 0x0fe005, input_port_2_word_r },
274 { 0x0fe006, 0x0fe007, pending_command_r },
275 { 0x0fe008, 0x0fe009, input_port_3_word_r },
276 { 0x0ff000, 0x0fffff, MRA16_RAM },
277 MEMORY_END
278
279 static MEMORY_WRITE16_START( aerofgtb_writemem )
280 { 0x000000, 0x07ffff, MWA16_ROM },
281 { 0x0c0000, 0x0cffff, MWA16_RAM }, /* work RAM */
282 { 0x0d0000, 0x0d1fff, aerofgt_bg1videoram_w, &aerofgt_bg1videoram },
283 { 0x0d2000, 0x0d3fff, aerofgt_bg2videoram_w, &aerofgt_bg2videoram },
284 { 0x0e0000, 0x0e3fff, MWA16_RAM, &aerofgt_spriteram1, &aerofgt_spriteram1_size },
285 { 0x0e4000, 0x0e7fff, MWA16_RAM, &aerofgt_spriteram2, &aerofgt_spriteram2_size },
286 { 0x0f8000, 0x0fbfff, MWA16_RAM }, /* work RAM */
287 { 0x0fc000, 0x0fc7ff, MWA16_RAM, &aerofgt_spriteram3, &aerofgt_spriteram3_size },
288 { 0x0fd000, 0x0fd7ff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
289 { 0x0fe002, 0x0fe003, aerofgt_bg1scrolly_w },
290 { 0x0fe004, 0x0fe005, aerofgt_bg2scrollx_w },
291 { 0x0fe006, 0x0fe007, aerofgt_bg2scrolly_w },
292 { 0x0fe008, 0x0fe00b, turbofrc_gfxbank_w },
293 { 0x0fe00e, 0x0fe00f, turbofrc_sound_command_w },
294 { 0x0ff000, 0x0fffff, MWA16_RAM, &aerofgt_rasterram }, /* used only for the scroll registers */
295 MEMORY_END
296
297 static MEMORY_READ16_START( aerofgt_readmem )
298 { 0x000000, 0x07ffff, MRA16_ROM },
299 { 0x1a0000, 0x1a07ff, MRA16_RAM },
300 { 0x1b0000, 0x1b07ff, MRA16_RAM },
301 { 0x1b0800, 0x1b0801, MRA16_NOP }, /* ??? */
302 { 0x1b0ff0, 0x1b0fff, MRA16_RAM }, /* stack area during boot */
303 { 0x1b2000, 0x1b3fff, MRA16_RAM },
304 { 0x1b4000, 0x1b5fff, MRA16_RAM },
305 { 0x1c0000, 0x1c3fff, MRA16_RAM },
306 { 0x1c4000, 0x1c7fff, MRA16_RAM },
307 { 0x1d0000, 0x1d1fff, MRA16_RAM },
308 { 0xfef000, 0xffefff, MRA16_RAM }, /* work RAM */
309 { 0xffffa0, 0xffffa1, input_port_0_word_r },
310 { 0xffffa2, 0xffffa3, input_port_1_word_r },
311 { 0xffffa4, 0xffffa5, input_port_2_word_r },
312 { 0xffffa6, 0xffffa7, input_port_3_word_r },
313 { 0xffffa8, 0xffffa9, input_port_4_word_r },
314 { 0xffffac, 0xffffad, pending_command_r },
315 { 0xffffae, 0xffffaf, input_port_5_word_r },
316 MEMORY_END
317
318 static MEMORY_WRITE16_START( aerofgt_writemem )
319 { 0x000000, 0x07ffff, MWA16_ROM },
320 { 0x1a0000, 0x1a07ff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
321 { 0x1b0000, 0x1b07ff, MWA16_RAM, &aerofgt_rasterram }, /* used only for the scroll registers */
322 { 0x1b0800, 0x1b0801, MWA16_NOP }, /* ??? */
323 { 0x1b0ff0, 0x1b0fff, MWA16_RAM }, /* stack area during boot */
324 { 0x1b2000, 0x1b3fff, aerofgt_bg1videoram_w, &aerofgt_bg1videoram },
325 { 0x1b4000, 0x1b5fff, aerofgt_bg2videoram_w, &aerofgt_bg2videoram },
326 { 0x1c0000, 0x1c3fff, MWA16_RAM, &aerofgt_spriteram1, &aerofgt_spriteram1_size },
327 { 0x1c4000, 0x1c7fff, MWA16_RAM, &aerofgt_spriteram2, &aerofgt_spriteram2_size },
328 { 0x1d0000, 0x1d1fff, MWA16_RAM, &aerofgt_spriteram3, &aerofgt_spriteram3_size },
329 { 0xfef000, 0xffefff, MWA16_RAM }, /* work RAM */
330 { 0xffff80, 0xffff87, aerofgt_gfxbank_w },
331 { 0xffff88, 0xffff89, aerofgt_bg1scrolly_w }, /* + something else in the top byte */
332 { 0xffff90, 0xffff91, aerofgt_bg2scrolly_w }, /* + something else in the top byte */
333 { 0xffffac, 0xffffad, MWA16_NOP }, /* ??? */
334 { 0xffffc0, 0xffffc1, sound_command_w },
335 MEMORY_END
336
337
338
339 static MEMORY_READ_START( sound_readmem )
340 { 0x0000, 0x77ff, MRA_ROM },
341 { 0x7800, 0x7fff, MRA_RAM },
342 { 0x8000, 0xffff, MRA_BANK1 },
343 MEMORY_END
344
345 static MEMORY_WRITE_START( sound_writemem )
346 { 0x0000, 0x77ff, MWA_ROM },
347 { 0x7800, 0x7fff, MWA_RAM },
348 { 0x8000, 0xffff, MWA_ROM },
349 MEMORY_END
350
351 static PORT_READ_START( turbofrc_sound_readport )
352 { 0x14, 0x14, soundlatch_r },
353 { 0x18, 0x18, YM2610_status_port_0_A_r },
354 { 0x1a, 0x1a, YM2610_status_port_0_B_r },
355 PORT_END
356
357 static PORT_WRITE_START( turbofrc_sound_writeport )
358 { 0x00, 0x00, aerofgt_sh_bankswitch_w },
359 { 0x14, 0x14, pending_command_clear_w },
360 { 0x18, 0x18, YM2610_control_port_0_A_w },
361 { 0x19, 0x19, YM2610_data_port_0_A_w },
362 { 0x1a, 0x1a, YM2610_control_port_0_B_w },
363 { 0x1b, 0x1b, YM2610_data_port_0_B_w },
364 PORT_END
365
366 static PORT_READ_START( aerofgt_sound_readport )
367 { 0x00, 0x00, YM2610_status_port_0_A_r },
368 { 0x02, 0x02, YM2610_status_port_0_B_r },
369 { 0x0c, 0x0c, soundlatch_r },
370 PORT_END
371
372 static PORT_WRITE_START( aerofgt_sound_writeport )
373 { 0x00, 0x00, YM2610_control_port_0_A_w },
374 { 0x01, 0x01, YM2610_data_port_0_A_w },
375 { 0x02, 0x02, YM2610_control_port_0_B_w },
376 { 0x03, 0x03, YM2610_data_port_0_B_w },
377 { 0x04, 0x04, aerofgt_sh_bankswitch_w },
378 { 0x08, 0x08, pending_command_clear_w },
379 PORT_END
380
381
382
383 INPUT_PORTS_START( pspikes )
384 PORT_START
385 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
386 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
387 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
388 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
389 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
390 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
391 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
392 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
393 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
394 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
395 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1 )
396 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
397 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
398 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
399 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
400 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
401
402 PORT_START
403 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
404 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
405 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
406 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
407 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
408 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
409 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 )
410 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
411
412 PORT_START
413 PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) )
414 PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) )
415 PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) )
416 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_1C ) )
417 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_2C ) )
418 PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coin_B ) )
419 PORT_DIPSETTING( 0x0004, DEF_STR( 3C_1C ) )
420 PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
421 PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) )
422 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_2C ) )
423 /* the following two select country in the Chinese version (ROMs not available) */
424 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
425 PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
426 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
427 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
428 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
429 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
430 PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) )
431 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
432 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
433 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) )
434 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
435 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
436 PORT_SERVICE( 0x0100, IP_ACTIVE_LOW )
437 PORT_DIPNAME( 0x0600, 0x0600, "1 Player Starting Score" )
438 PORT_DIPSETTING( 0x0600, "12-12" )
439 PORT_DIPSETTING( 0x0400, "11-11" )
440 PORT_DIPSETTING( 0x0200, "11-12" )
441 PORT_DIPSETTING( 0x0000, "10-12" )
442 PORT_DIPNAME( 0x1800, 0x1800, "2 Players Starting Score" )
443 PORT_DIPSETTING( 0x1800, "9-9" )
444 PORT_DIPSETTING( 0x1000, "7-7" )
445 PORT_DIPSETTING( 0x0800, "5-5" )
446 PORT_DIPSETTING( 0x0000, "0-0" )
447 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Difficulty ) )
448 PORT_DIPSETTING( 0x2000, "Normal" )
449 PORT_DIPSETTING( 0x0000, "Hard" )
450 PORT_DIPNAME( 0x4000, 0x4000, "2 Players Time per Credit" )
451 PORT_DIPSETTING( 0x4000, "3 min" )
452 PORT_DIPSETTING( 0x0000, "2 min" )
453 PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
454 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
455 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
456 INPUT_PORTS_END
457
458 INPUT_PORTS_START( karatblz )
459 PORT_START
460 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
461 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
462 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
463 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
464 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
465 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
466 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 )
467 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 )
468 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
469 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
470 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1 )
471 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
472 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
473 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
474 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
475 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
476
477 PORT_START
478 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
479 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
480 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
481 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
482 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
483 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
484 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
485 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
486
487 PORT_START
488 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
489 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
490 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
491 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
492 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
493 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
494 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER3 )
495 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER3 )
496 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN3 )
497 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN4 )
498 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START3 )
499 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START4 )
500 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
501 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
502 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE2 )
503 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
504
505 PORT_START
506 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER4 )
507 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER4 )
508 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER4 )
509 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER4 )
510 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
511 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
512 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER4 )
513 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER4 )
514
515 PORT_START
516 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
517 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) )
518 PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
519 PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
520 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
521 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_2C ) )
522 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
523 PORT_DIPSETTING( 0x0001, DEF_STR( 1C_5C ) )
524 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
525 PORT_DIPNAME( 0x0008, 0x0008, "2 Coins to Start, 1 to Continue" )
526 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
527 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
528 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Lives ) )
529 PORT_DIPSETTING( 0x0000, "1" )
530 PORT_DIPSETTING( 0x0010, "2" )
531 PORT_DIPNAME( 0x0060, 0x0020, DEF_STR( Cabinet ) )
532 PORT_DIPSETTING( 0x0060, "2 Players" )
533 PORT_DIPSETTING( 0x0040, "3 Players" )
534 PORT_DIPSETTING( 0x0020, "4 Players" )
535 PORT_DIPSETTING( 0x0000, "4 Players (Team)" )
536 /* With 4 player (Team) selected and Same Coin Slot:
537 Coin A & B credit together for use by _only_ player 1 or player 2
538 Coin C & D credit together for use by _only_ player 3 or player 4
539 Otherwise with Individual selected, everyone is seperate */
540 PORT_DIPNAME( 0x0080, 0x0080, "Coin Slot" )
541 PORT_DIPSETTING( 0x0080, "Same" )
542 PORT_DIPSETTING( 0x0000, "Individual" )
543 PORT_SERVICE( 0x0100, IP_ACTIVE_LOW )
544 PORT_DIPNAME( 0x0600, 0x0600, DEF_STR( Difficulty ) )
545 PORT_DIPSETTING( 0x0400, "Easy" )
546 PORT_DIPSETTING( 0x0600, "Normal" )
547 PORT_DIPSETTING( 0x0200, "Hard" )
548 PORT_DIPSETTING( 0x0000, "Hardest" )
549 PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
550 PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
551 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
552 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
553 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
554 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
555 PORT_DIPNAME( 0x2000, 0x2000, "Freeze" )
556 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
557 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
558 PORT_DIPNAME( 0x4000, 0x0000, DEF_STR( Demo_Sounds ) )
559 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
560 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
561 PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Flip_Screen ) )
562 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
563 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
564 INPUT_PORTS_END
565
566 INPUT_PORTS_START( spinlbrk )
567 PORT_START
568 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
569 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
570 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
571 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
572 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
573 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
574 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
575 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
576 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
577 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
578 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1 )
579 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
580 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
581 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
582 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
583 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
584
585 PORT_START
586 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
587 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
588 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
589 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
590 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
591 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
592 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
593 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
594
595 PORT_START
596 PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
597 PORT_DIPSETTING( 0x000f, "1 Credit 1 Health Pack" ) /* I chose "Health Packs" as the actual value can change */
598 PORT_DIPSETTING( 0x000e, "1 Credit 2 Health Packs" ) /* via dipswitch 2-7 (0x4000) see below */
599 PORT_DIPSETTING( 0x000d, "1 Credit 3 Health Packs" )
600 PORT_DIPSETTING( 0x000c, "1 Credit 4 Health Packs" )
601 PORT_DIPSETTING( 0x000b, "1 Credit 5 Health Packs" )
602 PORT_DIPSETTING( 0x000a, "1 Credit 6 Health Packs" )
603 PORT_DIPSETTING( 0x0009, "2 Credits 1 Health Pack" )
604 PORT_DIPSETTING( 0x0008, "3 Credits 1 Health Pack" )
605 PORT_DIPSETTING( 0x0007, "4 Credits 1 Health Pack" )
606 PORT_DIPSETTING( 0x0006, "5 Credits 1 Health Pack" )
607 PORT_DIPSETTING( 0x0005, "2 Credits 2 Health Packs" )
608 PORT_DIPSETTING( 0x0004, "2-1-1C 1-1-1 HPs" )
609 PORT_DIPSETTING( 0x0003, "2-2C 1-2 HPs" )
610 PORT_DIPSETTING( 0x0002, "1-1-1-1-1C 1-1-1-1-2 HPs" )
611 PORT_DIPSETTING( 0x0001, "1-1-1-1C 1-1-1-2 HPs" )
612 PORT_DIPSETTING( 0x0000, "1-1C 1-2 HPs" )
613 /* The last 5 Coin/Credit selections are cycles:
614 Example: 0x0004 = 2-1-1C 1-1-1 HPs:
615 2 Credits for the 1st Health Pack, 1 Credit for the 2nd Health Pack, 1 Credit
616 for the 3rd Health Pack... Then back to 2 Credits agian for 1 HP, then 1 credit
617 and 1 credit.... on and on. With all Coin/Credit dips set to on, it's 1 Health
618 Pack for odd credits, 2 Health Packs for even credits :p
619 */
620 PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) )
621 PORT_DIPSETTING( 0x00f0, "1 Credit 1 Health Pack" )
622 PORT_DIPSETTING( 0x00e0, "1 Credit 2 Health Packs" )
623 PORT_DIPSETTING( 0x00d0, "1 Credit 3 Health Packs" )
624 PORT_DIPSETTING( 0x00c0, "1 Credit 4 Health Packs" )
625 PORT_DIPSETTING( 0x00b0, "1 Credit 5 Health Packs" )
626 PORT_DIPSETTING( 0x00a0, "1 Credit 6 Health Packs" )
627 PORT_DIPSETTING( 0x0090, "2 Credits 1 Health Pack" )
628 PORT_DIPSETTING( 0x0080, "3 Credits 1 Health Pack" )
629 PORT_DIPSETTING( 0x0070, "4 Credits 1 Health Pack" )
630 PORT_DIPSETTING( 0x0060, "5 Credits 1 Health Pack" )
631 PORT_DIPSETTING( 0x0050, "2 Credits 2 Health Packs" )
632 PORT_DIPSETTING( 0x0040, "2-1-1C 1-1-1 HPs" )
633 PORT_DIPSETTING( 0x0030, "2-2C 1-2 HPs" )
634 PORT_DIPSETTING( 0x0020, "1-1-1-1-1C 1-1-1-1-2 HPs" )
635 PORT_DIPSETTING( 0x0010, "1-1-1-1C 1-1-1-2 HPs" )
636 PORT_DIPSETTING( 0x0000, "1-1C 1-2 HPs" )
637 PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Difficulty ) )
638 PORT_DIPSETTING( 0x0300, "Normal" )
639 PORT_DIPSETTING( 0x0200, "Easy" )
640 PORT_DIPSETTING( 0x0100, "Hard" )
641 PORT_DIPSETTING( 0x0000, "Hardest" )
642 PORT_DIPNAME( 0x0400, 0x0400, "Coin Slot" ) /* Japan ver acts like "Same" is always selected */
643 PORT_DIPSETTING( 0x0000, "Same" )
644 PORT_DIPSETTING( 0x0400, "Individual" )
645 PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Flip_Screen ) )
646 PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
647 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
648 PORT_DIPNAME( 0x1000, 0x1000, "Player Lever Check?" ) /* Possibly Demo Sound??? but causes lever error??? */
649 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
650 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
651 PORT_SERVICE( 0x2000, IP_ACTIVE_LOW )
652 PORT_DIPNAME( 0x4000, 0x4000, "Health Pack" )
653 PORT_DIPSETTING( 0x4000, "20 Hitpoints" ) /* World and Japan ver this value is 32 */
654 PORT_DIPSETTING( 0x0000, "32 Hitpoints" ) /* World and Japan ver this value is 40 */
655 PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
656 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) /* This DIP has no effect that I can see */
657 PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) /* most likely "Bonus Life" */
658 INPUT_PORTS_END
659
660 INPUT_PORTS_START( turbofrc )
661 PORT_START
662 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
663 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
664 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
665 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
666 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
667 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
668 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
669 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
670 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
671 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
672 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1 )
673 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
674 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE ) /* "TEST" */
675 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
676 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN4 )
677 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN3 )
678
679 PORT_START
680 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
681 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
682 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
683 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
684 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
685 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
686 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
687 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )//START1 )
688
689 PORT_START
690 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) /* Coins 1, 2 & 3 */
691 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) )
692 PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
693 PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
694 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
695 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_2C ) )
696 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
697 PORT_DIPSETTING( 0x0001, DEF_STR( 1C_5C ) )
698 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
699 PORT_DIPNAME( 0x0008, 0x0008, "2 Coins to Start, 1 to Continue" )
700 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
701 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
702 PORT_DIPNAME( 0x0010, 0x0000, "Coin Slot" )
703 PORT_DIPSETTING( 0x0010, "Same" )
704 PORT_DIPSETTING( 0x0000, "Individual" )
705 PORT_DIPNAME( 0x0020, 0x0000, "Max Players" )
706 PORT_DIPSETTING( 0x0020, "2" )
707 PORT_DIPSETTING( 0x0000, "3" )
708 PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) )
709 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
710 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
711 PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
712 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) )
713 PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
714 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
715 PORT_DIPNAME( 0x0e00, 0x0800, DEF_STR( Difficulty ) )
716 PORT_DIPSETTING( 0x0e00, "1 (Easiest)")
717 PORT_DIPSETTING( 0x0c00, "2" )
718 PORT_DIPSETTING( 0x0a00, "3" )
719 PORT_DIPSETTING( 0x0800, "4 (Normal)" )
720 PORT_DIPSETTING( 0x0600, "5" )
721 PORT_DIPSETTING( 0x0400, "6" )
722 PORT_DIPSETTING( 0x0200, "7" )
723 PORT_DIPSETTING( 0x0000, "8 (Hardest)" )
724 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Lives ) )
725 PORT_DIPSETTING( 0x0000, "2" )
726 PORT_DIPSETTING( 0x1000, "3" )
727 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Bonus_Life ) )
728 PORT_DIPSETTING( 0x2000, "200000" )
729 PORT_DIPSETTING( 0x0000, "300000" )
730
731 PORT_START
732 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER3 )
733 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER3 )
734 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER3 )
735 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER3 )
736 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
737 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
738 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
739 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START3 )
740 INPUT_PORTS_END
741
742 INPUT_PORTS_START( aerofgtb )
743 PORT_START
744 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
745 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
746 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
747 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
748 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
749 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
750 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
751 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
752 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
753 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
754 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1 )
755 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
756 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
757 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
758 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_COIN3 )
759 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
760
761 PORT_START
762 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
763 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
764 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
765 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
766 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
767 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
768 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
769 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
770
771 PORT_START
772 PORT_DIPNAME( 0x0001, 0x0001, "Coin Slot" )
773 PORT_DIPSETTING( 0x0001, "Same" )
774 PORT_DIPSETTING( 0x0000, "Individual" )
775 PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coin_A ) )
776 PORT_DIPSETTING( 0x000a, DEF_STR( 3C_1C ) )
777 PORT_DIPSETTING( 0x000c, DEF_STR( 2C_1C ) )
778 PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) )
779 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_2C ) )
780 PORT_DIPSETTING( 0x0006, DEF_STR( 1C_3C ) )
781 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
782 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_5C ) )
783 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
784 PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coin_B ) )
785 PORT_DIPSETTING( 0x0050, DEF_STR( 3C_1C ) )
786 PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
787 PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
788 PORT_DIPSETTING( 0x0040, DEF_STR( 1C_2C ) )
789 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_3C ) )
790 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
791 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_5C ) )
792 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
793 PORT_DIPNAME( 0x0080, 0x0080, "2 Coins to Start, 1 to Continue" )
794 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
795 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
796 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) )
797 PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
798 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
799 PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) )
800 PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
801 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
802 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
803 PORT_DIPSETTING( 0x0800, "Easy" )
804 PORT_DIPSETTING( 0x0c00, "Normal" )
805 PORT_DIPSETTING( 0x0400, "Hard" )
806 PORT_DIPSETTING( 0x0000, "Hardest" )
807 PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Lives ) )
808 PORT_DIPSETTING( 0x2000, "1" )
809 PORT_DIPSETTING( 0x1000, "2" )
810 PORT_DIPSETTING( 0x3000, "3" )
811 PORT_DIPSETTING( 0x0000, "4" )
812 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Bonus_Life ) )
813 PORT_DIPSETTING( 0x4000, "200000" )
814 PORT_DIPSETTING( 0x0000, "300000" )
815 PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
816
817 PORT_START
818 PORT_DIPNAME( 0x0001, 0x0000, "Country" )
819 PORT_DIPSETTING( 0x0000, "Japan" )
820 PORT_DIPSETTING( 0x0001, "Taiwan" )
821 /* TODO: there are others in the table at 11910 */
822 /* this port is checked at 1b080 */
823 INPUT_PORTS_END
824
825 INPUT_PORTS_START( aerofgt )
826 PORT_START
827 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
828 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
829 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
830 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
831 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
832 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
833 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
834 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
835
836 PORT_START
837 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
838 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
839 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
840 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
841 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
842 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
843 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
844 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
845
846 PORT_START
847 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
848 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
849 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_START1 )
850 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
851 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
852 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
853 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN3 )
854 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
855
856 PORT_START
857 PORT_DIPNAME( 0x0001, 0x0001, "Coin Slot" )
858 PORT_DIPSETTING( 0x0001, "Same" )
859 PORT_DIPSETTING( 0x0000, "Individual" )
860 PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Coin_A ) )
861 PORT_DIPSETTING( 0x000a, DEF_STR( 3C_1C ) )
862 PORT_DIPSETTING( 0x000c, DEF_STR( 2C_1C ) )
863 PORT_DIPSETTING( 0x000e, DEF_STR( 1C_1C ) )
864 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_2C ) )
865 PORT_DIPSETTING( 0x0006, DEF_STR( 1C_3C ) )
866 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
867 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_5C ) )
868 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
869 PORT_DIPNAME( 0x0070, 0x0070, DEF_STR( Coin_B ) )
870 PORT_DIPSETTING( 0x0050, DEF_STR( 3C_1C ) )
871 PORT_DIPSETTING( 0x0060, DEF_STR( 2C_1C ) )
872 PORT_DIPSETTING( 0x0070, DEF_STR( 1C_1C ) )
873 PORT_DIPSETTING( 0x0040, DEF_STR( 1C_2C ) )
874 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_3C ) )
875 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
876 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_5C ) )
877 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
878 PORT_DIPNAME( 0x0080, 0x0080, "2 Coins to Start, 1 to Continue" )
879 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
880 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
881
882 PORT_START
883 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
884 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
885 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
886 PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Demo_Sounds ) )
887 PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
888 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
889 PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
890 PORT_DIPSETTING( 0x0008, "Easy" )
891 PORT_DIPSETTING( 0x000c, "Normal" )
892 PORT_DIPSETTING( 0x0004, "Hard" )
893 PORT_DIPSETTING( 0x0000, "Hardest" )
894 PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
895 PORT_DIPSETTING( 0x0020, "1" )
896 PORT_DIPSETTING( 0x0010, "2" )
897 PORT_DIPSETTING( 0x0030, "3" )
898 PORT_DIPSETTING( 0x0000, "4" )
899 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Bonus_Life ) )
900 PORT_DIPSETTING( 0x0040, "200000" )
901 PORT_DIPSETTING( 0x0000, "300000" )
902 PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
903
904 PORT_START
905 PORT_DIPNAME( 0x000f, 0x0000, "Country" )
906 PORT_DIPSETTING( 0x0000, "Any" )
907 PORT_DIPSETTING( 0x000f, "USA" )
908 PORT_DIPSETTING( 0x000e, "Korea" )
909 PORT_DIPSETTING( 0x000d, "Hong Kong" )
910 PORT_DIPSETTING( 0x000b, "Taiwan" )
911 INPUT_PORTS_END
912
913
914
915 static struct GfxLayout pspikes_charlayout =
916 {
917 8,8,
918 RGN_FRAC(1,1),
919 4,
920 { 0, 1, 2, 3 },
921 { 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4 },
922 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
923 32*8
924 };
925
926 static struct GfxLayout aerofgt_charlayout =
927 {
928 8,8,
929 RGN_FRAC(1,1),
930 4,
931 { 0, 1, 2, 3 },
932 { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 },
933 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
934 32*8
935 };
936
937 static struct GfxLayout pspikes_spritelayout =
938 {
939 16,16,
940 RGN_FRAC(1,2),
941 4,
942 { 0, 1, 2, 3 },
943 { 1*4, 0*4, 3*4, 2*4, RGN_FRAC(1,2)+1*4, RGN_FRAC(1,2)+0*4, RGN_FRAC(1,2)+3*4, RGN_FRAC(1,2)+2*4,
944 5*4, 4*4, 7*4, 6*4, RGN_FRAC(1,2)+5*4, RGN_FRAC(1,2)+4*4, RGN_FRAC(1,2)+7*4, RGN_FRAC(1,2)+6*4 },
945 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
946 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
947 64*8
948 };
949
950 static struct GfxLayout aerofgtb_spritelayout =
951 {
952 16,16,
953 RGN_FRAC(1,2),
954 4,
955 { 0, 1, 2, 3 },
956 { 3*4, 2*4, 1*4, 0*4, RGN_FRAC(1,2)+3*4, RGN_FRAC(1,2)+2*4, RGN_FRAC(1,2)+1*4, RGN_FRAC(1,2)+0*4,
957 7*4, 6*4, 5*4, 4*4, RGN_FRAC(1,2)+7*4, RGN_FRAC(1,2)+6*4, RGN_FRAC(1,2)+5*4, RGN_FRAC(1,2)+4*4 },
958 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
959 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
960 64*8
961 };
962
963 static struct GfxLayout aerofgt_spritelayout =
964 {
965 16,16,
966 RGN_FRAC(1,1),
967 4,
968 { 0, 1, 2, 3 },
969 { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4,
970 10*4, 11*4, 8*4, 9*4, 14*4, 15*4, 12*4, 13*4 },
971 { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
972 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
973 128*8
974 };
975
976 static struct GfxDecodeInfo pspikes_gfxdecodeinfo[] =
977 {
978 { REGION_GFX1, 0, &pspikes_charlayout, 0, 64 }, /* colors 0-1023 in 8 banks */
979 { REGION_GFX2, 0, &pspikes_spritelayout, 1024, 64 }, /* colors 1024-2047 in 4 banks */
980 { -1 } /* end of array */
981 };
982
983 static struct GfxDecodeInfo turbofrc_gfxdecodeinfo[] =
984 {
985 { REGION_GFX1, 0, &pspikes_charlayout, 0, 16 },
986 { REGION_GFX2, 0, &pspikes_charlayout, 256, 16 },
987 { REGION_GFX3, 0, &pspikes_spritelayout, 512, 16 },
988 { REGION_GFX4, 0, &pspikes_spritelayout, 768, 16 },
989 { -1 } /* end of array */
990 };
991
992 static struct GfxDecodeInfo aerofgtb_gfxdecodeinfo[] =
993 {
994 { REGION_GFX1, 0, &pspikes_charlayout, 0, 16 },
995 { REGION_GFX2, 0, &pspikes_charlayout, 256, 16 },
996 { REGION_GFX3, 0, &aerofgtb_spritelayout, 512, 16 },
997 { REGION_GFX4, 0, &aerofgtb_spritelayout, 768, 16 },
998 { -1 } /* end of array */
999 };
1000
1001 static struct GfxDecodeInfo aerofgt_gfxdecodeinfo[] =
1002 {
1003 { REGION_GFX1, 0, &aerofgt_charlayout, 0, 16 },
1004 { REGION_GFX1, 0, &aerofgt_charlayout, 256, 16 },
1005 { REGION_GFX2, 0, &aerofgt_spritelayout, 512, 16 },
1006 { REGION_GFX3, 0, &aerofgt_spritelayout, 768, 16 },
1007 { -1 } /* end of array */
1008 };
1009
1010
1011
irqhandler(int irq)1012 static void irqhandler(int irq)
1013 {
1014 cpu_set_irq_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
1015 }
1016
1017 static struct YM2610interface ym2610_interface =
1018 {
1019 1,
1020 8000000, /* 8 MHz??? */
1021 { 25 },
1022 { 0 },
1023 { 0 },
1024 { 0 },
1025 { 0 },
1026 { irqhandler },
1027 { REGION_SOUND1 },
1028 { REGION_SOUND2 },
1029 { YM3012_VOL(100,MIXER_PAN_LEFT,100,MIXER_PAN_RIGHT) }
1030 };
1031
1032
1033
1034 static MACHINE_DRIVER_START( pspikes )
1035
1036 /* basic machine hardware */
1037 MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
1038 MDRV_CPU_MEMORY(pspikes_readmem,pspikes_writemem)
1039 MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
1040
1041 MDRV_CPU_ADD(Z80,8000000/2)
1042 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ??? */
1043 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1044 MDRV_CPU_PORTS(turbofrc_sound_readport,turbofrc_sound_writeport)
1045 /* IRQs are triggered by the YM2610 */
1046 MDRV_FRAMES_PER_SECOND(60)
1047 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1048
1049 MDRV_MACHINE_INIT(aerofgt)
1050
1051 /* video hardware */
1052 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1053 MDRV_SCREEN_SIZE(64*8, 32*8)
1054 MDRV_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
1055 MDRV_GFXDECODE(pspikes_gfxdecodeinfo)
1056 MDRV_PALETTE_LENGTH(2048)
1057
1058 MDRV_VIDEO_START(pspikes)
1059 MDRV_VIDEO_UPDATE(pspikes)
1060
1061 /* sound hardware */
1062 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1063 MDRV_SOUND_ADD(YM2610, ym2610_interface)
1064 MACHINE_DRIVER_END
1065
1066 static MACHINE_DRIVER_START( karatblz )
1067
1068 /* basic machine hardware */
1069 MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
1070 MDRV_CPU_MEMORY(karatblz_readmem,karatblz_writemem)
1071 MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
1072
1073 MDRV_CPU_ADD(Z80,8000000/2)
1074 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ??? */
1075 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1076 MDRV_CPU_PORTS(turbofrc_sound_readport,turbofrc_sound_writeport)
1077 /* IRQs are triggered by the YM2610 */
1078 MDRV_FRAMES_PER_SECOND(60)
1079 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1080
1081 MDRV_MACHINE_INIT(aerofgt)
1082
1083 /* video hardware */
1084 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1085 MDRV_SCREEN_SIZE(64*8, 32*8)
1086 MDRV_VISIBLE_AREA(1*8, 45*8-1, 0*8, 30*8-1)
1087 MDRV_GFXDECODE(turbofrc_gfxdecodeinfo)
1088 MDRV_PALETTE_LENGTH(1024)
1089
1090 MDRV_VIDEO_START(karatblz)
1091 MDRV_VIDEO_UPDATE(karatblz)
1092
1093 /* sound hardware */
1094 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1095 MDRV_SOUND_ADD(YM2610, ym2610_interface)
1096 MACHINE_DRIVER_END
1097
1098 static MACHINE_DRIVER_START( spinlbrk )
1099
1100 /* basic machine hardware */
1101 MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
1102 MDRV_CPU_MEMORY(spinlbrk_readmem,spinlbrk_writemem)
1103 MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* there are vectors for 3 and 4 too */
1104
1105 MDRV_CPU_ADD(Z80,8000000/2)
1106 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ??? */
1107 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1108 MDRV_CPU_PORTS(turbofrc_sound_readport,turbofrc_sound_writeport)
1109 /* IRQs are triggered by the YM2610 */
1110 MDRV_FRAMES_PER_SECOND(60)
1111 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1112
1113 MDRV_MACHINE_INIT(aerofgt)
1114
1115 /* video hardware */
1116 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1117 MDRV_SCREEN_SIZE(64*8, 32*8)
1118 MDRV_VISIBLE_AREA(1*8, 45*8-1, 0*8, 30*8-1)
1119 MDRV_GFXDECODE(turbofrc_gfxdecodeinfo)
1120 MDRV_PALETTE_LENGTH(1024)
1121
1122 MDRV_VIDEO_START(spinlbrk)
1123 MDRV_VIDEO_UPDATE(spinlbrk)
1124
1125 /* sound hardware */
1126 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1127 MDRV_SOUND_ADD(YM2610, ym2610_interface)
1128 MACHINE_DRIVER_END
1129
1130 static MACHINE_DRIVER_START( turbofrc )
1131
1132 /* basic machine hardware */
1133 MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
1134 MDRV_CPU_MEMORY(turbofrc_readmem,turbofrc_writemem)
1135 MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
1136
1137 MDRV_CPU_ADD(Z80,8000000/2)
1138 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ??? */
1139 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1140 MDRV_CPU_PORTS(turbofrc_sound_readport,turbofrc_sound_writeport)
1141 /* IRQs are triggered by the YM2610 */
1142 MDRV_FRAMES_PER_SECOND(60)
1143 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1144
1145 MDRV_MACHINE_INIT(aerofgt)
1146
1147 /* video hardware */
1148 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1149 MDRV_SCREEN_SIZE(64*8, 32*8)
1150 MDRV_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
1151 MDRV_GFXDECODE(turbofrc_gfxdecodeinfo)
1152 MDRV_PALETTE_LENGTH(1024)
1153
1154 MDRV_VIDEO_START(turbofrc)
1155 MDRV_VIDEO_UPDATE(turbofrc)
1156
1157 /* sound hardware */
1158 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1159 MDRV_SOUND_ADD(YM2610, ym2610_interface)
1160 MACHINE_DRIVER_END
1161
1162 static MACHINE_DRIVER_START( aerofgtb )
1163
1164 /* basic machine hardware */
1165 MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
1166 MDRV_CPU_MEMORY(aerofgtb_readmem,aerofgtb_writemem)
1167 MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
1168
1169 MDRV_CPU_ADD(Z80,8000000/2)
1170 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ??? */
1171 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1172 MDRV_CPU_PORTS(aerofgt_sound_readport,aerofgt_sound_writeport)
1173 /* IRQs are triggered by the YM2610 */
1174 MDRV_FRAMES_PER_SECOND(60)
1175 MDRV_VBLANK_DURATION(500)
1176 /* wrong but improves sprite-background synchronization */
1177
1178 MDRV_MACHINE_INIT(aerofgt)
1179
1180 /* video hardware */
1181 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1182 MDRV_SCREEN_SIZE(64*8, 32*8)
1183 MDRV_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
1184 MDRV_GFXDECODE(aerofgtb_gfxdecodeinfo)
1185 MDRV_PALETTE_LENGTH(1024)
1186
1187 MDRV_VIDEO_START(turbofrc)
1188 MDRV_VIDEO_UPDATE(turbofrc)
1189
1190 /* sound hardware */
1191 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1192 MDRV_SOUND_ADD(YM2610, ym2610_interface)
1193 MACHINE_DRIVER_END
1194
1195 static MACHINE_DRIVER_START( aerofgt )
1196
1197 /* basic machine hardware */
1198 MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
1199 MDRV_CPU_MEMORY(aerofgt_readmem,aerofgt_writemem)
1200 MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
1201
1202 MDRV_CPU_ADD(Z80,8000000/2)
1203 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ??? */
1204 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1205 MDRV_CPU_PORTS(aerofgt_sound_readport,aerofgt_sound_writeport)
1206 /* IRQs are triggered by the YM2610 */
1207 MDRV_FRAMES_PER_SECOND(60)
1208 MDRV_VBLANK_DURATION(400)
1209 /* wrong but improves sprite-background synchronization */
1210
1211 MDRV_MACHINE_INIT(aerofgt)
1212
1213 /* video hardware */
1214 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1215 MDRV_SCREEN_SIZE(64*8, 32*8)
1216 MDRV_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
1217 MDRV_GFXDECODE(aerofgt_gfxdecodeinfo)
1218 MDRV_PALETTE_LENGTH(1024)
1219
1220 MDRV_VIDEO_START(turbofrc)
1221 MDRV_VIDEO_UPDATE(aerofgt)
1222
1223 /* sound hardware */
1224 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1225 MDRV_SOUND_ADD(YM2610, ym2610_interface)
1226 MACHINE_DRIVER_END
1227
1228
1229
1230 /***************************************************************************
1231
1232 Game driver(s)
1233
1234 ***************************************************************************/
1235
1236 ROM_START( pspikes )
1237 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1238 ROM_LOAD16_WORD_SWAP( "pspikes2.bin", 0x00000, 0x40000, CRC(ec0c070e) SHA1(4ddcc184e835a2f9d15f01aaa03734fd75fe797e) )
1239
1240 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1241 ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) )
1242 ROM_RELOAD( 0x10000, 0x20000 )
1243
1244 ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
1245 ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) )
1246
1247 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1248 ROM_LOAD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) )
1249 ROM_LOAD( "g7l", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) )
1250
1251 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* sound samples */
1252 ROM_LOAD( "a47", 0x00000, 0x40000, CRC(c6779dfa) SHA1(ea7adefdb0da02755428aac9a6f86c908fc11253) )
1253
1254 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1255 ROM_LOAD( "o5b", 0x000000, 0x100000, CRC(07d6cbac) SHA1(d3d5778dbaca7b6cdceae959d0847d56df7b5cc1) )
1256 ROM_END
1257
1258 ROM_START( pspikesk )
1259 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1260 ROM_LOAD16_WORD_SWAP( "20", 0x00000, 0x40000, CRC(75cdcee2) SHA1(272a08c46c1d0989f9fbb156e28e6a7ffa9c0a53) )
1261
1262 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1263 ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) )
1264 ROM_RELOAD( 0x10000, 0x20000 )
1265
1266 ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
1267 ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) )
1268
1269 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1270 ROM_LOAD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) )
1271 ROM_LOAD( "g7l", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) )
1272
1273 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* sound samples */
1274 ROM_LOAD( "a47", 0x00000, 0x40000, CRC(c6779dfa) SHA1(ea7adefdb0da02755428aac9a6f86c908fc11253) )
1275
1276 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1277 ROM_LOAD( "o5b", 0x000000, 0x100000, CRC(07d6cbac) SHA1(d3d5778dbaca7b6cdceae959d0847d56df7b5cc1) )
1278 ROM_END
1279
1280 ROM_START( svolly91 )
1281 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1282 ROM_LOAD16_WORD_SWAP( "u11.jpn", 0x00000, 0x40000, CRC(ea2e4c82) SHA1(f9cf9122499d9b1e54221fb8b6ef9c12004ca85e) )
1283
1284 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1285 ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) )
1286 ROM_RELOAD( 0x10000, 0x20000 )
1287
1288 ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
1289 ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) )
1290
1291 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1292 ROM_LOAD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) )
1293 ROM_LOAD( "g7l", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) )
1294
1295 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* sound samples */
1296 ROM_LOAD( "a47", 0x00000, 0x40000, CRC(c6779dfa) SHA1(ea7adefdb0da02755428aac9a6f86c908fc11253) )
1297
1298 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1299 ROM_LOAD( "o5b", 0x000000, 0x100000, CRC(07d6cbac) SHA1(d3d5778dbaca7b6cdceae959d0847d56df7b5cc1) )
1300 ROM_END
1301
1302 ROM_START( spinlbrk )
1303 ROM_REGION( 0x60000, REGION_CPU1, 0 ) /* 68000 code */
1304 ROM_LOAD16_BYTE( "ic98", 0x00000, 0x10000, CRC(36c2bf70) SHA1(f627d0e7dad1760bcc95af4a6346050a1a277048) )
1305 ROM_LOAD16_BYTE( "ic104", 0x00001, 0x10000, CRC(34a7e158) SHA1(5884570c1be38bfedffca3fd38089d0ae3391d4f) )
1306 ROM_LOAD16_BYTE( "ic93", 0x20000, 0x10000, CRC(726f4683) SHA1(65aff0548333571d47a96d4bf5a7857f12399cc7) )
1307 ROM_LOAD16_BYTE( "ic94", 0x20001, 0x10000, CRC(c4385e03) SHA1(6683eed812fa8a5430125b14e8647f8e9024bbdd) )
1308
1309 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1310 ROM_LOAD( "ic117", 0x00000, 0x08000, CRC(625ada41) SHA1(2dd0674c68ea382431115c155afbf880f5b9deb2) )
1311 ROM_LOAD( "ic118", 0x10000, 0x10000, CRC(1025f024) SHA1(3e497c74c950d2cd2a0931cf2ae9b0124d11ca6a) )
1312
1313 ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
1314 ROM_LOAD( "ic15", 0x000000, 0x80000, CRC(e318cf3a) SHA1(d634001a0029566ce7b8fa30075970919eb5f44e) )
1315 ROM_LOAD( "ic9", 0x080000, 0x80000, CRC(e071f674) SHA1(b6d98d7fcc28516d937d8c655d07305515be8a20) )
1316
1317 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1318 ROM_LOAD( "ic17", 0x000000, 0x80000, CRC(a63d5a55) SHA1(a942651a206a2abe4f60f0717e1d5d8e89b993d4) )
1319 ROM_LOAD( "ic11", 0x080000, 0x80000, CRC(7dcc913d) SHA1(527bae5020581d1ac322ea25c8e0994d54bbc051) )
1320 ROM_LOAD( "ic16", 0x100000, 0x80000, CRC(0d84af7f) SHA1(07356ee61c84c4c4ccb49c8dfe8c468990580041) ) /*FIRST AND SECOND HALF IDENTICAL*/
1321
1322 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1323 ROM_LOAD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) )
1324 ROM_LOAD( "ic18", 0x080000, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) )
1325
1326 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1327 ROM_LOAD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) )
1328 ROM_LOAD( "ic20", 0x080000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) )
1329 ROM_LOAD( "ic35", 0x100000, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) )
1330 ROM_LOAD( "ic40", 0x180000, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) )
1331
1332 ROM_REGION16_BE( 0x24000, REGION_GFX5, 0 ) /* hardcoded sprite maps */
1333 ROM_LOAD16_BYTE( "ic19", 0x00000, 0x10000, CRC(db24eeaa) SHA1(300dd1ce81dd258b265bc3a64b8542ed152ed2cf) )
1334 ROM_LOAD16_BYTE( "ic13", 0x00001, 0x10000, CRC(97025bf4) SHA1(0519f0c94f3d417bf8ff0124a3a137035a4013dc) )
1335 /* 20000-23fff empty space, filled in vh_startup */
1336
1337 /* no REGION_SOUND1 */
1338
1339 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1340 ROM_LOAD( "ic166", 0x000000, 0x80000, CRC(6e0d063a) SHA1(313983e69f9625814de033fef7f6e9564694117a) )
1341 ROM_LOAD( "ic163", 0x080000, 0x80000, CRC(e6621dfb) SHA1(85ee77c4720b7eb20ecf293c16b3105c8dcb1114) ) /*FIRST AND SECOND HALF IDENTICAL*/
1342 ROM_END
1343
1344 ROM_START( spinlbru )
1345 ROM_REGION( 0x60000, REGION_CPU1, 0 ) /* 68000 code */
1346 ROM_LOAD16_BYTE( "ic98.u5", 0x00000, 0x10000, CRC(3a0f7667) SHA1(55d5fa1a325c17532ed83d231032bdbe9fb84d85) )
1347 ROM_LOAD16_BYTE( "ic104.u6",0x00001, 0x10000, CRC(a0e0af31) SHA1(21f6c3246bb7be2fd926324fd6d041e319a4e214) )
1348 ROM_LOAD16_BYTE( "ic93.u4", 0x20000, 0x10000, CRC(0cf73029) SHA1(e1346b759a41f9eec9536dc90671778582e595b4) )
1349 ROM_LOAD16_BYTE( "ic94.u3", 0x20001, 0x10000, CRC(5cf7c426) SHA1(b201da40c4511d2845004dff72d36adbb8a4fab9) )
1350
1351 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1352 ROM_LOAD( "ic117", 0x00000, 0x08000, CRC(625ada41) SHA1(2dd0674c68ea382431115c155afbf880f5b9deb2) )
1353 ROM_LOAD( "ic118", 0x10000, 0x10000, CRC(1025f024) SHA1(3e497c74c950d2cd2a0931cf2ae9b0124d11ca6a) )
1354
1355 ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
1356 ROM_LOAD( "ic15", 0x000000, 0x80000, CRC(e318cf3a) SHA1(d634001a0029566ce7b8fa30075970919eb5f44e) )
1357 ROM_LOAD( "ic9", 0x080000, 0x80000, CRC(e071f674) SHA1(b6d98d7fcc28516d937d8c655d07305515be8a20) )
1358
1359 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1360 ROM_LOAD( "ic17", 0x000000, 0x80000, CRC(a63d5a55) SHA1(a942651a206a2abe4f60f0717e1d5d8e89b993d4) )
1361 ROM_LOAD( "ic11", 0x080000, 0x80000, CRC(7dcc913d) SHA1(527bae5020581d1ac322ea25c8e0994d54bbc051) )
1362 ROM_LOAD( "ic16", 0x100000, 0x80000, CRC(0d84af7f) SHA1(07356ee61c84c4c4ccb49c8dfe8c468990580041) ) /*FIRST AND SECOND HALF IDENTICAL*/
1363
1364 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1365 ROM_LOAD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) )
1366 ROM_LOAD( "ic18", 0x080000, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) )
1367
1368 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1369 ROM_LOAD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) )
1370 ROM_LOAD( "ic20", 0x080000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) )
1371 ROM_LOAD( "ic35", 0x100000, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) )
1372 ROM_LOAD( "ic40", 0x180000, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) )
1373
1374 ROM_REGION16_BE( 0x24000, REGION_GFX5, 0 ) /* hardcoded sprite maps */
1375 ROM_LOAD16_BYTE( "ic19", 0x00000, 0x10000, CRC(db24eeaa) SHA1(300dd1ce81dd258b265bc3a64b8542ed152ed2cf) )
1376 ROM_LOAD16_BYTE( "ic13", 0x00001, 0x10000, CRC(97025bf4) SHA1(0519f0c94f3d417bf8ff0124a3a137035a4013dc) )
1377 /* 20000-23fff empty space, filled in vh_startup */
1378
1379 /* no REGION_SOUND1 */
1380
1381 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1382 ROM_LOAD( "ic166", 0x000000, 0x80000, CRC(6e0d063a) SHA1(313983e69f9625814de033fef7f6e9564694117a) )
1383 ROM_LOAD( "ic163", 0x080000, 0x80000, CRC(e6621dfb) SHA1(85ee77c4720b7eb20ecf293c16b3105c8dcb1114) ) /*FIRST AND SECOND HALF IDENTICAL*/
1384 ROM_END
1385
1386 ROM_START( spinlbrj )
1387 ROM_REGION( 0x60000, REGION_CPU1, 0 ) /* 68000 code */
1388 ROM_LOAD16_BYTE( "j5", 0x00000, 0x10000, CRC(6a3d690e) SHA1(4ac1985ea0a73b8fc12105ff75121718595dd171) )
1389 ROM_LOAD16_BYTE( "j6", 0x00001, 0x10000, CRC(869593fa) SHA1(5821b011d42113f247bd100cecf140bbfc1e969c) )
1390 ROM_LOAD16_BYTE( "j4", 0x20000, 0x10000, CRC(33e33912) SHA1(d6d052cd8dbedfd254bdf5e82ad770e4bf241777) )
1391 ROM_LOAD16_BYTE( "j3", 0x20001, 0x10000, CRC(16ca61d0) SHA1(5d99a1261251412c3c758af751997fe31026c0d6) )
1392
1393 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1394 ROM_LOAD( "ic117", 0x00000, 0x08000, CRC(625ada41) SHA1(2dd0674c68ea382431115c155afbf880f5b9deb2) )
1395 ROM_LOAD( "ic118", 0x10000, 0x10000, CRC(1025f024) SHA1(3e497c74c950d2cd2a0931cf2ae9b0124d11ca6a) )
1396
1397 ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
1398 ROM_LOAD( "ic15", 0x000000, 0x80000, CRC(e318cf3a) SHA1(d634001a0029566ce7b8fa30075970919eb5f44e) )
1399 ROM_LOAD( "ic9", 0x080000, 0x80000, CRC(e071f674) SHA1(b6d98d7fcc28516d937d8c655d07305515be8a20) )
1400
1401 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
1402 ROM_LOAD( "ic17", 0x000000, 0x80000, CRC(a63d5a55) SHA1(a942651a206a2abe4f60f0717e1d5d8e89b993d4) )
1403 ROM_LOAD( "ic11", 0x080000, 0x80000, CRC(7dcc913d) SHA1(527bae5020581d1ac322ea25c8e0994d54bbc051) )
1404 ROM_LOAD( "ic16", 0x100000, 0x80000, CRC(0d84af7f) SHA1(07356ee61c84c4c4ccb49c8dfe8c468990580041) ) /*FIRST AND SECOND HALF IDENTICAL*/
1405
1406 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1407 ROM_LOAD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) )
1408 ROM_LOAD( "ic18", 0x080000, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) )
1409
1410 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1411 ROM_LOAD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) )
1412 ROM_LOAD( "ic20", 0x080000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) )
1413 ROM_LOAD( "ic35", 0x100000, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) )
1414 ROM_LOAD( "ic40", 0x180000, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) )
1415
1416 ROM_REGION16_BE( 0x24000, REGION_GFX5, 0 ) /* hardcoded sprite maps */
1417 ROM_LOAD16_BYTE( "ic19", 0x00000, 0x10000, CRC(db24eeaa) SHA1(300dd1ce81dd258b265bc3a64b8542ed152ed2cf) )
1418 ROM_LOAD16_BYTE( "ic13", 0x00001, 0x10000, CRC(97025bf4) SHA1(0519f0c94f3d417bf8ff0124a3a137035a4013dc) )
1419 /* 20000-23fff empty space, filled in vh_startup */
1420
1421 /* no REGION_SOUND1 */
1422
1423 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1424 ROM_LOAD( "ic166", 0x000000, 0x80000, CRC(6e0d063a) SHA1(313983e69f9625814de033fef7f6e9564694117a) )
1425 ROM_LOAD( "ic163", 0x080000, 0x80000, CRC(e6621dfb) SHA1(85ee77c4720b7eb20ecf293c16b3105c8dcb1114) ) /*FIRST AND SECOND HALF IDENTICAL*/
1426 ROM_END
1427
1428 ROM_START( karatblz )
1429 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1430 ROM_LOAD16_WORD_SWAP( "rom2v3", 0x00000, 0x40000, CRC(01f772e1) SHA1(f87f19a82d75839b5671f23ce14218d7b910eabc) )
1431 ROM_LOAD16_WORD_SWAP( "1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) )
1432
1433 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1434 ROM_LOAD( "5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) )
1435 ROM_RELOAD( 0x10000, 0x20000 )
1436
1437 ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
1438 ROM_LOAD( "gha.u55", 0x00000, 0x80000, CRC(3e0cea91) SHA1(bab41715f106d364013b64649441d280bc6893cf) )
1439
1440 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
1441 ROM_LOAD( "gh9.u61", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) )
1442
1443 ROM_REGION( 0x400000, REGION_GFX3, ROMREGION_DISPOSE )
1444 ROM_LOAD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) )
1445 ROM_LOAD( "3.u44", 0x100000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) )
1446 ROM_LOAD( "u43", 0x200000, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) )
1447 ROM_LOAD( "4.u45", 0x300000, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) )
1448
1449 ROM_REGION( 0x100000, REGION_GFX4, ROMREGION_DISPOSE )
1450 ROM_LOAD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) )
1451 ROM_LOAD( "ghd.u60", 0x080000, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) )
1452
1453 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* sound samples */
1454 ROM_LOAD( "u105.gh8", 0x000000, 0x080000, CRC(7a68cb1b) SHA1(1bdd0000c2d68019b9e5bf8f7ad84a6ae1af8443) )
1455
1456 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1457 ROM_LOAD( "u104", 0x000000, 0x100000, CRC(5795e884) SHA1(a4178497ad0a1e60ceb87612b218d77b36d2a11b) )
1458 ROM_END
1459
1460 ROM_START( karatblu )
1461 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1462 ROM_LOAD16_WORD_SWAP( "2.u14", 0x00000, 0x40000, CRC(202e6220) SHA1(2605511a0574cbc39fdf3d8ae27a0aa9b43345fb) )
1463 ROM_LOAD16_WORD_SWAP( "1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) )
1464
1465 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1466 ROM_LOAD( "5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) )
1467 ROM_RELOAD( 0x10000, 0x20000 )
1468
1469 ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
1470 ROM_LOAD( "gha.u55", 0x00000, 0x80000, CRC(3e0cea91) SHA1(bab41715f106d364013b64649441d280bc6893cf) )
1471
1472 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
1473 ROM_LOAD( "gh9.u61", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) )
1474
1475 ROM_REGION( 0x400000, REGION_GFX3, ROMREGION_DISPOSE )
1476 ROM_LOAD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) )
1477 ROM_LOAD( "3.u44", 0x100000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) )
1478 ROM_LOAD( "u43", 0x200000, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) )
1479 ROM_LOAD( "4.u45", 0x300000, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) )
1480
1481 ROM_REGION( 0x100000, REGION_GFX4, ROMREGION_DISPOSE )
1482 ROM_LOAD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) )
1483 ROM_LOAD( "ghd.u60", 0x080000, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) )
1484
1485 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* sound samples */
1486 ROM_LOAD( "u105.gh8", 0x000000, 0x080000, CRC(7a68cb1b) SHA1(1bdd0000c2d68019b9e5bf8f7ad84a6ae1af8443) )
1487
1488 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1489 ROM_LOAD( "u104", 0x000000, 0x100000, CRC(5795e884) SHA1(a4178497ad0a1e60ceb87612b218d77b36d2a11b) )
1490 ROM_END
1491
1492 ROM_START( turbofrc )
1493 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1494 ROM_LOAD16_WORD_SWAP( "tfrc2.bin", 0x00000, 0x40000, CRC(721300ee) SHA1(79ab32fdfd377592a0bdbd1c4794cfd529a3eb7b) )
1495 ROM_LOAD16_WORD_SWAP( "tfrc1.bin", 0x40000, 0x40000, CRC(6cd5312b) SHA1(57b109fe268fb963e981c91b6d288667a3c9a665) )
1496 ROM_LOAD16_WORD_SWAP( "tfrc3.bin", 0x80000, 0x40000, CRC(63f50557) SHA1(f8dba8c9ba412c9a67457ec31a804c57593ab20b) )
1497
1498 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1499 ROM_LOAD( "tfrcu166.bin", 0x00000, 0x20000, CRC(2ca14a65) SHA1(95f6e7b4fa7ca26872ff472d7e6fb75fd4f281d5) )
1500 ROM_RELOAD( 0x10000, 0x20000 )
1501
1502 ROM_REGION( 0x0a0000, REGION_GFX1, ROMREGION_DISPOSE )
1503 ROM_LOAD( "tfrcu94.bin", 0x000000, 0x80000, CRC(baa53978) SHA1(7f103122dd0bf675226ccf309fba73f645e0c79b) )
1504 ROM_LOAD( "tfrcu95.bin", 0x080000, 0x20000, CRC(71a6c573) SHA1(f14ebca676d85fabcde27631145933abc376dd12) )
1505
1506 ROM_REGION( 0x0a0000, REGION_GFX2, ROMREGION_DISPOSE )
1507 ROM_LOAD( "tfrcu105.bin", 0x000000, 0x80000, CRC(4de4e59e) SHA1(571396dadb8aac043319cabe24e629210e442d57) )
1508 ROM_LOAD( "tfrcu106.bin", 0x080000, 0x20000, CRC(c6479eb5) SHA1(47a58f082c73bc9dae3970e760ba46478ce6a190) )
1509
1510 ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
1511 ROM_LOAD( "tfrcu116.bin", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) )
1512 ROM_LOAD( "tfrcu118.bin", 0x080000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) )
1513 ROM_LOAD( "tfrcu117.bin", 0x100000, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) )
1514 ROM_LOAD( "tfrcu119.bin", 0x180000, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) )
1515
1516 ROM_REGION( 0x100000, REGION_GFX4, ROMREGION_DISPOSE )
1517 ROM_LOAD( "tfrcu134.bin", 0x000000, 0x80000, CRC(487330a2) SHA1(0bd36c1f5776ba2773f621e9bcb22f56ed1d84ec) )
1518 ROM_LOAD( "tfrcu135.bin", 0x080000, 0x80000, CRC(3a7e5b6d) SHA1(0079ffaa1bf93a5087c75615c78ec596b28c9a32) )
1519
1520 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* sound samples */
1521 ROM_LOAD( "tfrcu180.bin", 0x00000, 0x20000, CRC(39c7c7d5) SHA1(66ee9f7cbc18ffab2c70f77ab0edead6bb018ca9) )
1522
1523 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1524 ROM_LOAD( "tfrcu179.bin", 0x000000, 0x100000, CRC(60ca0333) SHA1(28b94edc98d360386759780ccd1122d43ffa5279) )
1525 ROM_END
1526
1527 ROM_START( aerofgt )
1528 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1529 ROM_LOAD16_WORD_SWAP( "1.u4", 0x00000, 0x80000, CRC(6fdff0a2) SHA1(7cc9529b426091027aa3e23586cb7d162376c0ff) )
1530
1531 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1532 ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) )
1533 ROM_RELOAD( 0x10000, 0x20000 )
1534
1535 ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
1536 ROM_LOAD( "538a54.124", 0x000000, 0x80000, CRC(4d2c4df2) SHA1(f51c2b3135f0a921ac1a79e63d6878c03cb6254b) )
1537 ROM_LOAD( "1538a54.124", 0x080000, 0x80000, CRC(286d109e) SHA1(3a5f3d2d89cf58f6ef15e4bd3f570b84e8e695b2) )
1538
1539 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1540 ROM_LOAD( "538a53.u9", 0x000000, 0x100000, CRC(630d8e0b) SHA1(5a0c252ccd53c5199a695909d25ecb4e53dc15b9) )
1541
1542 ROM_REGION( 0x080000, REGION_GFX3, ROMREGION_DISPOSE )
1543 ROM_LOAD( "534g8f.u18", 0x000000, 0x80000, CRC(76ce0926) SHA1(5ef4cec215d4dd600d8fcd1bd9a4c09081d59e33) )
1544
1545 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* sound samples */
1546 ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) )
1547
1548 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1549 ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) )
1550 ROM_END
1551
1552 ROM_START( aerofgtb )
1553 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1554 ROM_LOAD16_BYTE( "v2", 0x00000, 0x40000, CRC(5c9de9f0) SHA1(93b62c59f0bc052c6fdbd5aae292a7ab2122dfd1) )
1555 ROM_LOAD16_BYTE( "v1", 0x00001, 0x40000, CRC(89c1dcf4) SHA1(41401d63049c140e4254dc791022d85c44271390) )
1556
1557 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1558 ROM_LOAD( "v3", 0x00000, 0x20000, CRC(cbb18cf4) SHA1(7119a7536cf710660ff06d1e7d2879c79ef12b3d) )
1559 ROM_RELOAD( 0x10000, 0x20000 )
1560
1561 ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
1562 ROM_LOAD( "it-19-03", 0x000000, 0x80000, CRC(85eba1a4) SHA1(5691a95d6359fdab29be0d615066370c2b856c0a) )
1563
1564 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1565 ROM_LOAD( "it-19-02", 0x000000, 0x80000, CRC(4f57f8ba) SHA1(aaad548e9a7490dfd48a975135716225f416b6f6) )
1566
1567 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1568 ROM_LOAD( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) )
1569 ROM_LOAD( "it-19-05", 0x080000, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) )
1570
1571 ROM_REGION( 0x080000, REGION_GFX4, ROMREGION_DISPOSE )
1572 ROM_LOAD( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) )
1573 ROM_LOAD( "g26", 0x040000, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) )
1574
1575 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* sound samples */
1576 ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) )
1577
1578 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1579 ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) )
1580 ROM_END
1581
1582 ROM_START( aerofgtc )
1583 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1584 ROM_LOAD16_BYTE( "v2.149", 0x00000, 0x40000, CRC(f187aec6) SHA1(8905af34f114ae22fbfbd3ae115f19280bdd4fb3) )
1585 ROM_LOAD16_BYTE( "v1.111", 0x00001, 0x40000, CRC(9e684b19) SHA1(b5e1e5b74ed9fd223c9315ee2d548e620224c102) )
1586
1587 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1588 ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) )
1589 ROM_RELOAD( 0x10000, 0x20000 )
1590
1591 /* gfx ROMs were missing in this set, I'm using the aerofgtb ones */
1592 ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
1593 ROM_LOAD( "it-19-03", 0x000000, 0x80000, CRC(85eba1a4) SHA1(5691a95d6359fdab29be0d615066370c2b856c0a) )
1594
1595 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1596 ROM_LOAD( "it-19-02", 0x000000, 0x80000, CRC(4f57f8ba) SHA1(aaad548e9a7490dfd48a975135716225f416b6f6) )
1597
1598 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1599 ROM_LOAD( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) )
1600 ROM_LOAD( "it-19-05", 0x080000, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) )
1601
1602 ROM_REGION( 0x080000, REGION_GFX4, ROMREGION_DISPOSE )
1603 ROM_LOAD( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) )
1604 ROM_LOAD( "g26", 0x040000, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) )
1605
1606 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* sound samples */
1607 ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) )
1608
1609 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1610 ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) )
1611 ROM_END
1612
1613 ROM_START( sonicwi )
1614 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1615 ROM_LOAD16_BYTE( "2.149", 0x00000, 0x40000, CRC(3d1b96ba) SHA1(941be323c0cb15e05c92b897984617b05c5cf676) )
1616 ROM_LOAD16_BYTE( "1.111", 0x00001, 0x40000, CRC(a3d09f94) SHA1(a1064d659488878f5303edc2b8636312ab632a83) )
1617
1618 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* 64k for the audio CPU + banks */
1619 ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) ) /* 3.156*/
1620 ROM_RELOAD( 0x10000, 0x20000 )
1621
1622 /* gfx ROMs were missing in this set, I'm using the aerofgtb ones */
1623 ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
1624 ROM_LOAD( "it-19-03", 0x000000, 0x80000, CRC(85eba1a4) SHA1(5691a95d6359fdab29be0d615066370c2b856c0a) )
1625
1626 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1627 ROM_LOAD( "it-19-02", 0x000000, 0x80000, CRC(4f57f8ba) SHA1(aaad548e9a7490dfd48a975135716225f416b6f6) )
1628
1629 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1630 ROM_LOAD( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) )
1631 ROM_LOAD( "it-19-05", 0x080000, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) )
1632
1633 ROM_REGION( 0x080000, REGION_GFX4, ROMREGION_DISPOSE )
1634 ROM_LOAD( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) )
1635 ROM_LOAD( "g26", 0x040000, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) )
1636
1637 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* sound samples */
1638 ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) )
1639
1640 ROM_REGION( 0x100000, REGION_SOUND2, 0 ) /* sound samples */
1641 ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) )
1642 ROM_END
1643
1644
1645
1646 GAMEX( 1990, spinlbrk, 0, spinlbrk, spinlbrk, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_NO_COCKTAIL )
1647 GAMEX( 1990, spinlbru, spinlbrk, spinlbrk, spinlbrk, 0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_NO_COCKTAIL )
1648 GAMEX( 1990, spinlbrj, spinlbrk, spinlbrk, spinlbrk, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_NO_COCKTAIL )
1649 GAMEX( 1991, pspikes, 0, pspikes, pspikes, 0, ROT0, "Video System Co.", "Power Spikes (World)", GAME_NO_COCKTAIL )
1650 GAMEX( 1991, pspikesk, pspikes, pspikes, pspikes, 0, ROT0, "Video System Co.", "Power Spikes (Korea)", GAME_NO_COCKTAIL )
1651 GAMEX( 1991, svolly91, pspikes, pspikes, pspikes, 0, ROT0, "Video System Co.", "Super Volley '91 (Japan)", GAME_NO_COCKTAIL )
1652 GAMEX( 1991, karatblz, 0, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (World[Q])", GAME_NO_COCKTAIL )
1653 GAMEX( 1991, karatblu, karatblz, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (US)", GAME_NO_COCKTAIL )
1654 GAMEX( 1991, turbofrc, 0, turbofrc, turbofrc, 0, ROT270, "Video System Co.", "Turbo Force", GAME_NO_COCKTAIL )
1655 GAMEX( 1992, aerofgt, 0, aerofgt, aerofgt, 0, ROT270, "Video System Co.", "Aero Fighters", GAME_NO_COCKTAIL )
1656 GAMEX( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 1)", GAME_NO_COCKTAIL )
1657 GAMEX( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 2)", GAME_NO_COCKTAIL )
1658 GAMEX( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Sonic Wings (Japan)", GAME_NO_COCKTAIL )
1659