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