1 /***************************************************************************
2 
3  Scramble hardware
4 
5 
6 Interesting tidbit:
7 
8 There is a bug in Amidars and Triple Punch. Look at the loop at 0x2715.
9 It expects DE to be saved during the call to 0x2726, but it can be destroyed,
10 causing the loop to read all kinds of bogus memory locations.
11 
12 
13 To Do:
14 
15 - Mariner has discrete sound circuits connected to the 8910's output ports
16 
17 
18 Notes:
19 
20 - While Atlantis has a cabinet switch, it doesn't use the 2nd player controls
21   in cocktail mode.
22 
23 ***************************************************************************/
24 
25 #include "driver.h"
26 #include "cpu/s2650/s2650.h"
27 #include "machine/8255ppi.h"
28 #include "galaxian.h"
29 
30 
31 
MEMORY_READ_START(scramble_readmem)32 static MEMORY_READ_START( scramble_readmem )
33 	{ 0x0000, 0x3fff, MRA_ROM },
34 	{ 0x4000, 0x4bff, MRA_RAM },
35 	{ 0x4c00, 0x4fff, galaxian_videoram_r },	/* mirror */
36 	{ 0x5000, 0x50ff, MRA_RAM },
37 	{ 0x7000, 0x7000, watchdog_reset_r },
38 	{ 0x7800, 0x7800, watchdog_reset_r },
39 	{ 0x8100, 0x8103, ppi8255_0_r },
40 	{ 0x8110, 0x8113, ppi8255_0_r },  /* mirror for Frog */
41 	{ 0x8200, 0x8203, ppi8255_1_r },
42 MEMORY_END
43 
44 static MEMORY_WRITE_START( scramble_writemem )
45 	{ 0x0000, 0x3fff, MWA_ROM },
46 	{ 0x4000, 0x47ff, MWA_RAM },
47 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
48 	{ 0x4c00, 0x4fff, galaxian_videoram_w },	/* mirror address */
49 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
50 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
51 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
52 	{ 0x5080, 0x50ff, MWA_RAM },
53 	{ 0x6801, 0x6801, galaxian_nmi_enable_w },
54 	{ 0x6802, 0x6802, galaxian_coin_counter_w },
55 	{ 0x6804, 0x6804, galaxian_stars_enable_w },
56 	{ 0x6806, 0x6806, galaxian_flip_screen_x_w },
57 	{ 0x6807, 0x6807, galaxian_flip_screen_y_w },
58 	{ 0x8100, 0x8103, ppi8255_0_w },
59 	{ 0x8200, 0x8203, ppi8255_1_w },
60 MEMORY_END
61 
62 
63 static MEMORY_READ_START( explorer_readmem )
64 	{ 0x0000, 0x3fff, MRA_ROM },
65 	{ 0x4000, 0x4bff, MRA_RAM },
66 	{ 0x4c00, 0x4fff, galaxian_videoram_r },	/* mirror */
67 	{ 0x5000, 0x50ff, MRA_RAM },
68 	{ 0x5100, 0x51ff, MRA_NOP },	/* test mode mirror? */
69 	{ 0x7000, 0x7000, watchdog_reset_r },
70 	{ 0x8000, 0x8000, input_port_0_r },
71 	{ 0x8001, 0x8001, input_port_1_r },
72 	{ 0x8002, 0x8002, input_port_2_r },
73 	{ 0x8003, 0x8003, input_port_3_r },
74 MEMORY_END
75 
76 static MEMORY_WRITE_START( explorer_writemem )
77 	{ 0x0000, 0x3fff, MWA_ROM },
78 	{ 0x4000, 0x47ff, MWA_RAM },
79 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
80 	{ 0x4c00, 0x4fff, galaxian_videoram_w },	/* mirror address */
81 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
82 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
83 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
84 	{ 0x5080, 0x50ff, MWA_RAM },
85 	{ 0x5100, 0x51ff, MWA_NOP },	/* test mode mirror? */
86 	{ 0x6800, 0x6800, MWA_NOP },
87 	{ 0x6801, 0x6801, galaxian_nmi_enable_w },
88 	{ 0x6802, 0x6802, galaxian_coin_counter_w },
89 	{ 0x6803, 0x6803, MWA_NOP },
90 	{ 0x6804, 0x6804, galaxian_stars_enable_w },
91 	{ 0x6806, 0x6806, galaxian_flip_screen_x_w },
92 	{ 0x6807, 0x6807, galaxian_flip_screen_y_w },
93 	{ 0x7000, 0x7000, MWA_NOP },
94 	{ 0x8000, 0x8000, soundlatch_w },
95 	{ 0x9000, 0x9000, explorer_sh_irqtrigger_w },
96 MEMORY_END
97 
98 
99 static MEMORY_READ_START( ckongs_readmem )
100 	{ 0x0000, 0x5fff, MRA_ROM },
101 	{ 0x6000, 0x6bff, MRA_RAM },
102 	{ 0x7000, 0x7003, ppi8255_0_r },
103 	{ 0x7800, 0x7803, ppi8255_1_r },
104 	{ 0x9000, 0x93ff, MRA_RAM },
105 	{ 0x9800, 0x98ff, MRA_RAM },
106 	{ 0xb000, 0xb000, watchdog_reset_r },
107 MEMORY_END
108 
109 static MEMORY_WRITE_START( ckongs_writemem )
110 	{ 0x0000, 0x5fff, MWA_ROM },
111 	{ 0x6000, 0x6bff, MWA_RAM },
112 	{ 0x7000, 0x7003, ppi8255_0_w },
113 	{ 0x7800, 0x7803, ppi8255_1_w },
114 	{ 0x9000, 0x93ff, galaxian_videoram_w, &galaxian_videoram },
115 	{ 0x9800, 0x983f, galaxian_attributesram_w, &galaxian_attributesram },
116 	{ 0x9840, 0x985f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
117 	{ 0x9860, 0x987f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
118 	{ 0x9880, 0x98ff, MWA_RAM },
119 	{ 0xa801, 0xa801, galaxian_nmi_enable_w },
120 	{ 0xa802, 0xa802, galaxian_coin_counter_w },
121 	{ 0xa806, 0xa806, galaxian_flip_screen_x_w },
122 	{ 0xa807, 0xa807, galaxian_flip_screen_y_w },
123 MEMORY_END
124 
125 
126 static MEMORY_READ_START( mars_readmem )
127 	{ 0x0000, 0x3fff, MRA_ROM },
128 	{ 0x4000, 0x4bff, MRA_RAM },
129 	{ 0x4c00, 0x4fff, galaxian_videoram_r },
130 	{ 0x5000, 0x50ff, MRA_RAM },
131 	{ 0x7000, 0x7000, watchdog_reset_r },
132 	{ 0x7000, 0x7000, MRA_NOP },
133 	{ 0x8100, 0x810f, mars_ppi8255_0_r },
134 	{ 0x8200, 0x820f, mars_ppi8255_1_r },
135 MEMORY_END
136 
137 static MEMORY_WRITE_START( mars_writemem )
138 	{ 0x0000, 0x3fff, MWA_ROM },
139 	{ 0x4000, 0x47ff, MWA_RAM },
140 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
141 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
142 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
143 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
144 	{ 0x5080, 0x50ff, MWA_RAM },
145 	{ 0x6800, 0x6800, galaxian_coin_counter_1_w },
146 	{ 0x6801, 0x6801, galaxian_stars_enable_w },
147 	{ 0x6802, 0x6802, galaxian_nmi_enable_w },
148 	{ 0x6808, 0x6808, galaxian_coin_counter_0_w },
149 	{ 0x6809, 0x6809, galaxian_flip_screen_x_w },
150 	{ 0x680b, 0x680b, galaxian_flip_screen_y_w },
151 	{ 0x8100, 0x810f, mars_ppi8255_0_w },
152 	{ 0x8200, 0x820f, mars_ppi8255_1_w },
153 MEMORY_END
154 
155 
156 static MEMORY_READ_START( newsin7_readmem )
157 	{ 0x0000, 0x3fff, MRA_ROM },
158 	{ 0x4000, 0x4bff, MRA_RAM },
159 	{ 0x4c00, 0x4fff, galaxian_videoram_r },
160 	{ 0x5000, 0x50ff, MRA_RAM },
161 	{ 0x7000, 0x7000, watchdog_reset_r },
162 	{ 0x8200, 0x820f, mars_ppi8255_1_r },
163 	{ 0xa000, 0xafff, MRA_ROM },
164 	{ 0xc100, 0xc10f, mars_ppi8255_0_r },
165 MEMORY_END
166 
167 static MEMORY_WRITE_START( newsin7_writemem )
168 	{ 0x0000, 0x3fff, MWA_ROM },
169 	{ 0x4000, 0x47ff, MWA_RAM },
170 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
171 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
172 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
173 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
174 	{ 0x5080, 0x50ff, MWA_RAM },
175 	{ 0x6800, 0x6800, galaxian_coin_counter_1_w },
176 	{ 0x6801, 0x6801, galaxian_stars_enable_w },
177 	{ 0x6802, 0x6802, galaxian_nmi_enable_w },
178 	{ 0x6808, 0x6808, galaxian_coin_counter_0_w },
179 	{ 0x6809, 0x6809, galaxian_flip_screen_x_w },
180 	{ 0x680b, 0x680b, galaxian_flip_screen_y_w },
181 	{ 0x8200, 0x820f, mars_ppi8255_1_w },
182 	{ 0xa000, 0xafff, MWA_ROM },
183 	{ 0xc100, 0xc10f, mars_ppi8255_0_w },
184 MEMORY_END
185 
186 
187 static MEMORY_WRITE_START( mrkougar_writemem )
188 	{ 0x0000, 0x3fff, MWA_ROM },
189 	{ 0x4000, 0x47ff, MWA_RAM },
190 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
191 	{ 0x4c00, 0x4fff, galaxian_videoram_w },	/* mirror address */
192 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
193 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
194 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
195 	{ 0x5080, 0x50ff, MWA_RAM },
196 	{ 0x6800, 0x6800, galaxian_coin_counter_1_w },
197 	{ 0x6801, 0x6801, galaxian_nmi_enable_w },
198 	{ 0x6808, 0x6808, galaxian_coin_counter_0_w },
199 	{ 0x6809, 0x6809, galaxian_flip_screen_x_w },
200 	{ 0x680b, 0x680b, galaxian_flip_screen_y_w },
201 	{ 0x8100, 0x810f, mars_ppi8255_0_w },
202 	{ 0x8200, 0x820f, mars_ppi8255_1_w },
203 MEMORY_END
204 
205 
206 static MEMORY_READ_START( hotshock_readmem )
207 	{ 0x0000, 0x3fff, MRA_ROM },
208 	{ 0x4000, 0x4bff, MRA_RAM },
209 	{ 0x4c00, 0x4fff, galaxian_videoram_r },
210 	{ 0x5000, 0x50ff, MRA_RAM },
211 	{ 0x8000, 0x8000, input_port_0_r },
212 	{ 0x8001, 0x8001, input_port_1_r },
213 	{ 0x8002, 0x8002, input_port_2_r },
214 	{ 0x8003, 0x8003, input_port_3_r },
215 MEMORY_END
216 
217 static MEMORY_WRITE_START( hotshock_writemem )
218 	{ 0x0000, 0x3fff, MWA_ROM },
219 	{ 0x4000, 0x47ff, MWA_RAM },
220 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
221 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
222 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
223 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
224 	{ 0x5080, 0x50ff, MWA_RAM },
225 	{ 0x6000, 0x6000, galaxian_coin_counter_2_w },
226 	{ 0x6002, 0x6002, galaxian_coin_counter_1_w },
227 	{ 0x6004, 0x6004, hotshock_flip_screen_w },
228 	{ 0x6005, 0x6005, galaxian_coin_counter_0_w },
229 	{ 0x6006, 0x6006, galaxian_gfxbank_w },
230 	{ 0x6801, 0x6801, galaxian_nmi_enable_w },
231 	{ 0x7000, 0x7000, watchdog_reset_w },
232 	{ 0x8000, 0x8000, soundlatch_w },
233 	{ 0x9000, 0x9000, hotshock_sh_irqtrigger_w },
234 MEMORY_END
235 
236 
237 static MEMORY_READ_START( hunchbks_readmem )
238 	{ 0x0000, 0x0fff, MRA_ROM },
239 	{ 0x1210, 0x1213, ppi8255_1_r },
240 	{ 0x1400, 0x14ff, MRA_RAM },
241 	{ 0x1500, 0x1503, ppi8255_0_r },
242 	{ 0x1680, 0x1680, watchdog_reset_r },
243 	{ 0x1800, 0x1fff, MRA_RAM },
244 	{ 0x2000, 0x2fff, MRA_ROM },
245 	{ 0x3000, 0x3fff, hunchbks_mirror_r },
246 	{ 0x4000, 0x4fff, MRA_ROM },
247 	{ 0x5000, 0x5fff, hunchbks_mirror_r },
248 	{ 0x6000, 0x6fff, MRA_ROM },
249 	{ 0x7000, 0x7fff, hunchbks_mirror_r },
250 MEMORY_END
251 
252 static MEMORY_WRITE_START( hunchbks_writemem )
253 	{ 0x0000, 0x0fff, MWA_ROM },
254 	{ 0x1210, 0x1213, ppi8255_1_w },
255 	{ 0x1400, 0x143f, galaxian_attributesram_w, &galaxian_attributesram },
256 	{ 0x1440, 0x145f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
257 	{ 0x1460, 0x147f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
258 	{ 0x1480, 0x14ff, MWA_RAM },
259 	{ 0x1500, 0x1503, ppi8255_0_w },
260 	{ 0x1606, 0x1606, galaxian_flip_screen_x_w },
261 	{ 0x1607, 0x1607, galaxian_flip_screen_y_w },
262 	{ 0x1800, 0x1bff, galaxian_videoram_w, &galaxian_videoram },
263 	{ 0x1c00, 0x1fff, MWA_RAM },
264 	{ 0x2000, 0x2fff, MWA_ROM },
265 	{ 0x3000, 0x3fff, hunchbks_mirror_w },
266 	{ 0x4000, 0x4fff, MWA_ROM },
267 	{ 0x5000, 0x5fff, hunchbks_mirror_w },
268 	{ 0x6000, 0x6fff, MWA_ROM },
269 	{ 0x7000, 0x7fff, hunchbks_mirror_w },
270 MEMORY_END
271 
272 
273 static MEMORY_READ_START( sfx_readmem )
274 	{ 0x0000, 0x3fff, MRA_ROM },
275 	{ 0x4000, 0x4bff, MRA_RAM },
276 	{ 0x4c00, 0x4fff, galaxian_videoram_r },	/* mirror */
277 	{ 0x5000, 0x50ff, MRA_RAM },
278 	{ 0x7000, 0x7fff, MRA_ROM },
279 	{ 0x8100, 0x8103, ppi8255_0_r },
280 	{ 0x8200, 0x8203, ppi8255_1_r },
281 	{ 0xc000, 0xefff, MRA_ROM },
282 MEMORY_END
283 
284 static MEMORY_WRITE_START( sfx_writemem )
285 	{ 0x0000, 0x3fff, MWA_ROM },
286 	{ 0x4000, 0x47ff, MWA_RAM },
287 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
288 	{ 0x4c00, 0x4fff, galaxian_videoram_w },	/* mirror address */
289 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
290 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
291 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
292 	{ 0x5080, 0x50ff, MWA_RAM },
293 	{ 0x6800, 0x6800, scramble_background_red_w },
294 	{ 0x6801, 0x6801, galaxian_nmi_enable_w },
295 	{ 0x6802, 0x6802, galaxian_coin_counter_w },
296 	{ 0x6803, 0x6803, scramble_background_blue_w },
297 	{ 0x6804, 0x6804, galaxian_stars_enable_w },
298 	{ 0x6805, 0x6805, scramble_background_green_w },
299 	{ 0x6806, 0x6806, galaxian_flip_screen_x_w },
300 	{ 0x6807, 0x6807, galaxian_flip_screen_y_w },
301 	{ 0x7000, 0x7fff, MWA_ROM },
302 	{ 0x8100, 0x8103, ppi8255_0_w },
303 	{ 0x8200, 0x8203, ppi8255_1_w },
304 	{ 0xc000, 0xefff, MWA_ROM },
305 MEMORY_END
306 
307 static MEMORY_READ_START( sfx_sample_readmem )
308 	{ 0x0000, 0x5fff, MRA_ROM },
309 	{ 0x8000, 0x83ff, MRA_RAM },
310 MEMORY_END
311 
312 static MEMORY_WRITE_START( sfx_sample_writemem )
313 	{ 0x0000, 0x5fff, MWA_ROM },
314 	{ 0x8000, 0x83ff, MWA_RAM },
315 MEMORY_END
316 
317 static PORT_READ_START( sfx_sample_readport )
318 	{ 0x04, 0x07, ppi8255_2_r },
319 MEMORY_END
320 
321 static PORT_WRITE_START( sfx_sample_writeport )
322 	{ 0x04, 0x07, ppi8255_2_w },
323 	{ 0x10, 0x10, DAC_0_signed_data_w },
324 MEMORY_END
325 
326 
327 static MEMORY_READ_START( mimonscr_readmem )
328 	{ 0x0000, 0x3fff, MRA_ROM },
329 	{ 0x4000, 0x43ff, galaxian_videoram_r },	/* mirror address?, probably not */
330 	{ 0x4400, 0x4bff, MRA_RAM },
331 	{ 0x5000, 0x50ff, MRA_RAM },
332 	{ 0x7000, 0x7000, watchdog_reset_r },
333 	{ 0x8100, 0x8103, ppi8255_0_r },
334 	{ 0x8200, 0x8203, ppi8255_1_r },
335 	{ 0xc000, 0xffff, MRA_ROM },
336 MEMORY_END
337 
338 static MEMORY_WRITE_START( mimonscr_writemem )
339 	{ 0x0000, 0x3fff, MWA_ROM },
340 	{ 0x4000, 0x43ff, galaxian_videoram_w },	/* mirror address?, probably not */
341 	{ 0x4400, 0x47ff, MWA_RAM },
342 	{ 0x4800, 0x4bff, galaxian_videoram_w, &galaxian_videoram },
343 	{ 0x5000, 0x503f, galaxian_attributesram_w, &galaxian_attributesram },
344 	{ 0x5040, 0x505f, MWA_RAM, &galaxian_spriteram, &galaxian_spriteram_size },
345 	{ 0x5060, 0x507f, MWA_RAM, &galaxian_bulletsram, &galaxian_bulletsram_size },
346 	{ 0x5080, 0x50ff, MWA_RAM },
347 	{ 0x6801, 0x6801, galaxian_nmi_enable_w },
348 	{ 0x6800, 0x6802, galaxian_gfxbank_w },
349 	{ 0x6806, 0x6806, galaxian_flip_screen_x_w },
350 	{ 0x6807, 0x6807, galaxian_flip_screen_y_w },
351 	{ 0x8100, 0x8103, ppi8255_0_w },
352 	{ 0x8200, 0x8203, ppi8255_1_w },
353 	{ 0xc000, 0xffff, MWA_ROM },
354 MEMORY_END
355 
356 
357 static PORT_READ_START( triplep_readport )
358 	{ 0x01, 0x01, AY8910_read_port_0_r },
359 	{ 0x02, 0x02, triplep_pip_r },
360 	{ 0x03, 0x03, triplep_pap_r },
361 PORT_END
362 
363 static PORT_WRITE_START( triplep_writeport )
364 	{ 0x00, 0x00, AY8910_write_port_0_w },
365 	{ 0x01, 0x01, AY8910_control_port_0_w },
366 PORT_END
367 
368 
369 static PORT_READ_START( hotshock_sound_readport )
370 	{ 0x20, 0x20, AY8910_read_port_0_r },
371 	{ 0x40, 0x40, AY8910_read_port_1_r },
372 PORT_END
373 
374 static PORT_WRITE_START( hotshock_sound_writeport )
375 	{ 0x10, 0x10, AY8910_control_port_0_w },
376 	{ 0x20, 0x20, AY8910_write_port_0_w },
377 	{ 0x40, 0x40, AY8910_write_port_1_w },
378 	{ 0x80, 0x80, AY8910_control_port_1_w },
379 PORT_END
380 
381 
382 static PORT_READ_START( hunchbks_readport )
383     { S2650_SENSE_PORT, S2650_SENSE_PORT, input_port_3_r },
384 PORT_END
385 
386 
387 
388 INPUT_PORTS_START( scramble )
389 	PORT_START	/* IN0 */
390 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
391 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
392 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
393 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
394 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
395 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
396 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
397 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
398 
399 	PORT_START	/* IN1 */
400 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
401 	PORT_DIPSETTING(    0x00, "3" )
402 	PORT_DIPSETTING(    0x01, "4" )
403 	PORT_DIPSETTING(    0x02, "5" )
404 	PORT_BITX( 0,       0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "255", IP_KEY_NONE, IP_JOY_NONE )
405 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
406 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
407 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
408 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
409 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
410 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
411 
412 	PORT_START	/* IN2 */
413 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
414 	PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
415 	PORT_DIPSETTING(    0x00, "A 1/1  B 2/1  C 1/1" )
416 	PORT_DIPSETTING(    0x02, "A 1/2  B 1/1  C 1/2" )
417 	PORT_DIPSETTING(    0x04, "A 1/3  B 3/1  C 1/3" )
418 	PORT_DIPSETTING(    0x06, "A 1/4  B 4/1  C 1/4" )
419 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
420 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
421 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
422 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
423 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL )	/* protection bit */
424 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
425 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL )	/* protection bit */
426 INPUT_PORTS_END
427 
428 INPUT_PORTS_START( explorer )
429 	PORT_START	/* IN0 */
430 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY )
431 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
432 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY )
433 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
434 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
435 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
436 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
437 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 )
438 
439 	PORT_START	/* IN1 */
440 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
441 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
442 	PORT_DIPSETTING(    0x01, DEF_STR( On ) )
443 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
444 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
445 	PORT_DIPSETTING(    0x02, DEF_STR( On ) )
446 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
447 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
448 	PORT_DIPSETTING(    0x04, DEF_STR( On ) )
449 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
450 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
451 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
452 	PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
453 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
454 	PORT_DIPSETTING(    0x10, DEF_STR( On ) )
455 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pressing this disables the coins */
456 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
457 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
458 
459 	PORT_START	/* IN2 */
460 	PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_A ) )
461 	PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
462 	PORT_DIPSETTING(    0x09, DEF_STR( 2C_2C ) )
463 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
464 	PORT_DIPSETTING(    0x0a, DEF_STR( 2C_3C ) )
465 	PORT_DIPSETTING(    0x0b, DEF_STR( 2C_4C ) )
466 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
467 	PORT_DIPSETTING(    0x0c, DEF_STR( 2C_5C ) )
468 	PORT_DIPSETTING(    0x0d, DEF_STR( 2C_6C ) )
469 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) )
470 	PORT_DIPSETTING(    0x0e, DEF_STR( 2C_7C ) )
471 	PORT_DIPSETTING(    0x0f, DEF_STR( 2C_8C ) )
472 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) )
473 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) )
474 	PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) )
475 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_7C ) )
476 	PORT_DIPSETTING(    0x07, DEF_STR( 1C_8C ) )
477 	PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coin_B ) )
478 	PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
479 	PORT_DIPSETTING(    0x90, DEF_STR( 2C_2C ) )
480 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
481 	PORT_DIPSETTING(    0xa0, DEF_STR( 2C_3C ) )
482 	PORT_DIPSETTING(    0xb0, DEF_STR( 2C_4C ) )
483 	PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) )
484 	PORT_DIPSETTING(    0xc0, DEF_STR( 2C_5C ) )
485 	PORT_DIPSETTING(    0xd0, DEF_STR( 2C_6C ) )
486 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_3C ) )
487 	PORT_DIPSETTING(    0xe0, DEF_STR( 2C_7C ) )
488 	PORT_DIPSETTING(    0xf0, DEF_STR( 2C_8C ) )
489 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_4C ) )
490 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_5C ) )
491 	PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) )
492 	PORT_DIPSETTING(    0x60, DEF_STR( 1C_7C ) )
493 	PORT_DIPSETTING(    0x70, DEF_STR( 1C_8C ) )
494 
495 	PORT_START	/* IN3 */
496 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
497 	PORT_DIPSETTING(    0x00, "2" )
498 	PORT_DIPSETTING(    0x01, "3" )
499 	PORT_DIPSETTING(    0x02, "4" )
500 	PORT_DIPSETTING(    0x03, "5" )
501 	PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Bonus_Life ) )
502 	PORT_DIPSETTING(    0x04, "10000" )
503 	PORT_DIPSETTING(    0x0c, "15000" )
504 	PORT_DIPSETTING(    0x14, "20000" )
505 	PORT_DIPSETTING(    0x1c, "25000" )
506 	PORT_DIPSETTING(    0x00, "30000" )
507 	PORT_DIPSETTING(    0x08, "50000" )
508 	PORT_DIPSETTING(    0x10, "70000" )
509 	PORT_DIPSETTING(    0x18, "90000" )
510 	PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
511 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
512 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
513 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
514 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
515 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
516 	PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
517 INPUT_PORTS_END
518 
519 INPUT_PORTS_START( atlantis )
520 	PORT_START	/* IN0 */
521 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
522 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
523 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* probably unused */
524 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
525 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
526 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
527 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
528 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
529 
530 	PORT_START	/* IN1 */
531 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
532 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
533 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
534 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Lives ) )
535 	PORT_DIPSETTING(    0x02, "3" )
536 	PORT_DIPSETTING(    0x00, "5" )
537 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
538 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
539 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
540 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
541 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
542 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
543 
544 	PORT_START	/* IN2 */
545 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
546 	PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) )
547 	PORT_DIPSETTING(    0x02, "A 1/3  B 2/1" )
548 	PORT_DIPSETTING(    0x00, "A 1/6  B 1/1" )
549 	PORT_DIPSETTING(    0x04, "A 1/99 B 1/99")
550 	/* all the other combos give 99 credits */
551 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
552 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
553 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
554 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
555 INPUT_PORTS_END
556 
557 INPUT_PORTS_START( theend )
558 	PORT_START	/* IN0 */
559 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
560 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
561 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
562 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
563 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
564 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
565 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
566 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
567 
568 	PORT_START	/* IN1 */
569 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
570 	PORT_DIPSETTING(    0x00, "3" )
571 	PORT_DIPSETTING(    0x01, "4" )
572 	PORT_DIPSETTING(    0x02, "5" )
573 	PORT_BITX( 0,       0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "256", IP_KEY_NONE, IP_JOY_NONE )
574 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
575 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
576 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
577 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
578 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
579 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
580 
581 	PORT_START	/* IN2 */
582 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
583 	PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
584 	PORT_DIPSETTING(    0x04, DEF_STR( 3C_1C ) )
585 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
586 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
587 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
588 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
589 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
590 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
591 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )		/* output bits */
592 INPUT_PORTS_END
593 
594 INPUT_PORTS_START( froggers )
595 	PORT_START	/* IN0 */
596 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
597 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */
598 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
599 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* read - function unknown */
600 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
601 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
602 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
603 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
604 
605 	PORT_START	/* IN1 */
606 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
607 	PORT_DIPSETTING(    0x00, "3" )
608 	PORT_DIPSETTING(    0x01, "5" )
609 	PORT_DIPSETTING(    0x02, "7" )
610 	PORT_BITX( 0,       0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "256", IP_KEY_NONE, IP_JOY_NONE )
611 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot2 - unused */
612 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot1 - unused */
613 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
614 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
615 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
616 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
617 
618 	PORT_START	/* IN2 */
619 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
620 	PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
621 	PORT_DIPSETTING(    0x02, "A 2/1 B 2/1 C 2/1" )
622 	PORT_DIPSETTING(    0x04, "A 2/1 B 1/3 C 2/1" )
623 	PORT_DIPSETTING(    0x00, "A 1/1 B 1/1 C 1/1" )
624 	PORT_DIPSETTING(    0x06, "A 1/1 B 1/6 C 1/1" )
625 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
626 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
627 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
628 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
629 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
630 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
631 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
632 INPUT_PORTS_END
633 
634 INPUT_PORTS_START( amidars )
635 	PORT_START	/* IN0 */
636 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
637 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */
638 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
639 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
640 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
641 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
642 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
643 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
644 
645 	PORT_START	/* IN1 */
646 	PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
647 	PORT_DIPSETTING(    0x03, "2" )
648 	PORT_DIPSETTING(    0x02, "3" )
649 	PORT_DIPSETTING(    0x01, "4" )
650 	PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "256", IP_KEY_NONE, IP_JOY_NONE )
651 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
652 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
653 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
654 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
655 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
656 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
657 
658 	PORT_START	/* IN2 */
659 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
660 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
661 	PORT_DIPSETTING(    0x00, "A 1/1 B 1/6" )
662 	PORT_DIPSETTING(    0x02, "A 2/1 B 1/3" )
663 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
664 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
665 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
666 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
667 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
668 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
669 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
670 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
671 	PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
672 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
673 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
674 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
675 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
676 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
677 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
678 INPUT_PORTS_END
679 
680 INPUT_PORTS_START( triplep )
681 	PORT_START	/* IN0 */
682 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
683 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
684 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
685 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
686 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
687 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
688 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
689 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
690 
691 	PORT_START	/* IN1 */
692 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
693 	PORT_DIPSETTING(    0x00, "3" )
694 	PORT_DIPSETTING(    0x01, "4" )
695 	PORT_DIPSETTING(    0x02, "5" )
696 	PORT_BITX( 0,       0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "256", IP_KEY_NONE, IP_JOY_NONE )
697 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
698 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
699 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
700 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
701 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
702 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
703 
704 	PORT_START	/* IN2 */
705 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
706 	PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
707 	PORT_DIPSETTING(    0x02, "A 1/2 B 1/1 C 1/2" )
708 	PORT_DIPSETTING(    0x04, "A 1/3 B 3/1 C 1/3" )
709 	PORT_DIPSETTING(    0x00, "A 1/1 B 2/1 C 1/1" )
710 	PORT_DIPSETTING(    0x06, "A 1/4 B 4/1 C 1/4" )
711 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
712 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
713 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
714 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
715 	PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
716 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
717 	PORT_BITX(    0x80, 0x00, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
718 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
719 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
720 INPUT_PORTS_END
721 
722 INPUT_PORTS_START( ckongs )
723 	PORT_START      /* IN0 */
724 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
725 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* probably unused */
726 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* probably unused */
727 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
728 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
729 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
730 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
731 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
732 
733 	PORT_START      /* IN1 */
734 	/* the coinage dip switch is spread across bits 0/1 of port 1 and bit 3 of port 2. */
735 	/* To handle that, we swap bits 0/1 of port 1 and bits 1/2 of port 2 - this is handled */
736 	/* by ckongs_input_port_N_r() */
737 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
738 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
739 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
740 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Lives ) )
741 	PORT_DIPSETTING(    0x02, "3" )
742 	PORT_DIPSETTING(    0x00, "4" )
743 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* probably unused */
744 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
745 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
746 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
747 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
748 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
749 
750 	PORT_START      /* IN2 */
751 	/* the coinage dip switch is spread across bits 0/1 of port 1 and bit 3 of port 2. */
752 	/* To handle that, we swap bits 0/1 of port 1 and bits 1/2 of port 2 - this is handled */
753 	/* by ckongs_input_port_N_r() */
754 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
755 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) )
756 	PORT_DIPSETTING(    0x00, DEF_STR( 5C_1C ) )
757 	PORT_DIPSETTING(    0x02, DEF_STR( 4C_1C ) )
758 	PORT_DIPSETTING(    0x08, DEF_STR( 3C_1C ) )
759 	PORT_DIPSETTING(    0x0a, DEF_STR( 2C_1C ) )
760 	PORT_DIPSETTING(    0x0e, DEF_STR( 1C_1C ) )
761 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_2C ) )
762 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_3C ) )
763 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
764 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
765 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* probably unused */
766 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
767 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* probably unused */
768 INPUT_PORTS_END
769 
770 INPUT_PORTS_START( mars )
771 	PORT_START	/* IN0 */
772 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_8WAY | IPF_PLAYER2 )
773 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
774 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
775 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_8WAY )
776 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_8WAY )
777 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_8WAY )
778 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
779 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
780 
781 	PORT_START	/* IN1 */
782 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coin_B ) )
783 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_3C ) )
784 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_5C ) )
785 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coin_A ) )
786 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
787 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
788 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
789 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_8WAY | IPF_PLAYER2 )
790 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_8WAY | IPF_PLAYER2 )
791 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_8WAY | IPF_PLAYER2 )
792 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
793 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
794 
795 	PORT_START	/* IN2 */
796 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_8WAY | IPF_PLAYER2 )  /* this also control cocktail mode */
797 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
798 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
799 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
800 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
801 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
802 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
803 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
804 	PORT_DIPSETTING(    0x08, "3" )
805 	PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "255", IP_KEY_NONE, IP_JOY_NONE )
806 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_8WAY )
807 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_8WAY )
808 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_8WAY )
809 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_8WAY )
810 
811 	PORT_START	/* IN3 */
812 	PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNKNOWN )
813 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_8WAY | IPF_PLAYER2 )
814 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
815 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_8WAY | IPF_PLAYER2 )
816 INPUT_PORTS_END
817 
818 INPUT_PORTS_START( devilfsh )
819 	PORT_START	/* IN0 */
820 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
821 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
822 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
823 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
824 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
825 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
826 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
827 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
828 
829 	PORT_START	/* IN1 */
830 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
831 	PORT_DIPSETTING(    0x00, "10000" )
832 	PORT_DIPSETTING(    0x01, "15000" )
833 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
834 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
835 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
836 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
837 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
838 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
839 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
840 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
841 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
842 
843 	PORT_START	/* IN2 */
844 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
845 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) )
846 	PORT_DIPSETTING(    0x00, "4" )
847 	PORT_DIPSETTING(    0x02, "5" )
848 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coin_A ) )
849 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
850 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_1C ) )
851 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coin_B ) )
852 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
853 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_5C ) )
854 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   | IPF_8WAY )
855 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
856 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
857 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
858 INPUT_PORTS_END
859 
860 INPUT_PORTS_START( newsin7 )
861 	PORT_START	/* IN0 */
862 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
863 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
864 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
865 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
866 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
867 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
868 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
869 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
870 
871 	PORT_START	/* IN1 */
872 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
873 	PORT_DIPSETTING(    0x03, " A 1C/1C  B 2C/1C" )
874 	PORT_DIPSETTING(    0x01, " A 1C/3C  B 3C/1C" )
875 	PORT_DIPSETTING(    0x02, " A 1C/2C  B 1C/1C" )
876 	PORT_DIPSETTING(    0x00, " A 1C/4C  B 4C/1C" )
877 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
878 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
879 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
880 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
881 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
882 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
883 
884 	PORT_START	/* IN2 */
885 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
886 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
887 	PORT_DIPSETTING(    0x02, DEF_STR( Upright ) )
888 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
889 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )  /* difficulty? */
890 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
891 	PORT_DIPSETTING(    0x04, DEF_STR( On ) )
892 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Lives ) )
893 	PORT_DIPSETTING(    0x00, "3" )
894 	PORT_DIPSETTING(    0x08, "5" )
895 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
896 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
897 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
898 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
899 INPUT_PORTS_END
900 
901 INPUT_PORTS_START( mrkougar )
902 	PORT_START	/* IN0 */
903 	PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNKNOWN )
904 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
905 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
906 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
907 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
908 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
909 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
910 
911 	PORT_START	/* IN1 */
912 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coin_B ) )
913 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_3C ) )
914 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_5C ) )
915 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coin_A ) )
916 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
917 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
918 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
919 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
920 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
921 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
922 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
923 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
924 
925 	PORT_START	/* IN2 */
926 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
927 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
928 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
929 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
930 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
931 	PORT_DIPSETTING(    0x00, "3" )
932 	PORT_DIPSETTING(    0x04, "5" )
933 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) )
934 	PORT_DIPSETTING(    0x00, "Hard" )
935 	PORT_DIPSETTING(    0x08, "Easy" )
936 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
937 INPUT_PORTS_END
938 
939 INPUT_PORTS_START( hotshock )
940 	PORT_START	/* IN0 */
941 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY )
942 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY )
943 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
944 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
945 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
946 	PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
947 
948 	PORT_START	/* IN1 */
949 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
950 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
951 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
952 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
953 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SERVICE1 )
954 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pressing this disables the coins */
955 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
956 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
957 
958 	PORT_START	/* IN2 */
959 	PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_B ) )
960 	PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
961 	PORT_DIPSETTING(    0x09, DEF_STR( 2C_2C ) )
962 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
963 	PORT_DIPSETTING(    0x0a, DEF_STR( 2C_3C ) )
964 	PORT_DIPSETTING(    0x0b, DEF_STR( 2C_4C ) )
965 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
966 	PORT_DIPSETTING(    0x0c, DEF_STR( 2C_5C ) )
967 	PORT_DIPSETTING(    0x0d, DEF_STR( 2C_6C ) )
968 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) )
969 	PORT_DIPSETTING(    0x0e, DEF_STR( 2C_7C ) )
970 	PORT_DIPSETTING(    0x0f, DEF_STR( 2C_8C ) )
971 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) )
972 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) )
973 	PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) )
974 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_7C ) )
975 	PORT_DIPSETTING(    0x07, DEF_STR( 1C_8C ) )
976 	PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coin_A ) )
977 	PORT_DIPSETTING(    0x80, DEF_STR( 2C_1C ) )
978 	PORT_DIPSETTING(    0x90, DEF_STR( 2C_2C ) )
979 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
980 	PORT_DIPSETTING(    0xa0, DEF_STR( 2C_3C ) )
981 	PORT_DIPSETTING(    0xb0, DEF_STR( 2C_4C ) )
982 	PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) )
983 	PORT_DIPSETTING(    0xc0, DEF_STR( 2C_5C ) )
984 	PORT_DIPSETTING(    0xd0, DEF_STR( 2C_6C ) )
985 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_3C ) )
986 	PORT_DIPSETTING(    0xe0, DEF_STR( 2C_7C ) )
987 	PORT_DIPSETTING(    0xf0, DEF_STR( 2C_8C ) )
988 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_4C ) )
989 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_5C ) )
990 	PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) )
991 	PORT_DIPSETTING(    0x60, DEF_STR( 1C_7C ) )
992 	PORT_DIPSETTING(    0x70, DEF_STR( 1C_8C ) )
993 
994 	PORT_START	/* IN3 */
995 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
996 	PORT_DIPSETTING(    0x00, "2" )
997 	PORT_DIPSETTING(    0x01, "3" )
998 	PORT_DIPSETTING(    0x02, "4" )
999 	PORT_DIPSETTING(    0x03, "5" )
1000 	PORT_DIPNAME( 0x04, 0x04, "Language" )
1001 	PORT_DIPSETTING(    0x04, "English" )
1002 	PORT_DIPSETTING(    0x00, "Italian" )
1003 	PORT_DIPNAME( 0x18, 0x00, DEF_STR( Bonus_Life ) )
1004 	PORT_DIPSETTING(    0x00, "75000" )
1005 	PORT_DIPSETTING(    0x08, "150000" )
1006 	PORT_DIPSETTING(    0x10, "200000" )
1007 	PORT_DIPSETTING(    0x18, "None" )
1008 	PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
1009 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1010 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1011 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
1012 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1013 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1014 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
1015 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1016 	PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
1017 INPUT_PORTS_END
1018 
1019 INPUT_PORTS_START( hunchbks )
1020 	PORT_START	/* IN0 */
1021 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
1022 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
1023 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
1024 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
1025 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
1026 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
1027 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1028 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1029 
1030 	PORT_START	/* IN1 */
1031 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
1032 	PORT_DIPSETTING(    0x01, "3" )
1033 	PORT_DIPSETTING(    0x00, "5" )
1034 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
1035 	PORT_DIPSETTING(    0x02, "A 2/1 B 1/3" )
1036 	PORT_DIPSETTING(    0x00, "A 1/1 B 1/5" )
1037 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
1038 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
1039 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
1040 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
1041 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1042 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1043 
1044 	PORT_START	/* IN2 */
1045 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
1046 	PORT_DIPNAME( 0x06, 0x00, DEF_STR( Bonus_Life ) )
1047 	PORT_DIPSETTING(    0x00, "10000" )
1048 	PORT_DIPSETTING(    0x02, "20000" )
1049 	PORT_DIPSETTING(    0x04, "40000" )
1050 	PORT_DIPSETTING(    0x06, "80000" )
1051 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1052 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1053 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1054 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
1055 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* protection check? */
1056 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
1057 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* protection check? */
1058 
1059     PORT_START /* Sense */
1060 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
1061 INPUT_PORTS_END
1062 
1063 INPUT_PORTS_START( cavelon )
1064 	PORT_START	/* IN0 */
1065 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
1066 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
1067 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* force UR controls in CK mode? */
1068 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
1069 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
1070 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
1071 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1072 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1073 
1074 	PORT_START	/* IN1 */
1075 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
1076 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
1077 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
1078 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
1079 	PORT_DIPSETTING(    0x00, "A 1/1 B 1/6" )
1080 	PORT_DIPSETTING(    0x02, "A 2/1 B 1/3" )
1081 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
1082 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
1083 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
1084 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
1085 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1086 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1087 
1088 	PORT_START	/* IN2 */
1089 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
1090 	PORT_DIPNAME( 0x06, 0x02, DEF_STR( Lives ) )
1091 	PORT_DIPSETTING(    0x00, "5" )
1092 	PORT_DIPSETTING(    0x04, "4" )
1093 	PORT_DIPSETTING(    0x02, "3" )
1094 	PORT_DIPSETTING(    0x06, "2" )
1095 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown) )
1096 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1097 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
1098 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
1099 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* protection check? */
1100 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
1101 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* protection check? */
1102 INPUT_PORTS_END
1103 
1104 INPUT_PORTS_START( sfx )
1105 	PORT_START	/* IN0 */
1106 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
1107 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )	/* "Fire" left*/
1108 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1109 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )	/* "Fire" right*/
1110 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1111 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER1 )
1112 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1113 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1114 
1115 	PORT_START	/* IN1 */
1116 	PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
1117 	PORT_DIPSETTING(    0x02, "3" )
1118 	PORT_DIPSETTING(    0x01, "4" )
1119 	PORT_DIPSETTING(    0x00, "5" )
1120 	PORT_BITX( 0,       0x03, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
1121 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )	/* "Fire" left*/
1122 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )	/* "Fire" right*/
1123 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1124 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
1125 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1126 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1127 
1128 	PORT_START	/* IN2 */
1129 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
1130 	PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
1131 	PORT_DIPSETTING(    0x00, DEF_STR( 3C_1C ) )
1132 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
1133 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_1C ) )
1134 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1135 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1136 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1137 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1138 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER1 )
1139 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* unused */
1140 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER1 )
1141 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* unused */
1142 INPUT_PORTS_END
1143 
1144 /* Same as 'mimonkey' (scobra.c driver) */
1145 INPUT_PORTS_START( mimonscr )
1146 	PORT_START	/* IN0 */
1147 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
1148 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
1149 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
1150 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
1151 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
1152 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
1153 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
1154 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
1155 
1156 	PORT_START	/* IN1 */
1157 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1158 	PORT_DIPSETTING(    0x00, "3" )
1159 	PORT_DIPSETTING(    0x01, "4" )
1160 	PORT_DIPSETTING(    0x02, "5" )
1161 	PORT_DIPSETTING(    0x03, "6" )
1162 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1163 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1164 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1165 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
1166 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
1167 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
1168 
1169 	PORT_START	/* IN2 */
1170 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
1171 	PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
1172 	PORT_DIPSETTING(    0x06, DEF_STR( 3C_1C ) )
1173 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
1174 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1175 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
1176 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1177 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1178 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
1179 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
1180 	PORT_BITX(    0x20, 0x00, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
1181 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1182 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1183 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
1184 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )   /* used, something to do with the bullets */
1185 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1186 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1187 INPUT_PORTS_END
1188 
1189 
1190 static struct GfxLayout devilfsh_charlayout =
1191 {
1192 	8,8,	/* 8*8 characters */
1193 	256,	/* 256 characters */
1194 	2,	/* 2 bits per pixel */
1195 	{ 0, 2*256*8*8 },	/* the bitplanes are separated */
1196 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
1197 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1198 	8*8	/* every char takes 8 consecutive bytes */
1199 };
1200 
1201 static struct GfxLayout devilfsh_spritelayout =
1202 {
1203 	16,16,	/* 16*16 sprites */
1204 	64,	/* 64 sprites */
1205 	2,	/* 2 bits per pixel */
1206 	{ 0, 2*64*16*16 },	/* the bitplanes are separated */
1207 	{ 0, 1, 2, 3, 4, 5, 6, 7,
1208 			8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
1209 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
1210 			16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
1211 	32*8	/* every sprite takes 32 consecutive bytes */
1212 };
1213 
1214 static struct GfxLayout newsin7_charlayout =
1215 {
1216 	8,8,	/* 8*8 characters */
1217 	256,	/* 256 characters */
1218 	3,	/* 3 bits per pixel */
1219 	{ 2*2*256*8*8, 0, 2*256*8*8 },	/* the bitplanes are separated */
1220 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
1221 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1222 	8*8	/* every char takes 8 consecutive bytes */
1223 };
1224 
1225 static struct GfxLayout newsin7_spritelayout =
1226 {
1227 	16,16,	/* 16*16 sprites */
1228 	64,	/* 64 sprites */
1229 	3,	/* 3 bits per pixel */
1230 	{ 2*2*64*16*16, 0, 2*64*16*16 },	/* the bitplanes are separated */
1231 	{ 0, 1, 2, 3, 4, 5, 6, 7,
1232 			8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
1233 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
1234 			16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
1235 	32*8	/* every sprite takes 32 consecutive bytes */
1236 };
1237 
1238 static struct GfxLayout mrkougar_charlayout =
1239 {
1240 	8,8,
1241 	256,
1242 	2,
1243 	{ 0, 4 },
1244 	{ 8*8+0, 8*8+1, 8*8+2, 8*8+3, 0, 1, 2, 3 },
1245 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1246 	16*8
1247 };
1248 
1249 static struct GfxLayout mrkougar_spritelayout =
1250 {
1251 	16,16,
1252 	64,
1253 	2,
1254 	{ 0, 4 },
1255 	{ 8*8+0, 8*8+1, 8*8+2, 8*8+3, 0, 1, 2, 3,
1256 	  24*8+0, 24*8+1, 24*8+2, 24*8+3, 16*8+0, 16*8+1, 16*8+2, 16*8+3 },
1257 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
1258 	  32*8, 33*8, 34*8, 35*8, 36*8, 37*8, 38*8, 39*8 },
1259 	64*8
1260 };
1261 
1262 static struct GfxLayout sfx_charlayout =
1263 {
1264 	8,8,	/* 8*8 characters */
1265 	RGN_FRAC(1,4),
1266 	2,	/* 2 bits per pixel */
1267 	{ RGN_FRAC(0,2), RGN_FRAC(1,2) },	/* the two bitplanes are separated */
1268 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
1269 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1270 	8*8	/* every char takes 8 consecutive bytes */
1271 };
1272 
1273 static struct GfxLayout sfx_spritelayout =
1274 {
1275 	16,16,	/* 16*16 sprites */
1276 	RGN_FRAC(1,4),
1277 	2,	/* 2 bits per pixel */
1278 	{ RGN_FRAC(0,2), RGN_FRAC(1,2) },	/* the two bitplanes are separated */
1279 	{ 0, 1, 2, 3, 4, 5, 6, 7,
1280 			8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
1281 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
1282 			16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
1283 	32*8	/* every sprite takes 32 consecutive bytes */
1284 };
1285 
1286 static struct GfxDecodeInfo devilfsh_gfxdecodeinfo[] =
1287 {
1288 	{ REGION_GFX1, 0x0000, &devilfsh_charlayout,   0, 8 },
1289 	{ REGION_GFX1, 0x0800, &devilfsh_spritelayout, 0, 8 },
1290 	{ -1 } /* end of array */
1291 };
1292 
1293 static struct GfxDecodeInfo newsin7_gfxdecodeinfo[] =
1294 {
1295 	{ REGION_GFX1, 0x0000, &newsin7_charlayout,   0, 4 },
1296 	{ REGION_GFX1, 0x0800, &newsin7_spritelayout, 0, 4 },
1297 	{ -1 } /* end of array */
1298 };
1299 
1300 static struct GfxDecodeInfo mrkougar_gfxdecodeinfo[] =
1301 {
1302 	{ REGION_GFX1, 0x0000, &mrkougar_charlayout,   0, 8 },
1303 	{ REGION_GFX1, 0x0000, &mrkougar_spritelayout, 0, 8 },
1304 	{ -1 } /* end of array */
1305 };
1306 
1307 struct GfxDecodeInfo sfx_gfxdecodeinfo[] =
1308 {
1309 	{ REGION_GFX1, 0x0800, &sfx_charlayout,    0, 8 },
1310 	{ REGION_GFX1, 0x0000, &sfx_spritelayout,  0, 8 },
1311 	{ -1 } /* end of array */
1312 };
1313 
1314 static struct AY8910interface triplep_ay8910_interface =
1315 {
1316 	1,	/* 1 chip */
1317 	14318000/8,	/* 1.78975 MHz */
1318 	{ 50 },
1319 	{ 0 },
1320 	{ 0 },
1321 	{ 0 },
1322 	{ 0 }
1323 };
1324 
1325 static struct AY8910interface sfx_ay8910_interface =
1326 {
1327 	2,	/* 2 chips */
1328 	14318000/8,	/* 1.78975 MHz */
1329 	/* Ant Eater clips if the volume is set higher than this */
1330 	{ MIXERG(16,MIXER_GAIN_2x,MIXER_PAN_CENTER), MIXERG(16,MIXER_GAIN_2x,MIXER_PAN_CENTER) },
1331 	{ 0, soundlatch_r },
1332 	{ 0, scramble_portB_r },
1333 	{ soundlatch2_w, 0 },
1334 	{ sfx_sh_irqtrigger_w, 0 }
1335 };
1336 
1337 struct AY8910interface explorer_ay8910_interface =
1338 {
1339 	2,	/* 2 chips */
1340 	14318000/8,	/* 1.78975 MHz */
1341 	/* Ant Eater clips if the volume is set higher than this */
1342 	{ MIXERG(16,MIXER_GAIN_2x,MIXER_PAN_CENTER), MIXERG(16,MIXER_GAIN_2x,MIXER_PAN_CENTER) },
1343 	{ scramble_portB_r, soundlatch_r },
1344 	{ 0, 0 },
1345 	{ 0, 0 },
1346 	{ 0, 0 }
1347 };
1348 
1349 static struct DACinterface sfx_dac_interface =
1350 {
1351 	1,	/* 1 channel */
1352 	{ 100 },
1353 };
1354 
1355 
1356 static MACHINE_DRIVER_START( scramble )
1357 
1358 	/* basic machine hardware */
1359 	MDRV_IMPORT_FROM(galaxian_base)
1360 	MDRV_CPU_MODIFY("main")
1361 	MDRV_CPU_MEMORY(scramble_readmem,scramble_writemem)
1362 
1363 	MDRV_CPU_ADD_TAG("audio", Z80, 14318000/8)	/* 1.78975 MHz */
1364 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
1365 	MDRV_CPU_MEMORY(scobra_sound_readmem,scobra_sound_writemem)
1366 	MDRV_CPU_PORTS(scobra_sound_readport,scobra_sound_writeport)
1367 
1368 	MDRV_MACHINE_INIT(scramble)
1369 
1370 	/* video hardware */
1371 	MDRV_PALETTE_LENGTH(32+64+2+1)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1372 
1373 	MDRV_PALETTE_INIT(scramble)
1374 	MDRV_VIDEO_START(scramble)
1375 
1376 	/* sound hardware */
1377 	MDRV_SOUND_ADD_TAG("8910", AY8910, scobra_ay8910_interface)
1378 MACHINE_DRIVER_END
1379 
1380 static MACHINE_DRIVER_START( explorer )
1381 
1382 	/* basic machine hardware */
1383 	MDRV_IMPORT_FROM(scramble)
1384 	MDRV_CPU_MODIFY("main")
1385 	MDRV_CPU_MEMORY(explorer_readmem,explorer_writemem)
1386 
1387 	MDRV_MACHINE_INIT(explorer)
1388 
1389 	/* sound hardware */
1390 	MDRV_SOUND_REPLACE("8910", AY8910, explorer_ay8910_interface)
1391 MACHINE_DRIVER_END
1392 
1393 static MACHINE_DRIVER_START( theend )
1394 
1395 	/* basic machine hardware */
1396 	MDRV_IMPORT_FROM(scramble)
1397 
1398 	/* video hardware */
1399 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1400 
1401 	MDRV_PALETTE_INIT(galaxian)
1402 	MDRV_VIDEO_START(theend)
1403 MACHINE_DRIVER_END
1404 
1405 static MACHINE_DRIVER_START( froggers )
1406 
1407 	/* basic machine hardware */
1408 	MDRV_IMPORT_FROM(scramble)
1409 	MDRV_CPU_MODIFY("audio")
1410 	MDRV_CPU_MEMORY(frogger_sound_readmem,frogger_sound_writemem)
1411 	MDRV_CPU_PORTS(frogger_sound_readport,frogger_sound_writeport)
1412 
1413 	/* video hardware */
1414 	MDRV_PALETTE_INIT(frogger)
1415 	MDRV_VIDEO_START(froggers)
1416 
1417 	/* sound hardware */
1418 	MDRV_SOUND_REPLACE("8910", AY8910, frogger_ay8910_interface)
1419 MACHINE_DRIVER_END
1420 
1421 static MACHINE_DRIVER_START( mars )
1422 
1423 	/* basic machine hardware */
1424 	MDRV_IMPORT_FROM(scramble)
1425 	MDRV_CPU_MODIFY("main")
1426 	MDRV_CPU_MEMORY(mars_readmem,mars_writemem)
1427 
1428 	/* video hardware */
1429 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1430 	MDRV_PALETTE_INIT(galaxian)
1431 MACHINE_DRIVER_END
1432 
1433 static MACHINE_DRIVER_START( devilfsh )
1434 
1435 	/* basic machine hardware */
1436 	MDRV_IMPORT_FROM(scramble)
1437 	MDRV_CPU_MODIFY("main")
1438 	MDRV_CPU_MEMORY(mars_readmem,mars_writemem)
1439 
1440 	/* video hardware */
1441 	MDRV_GFXDECODE(devilfsh_gfxdecodeinfo)
1442 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1443 	MDRV_PALETTE_INIT(galaxian)
1444 MACHINE_DRIVER_END
1445 
1446 static MACHINE_DRIVER_START( newsin7 )
1447 
1448 	/* basic machine hardware */
1449 	MDRV_IMPORT_FROM(scramble)
1450 	MDRV_CPU_MODIFY("main")
1451 	MDRV_CPU_MEMORY(newsin7_readmem,newsin7_writemem)
1452 
1453 	/* video hardware */
1454 	MDRV_GFXDECODE(newsin7_gfxdecodeinfo)
1455 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1456 	MDRV_PALETTE_INIT(galaxian)
1457 	MDRV_VIDEO_START(newsin7)
1458 MACHINE_DRIVER_END
1459 
1460 static MACHINE_DRIVER_START( mrkougar )
1461 
1462 	/* basic machine hardware */
1463 	MDRV_IMPORT_FROM(scramble)
1464 	MDRV_CPU_MODIFY("main")
1465 	MDRV_CPU_MEMORY(mars_readmem,mrkougar_writemem)
1466 
1467 	/* video hardware */
1468 	MDRV_GFXDECODE(mrkougar_gfxdecodeinfo)
1469 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1470 	MDRV_PALETTE_INIT(galaxian)
1471 MACHINE_DRIVER_END
1472 
1473 static MACHINE_DRIVER_START( mrkougb )
1474 
1475 	/* basic machine hardware */
1476 	MDRV_IMPORT_FROM(scramble)
1477 	MDRV_CPU_MODIFY("main")
1478 	MDRV_CPU_MEMORY(mars_readmem,mrkougar_writemem)
1479 
1480 	/* video hardware */
1481 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1482 	MDRV_PALETTE_INIT(galaxian)
1483 MACHINE_DRIVER_END
1484 
1485 static MACHINE_DRIVER_START( ckongs )
1486 
1487 	/* basic machine hardware */
1488 	MDRV_IMPORT_FROM(scramble)
1489 	MDRV_CPU_MODIFY("main")
1490 	MDRV_CPU_MEMORY(ckongs_readmem,ckongs_writemem)
1491 
1492 	/* video hardware */
1493 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1494 	MDRV_PALETTE_INIT(galaxian)
1495 	MDRV_VIDEO_START(ckongs)
1496 MACHINE_DRIVER_END
1497 
1498 static MACHINE_DRIVER_START( hotshock )
1499 
1500 	/* basic machine hardware */
1501 	MDRV_IMPORT_FROM(scramble)
1502 	MDRV_CPU_MODIFY("main")
1503 	MDRV_CPU_MEMORY(hotshock_readmem,hotshock_writemem)
1504 
1505 	MDRV_CPU_MODIFY("audio")
1506 	MDRV_CPU_PORTS(hotshock_sound_readport,hotshock_sound_writeport)
1507 
1508 	/* video hardware */
1509 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1510 	MDRV_PALETTE_INIT(galaxian)
1511 	MDRV_VIDEO_START(pisces)
1512 MACHINE_DRIVER_END
1513 
1514 static MACHINE_DRIVER_START( cavelon )
1515 
1516 	/* basic machine hardware */
1517 	MDRV_IMPORT_FROM(scramble)
1518 
1519 	/* video hardware */
1520 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
1521 	MDRV_PALETTE_INIT(galaxian)
1522 	MDRV_VIDEO_START(ckongs)
1523 MACHINE_DRIVER_END
1524 
1525 static MACHINE_DRIVER_START( sfx )
1526 
1527 	/* basic machine hardware */
1528 	MDRV_IMPORT_FROM(scramble)
1529 	MDRV_CPU_MODIFY("main")
1530 	MDRV_CPU_MEMORY(sfx_readmem,sfx_writemem)
1531 
1532 	MDRV_CPU_ADD(Z80, 14318000/8)	/* 1.78975 MHz */
1533 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
1534 	MDRV_CPU_MEMORY(sfx_sample_readmem,sfx_sample_writemem)
1535 	MDRV_CPU_PORTS(sfx_sample_readport,sfx_sample_writeport)
1536 
1537 	MDRV_MACHINE_INIT(sfx)
1538 
1539 	/* video hardware */
1540 	MDRV_VISIBLE_AREA(2*8, 30*8-1, 2*8, 30*8-1)
1541 	MDRV_PALETTE_LENGTH(32+64+2+8)	/* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
1542 	MDRV_GFXDECODE(sfx_gfxdecodeinfo)
1543 	MDRV_PALETTE_INIT(turtles)
1544 	MDRV_VIDEO_START(sfx)
1545 
1546 	/* sound hardware */
1547 	MDRV_SOUND_REPLACE("8910", AY8910, sfx_ay8910_interface)
1548 	MDRV_SOUND_ADD(DAC, sfx_dac_interface)
1549 MACHINE_DRIVER_END
1550 
1551 static MACHINE_DRIVER_START( mimonscr )
1552 
1553 	/* basic machine hardware */
1554 	MDRV_IMPORT_FROM(scramble)
1555 	MDRV_CPU_MODIFY("main")
1556 	MDRV_CPU_MEMORY(mimonscr_readmem,mimonscr_writemem)
1557 
1558 	/* video hardware */
1559 	MDRV_VIDEO_START(mimonkey)
1560 MACHINE_DRIVER_END
1561 
1562 /* Triple Punch and Mariner are different - only one CPU, one 8910 */
1563 static MACHINE_DRIVER_START( triplep )
1564 
1565 	/* basic machine hardware */
1566 	MDRV_IMPORT_FROM(scramble)
1567 	MDRV_CPU_MODIFY("main")
1568 	MDRV_CPU_PORTS(triplep_readport,triplep_writeport)
1569 
1570 	MDRV_CPU_REMOVE("audio")
1571 
1572 	/* video hardware */
1573 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets */
1574 
1575 	MDRV_PALETTE_INIT(galaxian)
1576 
1577 	/* sound hardware */
1578 	MDRV_SOUND_REPLACE("8910", AY8910, triplep_ay8910_interface)
1579 MACHINE_DRIVER_END
1580 
1581 static MACHINE_DRIVER_START( mariner )
1582 
1583 	/* basic machine hardware */
1584 	MDRV_IMPORT_FROM(triplep)
1585 
1586 	/* video hardware */
1587 	MDRV_PALETTE_LENGTH(32+64+2+16)	/* 32 for characters, 64 for stars, 2 for bullets, 16 for background */
1588 
1589 	MDRV_PALETTE_INIT(mariner)
1590 	MDRV_VIDEO_START(mariner)
1591 MACHINE_DRIVER_END
1592 
1593 /* Hunchback replaces the Z80 with a S2650 CPU */
1594 static MACHINE_DRIVER_START( hunchbks )
1595 
1596 	/* basic machine hardware */
1597 	MDRV_IMPORT_FROM(scramble)
1598 	MDRV_CPU_REPLACE("main", S2650, 18432000/6)
1599 	MDRV_CPU_MEMORY(hunchbks_readmem,hunchbks_writemem)
1600 	MDRV_CPU_PORTS(hunchbks_readport,0)
1601 	MDRV_CPU_VBLANK_INT(hunchbks_vh_interrupt,1)
1602 
1603 	MDRV_VBLANK_DURATION(2500)
1604 
1605 	/* video hardware */
1606 	MDRV_PALETTE_LENGTH(32+64+2+0)	/* 32 for characters, 64 for stars, 2 for bullets */
1607 
1608 	MDRV_PALETTE_INIT(galaxian)
1609 MACHINE_DRIVER_END
1610 
1611 
1612 /***************************************************************************
1613 
1614   Game driver(s)
1615 
1616 ***************************************************************************/
1617 
1618 ROM_START( scramble )
1619 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1620 	ROM_LOAD( "2d.k",         0x0000, 0x0800, CRC(ea35ccaa) SHA1(1dcb375987fe21e0483c27d485c405de53848d61) )
1621 	ROM_LOAD( "2e.k",         0x0800, 0x0800, CRC(e7bba1b3) SHA1(240877576045fddcc9ff01d97dc78139454ac4f1) )
1622 	ROM_LOAD( "2f.k",         0x1000, 0x0800, CRC(12d7fc3e) SHA1(a84d191c7be8700f630a83ddad798be9e83b5d55) )
1623 	ROM_LOAD( "2h.k",         0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) )
1624 	ROM_LOAD( "2j.k",         0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) )
1625 	ROM_LOAD( "2l.k",         0x2800, 0x0800, CRC(26a4547b) SHA1(67c0fa81729370631647b5d78bb5a61433facd7f) )
1626 	ROM_LOAD( "2m.k",         0x3000, 0x0800, CRC(0bb49470) SHA1(05a6fe3010c2136284ca76352dac147797c79778) )
1627 	ROM_LOAD( "2p.k",         0x3800, 0x0800, CRC(6a5740e5) SHA1(e3b09141cee26857d626412e9d1a0e759469b97a) )
1628 
1629 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1630 	ROM_LOAD( "5c",           0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
1631 	ROM_LOAD( "5d",           0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
1632 	ROM_LOAD( "5e",           0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
1633 
1634 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1635 	ROM_LOAD( "5f.k",         0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
1636 	ROM_LOAD( "5h.k",         0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
1637 
1638 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1639 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1640 ROM_END
1641 
1642 ROM_START( scrambls )
1643 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1644 	ROM_LOAD( "2d",           0x0000, 0x0800, CRC(b89207a1) SHA1(5422df979e82bcc73df49f50515fe76c126c037b) )
1645 	ROM_LOAD( "2e",           0x0800, 0x0800, CRC(e9b4b9eb) SHA1(a8ee9ddfadf5e9accedfaf81da757a88a2e55a0a) )
1646 	ROM_LOAD( "2f",           0x1000, 0x0800, CRC(a1f14f4c) SHA1(3eae2b3e4596505a8afb5c5cfb108e823c2c4319) )
1647 	ROM_LOAD( "2h",           0x1800, 0x0800, CRC(591bc0d9) SHA1(170f9e92f0a3bee04407be27210b4fa825367688) )
1648 	ROM_LOAD( "2j",           0x2000, 0x0800, CRC(22f11b6b) SHA1(e426ef6a7444a39a34d59799973b07d11b89f372) )
1649 	ROM_LOAD( "2l",           0x2800, 0x0800, CRC(705ffe49) SHA1(174df3f281068c767344f751daace646360e26d6) )
1650 	ROM_LOAD( "2m",           0x3000, 0x0800, CRC(ea26c35c) SHA1(a2f3380982d93a022f46756f974fd16c4cd617de) )
1651 	ROM_LOAD( "2p",           0x3800, 0x0800, CRC(94d8f5e3) SHA1(f3a9c4d1d91836476fcad87ea0d243dde7171e0a) )
1652 
1653 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1654 	ROM_LOAD( "5c",           0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
1655 	ROM_LOAD( "5d",           0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
1656 	ROM_LOAD( "5e",           0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
1657 
1658 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1659 	ROM_LOAD( "5f",           0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) )
1660 	ROM_LOAD( "5h",           0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) )
1661 
1662 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1663 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1664 ROM_END
1665 
1666 ROM_START( explorer )
1667 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1668 	ROM_LOAD( "10l.bin",      0x0000, 0x1000, CRC(d5adf626) SHA1(f362322f780c13cee73697f9158a8ca8aa943a2e) )
1669 	ROM_LOAD( "9l.bin",       0x1000, 0x1000, CRC(48e32788) SHA1(7a98848d2ed8ba5b2da28c014226109af7cc9287) )
1670 	ROM_LOAD( "8l.bin",       0x2000, 0x1000, CRC(c0dbdbde) SHA1(eac7444246bdf80f97962031bf900ce09b28c8b5) )
1671 	ROM_LOAD( "7l.bin",       0x3000, 0x1000, CRC(9b30d227) SHA1(22764e0a2a5ce7abe862e42c84abaaf25949575f) )
1672 
1673 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1674 	ROM_LOAD( "3f.bin",		  0x0000, 0x1000, CRC(9faf18cf) SHA1(1b6c65472d639753cc39031750f85efe1d31ae5e) )
1675 	ROM_LOAD( "4b.bin",       0x1000, 0x0800, CRC(e910b5c3) SHA1(228e8d36dd1ac8a00a396df74b80aa6616997028) )
1676 
1677 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1678 	ROM_LOAD( "5f.k",         0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
1679 	ROM_LOAD( "5h.k",         0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
1680 
1681 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1682 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1683 ROM_END
1684 
1685 ROM_START( atlantis )
1686 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1687 	ROM_LOAD( "2c",           0x0000, 0x0800, CRC(0e485b9a) SHA1(976f1d6f4552fbee134359a776b5688588824cbb) )
1688 	ROM_LOAD( "2e",           0x0800, 0x0800, CRC(c1640513) SHA1(a0dfb34f401330b16e9e4d66ec4b49d120499606) )
1689 	ROM_LOAD( "2f",           0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
1690 	ROM_LOAD( "2h",           0x1800, 0x0800, CRC(a5d2e442) SHA1(e535d1a501ebd861ad62da70b87215fb7c23de1d) )
1691 	ROM_LOAD( "2j",           0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
1692 	ROM_LOAD( "2l",           0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) )
1693 
1694 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1695 	ROM_LOAD( "5c",           0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
1696 	ROM_LOAD( "5d",           0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
1697 	ROM_LOAD( "5e",           0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
1698 
1699 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1700 	ROM_LOAD( "5f",           0x0000, 0x0800, CRC(57f9c6b9) SHA1(ad0d09a6611998d093d676a9c9fe9e32b10f643e) )
1701 	ROM_LOAD( "5h",           0x0800, 0x0800, CRC(e989f325) SHA1(947aee915779687deae040aeef9e9aee680aaebf) )
1702 
1703 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1704 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1705 ROM_END
1706 
1707 ROM_START( atlants2 )
1708 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1709 	ROM_LOAD( "rom1",         0x0000, 0x0800, CRC(ad348089) SHA1(3548b94192c451c0126e7aaecefa7137ae074cd3) )
1710 	ROM_LOAD( "rom2",         0x0800, 0x0800, CRC(caa705d1) SHA1(b4aefbea21fa9608e1dae2a09ae0d31270eb8c78) )
1711 	ROM_LOAD( "rom3",         0x1000, 0x0800, CRC(e420641d) SHA1(103e7590f5acbac6991d665495f933c3a68da1c8) )
1712 	ROM_LOAD( "rom4",         0x1800, 0x0800, CRC(04792d90) SHA1(cb477e4b8e4538def01c10b0348f8f8e3a2a9500) )
1713 	ROM_LOAD( "rom5",         0x2000, 0x0800, CRC(6eaf510d) SHA1(381cb07ad47d1c7ad2bb547c1fd18b1db8958aff) )
1714 	ROM_LOAD( "rom6",         0x2800, 0x0800, CRC(b297bd4b) SHA1(0c48da41d9cf2a3456df5b1e8bf27fa641bc643b) )
1715 	ROM_LOAD( "rom7",         0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) )
1716 	ROM_LOAD( "rom8",         0x3800, 0x0800, CRC(d2c5c984) SHA1(a9432f9aff8a2f5ca1d347443efc008a177d8ae0) )
1717 
1718 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1719 	ROM_LOAD( "5c",           0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
1720 	ROM_LOAD( "5d",           0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
1721 	ROM_LOAD( "5e",           0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
1722 
1723 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1724 	ROM_LOAD( "rom9",         0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) )
1725 	ROM_LOAD( "rom10",        0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) )
1726 
1727 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1728 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1729 ROM_END
1730 
1731 ROM_START( theend )
1732 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1733 	ROM_LOAD( "ic13_1t.bin",  0x0000, 0x0800, CRC(93e555ba) SHA1(f684927cecabfbd7544f7549a6152c0a6a436019) )
1734 	ROM_LOAD( "ic14_2t.bin",  0x0800, 0x0800, CRC(2de7ad27) SHA1(caf369fde632652a0a5fb11d3605f0d2386d297a) )
1735 	ROM_LOAD( "ic15_3t.bin",  0x1000, 0x0800, CRC(035f750b) SHA1(5f70518e5dbfca0ba12ba4dc4f357ce8e6b27bc8) )
1736 	ROM_LOAD( "ic16_4t.bin",  0x1800, 0x0800, CRC(61286b5c) SHA1(14464aa5284aecc9c6046e464ab3d13da89d8dda) )
1737 	ROM_LOAD( "ic17_5t.bin",  0x2000, 0x0800, CRC(434a8f68) SHA1(3c8c099c7865997d475c096f1b1c93d88ab21543) )
1738 	ROM_LOAD( "ic18_6t.bin",  0x2800, 0x0800, CRC(dc4cc786) SHA1(3311361a1eb29715aa41d61fbb3563014bd9eeb1) )
1739 
1740 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1741 	ROM_LOAD( "ic56_1.bin",   0x0000, 0x0800, CRC(7a141f29) SHA1(ca483943971c8fc7f5775a8a7cc6ddd331d48170) )
1742 	ROM_LOAD( "ic55_2.bin",   0x0800, 0x0800, CRC(218497c1) SHA1(3e080621f2e83909a6f304a2d960a080bccbbdc2) )
1743 
1744 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1745 	ROM_LOAD( "ic30_2c.bin",  0x0000, 0x0800, CRC(68ccf7bf) SHA1(a8ea784a2660f855757ae0b30cb2a33ab6f2cd59) )
1746 	ROM_LOAD( "ic31_1c.bin",  0x0800, 0x0800, CRC(4a48c999) SHA1(f1abcbfc3146a18dc3ff865e3ba278377a42a875) )
1747 
1748 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1749 	ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
1750 ROM_END
1751 
1752 ROM_START( theends )
1753 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1754 	ROM_LOAD( "ic13",         0x0000, 0x0800, CRC(90e5ab14) SHA1(b926801ab1cc1e2787a76ced6c7cffd6fce753d4) )
1755 	ROM_LOAD( "ic14",         0x0800, 0x0800, CRC(950f0a07) SHA1(bde9f3c6cf060dc6f5b7652287b94e04bed7bcf7) )
1756 	ROM_LOAD( "ic15",         0x1000, 0x0800, CRC(6786bcf5) SHA1(7556d3dc51d6a112b6357b8a36df05fd1a4d1cc9) )
1757 	ROM_LOAD( "ic16",         0x1800, 0x0800, CRC(380a0017) SHA1(3354eb328a32537f722fe8a0949ddcab6cf21eb8) )
1758 	ROM_LOAD( "ic17",         0x2000, 0x0800, CRC(af067b7f) SHA1(855c6ddf29fbfea004c7143fe29064abf53801ad) )
1759 	ROM_LOAD( "ic18",         0x2800, 0x0800, CRC(a0411b93) SHA1(d644968758a1b73d13e09b24d24bfec82276e8f4) )
1760 
1761 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1762 	ROM_LOAD( "ic56",         0x0000, 0x0800, CRC(3b2c2f70) SHA1(bcccdacacfc9a3b5f1412dfba6bb0046d283bccc) )
1763 	ROM_LOAD( "ic55",         0x0800, 0x0800, CRC(e0429e50) SHA1(27678fc3172cbca3ae1eae96e9d8a62561d5ce40) )
1764 
1765 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1766 	ROM_LOAD( "ic30",         0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
1767 	ROM_LOAD( "ic31",         0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) )
1768 
1769 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1770 	ROM_LOAD( "6331-1j.86",   0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
1771 ROM_END
1772 
1773 ROM_START( froggers )
1774 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1775 	ROM_LOAD( "vid_d2.bin",   0x0000, 0x0800, CRC(c103066e) SHA1(8c2d4c825e9c4180fe70b0db18a547dc3ddc3c2c) )
1776 	ROM_LOAD( "vid_e2.bin",   0x0800, 0x0800, CRC(f08bc094) SHA1(23ad1e57f244d6b63fd9640249dcb1eeafb8206e) )
1777 	ROM_LOAD( "vid_f2.bin",   0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) )
1778 	ROM_LOAD( "vid_h2.bin",   0x1800, 0x0800, CRC(04c027a5) SHA1(193550731513c02cad464661a1ceb230819ca70f) )
1779 	ROM_LOAD( "vid_j2.bin",   0x2000, 0x0800, CRC(fbdfbe74) SHA1(48d5d1247d09eaea2a9a29f4ed6543d0411597aa) )
1780 	ROM_LOAD( "vid_l2.bin",   0x2800, 0x0800, CRC(8a4389e1) SHA1(b2c74afb93927dac0d8bb24e02e0b2a069f2d3c8) )
1781 
1782 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1783 	ROM_LOAD( "frogger.608",  0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
1784 	ROM_LOAD( "frogger.609",  0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
1785 	ROM_LOAD( "frogger.610",  0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
1786 
1787 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1788 	ROM_LOAD( "epr-1036.1k",  0x0000, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
1789 	ROM_LOAD( "frogger.607",  0x0800, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
1790 
1791 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1792 	ROM_LOAD( "vid_e6.bin",   0x0000, 0x0020, CRC(0b878b54) SHA1(3667aca564ebfef5b88d7f74fabbd16dd23183b4) )
1793 ROM_END
1794 
1795 ROM_START( amidars )
1796 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1797 	ROM_LOAD( "am2d",         0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) )
1798 	ROM_LOAD( "am2e",         0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) )
1799 	ROM_LOAD( "am2f",         0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) )
1800 	ROM_LOAD( "am2h",         0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) )
1801 	ROM_LOAD( "am2j",         0x2000, 0x0800, CRC(0fdd54d8) SHA1(c32fdc8e292d91159e6c80c7033abea6404a4f2c) )
1802 	ROM_LOAD( "am2l",         0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) )
1803 	ROM_LOAD( "am2m",         0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) )
1804 	ROM_LOAD( "am2p",         0x3800, 0x0800, CRC(c9163ac6) SHA1(46d757180426b71c827d14a35824a248f2c787b6) )
1805 
1806 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1807 	ROM_LOAD( "amidarus.5c",  0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
1808 	ROM_LOAD( "amidarus.5d",  0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
1809 
1810 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1811 	ROM_LOAD( "2716.a6",      0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )   /* Same graphics ROMs as Amigo */
1812 	ROM_LOAD( "2716.a5",      0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
1813 
1814 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1815 	ROM_LOAD( "amidar.clr",   0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
1816 ROM_END
1817 
1818 ROM_START( triplep )
1819 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1820 	ROM_LOAD( "triplep.2g",   0x0000, 0x1000, CRC(c583a93d) SHA1(2bd4a02f945d64ef3ff814d0b8cbf32380d3f790) )
1821 	ROM_LOAD( "triplep.2h",   0x1000, 0x1000, CRC(c03ddc49) SHA1(5a2fba848c4ddf2ef0bb0f00e93dbd88e939441a) )
1822 	ROM_LOAD( "triplep.2k",   0x2000, 0x1000, CRC(e83ca6b5) SHA1(b16690cfe6fb45cf7b9a9cfa22822ba947c0e432) )
1823 	ROM_LOAD( "triplep.2l",   0x3000, 0x1000, CRC(982cc3b9) SHA1(28bb08679126e5aa8bd0b8f387b881fe799fb009) )
1824 
1825 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1826 	ROM_LOAD( "triplep.5f",   0x0000, 0x0800, CRC(d51cbd6f) SHA1(c3766a69a4599e54b8d7fb893e45802ec8bf6713) )
1827 	ROM_LOAD( "triplep.5h",   0x0800, 0x0800, CRC(f21c0059) SHA1(b1ba87f13908e3e662de8bf444f59bd5c2009720) )
1828 
1829 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1830 	ROM_LOAD( "tripprom.6e",  0x0000, 0x0020, CRC(624f75df) SHA1(0e9a7c48dd976af1dca1d5351236d4d5bf7a9dc8) )
1831 ROM_END
1832 
1833 ROM_START( knockout )
1834 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1835 	ROM_LOAD( "knockout.2h",  0x0000, 0x1000, CRC(eaaa848e) SHA1(661026567db87206200ee610c3d5f5eb725aeec9) )
1836 	ROM_LOAD( "knockout.2k",  0x1000, 0x1000, CRC(bc26d2c0) SHA1(b9934ddb2918f6c4123dafd07cc39ae31d7e28e9) )
1837 	ROM_LOAD( "knockout.2l",  0x2000, 0x1000, CRC(02025c10) SHA1(16ffc7681d949172034b8c85dc72c1a528309abf) )
1838 	ROM_LOAD( "knockout.2m",  0x3000, 0x1000, CRC(e9abc42b) SHA1(93b9c55a76e273b4709ee65870c0848a0d3db7cc) )
1839 
1840 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1841 	ROM_LOAD( "triplep.5f",   0x0000, 0x0800, CRC(d51cbd6f) SHA1(c3766a69a4599e54b8d7fb893e45802ec8bf6713) )
1842 	ROM_LOAD( "triplep.5h",   0x0800, 0x0800, CRC(f21c0059) SHA1(b1ba87f13908e3e662de8bf444f59bd5c2009720) )
1843 
1844 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1845 	ROM_LOAD( "tripprom.6e",  0x0000, 0x0020, CRC(624f75df) SHA1(0e9a7c48dd976af1dca1d5351236d4d5bf7a9dc8) )
1846 ROM_END
1847 
1848 ROM_START( mariner )
1849 	ROM_REGION( 0x10000, REGION_CPU1, 0 )     /* 64k for main CPU */
1850 	ROM_LOAD( "tp1.2h",       0x0000, 0x1000, CRC(dac1dfd0) SHA1(57b9106bb7452640544ba0ab2d2ba290cccb45f0) )
1851 	ROM_LOAD( "tm2.2k",       0x1000, 0x1000, CRC(efe7ca28) SHA1(496f8eb2ebc9edeed5b19d87f437f23bbeb2a007) )
1852 	ROM_LOAD( "tm3.2l",       0x2000, 0x1000, CRC(027881a6) SHA1(47953aa5140a157ade484341609d477510e8342b) )
1853 	ROM_LOAD( "tm4.2m",       0x3000, 0x1000, CRC(a0fde7dc) SHA1(ea6700520b1bd31e6c6bfac6f067bbf652676eef) )
1854 	ROM_LOAD( "tm5.2p",       0x6000, 0x0800, CRC(d7ebcb8e) SHA1(bddefdc5f04c2f940e08a6968fbd6f930d16b8e4) )
1855 	ROM_CONTINUE(             0x5800, 0x0800             )
1856 
1857 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
1858 	ROM_LOAD( "tm8.5f",       0x0000, 0x1000, CRC(70ae611f) SHA1(2686dc6d3910bd58b290d6296f30c552686709f5) )
1859 	ROM_LOAD( "tm9.5h",       0x1000, 0x1000, CRC(8e4e999e) SHA1(195e6896ca2f3175137d8c92777ba32c41e835d3) )
1860 
1861 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1862 	ROM_LOAD( "t4.6e",        0x0000, 0x0020, CRC(ca42b6dd) SHA1(d1e224e788e3dcf57249e72f03f9fe3fd71e6c12) )
1863 
1864 	ROM_REGION( 0x0100, REGION_USER1, 0 )
1865 	ROM_LOAD( "t6.6p",        0x0000, 0x0100, CRC(ad208ccc) SHA1(66a4122e46467344a7f3ddcc953a5f7f451411fa) )	/* background color prom */
1866 
1867 	ROM_REGION( 0x0020, REGION_USER2, 0 )
1868 	ROM_LOAD( "t5.7p",        0x0000, 0x0020, CRC(1bd88cff) SHA1(8d1620386ef654d99c51e489c822eeb2e8a4fe76) )	/* char banking and star placement */
1869 ROM_END
1870 
1871 ROM_START( 800fath )
1872 	ROM_REGION( 0x10000, REGION_CPU1, 0 )     /* 64k for main CPU */
1873 	ROM_LOAD( "tu1.2h",       0x0000, 0x1000, CRC(5dd3d42f) SHA1(887403c385897044e1cb9709ab2b6ff5abdf9eb4) )
1874 	ROM_LOAD( "tm2.2k",       0x1000, 0x1000, CRC(efe7ca28) SHA1(496f8eb2ebc9edeed5b19d87f437f23bbeb2a007) )
1875 	ROM_LOAD( "tm3.2l",       0x2000, 0x1000, CRC(027881a6) SHA1(47953aa5140a157ade484341609d477510e8342b) )
1876 	ROM_LOAD( "tm4.2m",       0x3000, 0x1000, CRC(a0fde7dc) SHA1(ea6700520b1bd31e6c6bfac6f067bbf652676eef) )
1877 	ROM_LOAD( "tu5.2p",       0x6000, 0x0800, CRC(f864a8a6) SHA1(bd0c84284d13d099da4e139db7c9948a074d6774) )
1878 	ROM_CONTINUE(             0x5800, 0x0800             )
1879 
1880 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
1881 	ROM_LOAD( "tm8.5f",       0x0000, 0x1000, CRC(70ae611f) SHA1(2686dc6d3910bd58b290d6296f30c552686709f5) )
1882 	ROM_LOAD( "tm9.5h",       0x1000, 0x1000, CRC(8e4e999e) SHA1(195e6896ca2f3175137d8c92777ba32c41e835d3) )
1883 
1884 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1885 	ROM_LOAD( "t4.6e",        0x0000, 0x0020, CRC(ca42b6dd) SHA1(d1e224e788e3dcf57249e72f03f9fe3fd71e6c12) )
1886 
1887 	ROM_REGION( 0x0100, REGION_USER1, 0 )
1888 	ROM_LOAD( "t6.6p",        0x0000, 0x0100, CRC(ad208ccc) SHA1(66a4122e46467344a7f3ddcc953a5f7f451411fa) )	/* background color prom */
1889 
1890 	ROM_REGION( 0x0020, REGION_USER2, 0 )
1891 	ROM_LOAD( "t5.7p",        0x0000, 0x0020, CRC(1bd88cff) SHA1(8d1620386ef654d99c51e489c822eeb2e8a4fe76) )	/* char banking and star placement */
1892 ROM_END
1893 
1894 ROM_START( ckongs )
1895 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1896 	ROM_LOAD( "vid_2c.bin",   0x0000, 0x1000, CRC(49a8c234) SHA1(91d8da03a76094b6fed4bf1d9a3943dee72bf039) )
1897 	ROM_LOAD( "vid_2e.bin",   0x1000, 0x1000, CRC(f1b667f1) SHA1(c09e0f3b70afd5a4b6ec47ac9237f278dff75783) )
1898 	ROM_LOAD( "vid_2f.bin",   0x2000, 0x1000, CRC(b194b75d) SHA1(514b195dd02a7324e439dd63ae654af117e0c70d) )
1899 	ROM_LOAD( "vid_2h.bin",   0x3000, 0x1000, CRC(2052ba8a) SHA1(e4200219d1a142a4aba8ef21ae1dd806400f4422) )
1900 	ROM_LOAD( "vid_2j.bin",   0x4000, 0x1000, CRC(b377afd0) SHA1(8e42e7623a1749cea1c9861cd7dfa9b97571dc8b) )
1901 	ROM_LOAD( "vid_2l.bin",   0x5000, 0x1000, CRC(fe65e691) SHA1(736fe70c9adc6d2c142fa876f1a1e3c6879eccd8) )
1902 
1903 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1904 	ROM_LOAD( "turt_snd.5c",  0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
1905 	ROM_LOAD( "snd_5d.bin",   0x1000, 0x1000, CRC(892c9547) SHA1(c3ec98049b560eb0ddefdb1e1b2d551b418b9a1c) )
1906 
1907 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
1908 	ROM_LOAD( "vid_5f.bin",   0x0000, 0x1000, CRC(7866d2cb) SHA1(62dd8b80bc0459c7337d8a8cb83e53b999e7f4a9) )
1909 	ROM_LOAD( "vid_5h.bin",   0x1000, 0x1000, CRC(7311a101) SHA1(49d54c8b94cae4ba81d7a7684eaa4e87815bb4da) )
1910 
1911 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1912 	ROM_LOAD( "vid_6e.bin",   0x0000, 0x0020, CRC(5039af97) SHA1(b1a5b32b8c944bf19d9d97aaf678726df003c194) )
1913 ROM_END
1914 
1915 ROM_START( mars )
1916 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1917 	ROM_LOAD( "u26.3",        0x0000, 0x0800, CRC(2f88892c) SHA1(580c7b502321868f63d9e67286e63b5c5268827c) )
1918 	ROM_LOAD( "u56.4",        0x0800, 0x0800, CRC(9e6bcbf7) SHA1(c3acdba073a1f3703776a7905867d81acf328f37) )
1919 	ROM_LOAD( "u69.5",        0x1000, 0x0800, CRC(df496e6e) SHA1(b597e996ac797a239e4bc8f242f59c98a850723c) )
1920 	ROM_LOAD( "u98.6",        0x1800, 0x0800, CRC(75f274bb) SHA1(2eb83ccc8404c69ab262bf680dce892c23c94f39) )
1921 	ROM_LOAD( "u114.7",       0x2000, 0x0800, CRC(497fd8d0) SHA1(545aaf1d68ff727df356bbcf8ddd23df75b5ce97) )
1922 	ROM_LOAD( "u133.8",       0x2800, 0x0800, CRC(3d4cd59f) SHA1(da96d96a40a896e1272700c50cc34f91ac9f7a23) )
1923 
1924 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1925 	ROM_LOAD( "u39.9",        0x0000, 0x0800, CRC(bb5968b9) SHA1(8bc57fd80da7aff294e12e991e9acf60c1ab2893) )
1926 	ROM_LOAD( "u51.10",       0x0800, 0x0800, CRC(75fd7720) SHA1(3ee4ca0d85ffacf0388cada17581da0cdaaf83ef) )
1927 	ROM_LOAD( "u78.11",       0x1000, 0x0800, CRC(72a492da) SHA1(a272f72378850f7ecf52498746c2015f6dad3ab9) )
1928 
1929 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1930 	ROM_LOAD( "u72.1",        0x0000, 0x0800, CRC(279789d0) SHA1(3ccf39da252df8b3605efc26299831279d697dd8) )
1931 	ROM_LOAD( "u101.2",       0x0800, 0x0800, CRC(c5dc627f) SHA1(529307238707d0676d1cae508f4eb66bbdd623d7) )
1932 
1933 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1934 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1935 ROM_END
1936 
1937 ROM_START( devilfsh )
1938 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1939 	ROM_LOAD( "u26.1",        0x0000, 0x0800, CRC(ec047d71) SHA1(c35555010fe239213e92946b65a54612d5a23399) )
1940 	ROM_LOAD( "u56.2",        0x0800, 0x0800, CRC(0138ade9) SHA1(8c75572fa0a5d0665cc46b1c0080192bb0148df9) )
1941 	ROM_LOAD( "u69.3",        0x1000, 0x0800, CRC(5dd0b3fc) SHA1(cf19193986920853d93e4ff38b70dcd46b42276b) )
1942 	ROM_LOAD( "u98.4",        0x1800, 0x0800, CRC(ded0b745) SHA1(2a3c741f11d211b4ec8dfa2dd2b3ae0c0a2d9590) )
1943 	ROM_LOAD( "u114.5",       0x2000, 0x0800, CRC(5fd40176) SHA1(536dd870057c48591f0bee468325c8780afb7026) )
1944 	ROM_LOAD( "u133.6",       0x2800, 0x0800, CRC(03538336) SHA1(66cffcbc53e42c626880151a62721ef3e6bf90bc) )
1945 	ROM_LOAD( "u143.7",       0x3000, 0x0800, CRC(64676081) SHA1(6ae628ad582680d6a825238b60d1195990dbb56f) )
1946 	ROM_LOAD( "u163.8",       0x3800, 0x0800, CRC(bc3d6770) SHA1(ac8803520a668b1759acba23f06ba7a6c5792cbd) )
1947 
1948 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1949 	ROM_LOAD( "u39.9",        0x0000, 0x0800, CRC(09987e2e) SHA1(6b0d8413a137726a67ceedeacfc0c48b058698f1) )
1950 	ROM_LOAD( "u51.10",       0x0800, 0x0800, CRC(1e2b1471) SHA1(3ba33b26a5bff21b9ddc34e0a468db7b89361314) )
1951 	ROM_LOAD( "u78.11",       0x1000, 0x0800, CRC(45279aaa) SHA1(20aca9bcfa1010311290cb3d8e4fb548182dcd4b) )
1952 
1953 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
1954 	ROM_LOAD( "u72.12",       0x0000, 0x1000, CRC(5406508e) SHA1(1d01a796c3ac22e3fddd1ec2103ef5bd8c409278) )
1955 	ROM_LOAD( "u101.13",      0x1000, 0x1000, CRC(8c4018b6) SHA1(83c4f73a3e40fa6ecece38404fa5f64ab59d7b4e) )
1956 
1957 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1958 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1959 ROM_END
1960 
1961 ROM_START( newsin7 )
1962 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1963 	ROM_LOAD( "newsin.1",     0x0000, 0x1000, CRC(e6c23fe0) SHA1(b15c56ca7868be0f038c246f29ba54f41b5cb755) )
1964 	ROM_LOAD( "newsin.2",     0x1000, 0x1000, CRC(3d477b5f) SHA1(9e22f7262077ce6b00b2efbba0e13dcec143d122) )
1965 	ROM_LOAD( "newsin.3",     0x2000, 0x1000, CRC(7dfa9af0) SHA1(8cbbfff22a3c6429f7ab22d86c8d760b08871bac) )
1966 	ROM_LOAD( "newsin.4",     0x3000, 0x1000, CRC(d1b0ba19) SHA1(66c128bc9b306aa6470de5d413f782ae17e78b14) )
1967 	ROM_LOAD( "newsin.5",     0xa000, 0x1000, CRC(06275d59) SHA1(a5a5436c0b014af06181eeb044d8c4e3188414ea) )
1968 
1969 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1970 	ROM_LOAD( "newsin.13",    0x0000, 0x0800, CRC(d88489a2) SHA1(ab10fd4862129824301a0a847de298f1826aa03e) )
1971 	ROM_LOAD( "newsin.12",    0x0800, 0x0800, CRC(b154a7af) SHA1(91ca28b2530f22786ff581e5710b40f0cf99f516) )
1972 	ROM_LOAD( "newsin.11",    0x1000, 0x0800, CRC(7ade709b) SHA1(bda1401172139cd6e3e03424c56e4f59e5afebd5) )
1973 
1974 	ROM_REGION( 0x3000, REGION_GFX1, ROMREGION_DISPOSE )
1975 	ROM_LOAD( "newsin.7",     0x2000, 0x1000, CRC(6bc5d64f) SHA1(4f52224a4d5294a7487a1fc55eba13cf0b5fb6af) )
1976 	ROM_LOAD( "newsin.8",     0x1000, 0x1000, CRC(0c5b895a) SHA1(994ad7f051b30a3045ffc08ac8d9d7092fbadef3) )
1977 	ROM_LOAD( "newsin.9",     0x0000, 0x1000, CRC(6b87adff) SHA1(c0943832e498ab04978b11b163ba951d4a7e2e60) )
1978 
1979 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1980 	ROM_LOAD( "newsin.6",     0x0000, 0x0020, CRC(5cf2cd8d) SHA1(0c85737add75545ab11aaf64fe37c7bd078308c9) )
1981 ROM_END
1982 
1983 ROM_START( mrkougar )
1984 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1985 	ROM_LOAD( "2732-7.bin",   0x0000, 0x1000, CRC(fd060ffb) SHA1(b3bee6fe879f13f3178bef3b2dff3041e698f061) )
1986 	ROM_LOAD( "2732-6.bin",   0x1000, 0x1000, CRC(9e05d868) SHA1(802514f5de347913f0315b42b3689baa37030141) )
1987 	ROM_LOAD( "2732-5.bin",   0x2000, 0x1000, CRC(cbc7c536) SHA1(b959c29bb7ab81ee123ba2f397eef1e32656b441) )
1988 
1989 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1990 	ROM_LOAD( "atw-6w-2.bin", 0x0000, 0x1000, CRC(af42a371) SHA1(edacbb29df34fdf400a5c726d851af1479a34c70) )
1991 	ROM_LOAD( "atw-6y-3.bin", 0x1000, 0x1000, CRC(862b8902) SHA1(91dcbc634f7c7ed78dfbd0be5cf1e0631429cfbf) )
1992 	ROM_LOAD( "atw-6z-4.bin", 0x2000, 0x1000, CRC(a0396cc8) SHA1(c8266b58b144a4bc564f3a2503d5b953c0ba6ca7) )
1993 
1994 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
1995 	ROM_LOAD( "2732-1.bin",   0x0000, 0x1000, CRC(60ef1d43) SHA1(ab42fa98350051526fcc4bfe35ebed3d6daf424f) )
1996 
1997 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1998 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
1999 ROM_END
2000 
2001 ROM_START( mrkougr2 )
2002 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2003 	ROM_LOAD( "atw-7l-7.bin", 0x0000, 0x1000, CRC(7b34b198) SHA1(c7793c49c5bd1360ef2d419bc4710b35f0a02760) )
2004 	ROM_LOAD( "atw-7k-6.bin", 0x1000, 0x1000, CRC(fbca23c7) SHA1(da24a01d83174bad36072d4bf6764c5a3e242561) )
2005 	ROM_LOAD( "atw-7h-5.bin", 0x2000, 0x1000, CRC(05b257a2) SHA1(728df1f1cb726d333818db8fedb27bf537be8a36) )
2006 
2007 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
2008 	ROM_LOAD( "atw-6w-2.bin", 0x0000, 0x1000, CRC(af42a371) SHA1(edacbb29df34fdf400a5c726d851af1479a34c70) )
2009 	ROM_LOAD( "atw-6y-3.bin", 0x1000, 0x1000, CRC(862b8902) SHA1(91dcbc634f7c7ed78dfbd0be5cf1e0631429cfbf) )
2010 	ROM_LOAD( "atw-6z-4.bin", 0x2000, 0x1000, CRC(a0396cc8) SHA1(c8266b58b144a4bc564f3a2503d5b953c0ba6ca7) )
2011 
2012 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
2013 	ROM_LOAD( "atw-1h-1.bin", 0x0000, 0x1000, CRC(38fdfb63) SHA1(9fc4eafd6d106ffe35c179e59a234c706c489f8c) )
2014 
2015 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
2016 	ROM_LOAD( "atw-prom.bin", 0x0000, 0x0020, CRC(c65db188) SHA1(90f0a5f22bb761693ab5895da08b20821e79ba65) )
2017 ROM_END
2018 
2019 ROM_START( mrkougb )
2020 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2021 	ROM_LOAD( "p01.bin",	  0x0000, 0x0800, CRC(dea0cde1) SHA1(aaf9c622b86d475a90f91628d033989e72dda361) )
2022 	ROM_LOAD( "p02.bin",	  0x0800, 0x0800, CRC(c8017751) SHA1(021bd6a6efb90119767162a5847b4bbbc47f321e) )
2023 	ROM_LOAD( "p03.bin",	  0x1000, 0x0800, CRC(b8921984) SHA1(1adccd2bad8f748995f844183cac487ad00dd71e) )
2024 	ROM_LOAD( "p04.bin",	  0x1800, 0x0800, CRC(b3c9754c) SHA1(16a162a19079125fa01f49d90dbf8cd61b9b4833) )
2025 	ROM_LOAD( "p05.bin",	  0x2000, 0x0800, CRC(8d94adbc) SHA1(ac5932c84864e08c6b7937ef20d5bdceb48e2d24) )
2026 	ROM_LOAD( "p06.bin",	  0x2800, 0x0800, CRC(acc921ff) SHA1(f75158c62c6b9871ef05a6a97542469698100eb0) )
2027 
2028 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
2029 	ROM_LOAD( "atw-6w-2.bin", 0x0000, 0x1000, CRC(af42a371) SHA1(edacbb29df34fdf400a5c726d851af1479a34c70) )
2030 	ROM_LOAD( "atw-6y-3.bin", 0x1000, 0x1000, CRC(862b8902) SHA1(91dcbc634f7c7ed78dfbd0be5cf1e0631429cfbf) )
2031 	ROM_LOAD( "atw-6z-4.bin", 0x2000, 0x1000, CRC(a0396cc8) SHA1(c8266b58b144a4bc564f3a2503d5b953c0ba6ca7) )
2032 
2033 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
2034 	ROM_LOAD( "g07.bin",      0x0000, 0x0800, CRC(0ecfd116) SHA1(0ea173c4f7f2613ef71ee5dcd52c4c6f640020b7) )
2035 	ROM_LOAD( "g08.bin",      0x0800, 0x0800, CRC(00bfa3c6) SHA1(57a7fc48ec740b72baece96d50380dbbc826af77) )
2036 
2037 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
2038 	ROM_LOAD( "atw-prom.bin", 0x0000, 0x0020, CRC(c65db188) SHA1(90f0a5f22bb761693ab5895da08b20821e79ba65) )
2039 ROM_END
2040 
2041 ROM_START( hotshock )
2042 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2043 	ROM_LOAD( "hotshock.l10", 0x0000, 0x1000, CRC(401078f7) SHA1(d4415a41eba1d3a2dcbb119f3136c177b02d1fb6) )
2044 	ROM_LOAD( "hotshock.l9",  0x1000, 0x1000, CRC(af76c237) SHA1(bb54e1652a2d2e56731434ed85b40dab4aad91c9) )
2045 	ROM_LOAD( "hotshock.l8",  0x2000, 0x1000, CRC(30486031) SHA1(bed06cb62afee6b000a0e21927559ac5d3538b38) )
2046 	ROM_LOAD( "hotshock.l7",  0x3000, 0x1000, CRC(5bde9312) SHA1(d3ba06790c8210f41902bb8ad27a1e5abafccb33) )
2047 
2048 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
2049 	ROM_LOAD( "hotshock.b3",  0x0000, 0x1000, CRC(0092f0e2) SHA1(d85b05370fa0ce4ba27fd331bb6a7fae067ce83b) )
2050 	ROM_LOAD( "hotshock.b4",  0x1000, 0x1000, CRC(c2135a44) SHA1(809cf305b1f43f99f2248020c369fb5f1d7c5c44) )
2051 
2052 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
2053 	ROM_LOAD( "hotshock.h4",  0x0000, 0x1000, CRC(60bdaea9) SHA1(fd10109803661dc1ce72e1291e3721bdb2bb159f) )
2054 	ROM_LOAD( "hotshock.h5",  0x1000, 0x1000, CRC(4ef17453) SHA1(7dc58456b2f25775c85b3ae92f605d69bb68d590) )
2055 
2056 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
2057 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
2058 ROM_END
2059 
2060 ROM_START( hunchbks )
2061 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2062 	ROM_LOAD( "2c_hb01.bin",  0x0000, 0x0800, CRC(8bebd834) SHA1(08f2ce732d2d8754bf559260e1f656a33e2a06a5) )
2063 	ROM_LOAD( "2e_hb02.bin",  0x0800, 0x0800, CRC(07de4229) SHA1(9f333509ae3d6c579f6d96caa172a0abe9eefb30) )
2064 	ROM_LOAD( "2f_hb03.bin",  0x2000, 0x0800, CRC(b75a0dfc) SHA1(c60c833f28c6de027d46f5a2a54ad5646ec58453) )
2065 	ROM_LOAD( "2h_hb04.bin",  0x2800, 0x0800, CRC(f3206264) SHA1(36a614db3fda4f97cc085d84bd13ea44969de95b) )
2066 	ROM_LOAD( "2j_hb05.bin",  0x4000, 0x0800, CRC(1bb78728) SHA1(aebfca355d937825217d069689f9b4d7a113b10a) )
2067 	ROM_LOAD( "2l_hb06.bin",  0x4800, 0x0800, CRC(f25ed680) SHA1(7854e4975a4f75916f60749ac24147c335927394) )
2068 	ROM_LOAD( "2m_hb07.bin",  0x6000, 0x0800, CRC(c72e0e17) SHA1(90da1e375733873bc592e11980bdaf8168bd5aea) )
2069 	ROM_LOAD( "2p_hb08.bin",  0x6800, 0x0800, CRC(412087b0) SHA1(4d6f343577ae73031f32cda8903c74e5a840e71d) )
2070 
2071 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
2072 	ROM_LOAD( "11d_snd.bin",  0x0000, 0x0800, CRC(88226086) SHA1(fe2da172313063e5b056fc8c8d8b2a5c64db5179) )
2073 
2074 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
2075 	ROM_LOAD( "5f_hb09.bin",  0x0000, 0x0800, CRC(db489c3d) SHA1(df08607ad07222c1c1c4b3589b50b785bdeefbf2) )
2076 	ROM_LOAD( "5h_hb10.bin",  0x0800, 0x0800, CRC(3977650e) SHA1(1de05d6ceed3f2ed0925caa8235b63a93f03f61e) )
2077 
2078 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
2079 	ROM_LOAD( "6e_prom.bin",  0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) )
2080 ROM_END
2081 
2082 ROM_START( cavelon )
2083 	ROM_REGION( 0x14000, REGION_CPU1, 0 )	/* 64k + 16K banked for code */
2084 	ROM_LOAD( "2.bin",		 0x00000, 0x2000, CRC(a3b353ac) SHA1(1d5cc402f83c410f2ccd186dafb8bf16a7778fb0) )
2085 	ROM_LOAD( "1.bin",		 0x02000, 0x2000, CRC(3f62efd6) SHA1(b03a46f8478f499812c5d9c11816ee28d67fb77b) )
2086 	ROM_RELOAD(				 0x12000, 0x2000)
2087 	ROM_LOAD( "3.bin",		 0x10000, 0x2000, CRC(39d74e4e) SHA1(4789eab2741555f59a97ef5a10b0500f6b64a6ce) )
2088 
2089 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
2090 	ROM_LOAD( "1c_snd.bin",	  0x0000, 0x0800, CRC(f58dcf55) SHA1(517dab8684109188d7d78c8a2cf94a4fac17d40c) )
2091 
2092 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
2093 	ROM_LOAD( "h.bin",		  0x0000, 0x1000, CRC(d44fcd6f) SHA1(c275741bb1d876e7308e131cac2f1fee249613c7) )
2094 	ROM_LOAD( "k.bin",		  0x1000, 0x1000, CRC(59bc7f9e) SHA1(4374955d0fdfbba57ba432da22b0d94b66832fb8) )
2095 
2096 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
2097 	ROM_LOAD( "cavelon.clr",  0x0000, 0x0020, CRC(d133356b) SHA1(58db4013a9ad77107f0d462c96363d7c38d86fa2) )
2098 ROM_END
2099 
2100 ROM_START( sfx )
2101 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2102 	ROM_LOAD( "sfx_b-0.1j",   0x0000, 0x1000, CRC(e5bc6952) SHA1(7bfb772418d738d3c49fd59c0bfc04590945977a) )
2103 	ROM_CONTINUE(             0xe000, 0x1000             )
2104 	ROM_LOAD( "1.1c",         0x1000, 0x1000, CRC(1b3c48e7) SHA1(2f245aaf9b4bb5d949aae18ee89a0be639e7b2df) )
2105 	ROM_LOAD( "22.1d",        0x2000, 0x1000, CRC(ed44950d) SHA1(f8c54ff89ac461171df951d703d5571be1b8da38) )
2106 	ROM_LOAD( "23.1e",        0x3000, 0x1000, CRC(f44a3ca0) SHA1(3917ea960329a06d3d0c447cb6a4ba710fb7ca92) )
2107 	ROM_LOAD( "27.1a",        0x7000, 0x1000, CRC(ed86839f) SHA1(a0d8c941a6e01058eab66d5da9b49b6b5695b981) )
2108 	ROM_LOAD( "24.1g",        0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
2109 	ROM_LOAD( "5.1h",         0xd000, 0x1000, CRC(d1e8d390) SHA1(f8fe9f69e6500fbcf25f8151c1070d9a1a20a38c) )
2110 
2111 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
2112 	ROM_LOAD( "5.5j",         0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
2113 	ROM_LOAD( "6.6j",         0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
2114 
2115 	ROM_REGION( 0x10000, REGION_CPU3, 0 )	/* 64k for the sample CPU */
2116 	ROM_LOAD( "1.1j",         0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
2117 	ROM_LOAD( "2.2j",         0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
2118 	ROM_LOAD( "3.3j",         0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
2119 	ROM_LOAD( "4.4j",         0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
2120 	ROM_LOAD( "10.3h",        0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
2121 	ROM_LOAD( "11.4h",        0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
2122 
2123 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
2124 	ROM_LOAD( "28.5a",        0x0000, 0x1000, CRC(d73a8252) SHA1(59d14f41f1a806f98ee33596b84fe5aefe606944) )
2125 	ROM_LOAD( "29.5c",        0x1000, 0x1000, CRC(1401ccf2) SHA1(5762eafd9f402330e1d4ac677f46595087716c47) )
2126 
2127 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
2128 	ROM_LOAD( "6331.9g",      0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
2129 ROM_END
2130 
2131 ROM_START( mimonscr )
2132 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2133 	ROM_LOAD( "mm1",          0x0000, 0x1000, CRC(0399a0c4) SHA1(8314124f9b535ce531663625d19cd3a76782ed3b) )
2134 	ROM_LOAD( "mm2",          0x1000, 0x1000, CRC(2c5e971e) SHA1(39f979b99566e30a19c63115c936bb11fae4c609) )
2135 	ROM_LOAD( "mm3",          0x2000, 0x1000, CRC(24ce1ce3) SHA1(ae5ba6913cabab2152bf48c0c0d5983ecbe5c700) )
2136 	ROM_LOAD( "mm4",          0x3000, 0x1000, CRC(c83fb639) SHA1(38ddd80b25cc0707b9e53396c322fe731ea8bc3e) )
2137 	ROM_LOAD( "mm5",          0xc000, 0x1000, CRC(a9f12dfc) SHA1(c279e3ac84194cc83642a2c330fd869eaae8f063) )
2138 	ROM_LOAD( "mm6",          0xd000, 0x1000, CRC(e492a40c) SHA1(d01d6f9c18821fd8c7ed11d65d13bd0c9595881f) )
2139 	ROM_LOAD( "mm7",          0xe000, 0x1000, CRC(5339928d) SHA1(7c28516fb7d762e2f77d0ed3dc56a57d0213dbf9) )
2140 	ROM_LOAD( "mm8",          0xf000, 0x1000, CRC(eee7a12e) SHA1(bde6bfe98b15215c48c85a22615b0242ea4f0224) )
2141 
2142 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
2143 	ROM_LOAD( "mmsound1",	  0x0000, 0x1000, CRC(2d14c527) SHA1(062414ce0415b6c471149319ecae22f465df3a4f) )
2144 	ROM_LOAD( "mmsnd2a",	  0x1000, 0x1000, CRC(35ed0f96) SHA1(5aaacae5c2acf97540b72491f71ea823f5eeae1a) )
2145 
2146 	ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
2147 	ROM_LOAD( "mmgfx1",		  0x0000, 0x2000, CRC(4af47337) SHA1(225f7bcfbb61e3a163ecaed675d4c81b3609562f) )
2148 	ROM_LOAD( "mmgfx2",		  0x2000, 0x2000, CRC(def47da8) SHA1(8e62e5dc5c810efaa204d0fcb3d02bc84f61ba35) )
2149 
2150 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
2151 	ROM_LOAD( "82s123.6e",    0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
2152 ROM_END
2153 
2154 
2155 GAME( 1981, scramble, 0,        scramble, scramble, scramble,     ROT90, "Konami", "Scramble" )
2156 GAME( 1981, scrambls, scramble, scramble, scramble, scrambls,     ROT90, "[Konami] (Stern license)", "Scramble (Stern)" )
2157 GAME( 1981, explorer, scramble, explorer, explorer, 0,		      ROT90, "bootleg", "Explorer" )
2158 GAME( 1981, atlantis, 0,        scramble, atlantis, atlantis,     ROT90, "Comsoft", "Battle of Atlantis (set 1)" )
2159 GAME( 1981, atlants2, atlantis, scramble, atlantis, atlantis,     ROT90, "Comsoft", "Battle of Atlantis (set 2)" )
2160 GAME( 1980, theend,   0,        theend,   theend,   theend,       ROT90, "Konami", "The End" )
2161 GAME( 1980, theends,  theend,   theend,   theend,   theend,       ROT90, "[Konami] (Stern license)", "The End (Stern)" )
2162 GAME( 1981, froggers, frogger,  froggers, froggers, froggers,     ROT90, "bootleg", "Frog" )
2163 GAME( 1982, amidars,  amidar,   scramble, amidars,  atlantis,     ROT90, "Konami", "Amidar (Scramble hardware)" )
2164 GAME( 1982, triplep,  0,        triplep,  triplep,  scramble_ppi, ROT90, "KKI", "Triple Punch" )
2165 GAME( 1982, knockout, triplep,  triplep,  triplep,  scramble_ppi, ROT90, "KKK", "Knock Out!!" )
2166 GAMEX(1981, mariner,  0,        mariner,  scramble, mariner,      ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND )
2167 GAME( 1981, 800fath,  mariner,  mariner,  scramble, mariner,      ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms" )
2168 GAME( 1981, ckongs,   ckong,    ckongs,   ckongs,   ckongs,       ROT90, "bootleg", "Crazy Kong (Scramble hardware)" )
2169 GAME( 1981, mars,     0,        mars,     mars,     mars,         ROT90, "Artic", "Mars" )
2170 GAME( 1982, devilfsh, 0,        devilfsh, devilfsh, devilfsh,     ROT90, "Artic", "Devil Fish" )
2171 GAME( 1983, newsin7,  0,        newsin7,  newsin7,  mars,         ROT90, "ATW USA, Inc.", "New Sinbad 7" )
2172 GAME( 1984, mrkougar, 0,        mrkougar, mrkougar, mrkougar,     ROT90, "ATW", "Mr. Kougar" )
2173 GAME( 1983, mrkougr2, mrkougar, mrkougar, mrkougar, mrkougar,     ROT90, "ATW", "Mr. Kougar (earlier)" )
2174 GAME( 1983, mrkougb,  mrkougar, mrkougb,  mrkougar, mrkougb,      ROT90, "bootleg", "Mr. Kougar (bootleg)" )
2175 GAME( 1982, hotshock, 0,        hotshock, hotshock, hotshock,     ROT90, "E.G. Felaco", "Hot Shocker" )
2176 GAME( 1983, hunchbks, hunchbak, hunchbks, hunchbks, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)" )
2177 GAME( 1983, cavelon,  0,        cavelon,  cavelon,  cavelon,      ROT90, "Jetsoft", "Cavelon" )
2178 GAME( 1983, sfx,      0,        sfx,      sfx,      sfx,          ORIENTATION_FLIP_X, "Nichibutsu", "SF-X" )
2179 GAME( 198?, mimonscr, mimonkey, mimonscr, mimonscr, mimonscr,     ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)" )
2180