1 /***************************************************************************
2
3 Dooyong games
4
5 driver by Nicola Salmoria
6
7 The Last Day Z80 Z80 2xYM2203
8 Gulf Storm Z80 Z80 2xYM2203
9 Pollux Z80 Z80 2xYM2203
10 Blue Hawk Z80 Z80 YM2151 OKI6295
11 Sadari Z80 Z80 YM2151 OKI6295
12 Flying Tiger Z80 Z80 YM2151 OKI6295
13 Gun Dealer '94 Z80 Z80 YM2151 OKI6295
14 Super-X 68000 Z80 YM2151 OKI6295
15 R-Shark 68000 Z80 YM2151 OKI6295
16
17 These games all run on different but similar hardware. A common thing that they
18 all have is tilemaps hardcoded in ROM.
19
20 TODO:
21 - video driver is not optimized at all
22 - port A of both of the YM2203 is constantly read and stored in memory -
23 function unknown
24 - some of the sound programs often write to the ROM area - is this just a bug, or
25 is there something connected there?
26 Last Day:
27 - sprite/fg priority is not understood (tanks, boats should pass below bridges)
28 - when you insert a coin, the demo sprites continue to move in the background.
29 Maybe the whole background and sprites are supposed to be disabled.
30 Gulf Storm:
31 - sprite/fg priority is not understood
32 - there seem to be some invisible enemies around the first bridge
33 Blue Hawk:
34 - sprite/fg priority is not understood
35 Primella:
36 - does the game really support cocktail mode as service mode suggests?
37 - are buttons 2 and 3 used as service mode suggests?
38 R-Shark, Super-X:
39 - sprite/fg priority is not understood
40
41 ***************************************************************************/
42
43 #include "driver.h"
44 #include "vidhrdw/generic.h"
45
46
47 extern unsigned char *lastday_txvideoram;
48 extern unsigned char *lastday_bgscroll,*lastday_fgscroll,*bluehawk_fg2scroll;
49 extern data16_t *rshark_scroll1,*rshark_scroll2,*rshark_scroll3,*rshark_scroll4;
50 extern data8_t *paletteram_flytiger;
51
52 WRITE_HANDLER( lastday_ctrl_w );
53 WRITE_HANDLER( pollux_ctrl_w );
54 WRITE_HANDLER( primella_ctrl_w );
55 WRITE_HANDLER( paletteram_flytiger_w );
56 WRITE_HANDLER( flytiger_ctrl_w );
57 WRITE16_HANDLER( rshark_ctrl_w );
58 VIDEO_UPDATE( lastday );
59 VIDEO_UPDATE( gulfstrm );
60 VIDEO_UPDATE( pollux );
61 VIDEO_UPDATE( bluehawk );
62 VIDEO_UPDATE( flytiger );
63 VIDEO_UPDATE( primella );
64 VIDEO_UPDATE( rshark );
65 VIDEO_EOF( dooyong );
66 VIDEO_EOF( rshark );
67
68
69
WRITE_HANDLER(lastday_bankswitch_w)70 static WRITE_HANDLER( lastday_bankswitch_w )
71 {
72 int bankaddress;
73 unsigned char *RAM = memory_region(REGION_CPU1);
74
75 bankaddress = 0x10000 + (data & 0x07) * 0x4000;
76 cpu_setbank(1,&RAM[bankaddress]);
77
78 if (data & 0xf8) usrintf_showmessage("bankswitch %02x",data);
79 }
80
WRITE_HANDLER(flip_screen_w)81 static WRITE_HANDLER( flip_screen_w )
82 {
83 flip_screen_set(data);
84 }
85
86
87
MEMORY_READ_START(lastday_readmem)88 static MEMORY_READ_START( lastday_readmem )
89 { 0x0000, 0x7fff, MRA_ROM },
90 { 0x8000, 0xbfff, MRA_BANK1 },
91 { 0xc010, 0xc010, input_port_0_r },
92 { 0xc011, 0xc011, input_port_1_r },
93 { 0xc012, 0xc012, input_port_2_r },
94 { 0xc013, 0xc013, input_port_3_r }, /* DSWA */
95 { 0xc014, 0xc014, input_port_4_r }, /* DSWB */
96 { 0xc800, 0xffff, MRA_RAM },
97 MEMORY_END
98
99 static MEMORY_WRITE_START( lastday_writemem )
100 { 0x0000, 0xbfff, MWA_ROM },
101 { 0xc000, 0xc004, MWA_RAM, &lastday_bgscroll },
102 { 0xc008, 0xc00c, MWA_RAM, &lastday_fgscroll },
103 { 0xc010, 0xc010, lastday_ctrl_w }, /* coin counter, flip screen */
104 { 0xc011, 0xc011, lastday_bankswitch_w },
105 { 0xc012, 0xc012, soundlatch_w },
106 { 0xc800, 0xcfff, paletteram_xxxxBBBBGGGGRRRR_w, &paletteram },
107 { 0xd000, 0xdfff, MWA_RAM, &lastday_txvideoram },
108 { 0xe000, 0xefff, MWA_RAM },
109 { 0xf000, 0xffff, MWA_RAM, &spriteram, &spriteram_size },
110 MEMORY_END
111
112 static MEMORY_READ_START( pollux_readmem )
113 { 0x0000, 0x7fff, MRA_ROM },
114 { 0x8000, 0xbfff, MRA_BANK1 },
115 { 0xc000, 0xefff, MRA_RAM },
116 { 0xf000, 0xf000, input_port_0_r },
117 { 0xf001, 0xf001, input_port_1_r },
118 { 0xf002, 0xf002, input_port_2_r },
119 { 0xf003, 0xf003, input_port_3_r },
120 { 0xf004, 0xf004, input_port_4_r },
121 { 0xf800, 0xffff, MRA_RAM },
122 MEMORY_END
123
124 static MEMORY_WRITE_START( pollux_writemem )
125 { 0x0000, 0xbfff, MWA_ROM },
126 { 0xc000, 0xcfff, MWA_RAM },
127 { 0xd000, 0xdfff, MWA_RAM, &spriteram, &spriteram_size },
128 { 0xe000, 0xefff, MWA_RAM, &lastday_txvideoram },
129 { 0xf000, 0xf000, lastday_bankswitch_w },
130 { 0xf008, 0xf008, pollux_ctrl_w }, /* coin counter, flip screen */
131 { 0xf010, 0xf010, soundlatch_w },
132 { 0xf018, 0xf01c, MWA_RAM, &lastday_bgscroll },
133 { 0xf020, 0xf024, MWA_RAM, &lastday_fgscroll },
134 { 0xf800, 0xffff, paletteram_xRRRRRGGGGGBBBBB_w, &paletteram },
135 MEMORY_END
136
137 static MEMORY_READ_START( bluehawk_readmem )
138 { 0x0000, 0x7fff, MRA_ROM },
139 { 0x8000, 0xbfff, MRA_BANK1 },
140 { 0xc000, 0xc000, input_port_0_r },
141 { 0xc001, 0xc001, input_port_1_r },
142 { 0xc002, 0xc002, input_port_2_r },
143 { 0xc003, 0xc003, input_port_3_r },
144 { 0xc004, 0xc004, input_port_4_r },
145 { 0xc800, 0xffff, MRA_RAM },
146 MEMORY_END
147
148 static MEMORY_WRITE_START( bluehawk_writemem )
149 { 0x0000, 0xbfff, MWA_ROM },
150 { 0xc000, 0xc000, flip_screen_w },
151 { 0xc008, 0xc008, lastday_bankswitch_w },
152 { 0xc010, 0xc010, soundlatch_w },
153 { 0xc018, 0xc01c, MWA_RAM, &bluehawk_fg2scroll },
154 { 0xc040, 0xc044, MWA_RAM, &lastday_bgscroll },
155 { 0xc048, 0xc04c, MWA_RAM, &lastday_fgscroll },
156 { 0xc800, 0xcfff, paletteram_xRRRRRGGGGGBBBBB_w, &paletteram },
157 { 0xd000, 0xdfff, MWA_RAM, &lastday_txvideoram },
158 { 0xe000, 0xefff, MWA_RAM, &spriteram, &spriteram_size },
159 { 0xf000, 0xffff, MWA_RAM },
160 MEMORY_END
161
162 static MEMORY_READ_START( flytiger_readmem )
163 { 0x0000, 0x7fff, MRA_ROM },
164 { 0x8000, 0xbfff, MRA_BANK1 },
165 { 0xc000, 0xcfff, MRA_RAM },
166 { 0xd000, 0xdfff, MRA_RAM },
167 { 0xe000, 0xe000, input_port_2_r },
168 { 0xe002, 0xe002, input_port_3_r },
169 { 0xe004, 0xe004, input_port_4_r },
170 { 0xe006, 0xe006, input_port_0_r },
171 { 0xe008, 0xe008, input_port_1_r },
172 { 0xe800, 0xefff, MRA_RAM },
173 { 0xf000, 0xf7ff, MRA_RAM },
174 { 0xf800, 0xffff, MRA_RAM },
175 MEMORY_END
176
177 static MEMORY_WRITE_START( flytiger_writemem )
178 { 0x0000, 0xbfff, MWA_ROM },
179 { 0xc000, 0xcfff, MWA_RAM, &spriteram, &spriteram_size },
180 { 0xd000, 0xdfff, MWA_RAM },
181 { 0xe000, 0xe000, lastday_bankswitch_w },
182 { 0xe010, 0xe010, flytiger_ctrl_w }, /* coin counter, flip screen */
183 { 0xe020, 0xe020, soundlatch_w },
184 { 0xe030, 0xe036, MWA_RAM, &lastday_bgscroll },
185 { 0xe040, 0xe046, MWA_RAM, &lastday_fgscroll },
186 { 0xe800, 0xefff, paletteram_flytiger_w, &paletteram_flytiger },
187 { 0xf000, 0xffff, MWA_RAM, &lastday_txvideoram },
188 MEMORY_END
189
190 static MEMORY_READ_START( primella_readmem )
191 { 0x0000, 0x7fff, MRA_ROM },
192 { 0x8000, 0xbfff, MRA_BANK1 },
193 { 0xc000, 0xcfff, MRA_RAM },
194 { 0xd000, 0xd3ff, MRA_RAM },
195 { 0xe000, 0xefff, MRA_RAM },
196 { 0xf800, 0xf800, input_port_0_r },
197 { 0xf810, 0xf810, input_port_1_r },
198 { 0xf820, 0xf820, input_port_2_r },
199 { 0xf830, 0xf830, input_port_3_r },
200 { 0xf840, 0xf840, input_port_4_r },
201 MEMORY_END
202
203 static MEMORY_WRITE_START( primella_writemem )
204 { 0x0000, 0xbfff, MWA_ROM },
205 { 0xc000, 0xcfff, MWA_RAM },
206 { 0xd000, 0xd3ff, MWA_RAM }, /* what is this? looks like a palette? scratchpad RAM maybe? */
207 { 0xe000, 0xefff, MWA_RAM, &lastday_txvideoram },
208 { 0xf000, 0xf7ff, paletteram_xRRRRRGGGGGBBBBB_w, &paletteram },
209 { 0xf800, 0xf800, primella_ctrl_w }, /* bank switch, flip screen etc */
210 { 0xf810, 0xf810, soundlatch_w },
211 { 0xfc00, 0xfc04, MWA_RAM, &lastday_bgscroll },
212 { 0xfc08, 0xfc0c, MWA_RAM, &lastday_fgscroll },
213 MEMORY_END
214
215 static MEMORY_READ16_START( rshark_readmem )
216 MEMORY_ADDRESS_BITS(20) /* super-x needs this and is similar */
217 { 0x000000, 0x03ffff, MRA16_ROM },
218 { 0x040000, 0x04cfff, MRA16_RAM },
219 { 0x04d000, 0x04dfff, MRA16_RAM },
220 { 0x04e000, 0x04ffff, MRA16_RAM },
221 { 0x0c0002, 0x0c0003, input_port_0_word_r },
222 { 0x0c0004, 0x0c0005, input_port_1_word_r },
223 { 0x0c0006, 0x0c0007, input_port_2_word_r },
224 MEMORY_END
225
226 static MEMORY_WRITE16_START( rshark_writemem )
227 MEMORY_ADDRESS_BITS(20) /* super-x needs this and is similar */
228 { 0x000000, 0x03ffff, MWA16_ROM },
229 { 0x040000, 0x04cfff, MWA16_RAM },
230 { 0x04d000, 0x04dfff, MWA16_RAM, &spriteram16, &spriteram_size },
231 { 0x04e000, 0x04ffff, MWA16_RAM },
232 { 0x0c4000, 0x0c4009, MWA16_RAM, &rshark_scroll4 },
233 { 0x0c4010, 0x0c4019, MWA16_RAM, &rshark_scroll3 },
234 { 0x0c8000, 0x0c8fff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
235 { 0x0c0012, 0x0c0013, soundlatch_word_w },
236 { 0x0c0014, 0x0c0015, rshark_ctrl_w }, /* flip screen + unknown stuff */
237 { 0x0cc000, 0x0cc009, MWA16_RAM, &rshark_scroll2 },
238 { 0x0cc010, 0x0cc019, MWA16_RAM, &rshark_scroll1 },
239 MEMORY_END
240
241 static MEMORY_READ16_START( superx_readmem )
242 MEMORY_ADDRESS_BITS(20)
243 { 0x000000, 0x03ffff, MRA16_ROM },
244 { 0x0d0000, 0x0dcfff, MRA16_RAM },
245 { 0x0dd000, 0x0ddfff, MRA16_RAM },
246 { 0x0de000, 0x0dffff, MRA16_RAM },
247 { 0x080002, 0x080003, input_port_0_word_r },
248 { 0x080004, 0x080005, input_port_1_word_r },
249 { 0x080006, 0x080007, input_port_2_word_r },
250 MEMORY_END
251
252 static MEMORY_WRITE16_START( superx_writemem )
253 MEMORY_ADDRESS_BITS(20)
254 { 0x000000, 0x03ffff, MWA16_ROM },
255 { 0x0d0000, 0x0dcfff, MWA16_RAM },
256 { 0x0dd000, 0x0ddfff, MWA16_RAM, &spriteram16, &spriteram_size },
257 { 0x0de000, 0x0dffff, MWA16_RAM },
258 { 0x084000, 0x084009, MWA16_RAM, &rshark_scroll4 },
259 { 0x084010, 0x084019, MWA16_RAM, &rshark_scroll3 },
260 { 0x088000, 0x088fff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },
261 { 0x080012, 0x080013, soundlatch_word_w },
262 { 0x080014, 0x080015, rshark_ctrl_w }, /* flip screen + unknown stuff */
263 { 0x08c000, 0x08c009, MWA16_RAM, &rshark_scroll2 },
264 { 0x08c010, 0x08c019, MWA16_RAM, &rshark_scroll1 },
265 MEMORY_END
266
267 static MEMORY_READ_START( lastday_sound_readmem )
268 { 0x0000, 0x7fff, MRA_ROM },
269 { 0xc000, 0xc7ff, MRA_RAM },
270 { 0xc800, 0xc800, soundlatch_r },
271 { 0xf000, 0xf000, YM2203_status_port_0_r },
272 { 0xf001, 0xf001, YM2203_read_port_0_r },
273 { 0xf002, 0xf002, YM2203_status_port_1_r },
274 { 0xf003, 0xf003, YM2203_read_port_1_r },
275 MEMORY_END
276
277 static MEMORY_WRITE_START( lastday_sound_writemem )
278 { 0x0000, 0x7fff, MWA_ROM },
279 { 0xc000, 0xc7ff, MWA_RAM },
280 { 0xf000, 0xf000, YM2203_control_port_0_w },
281 { 0xf001, 0xf001, YM2203_write_port_0_w },
282 { 0xf002, 0xf002, YM2203_control_port_1_w },
283 { 0xf003, 0xf003, YM2203_write_port_1_w },
284 MEMORY_END
285
286 static MEMORY_READ_START( pollux_sound_readmem )
287 { 0x0000, 0xefff, MRA_ROM },
288 { 0xf000, 0xf7ff, MRA_RAM },
289 { 0xf800, 0xf800, soundlatch_r },
290 { 0xf802, 0xf802, YM2203_status_port_0_r },
291 { 0xf803, 0xf803, YM2203_read_port_0_r },
292 { 0xf804, 0xf804, YM2203_status_port_1_r },
293 { 0xf805, 0xf805, YM2203_read_port_1_r },
294 MEMORY_END
295
296 static MEMORY_WRITE_START( pollux_sound_writemem )
297 { 0x0000, 0xefff, MWA_ROM },
298 { 0xf000, 0xf7ff, MWA_RAM },
299 { 0xf802, 0xf802, YM2203_control_port_0_w },
300 { 0xf803, 0xf803, YM2203_write_port_0_w },
301 { 0xf804, 0xf804, YM2203_control_port_1_w },
302 { 0xf805, 0xf805, YM2203_write_port_1_w },
303 MEMORY_END
304
305 static MEMORY_READ_START( bluehawk_sound_readmem )
306 { 0x0000, 0xefff, MRA_ROM },
307 { 0xf000, 0xf7ff, MRA_RAM },
308 { 0xf800, 0xf800, soundlatch_r },
309 { 0xf809, 0xf809, YM2151_status_port_0_r },
310 { 0xf80a, 0xf80a, OKIM6295_status_0_r },
311 MEMORY_END
312
313 static MEMORY_WRITE_START( bluehawk_sound_writemem )
314 { 0x0000, 0xefff, MWA_ROM },
315 { 0xf000, 0xf7ff, MWA_RAM },
316 { 0xf808, 0xf808, YM2151_register_port_0_w },
317 { 0xf809, 0xf809, YM2151_data_port_0_w },
318 { 0xf80a, 0xf80a, OKIM6295_data_0_w },
319 MEMORY_END
320
321
322
323 INPUT_PORTS_START( lastday )
324 PORT_START
325 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
326 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
327 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
328 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_TILT ) /* maybe, but I'm not sure */
329 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
330 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 )
331 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
332 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
333
334 PORT_START
335 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
336 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
337 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
338 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
339 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
340 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
341 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
342 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
343
344 PORT_START
345 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
346 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
347 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
348 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
349 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
350 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
351 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
352 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
353
354 PORT_START
355 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
356 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
357 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
358 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
359 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
360 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
361 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
362 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
363 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
364 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
365 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
366 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
367 PORT_DIPNAME( 0xc2, 0xc2, DEF_STR( Coin_B ) )
368 PORT_DIPSETTING( 0x42, DEF_STR( 2C_1C ) )
369 /* PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )*/
370 PORT_DIPSETTING( 0xc2, DEF_STR( 1C_1C ) )
371 PORT_DIPSETTING( 0x02, DEF_STR( 2C_3C ) )
372 PORT_DIPSETTING( 0x82, DEF_STR( 1C_2C ) )
373 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
374 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
375 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
376
377 PORT_START
378 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
379 PORT_DIPSETTING( 0x00, "1" )
380 PORT_DIPSETTING( 0x02, "2" )
381 PORT_DIPSETTING( 0x03, "3" )
382 PORT_DIPSETTING( 0x01, "4" )
383 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
384 PORT_DIPSETTING( 0x08, "Easy" )
385 PORT_DIPSETTING( 0x0c, "Normal" )
386 PORT_DIPSETTING( 0x04, "Hard" )
387 PORT_DIPSETTING( 0x00, "Hardest" )
388 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
389 PORT_DIPSETTING( 0x30, "Every 200000" )
390 PORT_DIPSETTING( 0x20, "Every 240000" )
391 PORT_DIPSETTING( 0x10, "280000" )
392 PORT_DIPSETTING( 0x00, "None" )
393 PORT_DIPNAME( 0x40, 0x40, "Speed" )
394 PORT_DIPSETTING( 0x00, "Low" )
395 PORT_DIPSETTING( 0x40, "High" )
396 PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
397 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
398 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
399 INPUT_PORTS_END
400
401 INPUT_PORTS_START( gulfstrm )
402 PORT_START
403 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
404 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
405 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
406 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
407 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
408 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
409 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
410 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
411 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
412 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
413 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
414 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
415 PORT_DIPNAME( 0xc2, 0xc2, DEF_STR( Coin_B ) )
416 PORT_DIPSETTING( 0x42, DEF_STR( 2C_1C ) )
417 /* PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )*/
418 PORT_DIPSETTING( 0xc2, DEF_STR( 1C_1C ) )
419 PORT_DIPSETTING( 0x02, DEF_STR( 2C_3C ) )
420 PORT_DIPSETTING( 0x82, DEF_STR( 1C_2C ) )
421 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
422 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
423 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
424
425 PORT_START
426 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
427 PORT_DIPSETTING( 0x00, "1" )
428 PORT_DIPSETTING( 0x02, "2" )
429 PORT_DIPSETTING( 0x03, "3" )
430 PORT_DIPSETTING( 0x01, "4" )
431 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
432 PORT_DIPSETTING( 0x08, "Easy" )
433 PORT_DIPSETTING( 0x0c, "Normal" )
434 PORT_DIPSETTING( 0x04, "Hard" )
435 PORT_DIPSETTING( 0x00, "Hardest" )
436 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
437 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
438 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
439 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
440 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
441 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
442 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
443 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
444 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
445 PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
446 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
447 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
448
449 PORT_START
450 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
451 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
452 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
453 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
454 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
455 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
456 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
457 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
458
459 PORT_START
460 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
461 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
462 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
463 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
464 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
465 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
466 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
467 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
468
469 PORT_START
470 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
471 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
472 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
473 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
474 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_VBLANK ) /* ??? */
475 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
476 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
477 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
478 INPUT_PORTS_END
479
480 INPUT_PORTS_START( pollux )
481 PORT_START
482 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
483 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
484 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
485 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
486 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
487 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
488 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
489 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
490 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
491 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
492 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
493 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
494 PORT_DIPNAME( 0xc2, 0xc2, DEF_STR( Coin_B ) )
495 PORT_DIPSETTING( 0x42, DEF_STR( 2C_1C ) )
496 /* PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )*/
497 PORT_DIPSETTING( 0xc2, DEF_STR( 1C_1C ) )
498 PORT_DIPSETTING( 0x02, DEF_STR( 2C_3C ) )
499 PORT_DIPSETTING( 0x82, DEF_STR( 1C_2C ) )
500 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
501 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
502 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
503
504 PORT_START
505 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
506 PORT_DIPSETTING( 0x00, "1" )
507 PORT_DIPSETTING( 0x02, "2" )
508 PORT_DIPSETTING( 0x03, "3" )
509 PORT_DIPSETTING( 0x01, "4" )
510 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
511 PORT_DIPSETTING( 0x08, "Easy" )
512 PORT_DIPSETTING( 0x0c, "Normal" )
513 PORT_DIPSETTING( 0x04, "Hard" )
514 PORT_DIPSETTING( 0x00, "Hardest" )
515 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
516 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
517 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
518 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
519 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
520 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
521 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
522 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
523 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
524 PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
525 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
526 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
527
528 PORT_START
529 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
530 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
531 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
532 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
533 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
534 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
535 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
536 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
537
538 PORT_START
539 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
540 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
541 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
542 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
543 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
544 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
545 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
546 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
547
548 PORT_START
549 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
550 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
551 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
552 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
553 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
554 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
555 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
556 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
557 INPUT_PORTS_END
558
559 INPUT_PORTS_START( bluehawk )
560 PORT_START
561 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
562 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
563 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
564 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
565 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
566 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
567 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
568 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
569 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
570 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
571 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
572 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
573 PORT_DIPNAME( 0xc2, 0xc2, DEF_STR( Coin_B ) )
574 PORT_DIPSETTING( 0x42, DEF_STR( 2C_1C ) )
575 /* PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )*/
576 PORT_DIPSETTING( 0xc2, DEF_STR( 1C_1C ) )
577 PORT_DIPSETTING( 0x02, DEF_STR( 2C_3C ) )
578 PORT_DIPSETTING( 0x82, DEF_STR( 1C_2C ) )
579 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
580 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
581 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
582
583 PORT_START
584 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
585 PORT_DIPSETTING( 0x00, "1" )
586 PORT_DIPSETTING( 0x02, "2" )
587 PORT_DIPSETTING( 0x03, "3" )
588 PORT_DIPSETTING( 0x01, "4" )
589 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
590 PORT_DIPSETTING( 0x08, "Easy" )
591 PORT_DIPSETTING( 0x0c, "Normal" )
592 PORT_DIPSETTING( 0x04, "Hard" )
593 PORT_DIPSETTING( 0x00, "Hardest" )
594 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
595 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
596 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
597 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
598 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
599 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
600 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
601 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
602 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
603 PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
604 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
605 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
606
607 PORT_START
608 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
609 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
610 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
611 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
612 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
613 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
614 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
615 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
616
617 PORT_START
618 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
619 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
620 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
621 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
622 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
623 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
624 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
625 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
626
627 PORT_START
628 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
629 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
630 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
631 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
632 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
633 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
634 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
635 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
636 INPUT_PORTS_END
637
638 INPUT_PORTS_START( flytiger )
639 PORT_START
640 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
641 PORT_DIPNAME( 0x02, 0x02, "Coin Type" )
642 PORT_DIPSETTING( 0x02, "A" )
643 PORT_DIPSETTING( 0x00, "B" )
644 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
645 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
646 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
647 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
648 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
649 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
650 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
651 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
652 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
653 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
654 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
655 PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
656 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
657 PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) )
658 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
659 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
660 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
661 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
662 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
663 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
664 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
665 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
666 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
667 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
668
669 PORT_START
670 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
671 PORT_DIPSETTING( 0x00, "1" )
672 PORT_DIPSETTING( 0x02, "2" )
673 PORT_DIPSETTING( 0x03, "3" )
674 PORT_DIPSETTING( 0x01, "4" )
675 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
676 PORT_DIPSETTING( 0x08, "Easy" )
677 PORT_DIPSETTING( 0x0c, "Normal" )
678 PORT_DIPSETTING( 0x04, "Hard" )
679 PORT_DIPSETTING( 0x00, "Hardest" )
680 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
681 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
682 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
683 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
684 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
685 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
686 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
687 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
688 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
689 PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
690 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
691 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
692
693
694 PORT_START
695 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
696 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
697 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
698 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
699 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
700 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
701 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
702 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
703
704 PORT_START
705 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
706 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
707 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
708 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
709 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
710 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
711 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
712 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
713
714 PORT_START
715 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
716 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
717 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
718 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
719 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
720 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
721 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
722 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
723 INPUT_PORTS_END
724
725 INPUT_PORTS_START( primella )
726 PORT_START
727 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
728 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
729 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
730 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
731 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
732 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
733 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
734 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
735 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
736 PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
737 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
738 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
739 PORT_DIPNAME( 0xc2, 0xc2, DEF_STR( Coin_B ) )
740 PORT_DIPSETTING( 0x42, DEF_STR( 2C_1C ) )
741 /* PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )*/
742 PORT_DIPSETTING( 0xc2, DEF_STR( 1C_1C ) )
743 PORT_DIPSETTING( 0x02, DEF_STR( 2C_3C ) )
744 PORT_DIPSETTING( 0x82, DEF_STR( 1C_2C ) )
745 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
746 PORT_DIPSETTING( 0x40, DEF_STR( 1C_4C ) )
747 PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
748
749 PORT_START
750 PORT_DIPNAME( 0x03, 0x01, "Show Girl" )
751 PORT_DIPSETTING( 0x00, "Skip Skip Skip" )
752 PORT_DIPSETTING( 0x03, "Dress Dress Dress" )
753 PORT_DIPSETTING( 0x02, "Dress Half Half" )
754 PORT_DIPSETTING( 0x01, "Dress Half Nake" )
755 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
756 PORT_DIPSETTING( 0x08, "Easy" )
757 PORT_DIPSETTING( 0x0c, "Normal" )
758 PORT_DIPSETTING( 0x04, "Hard" )
759 PORT_DIPSETTING( 0x00, "Hardest" )
760 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) )
761 PORT_DIPSETTING( 0x10, DEF_STR( Upright ) )
762 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
763 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
764 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
765 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
766 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
767 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
768 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
769 PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
770 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
771 PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
772
773 PORT_START
774 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
775 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
776 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
777 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
778 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
779 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
780 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
781 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
782
783 PORT_START
784 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
785 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
786 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
787 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
788 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
789 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
790 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
791 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
792
793 PORT_START
794 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
795 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
796 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
797 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
798 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
799 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
800 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
801 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
802 INPUT_PORTS_END
803
804 INPUT_PORTS_START( rshark )
805 PORT_START
806 PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
807 PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Demo_Sounds ) )
808 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
809 PORT_DIPSETTING( 0x0004, DEF_STR( On ) )
810 PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Flip_Screen ) )
811 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
812 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
813 PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
814 PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) )
815 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) )
816 PORT_DIPSETTING( 0x0000, DEF_STR( 2C_3C ) )
817 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_2C ) )
818 PORT_DIPNAME( 0x00c2, 0x00c2, DEF_STR( Coin_B ) )
819 PORT_DIPSETTING( 0x0042, DEF_STR( 2C_1C ) )
820 /* PORT_DIPSETTING( 0x00c0, DEF_STR( 2C_1C ) )*/
821 PORT_DIPSETTING( 0x00c2, DEF_STR( 1C_1C ) )
822 PORT_DIPSETTING( 0x0002, DEF_STR( 2C_3C ) )
823 PORT_DIPSETTING( 0x0082, DEF_STR( 1C_2C ) )
824 PORT_DIPSETTING( 0x0080, DEF_STR( 1C_3C ) )
825 PORT_DIPSETTING( 0x0040, DEF_STR( 1C_4C ) )
826 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
827 PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
828 PORT_DIPSETTING( 0x0000, "1" )
829 PORT_DIPSETTING( 0x0200, "2" )
830 PORT_DIPSETTING( 0x0300, "3" )
831 PORT_DIPSETTING( 0x0100, "4" )
832 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
833 PORT_DIPSETTING( 0x0800, "Easy" )
834 PORT_DIPSETTING( 0x0c00, "Normal" )
835 PORT_DIPSETTING( 0x0400, "Hard" )
836 PORT_DIPSETTING( 0x0000, "Hardest" )
837 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
838 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
839 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
840 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
841 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
842 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
843 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
844 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
845 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
846 PORT_DIPNAME( 0x8000, 0x8000, "Allow Continue" )
847 PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
848 PORT_DIPSETTING( 0x8000, DEF_STR( Yes ) )
849
850 PORT_START
851 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
852 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
853 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
854 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
855 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
856 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
857 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
858 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
859 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
860 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
861 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
862 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
863 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
864 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
865 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
866 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
867
868 PORT_START
869 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
870 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START1 )
871 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN2 )
872 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START2 )
873 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE1 )
874 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
875 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
876 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
877 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
878 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START1 )
879 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN2 )
880 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
881 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE1 )
882 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
883 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
884 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
885 INPUT_PORTS_END
886
887
888
889 static struct GfxLayout lastday_charlayout =
890 {
891 8,8,
892 RGN_FRAC(1,2),
893 4,
894 { 0, 4, RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4 },
895 { 0, 1, 2, 3, 8+0, 8+1, 8+2, 8+3 },
896 { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
897 16*8
898 };
899
900 static struct GfxLayout bluehawk_charlayout =
901 {
902 8,8,
903 RGN_FRAC(1,1),
904 4,
905 { 0, 1, 2, 3 },
906 { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
907 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
908 32*8
909 };
910
911 static struct GfxLayout tilelayout =
912 {
913 32,32,
914 RGN_FRAC(1,1),
915 4,
916 { 0*4, 1*4, 2*4, 3*4 },
917 { 0, 1, 2, 3, 16+0, 16+1, 16+2, 16+3,
918 32*32+0, 32*32+1, 32*32+2, 32*32+3, 32*32+16+0, 32*32+16+1, 32*32+16+2, 32*32+16+3,
919 2*32*32+0, 2*32*32+1, 2*32*32+2, 2*32*32+3, 2*32*32+16+0, 2*32*32+16+1, 2*32*32+16+2, 2*32*32+16+3,
920 3*32*32+0, 3*32*32+1, 3*32*32+2, 3*32*32+3, 3*32*32+16+0, 3*32*32+16+1, 3*32*32+16+2, 3*32*32+16+3 },
921 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
922 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32,
923 16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32,
924 24*32, 25*32, 26*32, 27*32, 28*32, 29*32, 30*32, 31*32 },
925 512*8
926 };
927
928 static struct GfxLayout spritelayout =
929 {
930 16,16,
931 RGN_FRAC(1,1),
932 4,
933 { 0*4, 1*4, 2*4, 3*4 },
934 { 0, 1, 2, 3, 16+0, 16+1, 16+2, 16+3,
935 16*32+0, 16*32+1, 16*32+2, 16*32+3, 16*32+16+0, 16*32+16+1, 16*32+16+2, 16*32+16+3 },
936 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
937 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
938 128*8
939 };
940
941 static struct GfxLayout rshark_spritelayout =
942 {
943 16,16,
944 RGN_FRAC(1,1),
945 4,
946 { 0, 1, 2, 3 },
947 { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4,
948 16*32+0*4, 16*32+1*4, 16*32+2*4, 16*32+3*4, 16*32+4*4, 16*32+5*4, 16*32+6*4, 16*32+7*4 },
949 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
950 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
951 128*8
952 };
953
954
955 static struct GfxDecodeInfo lastday_gfxdecodeinfo[] =
956 {
957 { REGION_GFX1, 0, &lastday_charlayout, 0, 16 },
958 { REGION_GFX2, 0, &spritelayout, 256, 16 },
959 { REGION_GFX3, 0, &tilelayout, 768, 16 },
960 { REGION_GFX4, 0, &tilelayout, 512, 16 },
961 { -1 } /* end of array */
962 };
963
964 static struct GfxDecodeInfo bluehawk_gfxdecodeinfo[] =
965 {
966 { REGION_GFX1, 0, &bluehawk_charlayout, 0, 16 },
967 { REGION_GFX2, 0, &spritelayout, 256, 16 },
968 { REGION_GFX3, 0, &tilelayout, 768, 16 },
969 { REGION_GFX4, 0, &tilelayout, 512, 16 },
970 { REGION_GFX5, 0, &tilelayout, 0, 16 },
971 { -1 } /* end of array */
972 };
973
974 static struct GfxDecodeInfo flytiger_gfxdecodeinfo[] =
975 {
976 { REGION_GFX1, 0, &lastday_charlayout, 0, 16 },
977 { REGION_GFX2, 0, &spritelayout, 256, 16 },
978 { REGION_GFX3, 0, &tilelayout, 768, 16 },
979 { REGION_GFX4, 0, &tilelayout, 512, 32 },
980 { -1 } /* end of array */
981 };
982
983
984 static struct GfxDecodeInfo primella_gfxdecodeinfo[] =
985 {
986 { REGION_GFX1, 0, &bluehawk_charlayout, 0, 16 },
987 /* no sprites */
988 { REGION_GFX2, 0, &tilelayout, 768, 16 },
989 { REGION_GFX3, 0, &tilelayout, 512, 16 },
990 { -1 } /* end of array */
991 };
992
993 static struct GfxDecodeInfo rshark_gfxdecodeinfo[] =
994 {
995 /* no chars */
996 { REGION_GFX1, 0, &rshark_spritelayout, 0, 16 },
997 { REGION_GFX2, 0, &spritelayout, 256, 16 },
998 { REGION_GFX3, 0, &spritelayout, 512, 16 },
999 { REGION_GFX4, 0, &spritelayout, 768, 16 },
1000 { REGION_GFX5, 0, &spritelayout, 1024, 16 },
1001 { -1 } /* end of array */
1002 };
1003
1004
1005
irqhandler(int irq)1006 static void irqhandler(int irq)
1007 {
1008 cpu_set_irq_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
1009 }
1010
READ_HANDLER(unk_r)1011 READ_HANDLER( unk_r )
1012 {
1013 return 0;
1014 }
1015
1016 static struct YM2203interface ym2203_interface =
1017 {
1018 2, /* 2 chips */
1019 4000000, /* 4 MHz ? */
1020 { YM2203_VOL(40,40), YM2203_VOL(40,40) },
1021 { unk_r, unk_r },
1022 { 0 },
1023 { 0 },
1024 { 0 },
1025 { irqhandler }
1026 };
1027
1028 static struct YM2151interface bluehawk_ym2151_interface =
1029 {
1030 1, /* 1 chip */
1031 3579545, /* 3.579545 MHz ? */
1032 { YM3012_VOL(50,MIXER_PAN_CENTER,50,MIXER_PAN_CENTER) },
1033 { irqhandler },
1034 { 0 }
1035 };
1036
1037 static struct YM2151interface primella_ym2151_interface =
1038 {
1039 1, /* 1 chip */
1040 4000000, /* measured on super-x */
1041 { YM3012_VOL(40,MIXER_PAN_CENTER,40,MIXER_PAN_CENTER) },
1042 { irqhandler },
1043 { 0 }
1044 };
1045
1046 static struct OKIM6295interface okim6295_interface =
1047 {
1048 1, /* 1 chip */
1049 { 1000000/132 }, /* measured on super-x */
1050 { REGION_SOUND1 }, /* memory region */
1051 { 60 }
1052 };
1053
1054
1055
1056 static MACHINE_DRIVER_START( lastday )
1057
1058 /* basic machine hardware */
1059 MDRV_CPU_ADD(Z80, 8000000) /* ??? */
MDRV_CPU_MEMORY(lastday_readmem,lastday_writemem)1060 MDRV_CPU_MEMORY(lastday_readmem,lastday_writemem)
1061 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1062
1063 MDRV_CPU_ADD(Z80, 4000000)
1064 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ??? */
1065 MDRV_CPU_MEMORY(lastday_sound_readmem,lastday_sound_writemem)
1066
1067 MDRV_FRAMES_PER_SECOND(60)
1068 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1069
1070 /* video hardware */
1071 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1072 MDRV_SCREEN_SIZE(64*8, 32*8)
1073 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
1074 MDRV_GFXDECODE(lastday_gfxdecodeinfo)
1075 MDRV_PALETTE_LENGTH(1024)
1076
1077 MDRV_VIDEO_EOF(dooyong)
1078 MDRV_VIDEO_UPDATE(lastday)
1079
1080 /* sound hardware */
1081 MDRV_SOUND_ADD(YM2203, ym2203_interface)
1082 MACHINE_DRIVER_END
1083
1084 static MACHINE_DRIVER_START( gulfstrm )
1085
1086 /* basic machine hardware */
1087 MDRV_CPU_ADD(Z80, 8000000) /* ??? */
1088 MDRV_CPU_MEMORY(pollux_readmem,pollux_writemem)
1089 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1090
1091 MDRV_CPU_ADD(Z80, 4000000)
1092 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ??? */
1093 MDRV_CPU_MEMORY(lastday_sound_readmem,lastday_sound_writemem)
1094
1095 MDRV_FRAMES_PER_SECOND(60)
1096 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
1097
1098 /* video hardware */
1099 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1100 MDRV_SCREEN_SIZE(64*8, 32*8)
1101 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
1102 MDRV_GFXDECODE(lastday_gfxdecodeinfo)
1103 MDRV_PALETTE_LENGTH(1024)
1104
1105 MDRV_VIDEO_EOF(dooyong)
1106 MDRV_VIDEO_UPDATE(gulfstrm)
1107
1108 /* sound hardware */
1109 MDRV_SOUND_ADD(YM2203, ym2203_interface)
1110 MACHINE_DRIVER_END
1111
1112 static MACHINE_DRIVER_START( pollux )
1113
1114 /* basic machine hardware */
1115 MDRV_CPU_ADD(Z80, 8000000) /* ??? */
1116 MDRV_CPU_MEMORY(pollux_readmem,pollux_writemem)
1117 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1118
1119 MDRV_CPU_ADD(Z80, 4000000)
1120 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ??? */
1121 MDRV_CPU_MEMORY(pollux_sound_readmem,pollux_sound_writemem)
1122
1123 MDRV_FRAMES_PER_SECOND(60)
1124 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1125
1126 /* video hardware */
1127 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1128 MDRV_SCREEN_SIZE(64*8, 32*8)
1129 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
1130 MDRV_GFXDECODE(lastday_gfxdecodeinfo)
1131 MDRV_PALETTE_LENGTH(1024)
1132
1133 MDRV_VIDEO_EOF(dooyong)
1134 MDRV_VIDEO_UPDATE(pollux)
1135
1136 /* sound hardware */
1137 MDRV_SOUND_ADD(YM2203, ym2203_interface)
1138 MACHINE_DRIVER_END
1139
1140 static MACHINE_DRIVER_START( bluehawk )
1141
1142 /* basic machine hardware */
1143 MDRV_CPU_ADD(Z80, 8000000) /* ??? */
1144 MDRV_CPU_MEMORY(bluehawk_readmem,bluehawk_writemem)
1145 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1146
1147 MDRV_CPU_ADD(Z80, 4000000)
1148 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ??? */
1149 MDRV_CPU_MEMORY(bluehawk_sound_readmem,bluehawk_sound_writemem)
1150
1151 MDRV_FRAMES_PER_SECOND(60)
1152 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1153
1154 /* video hardware */
1155 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1156 MDRV_SCREEN_SIZE(64*8, 32*8)
1157 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
1158 MDRV_GFXDECODE(bluehawk_gfxdecodeinfo)
1159 MDRV_PALETTE_LENGTH(1024)
1160
1161 MDRV_VIDEO_EOF(dooyong)
1162 MDRV_VIDEO_UPDATE(bluehawk)
1163
1164 /* sound hardware */
1165 MDRV_SOUND_ADD(YM2151, bluehawk_ym2151_interface)
1166 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
1167 MACHINE_DRIVER_END
1168
1169 static MACHINE_DRIVER_START( flytiger )
1170
1171 /* basic machine hardware */
1172 MDRV_CPU_ADD(Z80, 8000000) /* ??? */
1173 MDRV_CPU_MEMORY(flytiger_readmem,flytiger_writemem)
1174 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1175
1176 MDRV_CPU_ADD(Z80, 4000000)
1177 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ??? */
1178 MDRV_CPU_MEMORY(bluehawk_sound_readmem,bluehawk_sound_writemem)
1179
1180 MDRV_FRAMES_PER_SECOND(60)
1181 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1182
1183 /* video hardware */
1184 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1185 MDRV_SCREEN_SIZE(64*8, 32*8)
1186 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
1187 MDRV_GFXDECODE(flytiger_gfxdecodeinfo)
1188 MDRV_PALETTE_LENGTH(1024)
1189
1190 MDRV_VIDEO_EOF(dooyong)
1191 MDRV_VIDEO_UPDATE(flytiger)
1192
1193 /* sound hardware */
1194 MDRV_SOUND_ADD(YM2151, bluehawk_ym2151_interface)
1195 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
1196 MACHINE_DRIVER_END
1197
1198 static MACHINE_DRIVER_START( primella )
1199
1200 /* basic machine hardware */
1201 MDRV_CPU_ADD(Z80, 8000000) /* ??? */
1202 MDRV_CPU_MEMORY(primella_readmem,primella_writemem)
1203 MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1204
1205 MDRV_CPU_ADD(Z80, 4000000)
1206 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ??? */
1207 MDRV_CPU_MEMORY(bluehawk_sound_readmem,bluehawk_sound_writemem)
1208
1209 MDRV_FRAMES_PER_SECOND(60)
1210 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1211
1212 /* video hardware */
1213 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1214 MDRV_SCREEN_SIZE(64*8, 32*8)
1215 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 0*8, 32*8-1 )
1216 MDRV_GFXDECODE(primella_gfxdecodeinfo)
1217 MDRV_PALETTE_LENGTH(1024)
1218
1219 MDRV_VIDEO_EOF(dooyong)
1220 MDRV_VIDEO_UPDATE(primella)
1221
1222 /* sound hardware */
1223 MDRV_SOUND_ADD(YM2151, primella_ym2151_interface)
1224 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
1225 MACHINE_DRIVER_END
1226
1227 static INTERRUPT_GEN( rshark_interrupt )
1228 {
1229 if (cpu_getiloops() == 0)
1230 cpu_set_irq_line(0, 5, HOLD_LINE);
1231 else
1232 cpu_set_irq_line(0, 6, HOLD_LINE);
1233 }
1234
1235 static MACHINE_DRIVER_START( rshark )
1236
1237 /* basic machine hardware */
1238 MDRV_CPU_ADD(M68000, 8000000) /* measured on super-x */
1239 MDRV_CPU_MEMORY(rshark_readmem,rshark_writemem)
1240 MDRV_CPU_VBLANK_INT(rshark_interrupt,2) /* 5 and 6 */
1241
1242 MDRV_CPU_ADD(Z80, 4000000)
1243 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* measured on super-x */
1244 MDRV_CPU_MEMORY(bluehawk_sound_readmem,bluehawk_sound_writemem)
1245
1246 MDRV_FRAMES_PER_SECOND(60)
1247 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1248
1249 /* video hardware */
1250 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1251 MDRV_SCREEN_SIZE(64*8, 32*8)
1252 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
1253 MDRV_GFXDECODE(rshark_gfxdecodeinfo)
1254 MDRV_PALETTE_LENGTH(2048)
1255
1256 MDRV_VIDEO_EOF(rshark)
1257 MDRV_VIDEO_UPDATE(rshark)
1258
1259 /* sound hardware */
1260 MDRV_SOUND_ADD(YM2151, primella_ym2151_interface)
1261 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
1262 MACHINE_DRIVER_END
1263
1264 static MACHINE_DRIVER_START( superx ) /* dif mem map*/
1265
1266 /* basic machine hardware */
1267 MDRV_CPU_ADD(M68000, 8000000) /* measured on super-x */
1268 MDRV_CPU_MEMORY(superx_readmem,superx_writemem)
1269 MDRV_CPU_VBLANK_INT(rshark_interrupt,2) /* 5 and 6 */
1270
1271 MDRV_CPU_ADD(Z80, 4000000)
1272 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* measured on super-x */
1273 MDRV_CPU_MEMORY(bluehawk_sound_readmem,bluehawk_sound_writemem)
1274
1275 MDRV_FRAMES_PER_SECOND(60)
1276 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1277
1278 /* video hardware */
1279 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_BUFFERS_SPRITERAM)
1280 MDRV_SCREEN_SIZE(64*8, 32*8)
1281 MDRV_VISIBLE_AREA(8*8, (64-8)*8-1, 1*8, 31*8-1 )
1282 MDRV_GFXDECODE(rshark_gfxdecodeinfo)
1283 MDRV_PALETTE_LENGTH(2048)
1284
1285 MDRV_VIDEO_EOF(rshark)
1286 MDRV_VIDEO_UPDATE(rshark)
1287
1288 /* sound hardware */
1289 MDRV_SOUND_ADD(YM2151, primella_ym2151_interface)
1290 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
1291 MACHINE_DRIVER_END
1292
1293 ROM_START( lastday )
1294 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1295 ROM_LOAD( "lday3.bin", 0x00000, 0x10000, CRC(a06dfb1e) SHA1(c6220eda8c01d55862700e369db7291dbbedc8c8) )
1296 ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
1297 ROM_LOAD( "lday4.bin", 0x20000, 0x10000, CRC(70961ea6) SHA1(245d3da67abb4a511a024f030de461b9a2b4804e) ) /* banked at 0x8000-0xbfff */
1298
1299 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1300 ROM_LOAD( "lday1.bin", 0x0000, 0x8000, CRC(dd4316fd) SHA1(496e6657bb76d91f488a2464d1af1be095ab9105) ) /* empty */
1301 ROM_CONTINUE( 0x0000, 0x8000 )
1302
1303 ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1304 ROM_LOAD( "lday2.bin", 0x0000, 0x8000, CRC(83eb572c) SHA1(e915afd55d505bce202206c9ecfa89bad561ef6c) ) /* empty */
1305 ROM_CONTINUE( 0x0000, 0x8000 )
1306
1307 ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1308 ROM_LOAD16_BYTE( "lday16.bin", 0x00000, 0x20000, CRC(df503504) SHA1(daa58a7bc24415b5f59b7c7cc918bc85de9702a3) )
1309 ROM_LOAD16_BYTE( "lday15.bin", 0x00001, 0x20000, CRC(cd990442) SHA1(891b2163db23ab0bb40cbadce6e06fc067d0532f) )
1310
1311 ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE ) /* tiles */
1312 ROM_LOAD16_BYTE( "lday6.bin", 0x00000, 0x20000, CRC(1054361d) SHA1(52566786ca8177404be8b66fd7de94ac25fc49ea) )
1313 ROM_LOAD16_BYTE( "lday9.bin", 0x00001, 0x20000, CRC(6952ef4d) SHA1(b4e5ec02e97df213fe0bd4cd8a2ca77d7ecf8ad5) )
1314 ROM_LOAD16_BYTE( "lday7.bin", 0x40000, 0x20000, CRC(6e57a888) SHA1(8efe876ea3c788b83e8291f7fc6f55b90de158c8) )
1315 ROM_LOAD16_BYTE( "lday10.bin", 0x40001, 0x20000, CRC(a5548dca) SHA1(9914e01c1739c3bfd868a01e53c9030726ced4ea) )
1316
1317 ROM_REGION( 0x40000, REGION_GFX4, ROMREGION_DISPOSE ) /* tiles */
1318 ROM_LOAD16_BYTE( "lday12.bin", 0x00000, 0x20000, CRC(992bc4af) SHA1(94570ebd1ee6acf1871cf914907acd12dca4026e) )
1319 ROM_LOAD16_BYTE( "lday14.bin", 0x00001, 0x20000, CRC(a79abc85) SHA1(3e63dad11db9b7420331403a1d551d8c041c4cc2) )
1320
1321 ROM_REGION( 0x20000, REGION_GFX5, 0 ) /* background tilemaps */
1322 ROM_LOAD16_BYTE( "lday5.bin", 0x00000, 0x10000, CRC(4789bae8) SHA1(6ffecc16eb8c9c783b02c4ef68cb5098b01fafef) )
1323 ROM_LOAD16_BYTE( "lday8.bin", 0x00001, 0x10000, CRC(92402b9a) SHA1(2ca8078d2687afbe7b6fc5412de16c6fbc11a650) )
1324
1325 ROM_REGION( 0x20000, REGION_GFX6, 0 ) /* fg tilemaps */
1326 ROM_LOAD16_BYTE( "lday11.bin", 0x00000, 0x10000, CRC(04b961de) SHA1(7a94c9d0800d79048660cf3758708a346ead33f9) )
1327 ROM_LOAD16_BYTE( "lday13.bin", 0x00001, 0x10000, CRC(6bdbd887) SHA1(a54f26f9ddd72b8b8f7a030610c1c4a5f94a3358) )
1328 ROM_END
1329
1330 ROM_START( lastdaya )
1331 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1332 ROM_LOAD( "lday3.bin", 0x00000, 0x10000, CRC(a06dfb1e) SHA1(c6220eda8c01d55862700e369db7291dbbedc8c8) )
1333 ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
1334 ROM_LOAD( "lday4.bin", 0x20000, 0x10000, CRC(70961ea6) SHA1(245d3da67abb4a511a024f030de461b9a2b4804e) ) /* banked at 0x8000-0xbfff */
1335
1336 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1337 ROM_LOAD( "e1", 0x0000, 0x8000, CRC(ce96e106) SHA1(5ef1f221618abd757e02db79c3d7016100f30c07) ) /* empty */
1338 ROM_CONTINUE( 0x0000, 0x8000 )
1339
1340 ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1341 ROM_LOAD( "lday2.bin", 0x0000, 0x8000, CRC(83eb572c) SHA1(e915afd55d505bce202206c9ecfa89bad561ef6c) ) /* empty */
1342 ROM_CONTINUE( 0x0000, 0x8000 )
1343
1344 ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1345 ROM_LOAD16_BYTE( "lday16.bin", 0x00000, 0x20000, CRC(df503504) SHA1(daa58a7bc24415b5f59b7c7cc918bc85de9702a3) )
1346 ROM_LOAD16_BYTE( "lday15.bin", 0x00001, 0x20000, CRC(cd990442) SHA1(891b2163db23ab0bb40cbadce6e06fc067d0532f) )
1347
1348 ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE ) /* tiles */
1349 ROM_LOAD16_BYTE( "e6", 0x00000, 0x20000, CRC(7623c443) SHA1(abfed648a8cc438dbb7de9c23a663082667ca366) )
1350 ROM_LOAD16_BYTE( "e9", 0x00001, 0x20000, CRC(717f6a0e) SHA1(0b2d98fa5b8734210df18bce7725972fd42a6e4a) )
1351 ROM_LOAD16_BYTE( "lday7.bin", 0x40000, 0x20000, CRC(6e57a888) SHA1(8efe876ea3c788b83e8291f7fc6f55b90de158c8) )
1352 ROM_LOAD16_BYTE( "lday10.bin", 0x40001, 0x20000, CRC(a5548dca) SHA1(9914e01c1739c3bfd868a01e53c9030726ced4ea) )
1353
1354 ROM_REGION( 0x40000, REGION_GFX4, ROMREGION_DISPOSE ) /* tiles */
1355 ROM_LOAD16_BYTE( "lday12.bin", 0x00000, 0x20000, CRC(992bc4af) SHA1(94570ebd1ee6acf1871cf914907acd12dca4026e) )
1356 ROM_LOAD16_BYTE( "lday14.bin", 0x00001, 0x20000, CRC(a79abc85) SHA1(3e63dad11db9b7420331403a1d551d8c041c4cc2) )
1357
1358 ROM_REGION( 0x20000, REGION_GFX5, 0 ) /* bg tilemaps */
1359 ROM_LOAD16_BYTE( "e5", 0x00000, 0x10000, CRC(5f801410) SHA1(382c1bcd69a6a5c245d2ba7603bc273fba840c8f) )
1360 ROM_LOAD16_BYTE( "e8", 0x00001, 0x10000, CRC(a7b8250b) SHA1(4bd79c09dacf69e1993353d7fcc7746d1324e9b0) )
1361
1362 ROM_REGION( 0x20000, REGION_GFX6, 0 ) /* fg tilemaps */
1363 ROM_LOAD16_BYTE( "lday11.bin", 0x00000, 0x10000, CRC(04b961de) SHA1(7a94c9d0800d79048660cf3758708a346ead33f9) )
1364 ROM_LOAD16_BYTE( "lday13.bin", 0x00001, 0x10000, CRC(6bdbd887) SHA1(a54f26f9ddd72b8b8f7a030610c1c4a5f94a3358) )
1365 ROM_END
1366
1367 ROM_START( gulfstrm )
1368 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1369 ROM_LOAD( "1.l4", 0x00000, 0x20000, CRC(59e0478b) SHA1(dd6e48c6e91ddb087d20336eab79bbadd968d4b1) )
1370 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1371
1372 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1373 ROM_LOAD( "3.c5", 0x00000, 0x10000, CRC(c029b015) SHA1(86f8d4f6560cb99e25e8e8baf72dde743a7b9c4c) )
1374
1375 ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1376 ROM_LOAD( "2.s4", 0x0000, 0x8000, CRC(c2d65a25) SHA1(a198b42c0737b253aca5bab6fb58ab561ccc1d5c) ) /* empty */
1377 ROM_CONTINUE( 0x0000, 0x8000 )
1378
1379 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1380 ROM_LOAD16_BYTE( "14.b1", 0x00000, 0x20000, CRC(67bdf73d) SHA1(3e357448b6f255fdec731f143afa3d3149523ed2) )
1381 ROM_LOAD16_BYTE( "16.c1", 0x00001, 0x20000, CRC(7770a76f) SHA1(4f9f5245f59008b26ed60e636285ea85271744e7) )
1382 ROM_LOAD16_BYTE( "15.b1", 0x40000, 0x20000, CRC(84803f7e) SHA1(74b694c0d20c5b016b9d7258b0296229972151d5) )
1383 ROM_LOAD16_BYTE( "17.e1", 0x40001, 0x20000, CRC(94706500) SHA1(8f4a6f7ce20b1b50577271601c2c2632b5a2292c) )
1384
1385 ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE ) /* tiles */
1386 ROM_LOAD16_BYTE( "4.d8", 0x00000, 0x20000, CRC(858fdbb6) SHA1(4c317ab6069a8509287d3df88cf4272f512a40a3) )
1387 ROM_LOAD16_BYTE( "5.b9", 0x00001, 0x20000, CRC(c0a552e8) SHA1(31dcb14eb8815c609b0bf4d5f1ea17b26ab18aec) )
1388 ROM_LOAD16_BYTE( "6.d8", 0x40000, 0x20000, CRC(20eedda3) SHA1(8c8b1284e07f5380037f8431f2649aa99fd47542) )
1389 ROM_LOAD16_BYTE( "7.d9", 0x40001, 0x20000, CRC(294f8c40) SHA1(b7afb87510ab52682151ff2b13029427487589ec) )
1390
1391 ROM_REGION( 0x40000, REGION_GFX4, ROMREGION_DISPOSE ) /* tiles */
1392 ROM_LOAD16_BYTE( "12.r8", 0x00000, 0x20000, CRC(ec3ad3e7) SHA1(276da309b788091cd6e5faada2ff9e5b0df2caea) )
1393 ROM_LOAD16_BYTE( "13.r9", 0x00001, 0x20000, CRC(c64090cb) SHA1(5dab576e5f454c62c7826d477b3f699e979753ad) )
1394
1395 ROM_REGION( 0x20000, REGION_GFX5, 0 ) /* background tilemaps */
1396 ROM_LOAD16_BYTE( "8.e8", 0x00000, 0x10000, CRC(8d7f4693) SHA1(a7c8573d9e54c8230decc3e88f76ae729d77b096) )
1397 ROM_LOAD16_BYTE( "9.e9", 0x00001, 0x10000, CRC(34d440c4) SHA1(74b0e15e75f62106177234b6ea54a5d312628802) )
1398
1399 ROM_REGION( 0x20000, REGION_GFX6, 0 ) /* fg tilemaps */
1400 ROM_LOAD16_BYTE( "10.n8", 0x00000, 0x10000, CRC(b4f15bf4) SHA1(cb203390c3f917f213807a23c442e43bc6bcfc67) )
1401 ROM_LOAD16_BYTE( "11.n9", 0x00001, 0x10000, CRC(7dfe4a9c) SHA1(40982b5b266e4a928544ab5ec330080935588c57) )
1402 ROM_END
1403
1404 ROM_START( gulfstr2 )
1405 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1406 ROM_LOAD( "18.1", 0x00000, 0x20000, CRC(d38e2667) SHA1(3690d708c7be85871d6bb32a774d711a30782126) )
1407 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1408
1409 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1410 ROM_LOAD( "3.c5", 0x00000, 0x10000, CRC(c029b015) SHA1(86f8d4f6560cb99e25e8e8baf72dde743a7b9c4c) )
1411
1412 ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1413 ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(cb555d96) SHA1(ebc1dee91a09a829db2ae6fc1616c7c989f7f1c2) ) /* empty */
1414 ROM_CONTINUE( 0x0000, 0x8000 )
1415
1416 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1417 ROM_LOAD16_BYTE( "14.b1", 0x00000, 0x20000, CRC(67bdf73d) SHA1(3e357448b6f255fdec731f143afa3d3149523ed2) )
1418 ROM_LOAD16_BYTE( "16.c1", 0x00001, 0x20000, CRC(7770a76f) SHA1(4f9f5245f59008b26ed60e636285ea85271744e7) )
1419 ROM_LOAD16_BYTE( "15.b1", 0x40000, 0x20000, CRC(84803f7e) SHA1(74b694c0d20c5b016b9d7258b0296229972151d5) )
1420 ROM_LOAD16_BYTE( "17.e1", 0x40001, 0x20000, CRC(94706500) SHA1(8f4a6f7ce20b1b50577271601c2c2632b5a2292c) )
1421
1422 ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE ) /* tiles */
1423 ROM_LOAD16_BYTE( "4.d8", 0x00000, 0x20000, CRC(858fdbb6) SHA1(4c317ab6069a8509287d3df88cf4272f512a40a3) )
1424 ROM_LOAD16_BYTE( "5.b9", 0x00001, 0x20000, CRC(c0a552e8) SHA1(31dcb14eb8815c609b0bf4d5f1ea17b26ab18aec) )
1425 ROM_LOAD16_BYTE( "6.d8", 0x40000, 0x20000, CRC(20eedda3) SHA1(8c8b1284e07f5380037f8431f2649aa99fd47542) )
1426 ROM_LOAD16_BYTE( "7.d9", 0x40001, 0x20000, CRC(294f8c40) SHA1(b7afb87510ab52682151ff2b13029427487589ec) )
1427
1428 ROM_REGION( 0x40000, REGION_GFX4, ROMREGION_DISPOSE ) /* tiles */
1429 ROM_LOAD16_BYTE( "12.bin", 0x00000, 0x20000, CRC(3e3d3b57) SHA1(398a6cac7144ba7bacaa36c593bcb4b3c051eb0f) )
1430 ROM_LOAD16_BYTE( "13.bin", 0x00001, 0x20000, CRC(66fcce80) SHA1(6ab2b7cd49447d374cde40b98db0a6209dcad461) )
1431
1432 ROM_REGION( 0x20000, REGION_GFX5, 0 ) /* background tilemaps */
1433 ROM_LOAD16_BYTE( "8.e8", 0x00000, 0x10000, CRC(8d7f4693) SHA1(a7c8573d9e54c8230decc3e88f76ae729d77b096) )
1434 ROM_LOAD16_BYTE( "9.e9", 0x00001, 0x10000, CRC(34d440c4) SHA1(74b0e15e75f62106177234b6ea54a5d312628802) )
1435
1436 ROM_REGION( 0x20000, REGION_GFX6, 0 ) /* fg tilemaps */
1437 ROM_LOAD16_BYTE( "10.bin", 0x00000, 0x10000, CRC(08149140) SHA1(ff0094883ca0fc81bae991d6ea62d0064d6f7c47) )
1438 ROM_LOAD16_BYTE( "11.bin", 0x00001, 0x10000, CRC(2ed7545b) SHA1(6a70743bbb03ef694310f2b5531f384209db62a1) )
1439 ROM_END
1440
1441 ROM_START( pollux )
1442 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1443 ROM_LOAD( "pollux2.bin", 0x00000, 0x10000, CRC(45e10d4e) SHA1(ece25fcc0acda9a8cfc00f3132a87469037b5a4e) )
1444 ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
1445
1446 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1447 ROM_LOAD( "pollux3.bin", 0x00000, 0x10000, CRC(85a9dc98) SHA1(a349bfb05d870ba920469066ce5c007363aca348) )
1448
1449 ROM_REGION( 0x10000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1450 ROM_LOAD( "pollux1.bin", 0x08000, 0x08000, CRC(7f7135da) SHA1(0f77841e52b3d7e731d5142fba9ed5cd57343305) )
1451 ROM_CONTINUE( 0x00000, 0x08000 )
1452
1453 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1454 ROM_LOAD16_WORD_SWAP( "polluxm2.bin", 0x00000, 0x80000, CRC(bdea6f7d) SHA1(b418710a6d12aa53037acf7bbec85a26dfac9ebe) )
1455
1456 ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE ) /* tiles */
1457 ROM_LOAD16_WORD_SWAP( "polluxm1.bin", 0x00000, 0x80000, CRC(1d2dedd2) SHA1(9bcb1c80f05eabbca2c0738e409d3cadfc14b0c8) )
1458
1459 ROM_REGION( 0x80000, REGION_GFX4, ROMREGION_DISPOSE ) /* tiles */
1460 ROM_LOAD16_BYTE( "pollux6.bin", 0x00000, 0x20000, CRC(b0391db5) SHA1(0c522c5074dc7c0a639ebfb7b9a9eddc90314081) )
1461 ROM_LOAD16_BYTE( "pollux7.bin", 0x00001, 0x20000, CRC(632f6e10) SHA1(a3605cbe7a9dc04cd8c1ab50110f72d93c78208b) )
1462 ROM_FILL( 0x40000, 0x40000, 0xff )
1463
1464 ROM_REGION( 0x20000, REGION_GFX5, 0 ) /* bg tilemaps */
1465 ROM_LOAD16_BYTE( "pollux9.bin", 0x00000, 0x10000, CRC(378d8914) SHA1(ef95903971673bc26774fe2aff17e1581a7f0eb9) )
1466 ROM_LOAD16_BYTE( "pollux8.bin", 0x00001, 0x10000, CRC(8859fa70) SHA1(7b1b9edde3f762c7ae1f0b847aa17e30140e9ffa) )
1467
1468 ROM_REGION( 0x20000, REGION_GFX6, 0 ) /* fg tilemaps */
1469 ROM_LOAD16_BYTE( "pollux5.bin", 0x00000, 0x10000, CRC(ac090d34) SHA1(6b554450d8d46165e25fd6f12ab4c4b9b63dcd35) )
1470 ROM_LOAD16_BYTE( "pollux4.bin", 0x00001, 0x10000, CRC(2c6bd3be) SHA1(6648264be83588a01f264e7ec72d84e29e0d4795) )
1471 ROM_END
1472
1473 ROM_START( polluxa )
1474 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1475 ROM_LOAD( "dooyong2.bin", 0x00000, 0x10000, CRC(e4ea8dbd) SHA1(19652261981672fae896e3065f1f5078f7ae93b6) )
1476 ROM_RELOAD( 0x10000, 0x10000 ) /* banked at 0x8000-0xbfff */
1477
1478 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1479 ROM_LOAD( "pollux3.bin", 0x00000, 0x10000, CRC(85a9dc98) SHA1(a349bfb05d870ba920469066ce5c007363aca348) )
1480
1481 ROM_REGION( 0x10000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1482 ROM_LOAD( "dooyong1.bin", 0x08000, 0x08000, CRC(a7d820b2) SHA1(bbcc3690f91a4bd4f0cff5da25cbfeceb7a19437) )
1483 ROM_CONTINUE( 0x00000, 0x08000 )
1484
1485 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1486 ROM_LOAD16_WORD_SWAP( "polluxm2.bin", 0x00000, 0x80000, CRC(bdea6f7d) SHA1(b418710a6d12aa53037acf7bbec85a26dfac9ebe) )
1487
1488 ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE ) /* tiles */
1489 ROM_LOAD16_WORD_SWAP( "polluxm1.bin", 0x00000, 0x80000, CRC(1d2dedd2) SHA1(9bcb1c80f05eabbca2c0738e409d3cadfc14b0c8) )
1490
1491 ROM_REGION( 0x80000, REGION_GFX4, ROMREGION_DISPOSE ) /* tiles */
1492 ROM_LOAD16_BYTE( "pollux6.bin", 0x00000, 0x20000, CRC(b0391db5) SHA1(0c522c5074dc7c0a639ebfb7b9a9eddc90314081) )
1493 ROM_LOAD16_BYTE( "pollux7.bin", 0x00001, 0x20000, CRC(632f6e10) SHA1(a3605cbe7a9dc04cd8c1ab50110f72d93c78208b) )
1494 ROM_FILL( 0x40000, 0x40000, 0xff )
1495
1496 ROM_REGION( 0x20000, REGION_GFX5, 0 ) /* bg tilemaps */
1497 ROM_LOAD16_BYTE( "pollux9.bin", 0x00000, 0x10000, CRC(378d8914) SHA1(ef95903971673bc26774fe2aff17e1581a7f0eb9) )
1498 ROM_LOAD16_BYTE( "pollux8.bin", 0x00001, 0x10000, CRC(8859fa70) SHA1(7b1b9edde3f762c7ae1f0b847aa17e30140e9ffa) )
1499
1500 ROM_REGION( 0x20000, REGION_GFX6, 0 ) /* fg tilemaps */
1501 ROM_LOAD16_BYTE( "pollux5.bin", 0x00000, 0x10000, CRC(ac090d34) SHA1(6b554450d8d46165e25fd6f12ab4c4b9b63dcd35) )
1502 ROM_LOAD16_BYTE( "pollux4.bin", 0x00001, 0x10000, CRC(2c6bd3be) SHA1(6648264be83588a01f264e7ec72d84e29e0d4795) )
1503 ROM_END
1504
1505 ROM_START( bluehawk )
1506 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1507 ROM_LOAD( "rom19", 0x00000, 0x20000, CRC(24149246) SHA1(458fd429a895353b8636c717dcd58d57b8723012) )
1508 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1509
1510 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1511 ROM_LOAD( "rom1", 0x00000, 0x10000, CRC(eef22920) SHA1(a3295ae7524df8c4d00ac3da422bbf66c959bf4f) )
1512
1513 ROM_REGION( 0x10000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1514 ROM_LOAD( "rom3", 0x00000, 0x10000, CRC(c192683f) SHA1(060372b21bf331671c135a074640868eeb5f13ec) )
1515
1516 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1517 ROM_LOAD16_WORD_SWAP( "dy-bh-m3", 0x00000, 0x80000, CRC(8809d157) SHA1(7f86378f9fcb95ab83b68f37a29732bb8cb3d95a) )
1518
1519 ROM_REGION( 0x80000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1520 ROM_LOAD16_WORD_SWAP( "dy-bh-m1", 0x00000, 0x80000, CRC(51816b2c) SHA1(72fb055de7979e40195316ef38a2e8c54be12e2b) )
1521
1522 ROM_REGION( 0x80000, REGION_GFX4, 0 ) /* tiles + tilemaps (together!) */
1523 ROM_LOAD16_WORD_SWAP( "dy-bh-m2", 0x00000, 0x80000, CRC(f9daace6) SHA1(5e7892bad170ab9bd52426629ad49843fbc31996) )
1524
1525 ROM_REGION( 0x40000, REGION_GFX5, 0 ) /* tiles + tilemaps (together!) */
1526 ROM_LOAD16_BYTE( "rom6", 0x00000, 0x20000, CRC(e6bd9daa) SHA1(3b478fd02b145d13e49539df5260191a5254be19) )
1527 ROM_LOAD16_BYTE( "rom5", 0x00001, 0x20000, CRC(5c654dc6) SHA1(f10f64d7114adf7f18ec37c193c524ec80236201) )
1528
1529 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1530 ROM_LOAD( "rom4", 0x00000, 0x20000, CRC(f7318919) SHA1(8b7e2ffe77603142cf1b9440585f8dfa9199ed05) )
1531 ROM_END
1532
1533 ROM_START( bluehawn )
1534 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1535 ROM_LOAD( "rom19", 0x00000, 0x20000, CRC(24149246) SHA1(458fd429a895353b8636c717dcd58d57b8723012) ) /* ROM2*/
1536 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1537
1538 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1539 ROM_LOAD( "rom1", 0x00000, 0x10000, CRC(eef22920) SHA1(a3295ae7524df8c4d00ac3da422bbf66c959bf4f) )
1540
1541 ROM_REGION( 0x10000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1542 ROM_LOAD( "rom3ntc", 0x00000, 0x10000, CRC(31eb221a) SHA1(7b893972227047d2f609fd1f97cc006eba2c9579) )
1543
1544 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1545 ROM_LOAD16_WORD_SWAP( "dy-bh-m3", 0x00000, 0x80000, CRC(8809d157) SHA1(7f86378f9fcb95ab83b68f37a29732bb8cb3d95a) ) /* ROM7+ROM8+ROM13+ROM14*/
1546
1547 ROM_REGION( 0x80000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1548 ROM_LOAD16_WORD_SWAP( "dy-bh-m1", 0x00000, 0x80000, CRC(51816b2c) SHA1(72fb055de7979e40195316ef38a2e8c54be12e2b) ) /* ROM9+ROM10+ROM15+ROM16*/
1549
1550 ROM_REGION( 0x80000, REGION_GFX4, 0 ) /* tiles + tilemaps (together!) */
1551 ROM_LOAD16_WORD_SWAP( "dy-bh-m2", 0x00000, 0x80000, CRC(f9daace6) SHA1(5e7892bad170ab9bd52426629ad49843fbc31996) ) /* ROM11+ROM12+ROM17+ROM18*/
1552
1553 ROM_REGION( 0x40000, REGION_GFX5, 0 ) /* tiles + tilemaps (together!) */
1554 ROM_LOAD16_BYTE( "rom6", 0x00000, 0x20000, CRC(e6bd9daa) SHA1(3b478fd02b145d13e49539df5260191a5254be19) )
1555 ROM_LOAD16_BYTE( "rom5", 0x00001, 0x20000, CRC(5c654dc6) SHA1(f10f64d7114adf7f18ec37c193c524ec80236201) )
1556
1557 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1558 ROM_LOAD( "rom4", 0x00000, 0x20000, CRC(f7318919) SHA1(8b7e2ffe77603142cf1b9440585f8dfa9199ed05) )
1559 ROM_END
1560
1561
1562 /*
1563
1564 Flying Tiger
1565 Dooyong, 1992
1566
1567 PCB Layout
1568 ----------
1569
1570 Bottom Board
1571
1572
1573 |----------------------------------------|
1574 | TL084 YM3012 Z80B 3.579545MHz |
1575 | 1MHz M6295 |
1576 | VOL YM2151 3 4 |
1577 | PAL 6116 |-------| |
1578 | |DY001-A| DY-FT-M1|
1579 | | | |
1580 | DSW1 PAL 6264 | | |
1581 |J |----| | | |
1582 |A |DY-2| 2 |-------| |
1583 |M |----| |
1584 |M DSW2 |
1585 |A |-------| |
1586 | |DY002-A| |
1587 | | | DY-FT-M2|
1588 | | | |
1589 | | | |
1590 | 6264 PAL |-------| |
1591 | 1 PAL |
1592 |16MHz Z80H 6116 6116 |
1593 |----------------------------------------|
1594 Notes:
1595 DY-2 : Unknown PLCC44 IC (FPGA/CPLD?) stamped 'DY-2'
1596 DY001/DY002 : Hyundai DOOYONG PLCC84 ICs (FPGA)
1597 Z80H clock : 8.000MHz [16/2]
1598 Z80B clock : 4.000MHz [16/4]
1599 M6295 clock : 1.000MHz. Sample Rate = 1000000 / 132
1600 YM2151 clock: 3.579545MHz
1601 VSync : 60Hz
1602 HSync : 15.68kHz
1603
1604
1605 Top Board
1606
1607 |--------------------------|
1608 | |
1609 | 6116 PAL PAL |
1610 | |
1611 | |
1612 | 6116 |
1613 | |
1614 | 6116 |
1615 | 16 14 |
1616 | |
1617 | 15 13 |
1618 | |
1619 | |
1620 | PAL |
1621 | |
1622 | |
1623 | 6116 |
1624 | |
1625 | |
1626 | 6116 |
1627 |--------------------------|
1628
1629 */
1630
1631 ROM_START( flytiger )
1632 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1633 ROM_LOAD( "1.3c", 0x00000, 0x20000, CRC(2d634c8e) SHA1(012ad31c0edc67d727d216e2ede321c1d1f27226) )
1634 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1635
1636 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1637 ROM_LOAD( "3.6p", 0x00000, 0x10000, CRC(d238df5e) SHA1(428fd7abd78238089c0c0fd73de57102f4f65a74))
1638
1639 ROM_REGION( 0x10000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1640 ROM_LOAD( "2.4h", 0x08000, 0x08000, CRC(2fb72912) SHA1(34453e2b49cf3a6bc9e87a8400428d95f626b97a) )
1641 ROM_CONTINUE( 0x00000, 0x8000 )
1642
1643 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE ) /* sprites */
1644 ROM_LOAD16_BYTE( "13.4h", 0x00000, 0x20000, CRC(8a158b95) SHA1(ed09d9c40b76a27e06601381e463a00b16555f1e) )
1645 ROM_LOAD16_BYTE( "15.2h", 0x00001, 0x20000, CRC(399f6043) SHA1(ea0debd6d0f8c61f0078809c2828734fc15e891d) )
1646 ROM_LOAD16_BYTE( "14.4k", 0x40000, 0x20000, CRC(df66b6f3) SHA1(3a29ae69a09306c5a2a2786acbf227832b408152) )
1647 ROM_LOAD16_BYTE( "16.2k", 0x40001, 0x20000, CRC(f24a5099) SHA1(408559057989a40ca298baa85d5fe7cbde72d2b8) )
1648
1649 ROM_REGION( 0x80000, REGION_GFX3,0 ) /* tiles + tilemaps */
1650 ROM_LOAD16_WORD_SWAP( "dy-ft-m1.11n", 0x00000, 0x80000, CRC(f06589c2) SHA1(fb4aa12257e2e0162f2219ebea5177e8bb15e3f0) )
1651
1652 ROM_REGION( 0x80000, REGION_GFX4,0 ) /* tiles + tilemaps */
1653 ROM_LOAD16_WORD_SWAP("dy-ft-m2.11g", 0x00000, 0x80000, CRC(7545f9c9) SHA1(dcab4d64a8fada5afd4a352f5a30c868676d2b57) )
1654
1655 ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1656 ROM_LOAD( "4.9n", 0x00000, 0x20000, CRC(cd95cf9a) SHA1(d79e3aeda6a13d7b87369453bcf668778135b7fe) )
1657 ROM_END
1658
1659 ROM_START( sadari )
1660 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1661 ROM_LOAD( "1.3d", 0x00000, 0x20000, CRC(bd953217) SHA1(6e230103ea01744761ab8a194d0dde6921bee92e) )
1662 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1663
1664 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1665 ROM_LOAD( "3.6r", 0x0000, 0x10000, CRC(4786fca6) SHA1(b2347e2f6bbe3dd9d1cc8d8a4af40e7997d5ab74) )
1666
1667 ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1668 ROM_LOAD( "2.4c", 0x0000, 0x20000, CRC(b2a3f1c6) SHA1(06f0038dc113c8001786157b9c9ee0eda76c2411) )
1669
1670 /* no sprites */
1671
1672 ROM_REGION( 0x80000, REGION_GFX2, 0 ) /* tiles + tilemaps (together!) */
1673 ROM_LOAD16_BYTE( "10.10l", 0x00000, 0x20000, CRC(70269ab1) SHA1(055ff484da028f11bb3097652ef4713603870f89) )
1674 ROM_LOAD16_BYTE( "5.8l", 0x00001, 0x20000, CRC(ceceb4c3) SHA1(db08bbe9d23eb50d5c0603893a6e0368e2b6bbba) )
1675 ROM_LOAD16_BYTE( "9.10n", 0x40000, 0x20000, CRC(21bd1bda) SHA1(a5c9df8b45b05130374a83e45b3fb7cce76b58f8) )
1676 ROM_LOAD16_BYTE( "4.8n", 0x40001, 0x20000, CRC(cd318ae5) SHA1(457ccaf1d841ff763878dca8e534b9738510899a) )
1677
1678 ROM_REGION( 0x80000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1679 ROM_LOAD16_BYTE( "11.10j", 0x00000, 0x20000, CRC(62a1d580) SHA1(4df60db9ad306a4d8776d10826e802cab27809f7) )
1680 ROM_LOAD16_BYTE( "6.8j", 0x00001, 0x20000, CRC(c4b13ed7) SHA1(97a33d700a8372b0e4bb13e567afc5ef898e9351) )
1681 ROM_LOAD16_BYTE( "12.10g", 0x40000, 0x20000, CRC(547b7645) SHA1(fdfe5cccdae1b88736aae702aa55fd642396ce01) )
1682 ROM_LOAD16_BYTE( "7.8g", 0x40001, 0x20000, CRC(14f20fa3) SHA1(95aabb5a5de976fb62b5cffd3efb2a86b5d62c20) )
1683
1684 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1685 ROM_LOAD( "8.10r", 0x00000, 0x20000, CRC(9c29a093) SHA1(b6252e0cb8e618cdc4a741ee7ab01058f929fd11) )
1686 ROM_END
1687
1688 ROM_START( gundl94 )
1689 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1690 ROM_LOAD( "gd94_001.d3", 0x00000, 0x20000, CRC(3a5cc045) SHA1(182743458c36bb6254a39cf9a371fd2b0d72d145) )
1691 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1692
1693 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1694 ROM_LOAD( "gd94_003.r6", 0x0000, 0x10000, CRC(ea41c4ad) SHA1(e39e0507f4f370432ef0ca11dbecef176716cec4) )
1695
1696 ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1697 ROM_LOAD( "gd94_002.c5", 0x0000, 0x20000, CRC(8575e64b) SHA1(08ef8af655a354c30ee3fe587554e418903147f5) )
1698
1699 /* no sprites */
1700
1701 ROM_REGION( 0x40000, REGION_GFX2, 0 ) /* tiles + tilemaps (together!) */
1702 ROM_LOAD16_BYTE( "gd94_009.n9", 0x00000, 0x20000, CRC(40eabf55) SHA1(660f4318248001049369e1e715c7ff09d551c256) )
1703 ROM_LOAD16_BYTE( "gd94_004.n7", 0x00001, 0x20000, CRC(0654abb9) SHA1(c0fcd8ba78db341f46acb523c670d053e3d82b16) )
1704
1705 ROM_REGION( 0x40000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1706 ROM_LOAD16_BYTE( "gd94_012.g9", 0x00000, 0x20000, CRC(117c693c) SHA1(e08bd6fbbae8ac657e6a1f9df36983ace941da3a) )
1707 ROM_LOAD16_BYTE( "gd94_007.g7", 0x00001, 0x20000, CRC(96a72c6d) SHA1(b79a746fc114eb8977591f147e4ea4a4e4f14526) )
1708
1709 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1710 ROM_LOAD( "gd94_008.r9", 0x00000, 0x20000, CRC(f92e5803) SHA1(69dd11469e9e6bdc7825a5a14994276b50c10a14) )
1711
1712 ROM_REGION( 0x30000, REGION_CPU3, 0 ) /* extra z80 rom? this doesn't seem to belong to this game! */
1713 ROM_LOAD( "gd94_011.j9", 0x00000, 0x20000, CRC(d8ad0208) SHA1(5df0f94ef86d7a03bde546e7aafdc0caf8a17076) )
1714 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1715
1716 ROM_REGION( 0x40000, REGION_GFX4, ROMREGION_DISPOSE ) /* more tiles? they don't seem to belong to this game! */
1717 ROM_LOAD16_BYTE( "gd94_006.j7", 0x00000, 0x20000, CRC(1d9536fe) SHA1(d72e66a529456c87217f9ba88f7f45aa2aa3e399) )
1718 ROM_LOAD16_BYTE( "gd94_010.l7", 0x00001, 0x20000, CRC(4b74857f) SHA1(a4413369fdb165c0f12454592181675095f28145) )
1719 ROM_END
1720
1721 ROM_START( primella )
1722 ROM_REGION( 0x30000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1723 ROM_LOAD( "1_d3.bin", 0x00000, 0x20000, CRC(82fea4e0) SHA1(3603c0edda29868d5e282465880e1ad341365f6f) )
1724 ROM_RELOAD( 0x10000, 0x20000 ) /* banked at 0x8000-0xbfff */
1725
1726 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1727 ROM_LOAD( "gd94_003.r6", 0x0000, 0x10000, CRC(ea41c4ad) SHA1(e39e0507f4f370432ef0ca11dbecef176716cec4) )
1728
1729 ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1730 ROM_LOAD( "gd94_002.c5", 0x0000, 0x20000, CRC(8575e64b) SHA1(08ef8af655a354c30ee3fe587554e418903147f5) )
1731
1732 /* no sprites */
1733
1734 ROM_REGION( 0x40000, REGION_GFX2, 0 ) /* tiles + tilemaps (together!) */
1735 ROM_LOAD16_BYTE( "7_n9.bin", 0x00000, 0x20000, CRC(20b6a574) SHA1(e180e8440bf2dc22c7d24707fc47d0c70433ecba) )
1736 ROM_LOAD16_BYTE( "4_n7.bin", 0x00001, 0x20000, CRC(fe593666) SHA1(f511e4881f79de91c501b0026de2ac5b4a59f747) )
1737
1738 ROM_REGION( 0x40000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1739 ROM_LOAD16_BYTE( "8_g9.bin", 0x00000, 0x20000, CRC(542ecb83) SHA1(0a4decaad9dde4681f7b6cdab0ae0e4951efc83d) )
1740 ROM_LOAD16_BYTE( "5_g7.bin", 0x00001, 0x20000, CRC(058ecac6) SHA1(12f70f78b882b6ce08c56f6fa9a1211c3464bf9d) )
1741
1742 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1743 ROM_LOAD( "gd94_008.r9", 0x00000, 0x20000, CRC(f92e5803) SHA1(69dd11469e9e6bdc7825a5a14994276b50c10a14) ) /* 6_r9 */
1744 ROM_END
1745
1746 /*
1747
1748 Super X
1749 NTC, 1994
1750
1751 This game runs on Dooyong hardware.
1752
1753 PCB Layout
1754 ----------
1755
1756 |-------------------------------------------------|
1757 | YM3012 Z80 4.7V 62256 62256 |
1758 | YM2151 1.5U M6295 5.7U 62256 62256 |
1759 | 6116 |
1760 | PAL ----------- 62256 62256 |
1761 | |DY208 | 62256 62256 |
1762 |J DSW1 |DY-OBJ-01| |
1763 |A ----------- |
1764 |M 2.3M 62256 SPXO-M05.10M |
1765 |M 3.3L 62256 6116 |
1766 |A 6116 |
1767 | 68000 --------- SPXB-M03.8J SPXB-MS4.10J |
1768 | DSW2 |DY160 | |
1769 | |DY-PL-1| SPXB-M04.8F SPXB-MS3.10F |
1770 | --------- |
1771 | PAL PAL |
1772 | --------- SPXB-M01.8C SPXB-MS1.10C |
1773 | 6116 |DY160 | |
1774 |8MHz 6116 |DY-PL-1| SPXB-M02.8A SPXB-MS2.10A |
1775 |-------------------------------------------------|
1776
1777 Notes:
1778 68000 clock: 8.000MHz
1779 Z80 clock: 4.000MHz
1780 YM2151 clock: 4.000MHz
1781 M6295 clock: 1.000MHz, sample rate = /132
1782 VSync: 60Hz
1783 HSync: 15.68kHz
1784
1785 ROMs:
1786 Filename Type Use
1787 --------------------------------------------
1788 1.5U 27C512 Sound program
1789
1790 2.3M 27C1000 \ Main Program
1791 3.3L 27C1000 /
1792
1793 4.7V 27C1000 \ M6295 samples
1794 5.5U 27C1000 /
1795
1796 SPXO-M05.10M 16M MASK 42 pin \
1797 SPXB-M01.8C 8M MASK 42 pin |
1798 SPXB-M02.8A " | Gfx + Tilemaps
1799 SPXB-M03.8J " |
1800 SPXB-M04.8F " /
1801 SPXB-MS1.10C 1M MASK 28 pin \
1802 SPXB-MS2.10A " | Gfx (All have fixed bits, this is correct, they contain the upper 4 bits)
1803 SPXB-MS3.10F " | (of the tilemap data)
1804 SPXB-MS4.10J " /
1805
1806 */
1807
1808 ROM_START( superx )
1809 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1810 ROM_LOAD16_BYTE( "2.3m", 0x00000, 0x20000, CRC(be7aebe7) SHA1(81934d861a15a96cf23721ad38f821e1f94ec980) )
1811 ROM_LOAD16_BYTE( "3.3l", 0x00001, 0x20000, CRC(dc4a25fc) SHA1(660bf33a9ae7534c37353f9690af180268ce7f30) )
1812
1813 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1814 ROM_LOAD( "1.5u", 0x0000, 0x10000, CRC(6894ce05) SHA1(9726fc3f1e9bebecf498c208ab03007f34936632) )
1815
1816 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE ) /* sprite */
1817 ROM_LOAD16_WORD_SWAP( "spxo-m05.10m", 0x00000, 0x200000, CRC(9120dd84) SHA1(bcf1fdc860d51b9bcfec1e84940ef21dfc41b5dc) )
1818
1819 ROM_REGION( 0x100000, REGION_GFX2, 0 ) /* tiles + tilemaps (together!) */
1820 ROM_LOAD16_WORD_SWAP( "spxb-m04.8f", 0x00000, 0x100000, CRC(91a7ac6e) SHA1(b7fb79c2e4f5eecb7128b86ee2b1070eed905d2a) ) /* bomb*/
1821
1822 ROM_REGION( 0x100000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1823 ROM_LOAD16_WORD_SWAP( "spxb-m03.8j", 0x00000, 0x100000, CRC(8b42861b) SHA1(6eb1f6bfe0b8e987e624a6fe7e025c6918804cf9) ) /* title logo*/
1824
1825 ROM_REGION( 0x100000, REGION_GFX4, 0 ) /* tiles + tilemaps (together!) */
1826 ROM_LOAD16_WORD_SWAP( "spxb-m02.8a", 0x00000, 0x100000, CRC(21b8db78) SHA1(e7c51c9566ebce5b5db5af48f33e2194b518715f)) /* title screen upper background*/
1827
1828 ROM_REGION( 0x100000, REGION_GFX5, 0 ) /* tiles + tilemaps (together!) */
1829 ROM_LOAD16_WORD_SWAP( "spxb-m01.8c", 0x00000, 0x100000, CRC(60c69129) SHA1(6871b08e354c7cf5fb16b0ed4562c537e2ce9194) ) /* title screen lower background*/
1830
1831 ROM_REGION( 0x80000, REGION_GFX6, 0 ) /* top 4 bits of tilemaps */
1832 ROM_LOAD( "spxb-ms3.10f", 0x00000, 0x20000, CRC(8bf8c77d) SHA1(a89e50bd571e754cb56a17fe4ada6a804e74520b)) /* bomb*/
1833 ROM_LOAD( "spxb-ms4.10j", 0x20000, 0x20000, CRC(d418a900) SHA1(0d69afa48d3072c7fecfc5d6dd63717b9f61c0fc) ) /* title logo*/
1834 ROM_LOAD( "spxb-ms2.10a", 0x40000, 0x20000, CRC(5ec87adf) SHA1(cdd0864ea23b2c6d8ace519fc66e77f59813e206) ) /* title screen upper background*/
1835 ROM_LOAD( "spxb-ms1.10c", 0x60000, 0x20000, CRC(40b4fe6c) SHA1(5ab63ce83522c32039ee33c59e713d2fb37aac44) ) /* title screen lower background*/
1836
1837 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1838 ROM_LOAD( "4.7v", 0x00000, 0x20000, CRC(434290b5) SHA1(3f2fb5aed1f109add17f00fe3a2364eedc7172ae) )
1839 ROM_LOAD( "5.7u", 0x20000, 0x20000, CRC(ebe6abb4) SHA1(801b22845603f86c7bab77baa6946afc613aebdb) )
1840 ROM_END
1841
1842 /* this set only had 68k roms, sound program, and samples */
1843 ROM_START( superxm )
1844 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1845 ROM_LOAD16_BYTE( "2_m.3m", 0x00000, 0x20000, CRC(41c50aac) SHA1(75f6470bde217e4b9139d8af97a17ca22c374944) )
1846 ROM_LOAD16_BYTE( "3_m.3l", 0x00001, 0x20000, CRC(6738b703) SHA1(e37f5f76b1efbd2f5098014ca380d4340204e487) )
1847
1848 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1849 ROM_LOAD( "1_m.5u", 0x0000, 0x10000, CRC(319fa632) SHA1(b621ad080e8cf6611fc88d8fc2af5aa4e31e9e01) )
1850
1851 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE ) /* sprite */
1852 ROM_LOAD16_WORD_SWAP( "spxo-m05.10m", 0x00000, 0x200000, CRC(9120dd84) SHA1(bcf1fdc860d51b9bcfec1e84940ef21dfc41b5dc) )
1853
1854 ROM_REGION( 0x100000, REGION_GFX2, 0 ) /* tiles + tilemaps (together!) */
1855 ROM_LOAD16_WORD_SWAP( "spxb-m04.8f", 0x00000, 0x100000, CRC(91a7ac6e) SHA1(b7fb79c2e4f5eecb7128b86ee2b1070eed905d2a) ) /* bomb*/
1856
1857 ROM_REGION( 0x100000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1858 ROM_LOAD16_WORD_SWAP( "spxb-m03.8j", 0x00000, 0x100000, CRC(8b42861b) SHA1(6eb1f6bfe0b8e987e624a6fe7e025c6918804cf9) ) /* title logo*/
1859
1860 ROM_REGION( 0x100000, REGION_GFX4, 0 ) /* tiles + tilemaps (together!) */
1861 ROM_LOAD16_WORD_SWAP( "spxb-m02.8a", 0x00000, 0x100000, CRC(21b8db78) SHA1(e7c51c9566ebce5b5db5af48f33e2194b518715f)) /* title screen upper background*/
1862
1863 ROM_REGION( 0x100000, REGION_GFX5, 0 ) /* tiles + tilemaps (together!) */
1864 ROM_LOAD16_WORD_SWAP( "spxb-m01.8c", 0x00000, 0x100000, CRC(60c69129) SHA1(6871b08e354c7cf5fb16b0ed4562c537e2ce9194) ) /* title screen lower background*/
1865
1866 ROM_REGION( 0x80000, REGION_GFX6, 0 ) /* top 4 bits of tilemaps */
1867 ROM_LOAD( "spxb-ms3.10f", 0x00000, 0x20000, CRC(8bf8c77d) SHA1(a89e50bd571e754cb56a17fe4ada6a804e74520b)) /* bomb*/
1868 ROM_LOAD( "spxb-ms4.10j", 0x20000, 0x20000, CRC(d418a900) SHA1(0d69afa48d3072c7fecfc5d6dd63717b9f61c0fc) ) /* title logo*/
1869 ROM_LOAD( "spxb-ms2.10a", 0x40000, 0x20000, CRC(5ec87adf) SHA1(cdd0864ea23b2c6d8ace519fc66e77f59813e206) ) /* title screen upper background*/
1870 ROM_LOAD( "spxb-ms1.10c", 0x60000, 0x20000, CRC(40b4fe6c) SHA1(5ab63ce83522c32039ee33c59e713d2fb37aac44) ) /* title screen lower background*/
1871
1872 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1873 ROM_LOAD( "4.7v", 0x00000, 0x20000, CRC(434290b5) SHA1(3f2fb5aed1f109add17f00fe3a2364eedc7172ae) )
1874 ROM_LOAD( "5.7u", 0x20000, 0x20000, CRC(ebe6abb4) SHA1(801b22845603f86c7bab77baa6946afc613aebdb) )
1875 ROM_END
1876
1877 ROM_START( rshark )
1878 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 64k for code + 128k for banks */
1879 ROM_LOAD16_BYTE( "rspl00.bin", 0x00000, 0x20000, CRC(40356b9d) SHA1(28749a0d4c1ac8e094c551594033d47061071d8b) )
1880 ROM_LOAD16_BYTE( "rspu00.bin", 0x00001, 0x20000, CRC(6635c668) SHA1(242d9c5828e142d5820c75c4e4696fcc5f5ffbb7) )
1881
1882 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound */
1883 ROM_LOAD( "rse3.bin", 0x0000, 0x10000, CRC(03c8fd17) SHA1(d59a3d8b731484572384a9d6f24ef4cd200ef661) )
1884
1885 ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE ) /* sprite */
1886 ROM_LOAD16_BYTE( "rse4.bin", 0x000000, 0x80000, CRC(b857e411) SHA1(14a8883243f3f1ee661395cbcce7d5d3c08caef8) )
1887 ROM_LOAD16_BYTE( "rse5.bin", 0x000001, 0x80000, CRC(7822d77a) SHA1(25d34b508a25ab8052d3f73eeb60c7b9e6610db6) )
1888 ROM_LOAD16_BYTE( "rse6.bin", 0x100000, 0x80000, CRC(80215c52) SHA1(6138804fc2f81cf1366cc1bcca7572e45845ca8a) )
1889 ROM_LOAD16_BYTE( "rse7.bin", 0x100001, 0x80000, CRC(bd28bbdc) SHA1(b09ce8b21a08d129703f95b6fe9361e7f6614ee3) )
1890
1891 ROM_REGION( 0x100000, REGION_GFX2, 0 ) /* tiles + tilemaps (together!) */
1892 ROM_LOAD16_BYTE( "rse11.bin", 0x00000, 0x80000, CRC(8a0c572f) SHA1(218c4e4aeacedf459c6c08cc47dd2154b7dd4279) )
1893 ROM_LOAD16_BYTE( "rse10.bin", 0x00001, 0x80000, CRC(139d5947) SHA1(e371f27091924c605962f0a88d9f1f3deb0c954e) )
1894
1895 ROM_REGION( 0x100000, REGION_GFX3, 0 ) /* tiles + tilemaps (together!) */
1896 ROM_LOAD16_BYTE( "rse15.bin", 0x00000, 0x80000, CRC(d188134d) SHA1(b0711657ad87166330b471fa449e95d63939b223) )
1897 ROM_LOAD16_BYTE( "rse14.bin", 0x00001, 0x80000, CRC(0ef637a7) SHA1(827867831f751a5ed4022932b755e128fb5886b6) )
1898
1899 ROM_REGION( 0x100000, REGION_GFX4, 0 ) /* tiles + tilemaps (together!) */
1900 ROM_LOAD16_BYTE( "rse17.bin", 0x00000, 0x80000, CRC(7ff0f3c7) SHA1(033722dbf69745676b71f7002b413abd3c7bdf3c) )
1901 ROM_LOAD16_BYTE( "rse16.bin", 0x00001, 0x80000, CRC(c176c8bc) SHA1(98ef043befd2e067012d24299196964a0957b2ea) )
1902
1903 ROM_REGION( 0x100000, REGION_GFX5, 0 ) /* tiles + tilemaps (together!) */
1904 ROM_LOAD16_BYTE( "rse21.bin", 0x00000, 0x80000, CRC(2ea665af) SHA1(67445e525016c0873bc2d831230f908388dabd4d) )
1905 ROM_LOAD16_BYTE( "rse20.bin", 0x00001, 0x80000, CRC(ef93e3ac) SHA1(397afe70c8039eb073589353bd5a9f469e8a6776) )
1906
1907 ROM_REGION( 0x80000, REGION_GFX6, 0 ) /* top 4 bits of tilemaps */
1908 ROM_LOAD( "rse12.bin", 0x00000, 0x20000, CRC(fadbf947) SHA1(0d752c2499adca883f281aed95356a7fbf78fe5f) )
1909 ROM_LOAD( "rse13.bin", 0x20000, 0x20000, CRC(323d4df6) SHA1(9ea0b84f7f565c7ca33335d286e8d4f812b216f2) )
1910 ROM_LOAD( "rse18.bin", 0x40000, 0x20000, CRC(e00c9171) SHA1(10365ddbf4d60e99758ff0bb5042648c5f0f9c34) )
1911 ROM_LOAD( "rse19.bin", 0x60000, 0x20000, CRC(d214d1d0) SHA1(98daf875fec0372c719efcfb4457db573261e9f4) )
1912
1913 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* OKI6295 samples */
1914 ROM_LOAD( "rse1.bin", 0x00000, 0x20000, CRC(0291166f) SHA1(7c4c80cfd921a07b8195306cfbd2f84947aa7d6f) )
1915 ROM_LOAD( "rse2.bin", 0x20000, 0x20000, CRC(5a26ee72) SHA1(3ceed1f50510993354dd4def577af5cf4c4a4f7a) )
1916 ROM_END
1917
1918
1919 /* The differences between the two lastday sets are only in the sound program
1920 and graphics. The main program is the same. */
1921 GAMEX(1990, lastday, 0, lastday, lastday, 0, ROT270, "Dooyong", "The Last Day (set 1)", GAME_IMPERFECT_GRAPHICS )
1922 GAMEX(1990, lastdaya, lastday, lastday, lastday, 0, ROT270, "Dooyong", "The Last Day (set 2)", GAME_IMPERFECT_GRAPHICS )
1923 GAMEX(1991, gulfstrm, 0, gulfstrm, gulfstrm, 0, ROT270, "Dooyong", "Gulf Storm", GAME_IMPERFECT_GRAPHICS )
1924 GAMEX(1991, gulfstr2, gulfstrm, gulfstrm, gulfstrm, 0, ROT270, "Dooyong (Media Shoji license)", "Gulf Storm (Media Shoji)", GAME_IMPERFECT_GRAPHICS )
1925 GAME( 1991, pollux, 0, pollux, pollux, 0, ROT270, "Dooyong", "Pollux (set 1)" )
1926 GAME( 1991, polluxa, pollux, pollux, pollux, 0, ROT270, "Dooyong", "Pollux (set 2)" )
1927 GAMEX(1992, flytiger, 0, flytiger, flytiger, 0, ROT270, "Dooyong", "Flying Tiger", GAME_IMPERFECT_GRAPHICS )
1928 GAMEX(1993, bluehawk, 0, bluehawk, bluehawk, 0, ROT270, "Dooyong", "Blue Hawk", GAME_IMPERFECT_GRAPHICS )
1929 GAMEX(1993, bluehawn, bluehawk, bluehawk, bluehawk, 0, ROT270, "[Dooyong] (NTC license)", "Blue Hawk (NTC)", GAME_IMPERFECT_GRAPHICS )
1930 GAME( 1993, sadari, 0, primella, primella, 0, ROT0, "[Dooyong] (NTC license)", "Sadari" )
1931 GAME( 1994, gundl94, 0, primella, primella, 0, ROT0, "Dooyong", "Gun Dealer '94" )
1932 GAME( 1994, primella, gundl94, primella, primella, 0, ROT0, "[Dooyong] (NTC license)", "Primella" )
1933 GAMEX(1994, superx, 0, superx, rshark, 0, ROT270, "NTC", "Super-X (NTC)", GAME_IMPERFECT_GRAPHICS )
1934 GAMEX(1994, superxm, superx, superx, rshark, 0, ROT270, "Mitchell", "Super-X (Mitchell)", GAME_IMPERFECT_GRAPHICS )
1935 GAMEX(1995, rshark, 0, rshark, rshark, 0, ROT270, "Dooyong", "R-Shark", GAME_IMPERFECT_GRAPHICS )
1936