1 /****************************************************************************
2 
3 Irem "M62" system
4 
5 TODO:
6 - Kid Niki and Horizon are missing the drums. There is an analog section in
7   the sound board.
8 
9 Notes:
10 - I believe that both kungfum bootlegs are derived from an Irem original which we
11   don't have (prototype/early revision?). They say "kanfu master" instead of
12   "kung-fu master" on the introduction screen, the only original doing that is
13   spartanx but the ROMs don't match after the copyright notice.
14 
15 
16 
17 The following information is gathered from Kung Fu Master; the board was most
18 likely modified for other games (or, not all the games in this driver are
19 really M62).
20 
21 The M62 board can be set up for different configurations through the use of
22 jumpers.
23 
24 A board:
25 J1: \
26 J2: / ROM or RAM at 0x4000
27 J3: sound prg ROM size, 2764 or 27128
28 J4: send output C of the secondy AY-3-8910 to SOUND IO instead of SOUND. Is
29     this to have it amplified more?
30 J5: enable a tristate on accesses to the range a000-bfff (must not be done
31     when there is ROM at this address)
32 J6:
33 J7: main prg ROM type, 2764 or 27128
34 
35 B board:
36 J1: selects whether bit 4 of obj color code selects or not high priority over tiles
37 J2: selects whether bit 4 of obj color code goes to A7 of obj color PROMS
38 J3: I'm not sure about this. It involves A8 of sprite ram.
39 J4: pixels per scanline, 256 or 384. There's also a PROM @ 6F that controls
40     video timing and how long a scanline is.
41 J5: output Horizontal Sync or Composite Sync
42 J6: ??? where is this ???
43 J7: \ main xtal, 18.432 MHz (for low resolution games?) or
44 J8: / 24 MHz (for mid resolution games?)
45 J9: obj ROM type, 2764 or 27128
46 
47 G board:
48 JP1: \
49 JP2: | Tiles with color code >= the value set here have priority over sprites
50 JP3: |
51 JP4: /
52 
53 **************************************************************************/
54 
55 #include "driver.h"
56 #include "sndhrdw/irem.h"
57 #include "vidhrdw/generic.h"
58 #include "state.h"
59 
60 
61 PALETTE_INIT( irem );
62 PALETTE_INIT( battroad );
63 PALETTE_INIT( spelunk2 );
64 
65 WRITE_HANDLER( m62_tileram_w );
66 WRITE_HANDLER( m62_textram_w );
67 WRITE_HANDLER( m62_flipscreen_w );
68 WRITE_HANDLER( m62_hscroll_low_w );
69 WRITE_HANDLER( m62_hscroll_high_w );
70 WRITE_HANDLER( m62_vscroll_low_w );
71 WRITE_HANDLER( m62_vscroll_high_w );
72 extern data8_t *m62_tileram;
73 extern data8_t *m62_textram;
74 
75 VIDEO_START( kungfum );
76 VIDEO_UPDATE( kungfum );
77 WRITE_HANDLER( kungfum_tileram_w );
78 
79 VIDEO_START( ldrun );
80 VIDEO_UPDATE( ldrun );
81 
82 VIDEO_START( battroad );
83 VIDEO_UPDATE( battroad );
84 
85 VIDEO_START( ldrun4 );
86 VIDEO_UPDATE( ldrun4 );
87 
88 VIDEO_START( lotlot );
89 VIDEO_UPDATE( lotlot );
90 
91 WRITE_HANDLER( kidniki_text_vscroll_low_w );
92 WRITE_HANDLER( kidniki_text_vscroll_high_w );
93 WRITE_HANDLER( kidniki_background_bank_w );
94 VIDEO_START( kidniki );
95 VIDEO_UPDATE( kidniki );
96 
97 WRITE_HANDLER( spelunkr_palbank_w );
98 VIDEO_START( spelunkr );
99 VIDEO_UPDATE( spelunkr );
100 
101 WRITE_HANDLER( spelunk2_gfxport_w );
102 VIDEO_START( spelunk2 );
103 VIDEO_UPDATE( spelunk2 );
104 
105 VIDEO_START( youjyudn );
106 VIDEO_UPDATE( youjyudn );
107 
108 VIDEO_START( horizon );
109 VIDEO_UPDATE( horizon );
110 WRITE_HANDLER( horizon_scrollram_w );
111 extern data8_t *horizon_scrollram;
112 
113 static int bankaddress;
114 static int bankaddress2;
115 
set_m64_bank(void)116 static void set_m64_bank(void)
117 {
118 	unsigned char *RAM = memory_region(REGION_CPU1);
119 	cpu_setbank(1,&RAM[bankaddress]);
120 }
121 
set_m64_bank2(void)122 static void set_m64_bank2(void)
123 {
124 	unsigned char *RAM = memory_region(REGION_CPU1);
125 	cpu_setbank(1,&RAM[bankaddress]);
126 	cpu_setbank(2,&RAM[bankaddress2]);
127 }
128 
129 
130 /* Lode Runner 2 seems to have a simple protection on the bank switching */
131 /* circuitry. It writes data to ports 0x80 and 0x81, then reads port 0x80 */
132 /* a variable number of times (discarding the result) and finally retrieves */
133 /* data from the bankswitched ROM area. */
134 /* Since the data written to 0x80 is always the level number, I just use */
135 /* that to select the ROM. The only exception I make is a special case used in */
136 /* service mode to test the ROMs. */
137 static int ldrun2_bankswap;
138 
READ_HANDLER(ldrun2_bankswitch_r)139 READ_HANDLER( ldrun2_bankswitch_r )
140 {
141 	if (ldrun2_bankswap)
142 	{
143 		unsigned char *RAM = memory_region(REGION_CPU1);
144 
145 
146 		ldrun2_bankswap--;
147 
148 		/* swap to bank #1 on second read */
149 		if (ldrun2_bankswap == 0)
150 			cpu_setbank(1,&RAM[0x12000]);
151 	}
152 	return 0;
153 }
154 
WRITE_HANDLER(ldrun2_bankswitch_w)155 WRITE_HANDLER( ldrun2_bankswitch_w )
156 {
157 	static int bankcontrol[2];
158 	int banks[30] =
159 	{
160 		0,0,0,0,0,1,0,1,0,0,
161 		0,1,1,1,1,1,0,0,0,0,
162 		1,0,1,1,1,1,1,1,1,1
163 	};
164 
165 
166 	bankcontrol[offset] = data;
167 	if (offset == 0)
168 	{
169 		if (data < 1 || data > 30)
170 		{
171 log_cb(RETRO_LOG_DEBUG, LOGPRE "unknown bank select %02x\n",data);
172 			return;
173 		}
174 		bankaddress = 0x10000 + (banks[data-1] * 0x2000);
175 		set_m64_bank();
176 	}
177 	else
178 	{
179 		if (bankcontrol[0] == 0x01 && data == 0x0d)
180 		/* special case for service mode */
181 			ldrun2_bankswap = 2;
182 		else ldrun2_bankswap = 0;
183 	}
184 }
185 
186 
187 /* Lode Runner 3 has, it seems, a poor man's protection consisting of a PAL */
188 /* (I think; it's included in the ROM set) which is read at certain times, */
189 /* and the game crashes if ti doesn't match the expected values. */
READ_HANDLER(ldrun3_prot_5_r)190 READ_HANDLER( ldrun3_prot_5_r )
191 {
192 	return 5;
193 }
194 
READ_HANDLER(ldrun3_prot_7_r)195 READ_HANDLER( ldrun3_prot_7_r )
196 {
197 	return 7;
198 }
199 
200 
WRITE_HANDLER(ldrun4_bankswitch_w)201 WRITE_HANDLER( ldrun4_bankswitch_w )
202 {
203 	bankaddress = 0x10000 + ((data & 0x01) * 0x4000);
204 	set_m64_bank();
205 }
206 
WRITE_HANDLER(kidniki_bankswitch_w)207 static WRITE_HANDLER( kidniki_bankswitch_w )
208 {
209 	bankaddress = 0x10000 + (data & 0x0f) * 0x2000;
210 	set_m64_bank();
211 }
212 
213 #define battroad_bankswitch_w kidniki_bankswitch_w
214 
WRITE_HANDLER(spelunkr_bankswitch_w)215 static WRITE_HANDLER( spelunkr_bankswitch_w )
216 {
217 	bankaddress = 0x10000 + (data & 0x03) * 0x2000;
218 	set_m64_bank();
219 }
220 
WRITE_HANDLER(spelunk2_bankswitch_w)221 WRITE_HANDLER( spelunk2_bankswitch_w )
222 {
223 	bankaddress = 0x20000 + 0x1000 * ((data & 0xc0)>>6);
224 	bankaddress2 = 0x10000 + 0x0400 *  (data & 0x3c);
225 	set_m64_bank2();
226 }
227 
WRITE_HANDLER(youjyudn_bankswitch_w)228 static WRITE_HANDLER( youjyudn_bankswitch_w )
229 {
230 	bankaddress = 0x10000 + (data & 0x01) * 0x4000;
231 	set_m64_bank();
232 }
233 
234 
MEMORY_READ_START(kungfum_readmem)235 static MEMORY_READ_START( kungfum_readmem )
236 	{ 0x0000, 0x7fff, MRA_ROM },
237 	{ 0xd000, 0xefff, MRA_RAM },
238 MEMORY_END
239 
240 static MEMORY_WRITE_START( kungfum_writemem )
241 	{ 0x0000, 0x7fff, MWA_ROM },
242 	{ 0xa000, 0xa000, m62_hscroll_low_w },
243 	{ 0xb000, 0xb000, m62_hscroll_high_w },
244 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
245 	/* Kung Fu Master is the only game in this driver to have separated (but */
246 	/* contiguous) videoram and colorram. They are interleaved in all the others. */
247 	{ 0xd000, 0xdfff, kungfum_tileram_w, &m62_tileram },
248 	{ 0xe000, 0xefff, MWA_RAM },
249 MEMORY_END
250 
251 static PORT_READ_START( kungfum_readport )
252 	{ 0x00, 0x00, input_port_0_r },   /* coin */
253 	{ 0x01, 0x01, input_port_1_r },   /* player 1 control */
254 	{ 0x02, 0x02, input_port_2_r },   /* player 2 control */
255 	{ 0x03, 0x03, input_port_3_r },   /* DSW 1 */
256 	{ 0x04, 0x04, input_port_4_r },   /* DSW 2 */
257 PORT_END
258 
259 static PORT_WRITE_START( kungfum_writeport )
260 	{ 0x00, 0x00, irem_sound_cmd_w },
261 	{ 0x01, 0x01, m62_flipscreen_w },	/* + coin counters */
262 PORT_END
263 
264 
265 static MEMORY_READ_START( battroad_readmem )
266 	{ 0x0000, 0x7fff, MRA_ROM },
267 	{ 0xa000, 0xbfff, MRA_BANK1 },
268 	{ 0xc800, 0xefff, MRA_RAM },
269 MEMORY_END
270 
271 static MEMORY_WRITE_START( battroad_writemem )
272 	{ 0x0000, 0xbfff, MWA_ROM },
273 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
274 	{ 0xc800, 0xcfff, m62_textram_w, &m62_textram },
275 	{ 0xd000, 0xdfff, m62_tileram_w, &m62_tileram },
276 	{ 0xe000, 0xefff, MWA_RAM },
277 MEMORY_END
278 
279 static PORT_WRITE_START( battroad_writeport )
280 	{ 0x00, 0x00, irem_sound_cmd_w },
281 	{ 0x01, 0x01, m62_flipscreen_w },	/* + coin counters */
282 	{ 0x80, 0x80, m62_vscroll_low_w },
283 	{ 0x81, 0x81, m62_hscroll_high_w },
284 	{ 0x82, 0x82, m62_hscroll_low_w },
285 	{ 0x83, 0x83, battroad_bankswitch_w },
286 PORT_END
287 
288 
289 static MEMORY_READ_START( ldrun_readmem )
290 	{ 0x0000, 0x7fff, MRA_ROM },
291 	{ 0xd000, 0xefff, MRA_RAM },
292 MEMORY_END
293 
294 static MEMORY_WRITE_START( ldrun_writemem )
295 	{ 0x0000, 0x7fff, MWA_ROM },
296 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
297 	{ 0xd000, 0xdfff, m62_tileram_w, &m62_tileram },
298 	{ 0xe000, 0xefff, MWA_RAM },
299 MEMORY_END
300 
301 
302 static MEMORY_READ_START( ldrun2_readmem )
303 	{ 0x0000, 0x7fff, MRA_ROM },
304 	{ 0x8000, 0x9fff, MRA_BANK1 },
305 	{ 0xd000, 0xefff, MRA_RAM },
306 MEMORY_END
307 
308 static MEMORY_WRITE_START( ldrun2_writemem )
309 	{ 0x0000, 0x9fff, MWA_ROM },
310 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
311 	{ 0xd000, 0xdfff, m62_tileram_w, &m62_tileram },
312 	{ 0xe000, 0xefff, MWA_RAM },
313 MEMORY_END
314 
315 static PORT_READ_START( ldrun2_readport )
316 	{ 0x00, 0x00, input_port_0_r },   /* coin */
317 	{ 0x01, 0x01, input_port_1_r },   /* player 1 control */
318 	{ 0x02, 0x02, input_port_2_r },   /* player 2 control */
319 	{ 0x03, 0x03, input_port_3_r },   /* DSW 1 */
320 	{ 0x04, 0x04, input_port_4_r },   /* DSW 2 */
321 	{ 0x80, 0x80, ldrun2_bankswitch_r },
322 PORT_END
323 
324 static PORT_WRITE_START( ldrun2_writeport )
325 	{ 0x00, 0x00, irem_sound_cmd_w },
326 	{ 0x01, 0x01, m62_flipscreen_w },	/* + coin counters */
327 	{ 0x80, 0x81, ldrun2_bankswitch_w },
328 PORT_END
329 
330 
331 static MEMORY_READ_START( ldrun3_readmem )
332 	{ 0x0000, 0xbfff, MRA_ROM },
333 	{ 0xc800, 0xc800, ldrun3_prot_5_r },
334 	{ 0xcc00, 0xcc00, ldrun3_prot_7_r },
335 	{ 0xcfff, 0xcfff, ldrun3_prot_7_r },
336 	{ 0xd000, 0xefff, MRA_RAM },
337 MEMORY_END
338 
339 static MEMORY_WRITE_START( ldrun3_writemem )
340 	{ 0x0000, 0xbfff, MWA_ROM },
341 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
342 	{ 0xd000, 0xdfff, m62_tileram_w, &m62_tileram },
343 	{ 0xe000, 0xefff, MWA_RAM },
344 MEMORY_END
345 
346 static PORT_WRITE_START( ldrun3_writeport )
347 	{ 0x00, 0x00, irem_sound_cmd_w },
348 	{ 0x01, 0x01, m62_flipscreen_w },	/* + coin counters */
349 	{ 0x80, 0x80, m62_vscroll_low_w },
350 	/* 0x81 used too, don't know what for */
351 PORT_END
352 
353 
354 static MEMORY_READ_START( ldrun4_readmem )
355 	{ 0x0000, 0x7fff, MRA_ROM },
356 	{ 0x8000, 0xbfff, MRA_BANK1 },
357 	{ 0xd000, 0xefff, MRA_RAM },
358 MEMORY_END
359 
360 static MEMORY_WRITE_START( ldrun4_writemem )
361 	{ 0x0000, 0xbfff, MWA_ROM },
362 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
363 	{ 0xc800, 0xc800, ldrun4_bankswitch_w },
364 	{ 0xd000, 0xdfff, m62_tileram_w, &m62_tileram },
365 	{ 0xe000, 0xefff, MWA_RAM },
366 MEMORY_END
367 
368 static PORT_WRITE_START( ldrun4_writeport )
369 	{ 0x00, 0x00, irem_sound_cmd_w },
370 	{ 0x01, 0x01, m62_flipscreen_w },	/* + coin counters */
371 	{ 0x82, 0x82, m62_hscroll_high_w },
372 	{ 0x83, 0x83, m62_hscroll_low_w },
373 PORT_END
374 
375 
376 static MEMORY_READ_START( lotlot_readmem )
377 	{ 0x0000, 0x7fff, MRA_ROM },
378 	{ 0xa000, 0xafff, MRA_RAM },
379 	{ 0xd000, 0xefff, MRA_RAM },
380 MEMORY_END
381 
382 static MEMORY_WRITE_START( lotlot_writemem )
383 	{ 0x0000, 0x7fff, MWA_ROM },
384 	{ 0xa000, 0xafff, m62_textram_w, &m62_textram },
385 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
386 	{ 0xd000, 0xdfff, m62_tileram_w, &m62_tileram },
387 	{ 0xe000, 0xefff, MWA_RAM },
388 MEMORY_END
389 
390 
391 static MEMORY_READ_START( kidniki_readmem )
392 	{ 0x0000, 0x7fff, MRA_ROM },
393 	{ 0x8000, 0x9fff, MRA_BANK1 },
394 	{ 0xa000, 0xafff, MRA_RAM },
395 	{ 0xd000, 0xefff, MRA_RAM },
396 MEMORY_END
397 
398 static MEMORY_WRITE_START( kidniki_writemem )
399 	{ 0x0000, 0x9fff, MWA_ROM },
400 	{ 0xa000, 0xafff, m62_tileram_w, &m62_tileram },
401 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
402 	{ 0xd000, 0xdfff, m62_textram_w, &m62_textram },
403 	{ 0xe000, 0xefff, MWA_RAM },
404 MEMORY_END
405 
406 static PORT_WRITE_START( kidniki_writeport )
407 	{ 0x00, 0x00, irem_sound_cmd_w },
408 	{ 0x01, 0x01, m62_flipscreen_w },	/* + coin counters */
409 	{ 0x80, 0x80, m62_hscroll_low_w },
410 	{ 0x81, 0x81, m62_hscroll_high_w },
411 	{ 0x82, 0x82, kidniki_text_vscroll_low_w },
412 	{ 0x83, 0x83, kidniki_text_vscroll_high_w },
413 	{ 0x84, 0x84, kidniki_background_bank_w },
414 	{ 0x85, 0x85, kidniki_bankswitch_w },
415 PORT_END
416 
417 
418 static MEMORY_READ_START( spelunkr_readmem )
419 	{ 0x0000, 0x7fff, MRA_ROM },
420 	{ 0x8000, 0x9fff, MRA_BANK1 },
421 	{ 0xa000, 0xbfff, MRA_RAM },
422 	{ 0xc800, 0xcfff, MRA_RAM },
423 	{ 0xe000, 0xefff, MRA_RAM },
424 MEMORY_END
425 
426 static MEMORY_WRITE_START( spelunkr_writemem )
427 	{ 0x0000, 0x9fff, MWA_ROM },
428 	{ 0xa000, 0xbfff, m62_tileram_w, &m62_tileram },
429 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
430 	{ 0xc800, 0xcfff, m62_textram_w, &m62_textram },
431 	{ 0xd000, 0xd000, m62_vscroll_low_w },
432 	{ 0xd001, 0xd001, m62_vscroll_high_w },
433 	{ 0xd002, 0xd002, m62_hscroll_low_w },
434 	{ 0xd003, 0xd003, m62_hscroll_high_w },
435 	{ 0xd004, 0xd004, spelunkr_bankswitch_w },
436 	{ 0xd005, 0xd005, spelunkr_palbank_w },
437 	{ 0xe000, 0xefff, MWA_RAM },
438 MEMORY_END
439 
440 
441 static MEMORY_READ_START( spelunk2_readmem )
442 	{ 0x0000, 0x7fff, MRA_ROM },
443 	{ 0x8000, 0x8fff, MRA_BANK1 },
444 	{ 0x9000, 0x9fff, MRA_BANK2 },
445 	{ 0xa000, 0xbfff, MRA_RAM },
446 	{ 0xc800, 0xcfff, MRA_RAM },
447 	{ 0xe000, 0xefff, MRA_RAM },
448 MEMORY_END
449 
450 static MEMORY_WRITE_START( spelunk2_writemem )
451 	{ 0x0000, 0x9fff, MWA_ROM },
452 	{ 0xa000, 0xbfff, m62_tileram_w, &m62_tileram },
453 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
454 	{ 0xc800, 0xcfff, m62_textram_w, &m62_textram },
455 	{ 0xd000, 0xd000, m62_vscroll_low_w },
456 	{ 0xd001, 0xd001, m62_hscroll_low_w },
457 	{ 0xd002, 0xd002, spelunk2_gfxport_w },
458 	{ 0xd003, 0xd003, spelunk2_bankswitch_w },
459 	{ 0xe000, 0xefff, MWA_RAM },
460 MEMORY_END
461 
462 
463 static MEMORY_READ_START( youjyudn_readmem )
464 	{ 0x0000, 0x7fff, MRA_ROM },
465 	{ 0x8000, 0xbfff, MRA_BANK1 },
466 	{ 0xc800, 0xcfff, MRA_RAM },
467 	{ 0xd000, 0xd7ff, MRA_RAM },
468 	{ 0xe000, 0xefff, MRA_RAM },
469 MEMORY_END
470 
471 static MEMORY_WRITE_START( youjyudn_writemem )
472 	{ 0x0000, 0xbfff, MWA_ROM },
473 	{ 0xc000, 0xc0ff, MWA_RAM, &spriteram, &spriteram_size },
474 	{ 0xc800, 0xcfff, m62_textram_w, &m62_textram },
475 	{ 0xd000, 0xd7ff, m62_tileram_w, &m62_tileram },
476 	{ 0xe000, 0xefff, MWA_RAM },
477 MEMORY_END
478 
479 static PORT_WRITE_START( youjyudn_writeport )
480 	{ 0x00, 0x00, irem_sound_cmd_w },
481 	{ 0x01, 0x01, m62_flipscreen_w },	/* + coin counters */
482 	{ 0x80, 0x80, m62_hscroll_high_w },
483 	{ 0x81, 0x81, m62_hscroll_low_w },
484 	{ 0x83, 0x83, youjyudn_bankswitch_w },
485 PORT_END
486 
487 
488 static MEMORY_READ_START( horizon_readmem )
489 	{ 0x0000, 0xbfff, MRA_ROM },
490 	{ 0xc000, 0xc1ff, MRA_RAM },
491 	{ 0xc800, 0xc83f, MRA_RAM },
492 	{ 0xd000, 0xdfff, MRA_RAM },
493 	{ 0xe000, 0xefff, MRA_RAM },
494 MEMORY_END
495 
496 static MEMORY_WRITE_START( horizon_writemem )
497 	{ 0x0000, 0xbfff, MWA_ROM },
498 	{ 0xc000, 0xc1ff, MWA_RAM, &spriteram, &spriteram_size },
499 	{ 0xc800, 0xc83f, horizon_scrollram_w, &horizon_scrollram },
500 	{ 0xd000, 0xdfff, m62_tileram_w, &m62_tileram },
501 	{ 0xe000, 0xefff, MWA_RAM },
502 MEMORY_END
503 
504 
505 
506 
507 #define IN0_PORT \
508 /* Start 1 & 2 also restarts and freezes the game with stop mode on \
509    and are used in test mode to enter and esc the various tests */ \
510 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) \
511 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) \
512 	/* service coin must be active for 19 frames to be consistently recognized */ \
513 	PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 19 ) \
514 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) \
515 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
516 
517 #define IN1_PORT \
518 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY ) \
519 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY ) \
520 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY ) \
521 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY ) \
522 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ \
523 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) \
524 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ \
525 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
526 
527 #define IN2_PORT \
528 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL ) \
529 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL ) \
530 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL ) \
531 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL ) \
532 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) \
533 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL ) \
534 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ \
535 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
536 
537 #define	COINAGE_DSW \
538 	/* TODO: support the different settings which happen in Coin Mode 2 */ \
539 	PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coinage ) ) /* mapped on coin mode 1 */ \
540 	PORT_DIPSETTING(    0x90, DEF_STR( 7C_1C ) ) \
541 	PORT_DIPSETTING(    0xa0, DEF_STR( 6C_1C ) ) \
542 	PORT_DIPSETTING(    0xb0, DEF_STR( 5C_1C ) ) \
543 	PORT_DIPSETTING(    0xc0, DEF_STR( 4C_1C ) ) \
544 	PORT_DIPSETTING(    0xd0, DEF_STR( 3C_1C ) ) \
545 	PORT_DIPSETTING(    0xe0, DEF_STR( 2C_1C ) ) \
546 	PORT_DIPSETTING(    0xf0, DEF_STR( 1C_1C ) ) \
547 	PORT_DIPSETTING(    0x70, DEF_STR( 1C_2C ) ) \
548 	PORT_DIPSETTING(    0x60, DEF_STR( 1C_3C ) ) \
549 	PORT_DIPSETTING(    0x50, DEF_STR( 1C_4C ) ) \
550 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_5C ) ) \
551 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_6C ) ) \
552 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_7C ) ) \
553 	PORT_DIPSETTING(    0x10, DEF_STR( 1C_8C ) ) \
554 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) ) \
555 	/* setting 0x80 give 1 Coin/1 Credit */
556 
557 #define	COINAGE2_DSW \
558 	/* TODO: support the different settings which happen in Coin Mode 2 */ \
559 	PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coinage ) ) /* mapped on coin mode 1 */ \
560 	PORT_DIPSETTING(    0xa0, DEF_STR( 6C_1C ) ) \
561 	PORT_DIPSETTING(    0xb0, DEF_STR( 5C_1C ) ) \
562 	PORT_DIPSETTING(    0xc0, DEF_STR( 4C_1C ) ) \
563 	PORT_DIPSETTING(    0xd0, DEF_STR( 3C_1C ) ) \
564 	PORT_DIPSETTING(    0x10, DEF_STR( 8C_3C ) ) \
565 	PORT_DIPSETTING(    0xe0, DEF_STR( 2C_1C ) ) \
566 	PORT_DIPSETTING(    0x20, DEF_STR( 5C_3C ) ) \
567 	PORT_DIPSETTING(    0x30, DEF_STR( 3C_2C ) ) \
568 	PORT_DIPSETTING(    0xf0, DEF_STR( 1C_1C ) ) \
569 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_3C ) ) \
570 	PORT_DIPSETTING(    0x90, DEF_STR( 1C_2C ) ) \
571 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) ) \
572 	PORT_DIPSETTING(    0x70, DEF_STR( 1C_4C ) ) \
573 	PORT_DIPSETTING(    0x60, DEF_STR( 1C_5C ) ) \
574 	PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) ) \
575 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) ) \
576 
577 #define	COINAGE3_DSW \
578 	/* TODO: support the different settings which happen in Coin Mode 2 */ \
579 	PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coinage ) ) /* mapped on coin mode 1 */ \
580 	PORT_DIPSETTING(    0x00, DEF_STR( 8C_1C ) ) \
581 	PORT_DIPSETTING(    0xa0, DEF_STR( 6C_1C ) ) \
582 	PORT_DIPSETTING(    0xb0, DEF_STR( 5C_1C ) ) \
583 	PORT_DIPSETTING(    0xc0, DEF_STR( 4C_1C ) ) \
584 	PORT_DIPSETTING(    0xd0, DEF_STR( 3C_1C ) ) \
585 	PORT_DIPSETTING(    0xe0, DEF_STR( 2C_1C ) ) \
586 	PORT_DIPSETTING(    0x10, DEF_STR( 5C_3C ) ) \
587 	PORT_DIPSETTING(    0x20, "3 Coins/5 Credits" ) \
588 	PORT_DIPSETTING(    0x30, DEF_STR( 3C_2C ) ) \
589 	PORT_DIPSETTING(    0xf0, DEF_STR( 1C_1C ) ) \
590 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_3C ) ) \
591 	PORT_DIPSETTING(    0x90, DEF_STR( 1C_2C ) ) \
592 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) ) \
593 	PORT_DIPSETTING(    0x70, DEF_STR( 1C_4C ) ) \
594 	PORT_DIPSETTING(    0x60, DEF_STR( 1C_5C ) ) \
595 	PORT_DIPSETTING(    0x50, DEF_STR( 1C_6C ) ) \
596 
597 
598 INPUT_PORTS_START( kungfum )
599 	PORT_START	/* IN0 */
600 	IN0_PORT
601 
602 	PORT_START	/* IN1 */
603 	IN1_PORT
604 
605 	PORT_START	/* IN2 */
606 	IN2_PORT
607 
608 	PORT_START	/* DSW1 */
609 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Difficulty ) )
610 	PORT_DIPSETTING(    0x01, "Easy" )
611 	PORT_DIPSETTING(    0x00, "Hard" )
612 	PORT_DIPNAME( 0x02, 0x02, "Energy Loss" )
613 	PORT_DIPSETTING(    0x02, "Slow" )
614 	PORT_DIPSETTING(    0x00, "Fast" )
615 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
616 	PORT_DIPSETTING(    0x08, "2" )
617 	PORT_DIPSETTING(    0x0c, "3" )
618 	PORT_DIPSETTING(    0x04, "4" )
619 	PORT_DIPSETTING(    0x00, "5" )
620 	COINAGE_DSW
621 
622 	PORT_START	/* DSW2 */
623 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
624 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
625 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
626 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
627 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
628 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
629 /* This activates a different coin mode. Look at the dip switch setting schematic */
630 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
631 	PORT_DIPSETTING(    0x04, "Mode 1" )
632 	PORT_DIPSETTING(    0x00, "Mode 2" )
633 	/* In slowmo mode, press 2 to slow game speed */
634 	PORT_BITX   ( 0x08, 0x08, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Slow Motion Mode", IP_KEY_NONE, IP_JOY_NONE )
635 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
636 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
637 	/* In freeze mode, press 2 to stop and 1 to restart */
638 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
639 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
640 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
641 	/* In level selection mode, press 1 to select and 2 to restart */
642 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Level Selection Mode", IP_KEY_NONE, IP_JOY_NONE )
643 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
644 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
645 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
646 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
647 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
648 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
649 INPUT_PORTS_END
650 
651 INPUT_PORTS_START( battroad )
652 	PORT_START	/* IN0 */
653 	IN0_PORT
654 
655 	PORT_START	/* IN1 */
656 	IN1_PORT
657 
658 	PORT_START	/* IN2 */
659 	IN2_PORT
660 
661 	PORT_START	/* DSW1 */
662 	PORT_DIPNAME( 0x03, 0x03, "Fuel Decrease" )
663 	PORT_DIPSETTING(    0x03, "Slow" )
664 	PORT_DIPSETTING(    0x02, "Medium" )
665 	PORT_DIPSETTING(    0x01, "Fast" )
666 	PORT_DIPSETTING(    0x00, "Fastest" )
667 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Difficulty ) )
668 	PORT_DIPSETTING(    0x04, "Easy" )
669 	PORT_DIPSETTING(    0x00, "Hard" )
670 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
671 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
672 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
673 	COINAGE_DSW
674 
675 	PORT_START	/* DSW2 */
676 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
677 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
678 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
679 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
680 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
681 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
682 /* This activates a different coin mode. Look at the dip switch setting schematic */
683 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
684 	PORT_DIPSETTING(    0x04, "Mode 1" )
685 	PORT_DIPSETTING(    0x00, "Mode 2" )
686 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
687 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
688 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
689 	/* In stop mode, press 2 to stop and 1 to restart */
690 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Stop Mode", IP_KEY_NONE, IP_JOY_NONE )
691 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
692 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
693 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
694 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
695 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
696 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
697 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
698 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
699 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
700 INPUT_PORTS_END
701 
702 INPUT_PORTS_START( ldrun )
703 	PORT_START	/* IN0 */
704 	IN0_PORT
705 
706 	PORT_START	/* IN1 */
707 	IN1_PORT
708 
709 	PORT_START	/* IN2 */
710 	IN2_PORT
711 
712 	PORT_START	/* DSW1 */
713 	PORT_DIPNAME( 0x03, 0x03, "Timer" )
714 	PORT_DIPSETTING(    0x03, "Slow" )
715 	PORT_DIPSETTING(    0x02, "Medium" )
716 	PORT_DIPSETTING(    0x01, "Fast" )
717 	PORT_DIPSETTING(    0x00, "Fastest" )
718 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
719 	PORT_DIPSETTING(    0x08, "2" )
720 	PORT_DIPSETTING(    0x0c, "3" )
721 	PORT_DIPSETTING(    0x04, "4" )
722 	PORT_DIPSETTING(    0x00, "5" )
723 	COINAGE_DSW
724 
725 	PORT_START	/* DSW2 */
726 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
727 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
728 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
729 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
730 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
731 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
732 /* This activates a different coin mode. Look at the dip switch setting schematic */
733 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
734 	PORT_DIPSETTING(    0x04, "Mode 1" )
735 	PORT_DIPSETTING(    0x00, "Mode 2" )
736 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
737 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
738 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
739 	/* In stop mode, press 2 to stop and 1 to restart */
740 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Stop Mode", IP_KEY_NONE, IP_JOY_NONE )
741 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
742 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
743 	/* In level selection mode, press 1 to select and 2 to restart */
744 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Level Selection Mode", IP_KEY_NONE, IP_JOY_NONE )
745 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
746 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
747 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
748 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
749 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
750 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
751 INPUT_PORTS_END
752 
753 INPUT_PORTS_START( ldrun2 )
754 	PORT_START	/* IN0 */
755 	IN0_PORT
756 
757 	PORT_START	/* IN1 */
758 	IN1_PORT
759 
760 	PORT_START	/* IN2 */
761 	IN2_PORT
762 
763 	PORT_START	/* DSW1 */
764 	PORT_DIPNAME( 0x01, 0x01, "Timer" )
765 	PORT_DIPSETTING(    0x01, "Slow" )
766 	PORT_DIPSETTING(    0x00, "Fast" )
767 	PORT_DIPNAME( 0x02, 0x02, "Game Speed" )
768 	PORT_DIPSETTING(    0x00, "Low" )
769 	PORT_DIPSETTING(    0x02, "High" )
770 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
771 	PORT_DIPSETTING(    0x08, "2" )
772 	PORT_DIPSETTING(    0x0c, "3" )
773 	PORT_DIPSETTING(    0x04, "4" )
774 	PORT_DIPSETTING(    0x00, "5" )
775 	COINAGE_DSW
776 
777 	PORT_START	/* DSW2 */
778 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
779 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
780 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
781 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
782 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
783 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
784 /* This activates a different coin mode. Look at the dip switch setting schematic */
785 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
786 	PORT_DIPSETTING(    0x04, "Mode 1" )
787 	PORT_DIPSETTING(    0x00, "Mode 2" )
788 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
789 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
790 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
791 	/* In freeze mode, press 2 to stop and 1 to restart */
792 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
793 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
794 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
795 	/* In level selection mode, press 1 to select and 2 to restart */
796 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Level Selection Mode", IP_KEY_NONE, IP_JOY_NONE )
797 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
798 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
799 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
800 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
801 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
802 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
803 INPUT_PORTS_END
804 
805 INPUT_PORTS_START( ldrun3 )
806 	PORT_START	/* IN0 */
807 	IN0_PORT
808 
809 	PORT_START	/* IN1 */
810 	IN1_PORT
811 
812 	PORT_START	/* IN2 */
813 	IN2_PORT
814 
815 	PORT_START	/* DSW1 */
816 	PORT_DIPNAME( 0x01, 0x01, "Timer" )
817 	PORT_DIPSETTING(    0x01, "Slow" )
818 	PORT_DIPSETTING(    0x00, "Fast" )
819 	PORT_DIPNAME( 0x02, 0x02, "Game Speed" )
820 	PORT_DIPSETTING(    0x00, "Low" )
821 	PORT_DIPSETTING(    0x02, "High" )
822 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
823 	PORT_DIPSETTING(    0x08, "2" )
824 	PORT_DIPSETTING(    0x0c, "3" )
825 	PORT_DIPSETTING(    0x04, "4" )
826 	PORT_DIPSETTING(    0x00, "5" )
827 	COINAGE_DSW
828 
829 	PORT_START	/* DSW2 */
830 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
831 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
832 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
833 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
834 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
835 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
836 /* This activates a different coin mode. Look at the dip switch setting schematic */
837 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
838 	PORT_DIPSETTING(    0x04, "Mode 1" )
839 	PORT_DIPSETTING(    0x00, "Mode 2" )
840 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
841 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
842 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
843 	/* In stop mode, press 2 to stop and 1 to restart */
844 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Stop Mode", IP_KEY_NONE, IP_JOY_NONE )
845 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
846 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
847 	/* In level selection mode, press 1 to select and 2 to restart */
848 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Level Selection Mode", IP_KEY_NONE, IP_JOY_NONE )
849 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
850 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
851 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
852 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
853 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
854 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
855 INPUT_PORTS_END
856 
857 INPUT_PORTS_START( ldrun4 )
858 	PORT_START	/* IN0 */
859 	IN0_PORT
860 
861 	PORT_START	/* IN1 */
862 	IN1_PORT
863 
864 	PORT_START	/* IN2 */
865 	IN2_PORT
866 
867 	PORT_START	/* DSW1 */
868 	PORT_DIPNAME( 0x01, 0x01, "Timer" )
869 	PORT_DIPSETTING(    0x01, "Slow" )
870 	PORT_DIPSETTING(    0x00, "Fast" )
871 	PORT_DIPNAME( 0x02, 0x02, "2 Players Game" )
872 	PORT_DIPSETTING(    0x00, "1 Credit" )
873 	PORT_DIPSETTING(    0x02, "2 Credits" )
874 	PORT_DIPNAME( 0x0c, 0x0c, "1 Player Lives" )
875 	PORT_DIPSETTING(    0x08, "2" )
876 	PORT_DIPSETTING(    0x0c, "3" )
877 	PORT_DIPSETTING(    0x04, "4" )
878 	PORT_DIPSETTING(    0x00, "5" )
879 	COINAGE_DSW
880 
881 	PORT_START	/* DSW2 */
882 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
883 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
884 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
885 	PORT_DIPNAME( 0x02, 0x02, "2 Players Lives" )
886 	PORT_DIPSETTING(    0x02, "5" )
887 	PORT_DIPSETTING(    0x00, "6" )
888 /* This activates a different coin mode. Look at the dip switch setting schematic */
889 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
890 	PORT_DIPSETTING(    0x04, "Mode 1" )
891 	PORT_DIPSETTING(    0x00, "Mode 2" )
892 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
893 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
894 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
895 	PORT_DIPNAME( 0x10, 0x10, "Allow 2 Players Game" )
896 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
897 	PORT_DIPSETTING(    0x10, DEF_STR( Yes ) )
898 	/* In level selection mode, press 1 to select and 2 to restart */
899 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Level Selection Mode", IP_KEY_NONE, IP_JOY_NONE )
900 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
901 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
902 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
903 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
904 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
905 	PORT_BITX(    0x80, 0x80, IPT_DIPSWITCH_NAME | IPF_TOGGLE, "Service Mode (must set 2P game to No)", KEYCODE_F2, IP_JOY_NONE )
906 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
907 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
908 INPUT_PORTS_END
909 
910 INPUT_PORTS_START( lotlot )
911 	PORT_START	/* IN0 */
912 	IN0_PORT
913 
914 	PORT_START	/* IN1 */
915 	IN1_PORT
916 
917 	PORT_START	/* IN2 */
918 	IN2_PORT
919 
920 	PORT_START	/* DSW1 */
921 	PORT_DIPNAME( 0x03, 0x03, "Speed" )
922 	PORT_DIPSETTING(    0x03, "Very Slow" )
923 	PORT_DIPSETTING(    0x02, "Slow" )
924 	PORT_DIPSETTING(    0x01, "Fast" )
925 	PORT_DIPSETTING(    0x00, "Very Fast" )
926 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
927 	PORT_DIPSETTING(    0x08, "1" )
928 	PORT_DIPSETTING(    0x04, "2" )
929 	PORT_DIPSETTING(    0x0c, "3" )
930 	PORT_DIPSETTING(    0x00, "4" )
931 	COINAGE2_DSW
932 
933 	PORT_START	/* DSW2 */
934 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
935 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
936 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
937 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
938 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
939 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
940 /* This activates a different coin mode. Look at the dip switch setting schematic */
941 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
942 	PORT_DIPSETTING(    0x04, "Mode 1" )
943 	PORT_DIPSETTING(    0x00, "Mode 2" )
944 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
945 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
946 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
947 	/* In freeze mode, press 2 to stop and 1 to restart */
948 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
949 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
950 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
951 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
952 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
953 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
954 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
955 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
956 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
957 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
958 INPUT_PORTS_END
959 
960 INPUT_PORTS_START( kidniki )
961 	PORT_START
962 	IN0_PORT
963 
964 	PORT_START
965 	IN1_PORT
966 
967 	PORT_START
968 	IN2_PORT
969 
970 	PORT_START	/* DSW1 */
971 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
972 	PORT_DIPSETTING(    0x02, "2" )
973 	PORT_DIPSETTING(    0x03, "3" )
974 	PORT_DIPSETTING(    0x01, "4" )
975 	PORT_DIPSETTING(    0x00, "5" )
976 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Difficulty ) )
977 	PORT_DIPSETTING(    0x04, "Normal" )
978 	PORT_DIPSETTING(    0x00, "Hard" )
979 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )
980 	PORT_DIPSETTING(    0x08, "50000" )
981 	PORT_DIPSETTING(    0x00, "80000" )
982 	COINAGE2_DSW
983 
984 	PORT_START	/* DSW2 */
985 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
986 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
987 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
988 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
989 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
990 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
991 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
992 	PORT_DIPSETTING(    0x04, "Mode 1" )
993 	PORT_DIPSETTING(    0x00, "Mode 2" )
994 	PORT_DIPNAME( 0x08, 0x08, "Game Repeats" )
995 	PORT_DIPSETTING(    0x08, DEF_STR( No ) )
996 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
997 	PORT_DIPNAME( 0x10, 0x10, "Allow Continue" )
998 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
999 	PORT_DIPSETTING(    0x10, DEF_STR( Yes ) )
1000 	/* In freeze mode, press 2 to stop and 1 to restart */
1001 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
1002 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1003 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1004 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
1005 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1006 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1007 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1008 INPUT_PORTS_END
1009 
1010 INPUT_PORTS_START( spelunkr )
1011 	PORT_START	/* IN0 */
1012 	IN0_PORT
1013 
1014 	PORT_START	/* IN1 */
1015 	IN1_PORT
1016 
1017 	PORT_START	/* IN2 */
1018 	IN2_PORT
1019 
1020 	PORT_START	/* DSW1 */
1021 	PORT_DIPNAME( 0x03, 0x03, "Energy Decrease" )
1022 	PORT_DIPSETTING(    0x03, "Slow" )
1023 	PORT_DIPSETTING(    0x02, "Medium" )
1024 	PORT_DIPSETTING(    0x01, "Fast" )
1025 	PORT_DIPSETTING(    0x00, "Fastest" )
1026 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
1027 	PORT_DIPSETTING(    0x08, "2" )
1028 	PORT_DIPSETTING(    0x0c, "3" )
1029 	PORT_DIPSETTING(    0x04, "4" )
1030 	PORT_DIPSETTING(    0x00, "5" )
1031 	COINAGE2_DSW
1032 
1033 	PORT_START	/* DSW2 */
1034 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
1035 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1036 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1037 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
1038 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1039 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
1040 /* This activates a different coin mode. Look at the dip switch setting schematic */
1041 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
1042 	PORT_DIPSETTING(    0x04, "Mode 1" )
1043 	PORT_DIPSETTING(    0x00, "Mode 2" )
1044 	PORT_DIPNAME( 0x08, 0x00, "Allow Continue" )
1045 	PORT_DIPSETTING(    0x08, DEF_STR( No ) )
1046 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
1047 	/* In teleport mode, keep 1 pressed and press up or down to move the character */
1048 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Teleport", IP_KEY_NONE, IP_JOY_NONE )
1049 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1050 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1051 	/* In freeze mode, press 2 to stop and 1 to restart */
1052 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
1053 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1054 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1055 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
1056 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1057 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1058 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1059 INPUT_PORTS_END
1060 
1061 INPUT_PORTS_START( spelunk2 )
1062 	PORT_START	/* IN0 */
1063 	IN0_PORT
1064 
1065 	PORT_START	/* IN1 */
1066 	IN1_PORT
1067 
1068 	PORT_START	/* IN2 */
1069 	IN2_PORT
1070 
1071 	PORT_START	/* DSW1 */
1072 	PORT_DIPNAME( 0x03, 0x03, "Energy Decrease" )
1073 	PORT_DIPSETTING(    0x03, "Slow" )
1074 	PORT_DIPSETTING(    0x02, "Medium" )
1075 	PORT_DIPSETTING(    0x01, "Fast" )
1076 	PORT_DIPSETTING(    0x00, "Fastest" )
1077 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
1078 	PORT_DIPSETTING(    0x08, "2" )
1079 	PORT_DIPSETTING(    0x0c, "3" )
1080 	PORT_DIPSETTING(    0x04, "4" )
1081 	PORT_DIPSETTING(    0x00, "5" )
1082 	COINAGE2_DSW
1083 
1084 	PORT_START	/* DSW2 */
1085 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
1086 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1087 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1088 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
1089 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1090 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
1091 /* This activates a different coin mode. Look at the dip switch setting schematic */
1092 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
1093 	PORT_DIPSETTING(    0x04, "Mode 1" )
1094 	PORT_DIPSETTING(    0x00, "Mode 2" )
1095 	PORT_DIPNAME( 0x08, 0x08, "Allow Continue" )
1096 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
1097 	PORT_DIPSETTING(    0x08, DEF_STR( Yes ) )
1098 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1099 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1100 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1101 	/* In freeze mode, press 2 to stop and 1 to restart */
1102 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
1103 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1104 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1105 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
1106 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1107 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1108 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1109 INPUT_PORTS_END
1110 
1111 INPUT_PORTS_START( youjyudn )
1112 	PORT_START	/* IN0 */
1113 	IN0_PORT
1114 
1115 	PORT_START	/* IN1 */
1116 	IN1_PORT
1117 
1118 	PORT_START	/* IN2 */
1119 	IN2_PORT
1120 
1121 	PORT_START	/* DSW1 */
1122 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
1123 	PORT_DIPSETTING(    0x02, "2" )
1124 	PORT_DIPSETTING(    0x03, "3" )
1125 	PORT_DIPSETTING(    0x01, "4" )
1126 	PORT_DIPSETTING(    0x00, "5" )
1127 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
1128 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1129 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1130 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1131 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1132 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1133 	COINAGE2_DSW
1134 
1135 	PORT_START	/* DSW2 */
1136 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
1137 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1138 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1139 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
1140 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1141 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
1142 /* This activates a different coin mode. Look at the dip switch setting schematic */
1143 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
1144 	PORT_DIPSETTING(    0x04, "Mode 1" )
1145 	PORT_DIPSETTING(    0x00, "Mode 2" )
1146 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )
1147 	PORT_DIPSETTING(    0x08, "20000 60000" )
1148 	PORT_DIPSETTING(    0x00, "40000 80000" )
1149 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) )
1150 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1151 	PORT_DIPSETTING(    0x10, DEF_STR( On ) )
1152 	/* In freeze mode, press 2 to stop and 1 to restart */
1153 	PORT_BITX   ( 0x20, 0x20, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
1154 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1155 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1156 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
1157 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1158 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1159 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1160 INPUT_PORTS_END
1161 
1162 INPUT_PORTS_START( horizon )
1163 	PORT_START	/* IN0 */
1164 	IN0_PORT
1165 
1166 	PORT_START	/* IN1 */
1167 	IN1_PORT
1168 
1169 	PORT_START	/* IN2 */
1170 	IN2_PORT
1171 
1172 	PORT_START	/* DSW1 */
1173 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
1174 	PORT_DIPSETTING(    0x00, "2" )
1175 	PORT_DIPSETTING(    0x03, "3" )
1176 	PORT_DIPSETTING(    0x01, "4" )
1177 	PORT_DIPSETTING(    0x02, "5" )
1178 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
1179 	PORT_DIPSETTING(    0x00, "100 80000" )
1180 	PORT_DIPSETTING(    0x0c, "40000 120000" )
1181 	PORT_DIPSETTING(    0x08, "60000 140000" )
1182 	PORT_DIPSETTING(    0x04, "80000 160000" )
1183 	COINAGE3_DSW
1184 
1185 	PORT_START	/* DSW2 */
1186 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
1187 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1188 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1189 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Cabinet ) )
1190 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
1191 	PORT_DIPSETTING(    0x02, DEF_STR( Cocktail ) )
1192 /* This activates a different coin mode. Look at the dip switch setting schematic */
1193 	PORT_DIPNAME( 0x04, 0x04, "Coin Mode" )
1194 	PORT_DIPSETTING(    0x04, "Mode 1" )
1195 	PORT_DIPSETTING(    0x00, "Mode 2" )
1196 	/* In freeze mode, press 2 to stop and 1 to restart */
1197 	PORT_BITX   ( 0x08, 0x08, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Freeze", IP_KEY_NONE, IP_JOY_NONE )
1198 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1199 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1200 	/* In frame advance mode, press 1 then 2 to advance a frame */
1201 	PORT_BITX   ( 0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Frame Advance", IP_KEY_NONE, IP_JOY_NONE )
1202 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1203 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1204 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1205 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
1206 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1207 	PORT_BITX(    0x40, 0x40, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
1208 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1209 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1210 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1211 INPUT_PORTS_END
1212 
1213 
1214 #define TILELAYOUT(NUM) static struct GfxLayout tilelayout_##NUM =  \
1215 {                                                                   \
1216 	8,8,	/* 8*8 characters */                                    \
1217 	NUM,	/* NUM characters */                                    \
1218 	3,	/* 3 bits per pixel */                                      \
1219 	{ 2*NUM*8*8, NUM*8*8, 0 },                                      \
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 TILELAYOUT(1024);
1226 TILELAYOUT(2048);
1227 TILELAYOUT(4096);
1228 
1229 
1230 static struct GfxLayout battroad_charlayout =
1231 {
1232 	8,8,	/* 8*8 characters */
1233 	1024,	/* number of characters */
1234 	2,	/* 2 bits per pixel */
1235 	{ 0, 1024*8*8 },
1236 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
1237 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1238 	8*8	/* every char takes 8 consecutive bytes */
1239 };
1240 
1241 static struct GfxLayout lotlot_charlayout =
1242 {
1243 	12,10, /* character size */
1244 	256, /* number of characters */
1245 	3, /* bits per pixel */
1246 	{ 0, 256*32*8, 2*256*32*8 },
1247 	{ 0, 1, 2, 3, 16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7 },
1248 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8 },
1249 	32*8	/* every char takes 32 consecutive bytes */
1250 };
1251 
1252 static struct GfxLayout kidniki_charlayout =
1253 {
1254 	12,8, /* character size */
1255 	1024, /* number of characters */
1256 	3, /* bits per pixel */
1257 	{ 0, 0x4000*8, 2*0x4000*8 },
1258 	{ 0, 1, 2, 3, 64+0,64+1,64+2,64+3,64+4,64+5,64+6,64+7 },
1259 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1260 	16*8	/* every char takes 16 consecutive bytes */
1261 };
1262 
1263 static struct GfxLayout spelunk2_charlayout =
1264 {
1265 	12,8, /* character size */
1266 	512, /* number of characters */
1267 	3, /* bits per pixel */
1268 	{ 0, 0x4000*8, 2*0x4000*8 },
1269 	{
1270 		0,1,2,3,
1271 		0x2000*8+0,0x2000*8+1,0x2000*8+2,0x2000*8+3,
1272 		0x2000*8+4,0x2000*8+5,0x2000*8+6,0x2000*8+7
1273 	},
1274 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
1275 	8*8	/* every char takes 8 consecutive bytes */
1276 };
1277 
1278 static struct GfxLayout youjyudn_tilelayout =
1279 {
1280 	8,16,
1281 	RGN_FRAC(1,3),
1282 	3,
1283 	{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
1284 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
1285 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
1286 			8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
1287 	16*8
1288 };
1289 
1290 static struct GfxLayout spritelayout =
1291 {
1292 	16,16,
1293 	RGN_FRAC(1,3),
1294 	3,
1295 	{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
1296 	{ 0, 1, 2, 3, 4, 5, 6, 7,
1297 			16*8+0, 16*8+1, 16*8+2, 16*8+3, 16*8+4, 16*8+5, 16*8+6, 16*8+7 },
1298 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
1299 			8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
1300 	32*8
1301 };
1302 
1303 static struct GfxDecodeInfo kungfum_gfxdecodeinfo[] =
1304 {
1305 	{ REGION_GFX1, 0, &tilelayout_1024,       0, 32 },	/* use colors   0-255 */
1306 	{ REGION_GFX2, 0, &spritelayout,        256, 32 },	/* use colors 256-511 */
1307 	{ -1 } /* end of array */
1308 };
1309 
1310 static struct GfxDecodeInfo battroad_gfxdecodeinfo[] =
1311 {
1312 	{ REGION_GFX1, 0, &tilelayout_1024,       0, 32 },	/* use colors   0-255 */
1313 	{ REGION_GFX2, 0, &spritelayout,        256, 32 },	/* use colors 256-511 */
1314 	{ REGION_GFX3, 0, &battroad_charlayout,	512, 32 },	/* use colors 512-543 */
1315 	{ -1 } /* end of array */
1316 };
1317 
1318 static struct GfxDecodeInfo ldrun3_gfxdecodeinfo[] =
1319 {
1320 	{ REGION_GFX1, 0, &tilelayout_2048,      0, 32 },	/* use colors   0-255 */
1321 	{ REGION_GFX2, 0, &spritelayout,       256, 32 },	/* use colors 256-511 */
1322 	{ -1 } /* end of array */
1323 };
1324 
1325 static struct GfxDecodeInfo lotlot_gfxdecodeinfo[] =
1326 {
1327 	{ REGION_GFX1, 0, &lotlot_charlayout,    0, 32 },	/* use colors   0-255 */
1328 	{ REGION_GFX2, 0, &spritelayout,       256, 32 },	/* use colors 256-511 */
1329 	{ REGION_GFX3, 0, &lotlot_charlayout,  512, 32 },	/* use colors 512-767 */
1330 	{ -1 } /* end of array */
1331 };
1332 
1333 static struct GfxDecodeInfo kidniki_gfxdecodeinfo[] =
1334 {
1335 	{ REGION_GFX1, 0, &tilelayout_4096,      0, 32 },	/* use colors   0-255 */
1336 	{ REGION_GFX2, 0, &spritelayout,       256, 32 },	/* use colors 256-511 */
1337 	{ REGION_GFX3, 0, &kidniki_charlayout,   0, 32 },	/* use colors   0-255 */
1338 	{ -1 } /* end of array */
1339 };
1340 
1341 static struct GfxDecodeInfo spelunkr_gfxdecodeinfo[] =
1342 {
1343 	{ REGION_GFX1, 0, &tilelayout_4096,	     0, 32 },	/* use colors   0-255 */
1344 	{ REGION_GFX2, 0, &spritelayout,       256, 32 },	/* use colors 256-511 */
1345 	{ REGION_GFX3, 0, &spelunk2_charlayout,  0, 32 },	/* use colors   0-255 */
1346 	{ -1 } /* end of array */
1347 };
1348 
1349 static struct GfxDecodeInfo spelunk2_gfxdecodeinfo[] =
1350 {
1351 	{ REGION_GFX1, 0, &tilelayout_4096,	     0, 64 },	/* use colors   0-511 */
1352 	{ REGION_GFX2, 0, &spritelayout,       512, 32 },	/* use colors 512-767 */
1353 	{ REGION_GFX3, 0, &spelunk2_charlayout,  0, 64 },	/* use colors   0-511 */
1354 	{ -1 } /* end of array */
1355 };
1356 
1357 static struct GfxDecodeInfo youjyudn_gfxdecodeinfo[] =
1358 {
1359 	{ REGION_GFX1, 0, &youjyudn_tilelayout,  0, 32 },	/* use colors   0-255 */
1360 	{ REGION_GFX2, 0, &spritelayout,       256, 32 },	/* use colors 256-511 */
1361 	{ REGION_GFX3, 0, &kidniki_charlayout, 128, 16 },	/* use colors 128-255 */
1362 	{ -1 } /* end of array */
1363 };
1364 
1365 
1366 
1367 
1368 static MACHINE_DRIVER_START( ldrun )
1369 
1370 	/* basic machine hardware */
1371 	MDRV_CPU_ADD_TAG("main", Z80, 24000000/6)
MDRV_CPU_MEMORY(ldrun_readmem,ldrun_writemem)1372 	MDRV_CPU_MEMORY(ldrun_readmem,ldrun_writemem)
1373 	MDRV_CPU_PORTS(kungfum_readport,kungfum_writeport)
1374 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
1375 
1376 	MDRV_FRAMES_PER_SECOND(55)
1377 	MDRV_VBLANK_DURATION(1790) /* frames per second and vblank duration from the Lode Runner manual */
1378 
1379 	/* video hardware */
1380 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1381 	MDRV_SCREEN_SIZE(64*8, 32*8)
1382 	MDRV_VISIBLE_AREA((64*8-384)/2, 64*8-(64*8-384)/2-1, 0*8, 32*8-1)
1383 	MDRV_GFXDECODE(kungfum_gfxdecodeinfo)
1384 	MDRV_PALETTE_LENGTH(512)
1385 
1386 	MDRV_PALETTE_INIT(irem)
1387 	MDRV_VIDEO_START(ldrun)
1388 	MDRV_VIDEO_UPDATE(ldrun)
1389 
1390 	/* sound hardware */
1391 	MDRV_IMPORT_FROM(irem_audio)
1392 MACHINE_DRIVER_END
1393 
1394 
1395 static MACHINE_DRIVER_START( kungfum )
1396 
1397 	/* basic machine hardware */
1398 	MDRV_IMPORT_FROM(ldrun)
1399 	MDRV_CPU_REPLACE("main", Z80, 18432000/6)
1400 	MDRV_CPU_MEMORY(kungfum_readmem,kungfum_writemem)
1401 	MDRV_CPU_PORTS(kungfum_readport,kungfum_writeport)
1402 
1403 	/* video hardware */
1404 	MDRV_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
1405 
1406 	MDRV_VIDEO_START(kungfum)
1407 	MDRV_VIDEO_UPDATE(kungfum)
1408 MACHINE_DRIVER_END
1409 
1410 
1411 static MACHINE_DRIVER_START( battroad )
1412 
1413 	/* basic machine hardware */
1414 	MDRV_IMPORT_FROM(ldrun)
1415 	MDRV_CPU_REPLACE("main", Z80, 18432000/6)
1416 	MDRV_CPU_MEMORY(battroad_readmem,battroad_writemem)
1417 	MDRV_CPU_PORTS(kungfum_readport,battroad_writeport)
1418 
1419 	/* video hardware */
1420 	MDRV_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
1421 	MDRV_GFXDECODE(battroad_gfxdecodeinfo)
1422 	MDRV_PALETTE_LENGTH(544)
1423 
1424 	MDRV_PALETTE_INIT(battroad)
1425 	MDRV_VIDEO_START(battroad)
1426 	MDRV_VIDEO_UPDATE(battroad)
1427 MACHINE_DRIVER_END
1428 
1429 
1430 static MACHINE_DRIVER_START( ldrun2 )
1431 
1432 	/* basic machine hardware */
1433 	MDRV_IMPORT_FROM(ldrun)
1434 	MDRV_CPU_MODIFY("main")
1435 	MDRV_CPU_MEMORY(ldrun2_readmem,ldrun2_writemem)
1436 	MDRV_CPU_PORTS(ldrun2_readport,ldrun2_writeport)
1437 MACHINE_DRIVER_END
1438 
1439 
1440 static MACHINE_DRIVER_START( ldrun3 )
1441 
1442 	/* basic machine hardware */
1443 	MDRV_IMPORT_FROM(ldrun)
1444 	MDRV_CPU_MODIFY("main")
1445 	MDRV_CPU_MEMORY(ldrun3_readmem,ldrun3_writemem)
1446 	MDRV_CPU_PORTS(kungfum_readport,ldrun3_writeport)
1447 
1448 	/* video hardware */
1449 	MDRV_GFXDECODE(ldrun3_gfxdecodeinfo)
1450 MACHINE_DRIVER_END
1451 
1452 
1453 static MACHINE_DRIVER_START( ldrun4 )
1454 
1455 	/* basic machine hardware */
1456 	MDRV_IMPORT_FROM(ldrun)
1457 	MDRV_CPU_MODIFY("main")
1458 	MDRV_CPU_MEMORY(ldrun4_readmem,ldrun4_writemem)
1459 	MDRV_CPU_PORTS(kungfum_readport,ldrun4_writeport)
1460 
1461 	/* video hardware */
1462 	MDRV_GFXDECODE(ldrun3_gfxdecodeinfo)
1463 	MDRV_VIDEO_START(ldrun4)
1464 	MDRV_VIDEO_UPDATE(ldrun4)
1465 MACHINE_DRIVER_END
1466 
1467 
1468 static MACHINE_DRIVER_START( lotlot )
1469 
1470 	/* basic machine hardware */
1471 	MDRV_IMPORT_FROM(ldrun)
1472 	MDRV_CPU_MODIFY("main")
1473 	MDRV_CPU_MEMORY(lotlot_readmem,lotlot_writemem)
1474 
1475 	/* video hardware */
1476 	MDRV_GFXDECODE(lotlot_gfxdecodeinfo)
1477 	MDRV_PALETTE_LENGTH(768)
1478 
1479 	MDRV_VIDEO_START(lotlot)
1480 	MDRV_VIDEO_UPDATE(lotlot)
1481 MACHINE_DRIVER_END
1482 
1483 
1484 static MACHINE_DRIVER_START( kidniki )
1485 
1486 	/* basic machine hardware */
1487 	MDRV_IMPORT_FROM(ldrun)
1488 	MDRV_CPU_MODIFY("main")
1489 	MDRV_CPU_MEMORY(kidniki_readmem,kidniki_writemem)
1490 	MDRV_CPU_PORTS(kungfum_readport,kidniki_writeport)
1491 
1492 	/* video hardware */
1493 	MDRV_GFXDECODE(kidniki_gfxdecodeinfo)
1494 
1495 	MDRV_VIDEO_START(kidniki)
1496 	MDRV_VIDEO_UPDATE(kidniki)
1497 MACHINE_DRIVER_END
1498 
1499 
1500 static MACHINE_DRIVER_START( spelunkr )
1501 
1502 	/* basic machine hardware */
1503 	MDRV_IMPORT_FROM(ldrun)
1504 	MDRV_CPU_MODIFY("main")
1505 	MDRV_CPU_MEMORY(spelunkr_readmem,spelunkr_writemem)
1506 
1507 	/* video hardware */
1508 	MDRV_GFXDECODE(spelunkr_gfxdecodeinfo)
1509 
1510 	MDRV_VIDEO_START(spelunkr)
1511 	MDRV_VIDEO_UPDATE(spelunkr)
1512 MACHINE_DRIVER_END
1513 
1514 
1515 static MACHINE_DRIVER_START( spelunk2 )
1516 
1517 	/* basic machine hardware */
1518 	MDRV_IMPORT_FROM(ldrun)
1519 	MDRV_CPU_MODIFY("main")
1520 	MDRV_CPU_MEMORY(spelunk2_readmem,spelunk2_writemem)
1521 
1522 	/* video hardware */
1523 	MDRV_GFXDECODE(spelunk2_gfxdecodeinfo)
1524 	MDRV_PALETTE_LENGTH(768)
1525 
1526 	MDRV_PALETTE_INIT(spelunk2)
1527 	MDRV_VIDEO_START(spelunk2)
1528 	MDRV_VIDEO_UPDATE(spelunk2)
1529 MACHINE_DRIVER_END
1530 
1531 
1532 static MACHINE_DRIVER_START( youjyudn )
1533 
1534 	/* basic machine hardware */
1535 	MDRV_IMPORT_FROM(ldrun)
1536 	MDRV_CPU_REPLACE("main", Z80, 18432000/6)
1537 	MDRV_CPU_MEMORY(youjyudn_readmem,youjyudn_writemem)
1538 	MDRV_CPU_PORTS(kungfum_readport,youjyudn_writeport)
1539 
1540 	/* video hardware */
1541 	MDRV_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
1542 	MDRV_GFXDECODE(youjyudn_gfxdecodeinfo)
1543 
1544 	MDRV_VIDEO_START(youjyudn)
1545 	MDRV_VIDEO_UPDATE(youjyudn)
1546 MACHINE_DRIVER_END
1547 
1548 
1549 static MACHINE_DRIVER_START( horizon )
1550 
1551 	/* basic machine hardware */
1552 	MDRV_IMPORT_FROM(ldrun)
1553 	MDRV_CPU_MODIFY("main")
1554 	MDRV_CPU_MEMORY(horizon_readmem,horizon_writemem)
1555 
1556 	/* video hardware */
1557 	MDRV_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
1558 
1559 	MDRV_VIDEO_START(horizon)
1560 	MDRV_VIDEO_UPDATE(horizon)
1561 MACHINE_DRIVER_END
1562 
1563 
1564 /***************************************************************************
1565 
1566   Game driver(s)
1567 
1568 ***************************************************************************/
1569 
1570 ROM_START( kungfum )
1571 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1572 	ROM_LOAD( "a-4e-c.bin",   0x0000, 0x4000, CRC(b6e2d083) SHA1(17e2cfe2b9d6121239803aba7132918e54ae02bf) )
1573 	ROM_LOAD( "a-4d-c.bin",   0x4000, 0x4000, CRC(7532918e) SHA1(9d513d5a3b99cc54c4491371cd44af048ef0fb33) )
1574 
1575 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1576 	ROM_LOAD( "a-3e-.bin",    0xa000, 0x2000, CRC(58e87ab0) SHA1(3b03c101fec58eac13fc309a78df9a2cd44f7604) )	/* samples (ADPCM 4-bit) */
1577 	ROM_LOAD( "a-3f-.bin",    0xc000, 0x2000, CRC(c81e31ea) SHA1(f0fc58b929188c8802cd85549bdf9f4566e6a677) )	/* samples (ADPCM 4-bit) */
1578 	ROM_LOAD( "a-3h-.bin",    0xe000, 0x2000, CRC(d99fb995) SHA1(caa6acdbc3b02d248fd123be95ea6fdcb4f35b59) )
1579 
1580 	ROM_REGION( 0x06000, REGION_GFX1, ROMREGION_DISPOSE )
1581 	ROM_LOAD( "g-4c-a.bin",   0x00000, 0x2000, CRC(6b2cc9c8) SHA1(ba7c902d08c21a1e33f450406bfbfa35abde3b3f) )	/* characters */
1582 	ROM_LOAD( "g-4d-a.bin",   0x02000, 0x2000, CRC(c648f558) SHA1(7cc085d8dc4a770d2828e39859b7b18e80148a00) )
1583 	ROM_LOAD( "g-4e-a.bin",   0x04000, 0x2000, CRC(fbe9276e) SHA1(84181c8da79e2c92af04aef3ab5d23f70969dad8) )
1584 
1585 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
1586 	ROM_LOAD( "b-4k-.bin",    0x00000, 0x2000, CRC(16fb5150) SHA1(a49faf617f948d3ccec2bc6ef97bd399f0958f65) )	/* sprites */
1587 	ROM_LOAD( "b-4f-.bin",    0x02000, 0x2000, CRC(67745a33) SHA1(fcc642fb1b932676c84c1a0901b989673c57c0e5) )
1588 	ROM_LOAD( "b-4l-.bin",    0x04000, 0x2000, CRC(bd1c2261) SHA1(7155789a01801a9e1a55d4e68c94a3a3ee7d1b2e) )
1589 	ROM_LOAD( "b-4h-.bin",    0x06000, 0x2000, CRC(8ac5ed3a) SHA1(9c88e8c82420428b43923cdee7eb4504882bec69) )
1590 	ROM_LOAD( "b-3n-.bin",    0x08000, 0x2000, CRC(28a213aa) SHA1(0d6d668490bdf4394bc9fed2f3cdc72f2fea46f9) )
1591 	ROM_LOAD( "b-4n-.bin",    0x0a000, 0x2000, CRC(d5228df3) SHA1(836c4f95f873fbf07f9bec63a72c20a14651117c) )
1592 	ROM_LOAD( "b-4m-.bin",    0x0c000, 0x2000, CRC(b16de4f2) SHA1(512260e76c9cd21b8add771de53fbd27c2719213) )
1593 	ROM_LOAD( "b-3m-.bin",    0x0e000, 0x2000, CRC(eba0d66b) SHA1(028f82fc1853b86a3201b24871f41091c3e0b542) )
1594 	ROM_LOAD( "b-4c-.bin",    0x10000, 0x2000, CRC(01298885) SHA1(d4edf5fe707c5b7231ba72b731b96120064a7ecd) )
1595 	ROM_LOAD( "b-4e-.bin",    0x12000, 0x2000, CRC(c77b87d4) SHA1(c0f66f0130f6a290a58a3d77bba1d06f16016901) )
1596 	ROM_LOAD( "b-4d-.bin",    0x14000, 0x2000, CRC(6a70615f) SHA1(f4683dc0a566567e95e85268612bcf0e6297d955) )
1597 	ROM_LOAD( "b-4a-.bin",    0x16000, 0x2000, CRC(6189d626) SHA1(ce8e5e95c2684c685481e9c8d921380b20ac0460) )
1598 
1599 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1600 	ROM_LOAD( "g-1j-.bin",    0x0000, 0x0100, CRC(668e6bca) SHA1(cd5262b1310821ba7b12873e4db35f081d6b9df4) )	/* character palette red component */
1601 	ROM_LOAD( "b-1m-.bin",    0x0100, 0x0100, CRC(76c05a9c) SHA1(1f46f436a17f8c883bdd6d9804b828a81a76f880) )	/* sprite palette red component */
1602 	ROM_LOAD( "g-1f-.bin",    0x0200, 0x0100, CRC(964b6495) SHA1(76f30a65a0ded14babad2006221aa40621fb7ea1) )	/* character palette green component */
1603 	ROM_LOAD( "b-1n-.bin",    0x0300, 0x0100, CRC(23f06b99) SHA1(6b3d6349f019aeab33838ae392bc3f3f89906326) )	/* sprite palette green component */
1604 	ROM_LOAD( "g-1h-.bin",    0x0400, 0x0100, CRC(550563e1) SHA1(11edb45acba8b28a462c49956ebb1ba0a8b2ff26) )	/* character palette blue component */
1605 	ROM_LOAD( "b-1l-.bin",    0x0500, 0x0100, CRC(35e45021) SHA1(511b94507f41b377f38184ed9a85f34949b28d26) )	/* sprite palette blue component */
1606 	ROM_LOAD( "b-5f-.bin",    0x0600, 0x0020, CRC(7a601c3d) SHA1(5c5cdf51b2c9fdb2b05402d9c260208ae73fe245) )	/* sprite height, one entry per 32 */
1607 															/* sprites. Used at run time! */
1608 	ROM_LOAD( "b-6f-.bin",    0x0620, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as battroad */
1609 ROM_END
1610 
1611 ROM_START( kungfud )
1612 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1613 	ROM_LOAD( "a-4e-d",       0x0000, 0x4000, CRC(fc330a46) SHA1(50edbd6131310afa17d476e278a7098ab1cfae73) )
1614 	ROM_LOAD( "a-4d-d",       0x4000, 0x4000, CRC(1b2fd32f) SHA1(34487dacf2ec9fbf55148953a9f248fae9442568) )
1615 
1616 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1617 	ROM_LOAD( "a-3e-.bin",    0xa000, 0x2000, CRC(58e87ab0) SHA1(3b03c101fec58eac13fc309a78df9a2cd44f7604) )	/* samples (ADPCM 4-bit) */
1618 	ROM_LOAD( "a-3f-.bin",    0xc000, 0x2000, CRC(c81e31ea) SHA1(f0fc58b929188c8802cd85549bdf9f4566e6a677) )	/* samples (ADPCM 4-bit) */
1619 	ROM_LOAD( "a-3h-.bin",    0xe000, 0x2000, CRC(d99fb995) SHA1(caa6acdbc3b02d248fd123be95ea6fdcb4f35b59) )
1620 
1621 	ROM_REGION( 0x06000, REGION_GFX1, ROMREGION_DISPOSE )
1622 	ROM_LOAD( "g-4c-a.bin",   0x00000, 0x2000, CRC(6b2cc9c8) SHA1(ba7c902d08c21a1e33f450406bfbfa35abde3b3f) )	/* characters */
1623 	ROM_LOAD( "g-4d-a.bin",   0x02000, 0x2000, CRC(c648f558) SHA1(7cc085d8dc4a770d2828e39859b7b18e80148a00) )
1624 	ROM_LOAD( "g-4e-a.bin",   0x04000, 0x2000, CRC(fbe9276e) SHA1(84181c8da79e2c92af04aef3ab5d23f70969dad8) )
1625 
1626 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
1627 	ROM_LOAD( "b-4k-.bin",    0x00000, 0x2000, CRC(16fb5150) SHA1(a49faf617f948d3ccec2bc6ef97bd399f0958f65) )	/* sprites */
1628 	ROM_LOAD( "b-4f-.bin",    0x02000, 0x2000, CRC(67745a33) SHA1(fcc642fb1b932676c84c1a0901b989673c57c0e5) )
1629 	ROM_LOAD( "b-4l-.bin",    0x04000, 0x2000, CRC(bd1c2261) SHA1(7155789a01801a9e1a55d4e68c94a3a3ee7d1b2e) )
1630 	ROM_LOAD( "b-4h-.bin",    0x06000, 0x2000, CRC(8ac5ed3a) SHA1(9c88e8c82420428b43923cdee7eb4504882bec69) )
1631 	ROM_LOAD( "b-3n-.bin",    0x08000, 0x2000, CRC(28a213aa) SHA1(0d6d668490bdf4394bc9fed2f3cdc72f2fea46f9) )
1632 	ROM_LOAD( "b-4n-.bin",    0x0a000, 0x2000, CRC(d5228df3) SHA1(836c4f95f873fbf07f9bec63a72c20a14651117c) )
1633 	ROM_LOAD( "b-4m-.bin",    0x0c000, 0x2000, CRC(b16de4f2) SHA1(512260e76c9cd21b8add771de53fbd27c2719213) )
1634 	ROM_LOAD( "b-3m-.bin",    0x0e000, 0x2000, CRC(eba0d66b) SHA1(028f82fc1853b86a3201b24871f41091c3e0b542) )
1635 	ROM_LOAD( "b-4c-.bin",    0x10000, 0x2000, CRC(01298885) SHA1(d4edf5fe707c5b7231ba72b731b96120064a7ecd) )
1636 	ROM_LOAD( "b-4e-.bin",    0x12000, 0x2000, CRC(c77b87d4) SHA1(c0f66f0130f6a290a58a3d77bba1d06f16016901) )
1637 	ROM_LOAD( "b-4d-.bin",    0x14000, 0x2000, CRC(6a70615f) SHA1(f4683dc0a566567e95e85268612bcf0e6297d955) )
1638 	ROM_LOAD( "b-4a-.bin",    0x16000, 0x2000, CRC(6189d626) SHA1(ce8e5e95c2684c685481e9c8d921380b20ac0460) )
1639 
1640 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1641 	ROM_LOAD( "g-1j-.bin",    0x0000, 0x0100, CRC(668e6bca) SHA1(cd5262b1310821ba7b12873e4db35f081d6b9df4) )	/* character palette red component */
1642 	ROM_LOAD( "b-1m-.bin",    0x0100, 0x0100, CRC(76c05a9c) SHA1(1f46f436a17f8c883bdd6d9804b828a81a76f880) )	/* sprite palette red component */
1643 	ROM_LOAD( "g-1f-.bin",    0x0200, 0x0100, CRC(964b6495) SHA1(76f30a65a0ded14babad2006221aa40621fb7ea1) )	/* character palette green component */
1644 	ROM_LOAD( "b-1n-.bin",    0x0300, 0x0100, CRC(23f06b99) SHA1(6b3d6349f019aeab33838ae392bc3f3f89906326) )	/* sprite palette green component */
1645 	ROM_LOAD( "g-1h-.bin",    0x0400, 0x0100, CRC(550563e1) SHA1(11edb45acba8b28a462c49956ebb1ba0a8b2ff26) )	/* character palette blue component */
1646 	ROM_LOAD( "b-1l-.bin",    0x0500, 0x0100, CRC(35e45021) SHA1(511b94507f41b377f38184ed9a85f34949b28d26) )	/* sprite palette blue component */
1647 	ROM_LOAD( "b-5f-.bin",    0x0600, 0x0020, CRC(7a601c3d) SHA1(5c5cdf51b2c9fdb2b05402d9c260208ae73fe245) )	/* sprite height, one entry per 32 */
1648 															/* sprites. Used at run time! */
1649 	ROM_LOAD( "b-6f-.bin",    0x0620, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as battroad */
1650 ROM_END
1651 
1652 ROM_START( spartanx )
1653 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1654 	ROM_LOAD( "a-4e-c-j.bin", 0x0000, 0x4000, CRC(32a0a9a6) SHA1(fbb601a4c98a131013ea49a6877f2cd8139434fa) )
1655 	ROM_LOAD( "a-4d-c-j.bin", 0x4000, 0x4000, CRC(3173ea78) SHA1(cb6102abf9cf8df531f6e808b59e076831456ff5) )
1656 
1657 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1658 	ROM_LOAD( "a-3e-.bin",    0xa000, 0x2000, CRC(58e87ab0) SHA1(3b03c101fec58eac13fc309a78df9a2cd44f7604) )	/* samples (ADPCM 4-bit) */
1659 	ROM_LOAD( "a-3f-.bin",    0xc000, 0x2000, CRC(c81e31ea) SHA1(f0fc58b929188c8802cd85549bdf9f4566e6a677) )	/* samples (ADPCM 4-bit) */
1660 	ROM_LOAD( "a-3h-.bin",    0xe000, 0x2000, CRC(d99fb995) SHA1(caa6acdbc3b02d248fd123be95ea6fdcb4f35b59) )
1661 
1662 	ROM_REGION( 0x06000, REGION_GFX1, ROMREGION_DISPOSE )
1663 	ROM_LOAD( "g-4c-a-j.bin", 0x00000, 0x2000, CRC(8af9c5a6) SHA1(3375ad92f230ea85d6db16ccfa8fec0832e8cc26) )	/* characters */
1664 	ROM_LOAD( "g-4d-a-j.bin", 0x02000, 0x2000, CRC(b8300c72) SHA1(806be9da8a164d5f6a4cbd82deacb3fbd0032423) )
1665 	ROM_LOAD( "g-4e-a-j.bin", 0x04000, 0x2000, CRC(b50429cd) SHA1(6fdaed316ec94fc5ccb560ed65c714151f8ee5fe) )
1666 
1667 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
1668 	ROM_LOAD( "b-4k-.bin",    0x00000, 0x2000, CRC(16fb5150) SHA1(a49faf617f948d3ccec2bc6ef97bd399f0958f65) )	/* sprites */
1669 	ROM_LOAD( "b-4f-.bin",    0x02000, 0x2000, CRC(67745a33) SHA1(fcc642fb1b932676c84c1a0901b989673c57c0e5) )
1670 	ROM_LOAD( "b-4l-.bin",    0x04000, 0x2000, CRC(bd1c2261) SHA1(7155789a01801a9e1a55d4e68c94a3a3ee7d1b2e) )
1671 	ROM_LOAD( "b-4h-.bin",    0x06000, 0x2000, CRC(8ac5ed3a) SHA1(9c88e8c82420428b43923cdee7eb4504882bec69) )
1672 	ROM_LOAD( "b-3n-.bin",    0x08000, 0x2000, CRC(28a213aa) SHA1(0d6d668490bdf4394bc9fed2f3cdc72f2fea46f9) )
1673 	ROM_LOAD( "b-4n-.bin",    0x0a000, 0x2000, CRC(d5228df3) SHA1(836c4f95f873fbf07f9bec63a72c20a14651117c) )
1674 	ROM_LOAD( "b-4m-.bin",    0x0c000, 0x2000, CRC(b16de4f2) SHA1(512260e76c9cd21b8add771de53fbd27c2719213) )
1675 	ROM_LOAD( "b-3m-.bin",    0x0e000, 0x2000, CRC(eba0d66b) SHA1(028f82fc1853b86a3201b24871f41091c3e0b542) )
1676 	ROM_LOAD( "b-4c-.bin",    0x10000, 0x2000, CRC(01298885) SHA1(d4edf5fe707c5b7231ba72b731b96120064a7ecd) )
1677 	ROM_LOAD( "b-4e-.bin",    0x12000, 0x2000, CRC(c77b87d4) SHA1(c0f66f0130f6a290a58a3d77bba1d06f16016901) )
1678 	ROM_LOAD( "b-4d-.bin",    0x14000, 0x2000, CRC(6a70615f) SHA1(f4683dc0a566567e95e85268612bcf0e6297d955) )
1679 	ROM_LOAD( "b-4a-.bin",    0x16000, 0x2000, CRC(6189d626) SHA1(ce8e5e95c2684c685481e9c8d921380b20ac0460) )
1680 
1681 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1682 	ROM_LOAD( "g-1j-.bin",    0x0000, 0x0100, CRC(668e6bca) SHA1(cd5262b1310821ba7b12873e4db35f081d6b9df4) )	/* character palette red component */
1683 	ROM_LOAD( "b-1m-.bin",    0x0100, 0x0100, CRC(76c05a9c) SHA1(1f46f436a17f8c883bdd6d9804b828a81a76f880) )	/* sprite palette red component */
1684 	ROM_LOAD( "g-1f-.bin",    0x0200, 0x0100, CRC(964b6495) SHA1(76f30a65a0ded14babad2006221aa40621fb7ea1) )	/* character palette green component */
1685 	ROM_LOAD( "b-1n-.bin",    0x0300, 0x0100, CRC(23f06b99) SHA1(6b3d6349f019aeab33838ae392bc3f3f89906326) )	/* sprite palette green component */
1686 	ROM_LOAD( "g-1h-.bin",    0x0400, 0x0100, CRC(550563e1) SHA1(11edb45acba8b28a462c49956ebb1ba0a8b2ff26) )	/* character palette blue component */
1687 	ROM_LOAD( "b-1l-.bin",    0x0500, 0x0100, CRC(35e45021) SHA1(511b94507f41b377f38184ed9a85f34949b28d26) )	/* sprite palette blue component */
1688 	ROM_LOAD( "b-5f-.bin",    0x0600, 0x0020, CRC(7a601c3d) SHA1(5c5cdf51b2c9fdb2b05402d9c260208ae73fe245) )	/* sprite height, one entry per 32 */
1689 															/* sprites. Used at run time! */
1690 	ROM_LOAD( "b-6f-.bin",    0x0620, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as battroad */
1691 ROM_END
1692 
1693 ROM_START( kungfub )
1694 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1695 	ROM_LOAD( "c5.5h",        0x0000, 0x4000, CRC(5d8e791d) SHA1(90cd911f715a50a90427abd89b38272a6df08d69) )
1696 	ROM_LOAD( "c4.5k",        0x4000, 0x4000, CRC(4000e2b8) SHA1(719b0aa1fd0cbe671178ac728d76d439bd7932d9) )
1697 
1698 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1699 	ROM_LOAD( "a-3e-.bin",    0xa000, 0x2000, CRC(58e87ab0) SHA1(3b03c101fec58eac13fc309a78df9a2cd44f7604) )	/* samples (ADPCM 4-bit) */
1700 	ROM_LOAD( "a-3f-.bin",    0xc000, 0x2000, CRC(c81e31ea) SHA1(f0fc58b929188c8802cd85549bdf9f4566e6a677) )	/* samples (ADPCM 4-bit) */
1701 	ROM_LOAD( "a-3h-.bin",    0xe000, 0x2000, CRC(d99fb995) SHA1(caa6acdbc3b02d248fd123be95ea6fdcb4f35b59) )
1702 
1703 	ROM_REGION( 0x06000, REGION_GFX1, ROMREGION_DISPOSE )
1704 	ROM_LOAD( "g-4c-a.bin",   0x00000, 0x2000, CRC(6b2cc9c8) SHA1(ba7c902d08c21a1e33f450406bfbfa35abde3b3f) )	/* characters */
1705 	ROM_LOAD( "g-4d-a.bin",   0x02000, 0x2000, CRC(c648f558) SHA1(7cc085d8dc4a770d2828e39859b7b18e80148a00) )
1706 	ROM_LOAD( "g-4e-a.bin",   0x04000, 0x2000, CRC(fbe9276e) SHA1(84181c8da79e2c92af04aef3ab5d23f70969dad8) )
1707 
1708 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
1709 	ROM_LOAD( "b-4k-.bin",    0x00000, 0x2000, CRC(16fb5150) SHA1(a49faf617f948d3ccec2bc6ef97bd399f0958f65) )	/* sprites */
1710 	ROM_LOAD( "b-4f-.bin",    0x02000, 0x2000, CRC(67745a33) SHA1(fcc642fb1b932676c84c1a0901b989673c57c0e5) )
1711 	ROM_LOAD( "b-4l-.bin",    0x04000, 0x2000, CRC(bd1c2261) SHA1(7155789a01801a9e1a55d4e68c94a3a3ee7d1b2e) )
1712 	ROM_LOAD( "b-4h-.bin",    0x06000, 0x2000, CRC(8ac5ed3a) SHA1(9c88e8c82420428b43923cdee7eb4504882bec69) )
1713 	ROM_LOAD( "b-3n-.bin",    0x08000, 0x2000, CRC(28a213aa) SHA1(0d6d668490bdf4394bc9fed2f3cdc72f2fea46f9) )
1714 	ROM_LOAD( "b-4n-.bin",    0x0a000, 0x2000, CRC(d5228df3) SHA1(836c4f95f873fbf07f9bec63a72c20a14651117c) )
1715 	ROM_LOAD( "b-4m-.bin",    0x0c000, 0x2000, CRC(b16de4f2) SHA1(512260e76c9cd21b8add771de53fbd27c2719213) )
1716 	ROM_LOAD( "b-3m-.bin",    0x0e000, 0x2000, CRC(eba0d66b) SHA1(028f82fc1853b86a3201b24871f41091c3e0b542) )
1717 	ROM_LOAD( "b-4c-.bin",    0x10000, 0x2000, CRC(01298885) SHA1(d4edf5fe707c5b7231ba72b731b96120064a7ecd) )
1718 	ROM_LOAD( "b-4e-.bin",    0x12000, 0x2000, CRC(c77b87d4) SHA1(c0f66f0130f6a290a58a3d77bba1d06f16016901) )
1719 	ROM_LOAD( "b-4d-.bin",    0x14000, 0x2000, CRC(6a70615f) SHA1(f4683dc0a566567e95e85268612bcf0e6297d955) )
1720 	ROM_LOAD( "b-4a-.bin",    0x16000, 0x2000, CRC(6189d626) SHA1(ce8e5e95c2684c685481e9c8d921380b20ac0460) )
1721 
1722 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1723 	ROM_LOAD( "g-1j-.bin",    0x0000, 0x0100, CRC(668e6bca) SHA1(cd5262b1310821ba7b12873e4db35f081d6b9df4) )	/* character palette red component */
1724 	ROM_LOAD( "b-1m-.bin",    0x0100, 0x0100, CRC(76c05a9c) SHA1(1f46f436a17f8c883bdd6d9804b828a81a76f880) )	/* sprite palette red component */
1725 	ROM_LOAD( "g-1f-.bin",    0x0200, 0x0100, CRC(964b6495) SHA1(76f30a65a0ded14babad2006221aa40621fb7ea1) )	/* character palette green component */
1726 	ROM_LOAD( "b-1n-.bin",    0x0300, 0x0100, CRC(23f06b99) SHA1(6b3d6349f019aeab33838ae392bc3f3f89906326) )	/* sprite palette green component */
1727 	ROM_LOAD( "g-1h-.bin",    0x0400, 0x0100, CRC(550563e1) SHA1(11edb45acba8b28a462c49956ebb1ba0a8b2ff26) )	/* character palette blue component */
1728 	ROM_LOAD( "b-1l-.bin",    0x0500, 0x0100, CRC(35e45021) SHA1(511b94507f41b377f38184ed9a85f34949b28d26) )	/* sprite palette blue component */
1729 	ROM_LOAD( "b-5f-.bin",    0x0600, 0x0020, CRC(7a601c3d) SHA1(5c5cdf51b2c9fdb2b05402d9c260208ae73fe245) )	/* sprite height, one entry per 32 */
1730 															/* sprites. Used at run time! */
1731 	ROM_LOAD( "b-6f-.bin",    0x0620, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as battroad */
1732 ROM_END
1733 
1734 ROM_START( kungfub2 )
1735 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1736 	ROM_LOAD( "kf4",          0x0000, 0x4000, CRC(3f65313f) SHA1(bd584896f558440a0f7bf8e1ca49bf478fe77553) )
1737 	ROM_LOAD( "kf5",          0x4000, 0x4000, CRC(9ea325f3) SHA1(7c35128a3e70e5994a5e17db656dec1a53c1fe67) )
1738 
1739 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1740 	ROM_LOAD( "a-3e-.bin",    0xa000, 0x2000, CRC(58e87ab0) SHA1(3b03c101fec58eac13fc309a78df9a2cd44f7604) )	/* samples (ADPCM 4-bit) */
1741 	ROM_LOAD( "a-3f-.bin",    0xc000, 0x2000, CRC(c81e31ea) SHA1(f0fc58b929188c8802cd85549bdf9f4566e6a677) )	/* samples (ADPCM 4-bit) */
1742 	ROM_LOAD( "a-3h-.bin",    0xe000, 0x2000, CRC(d99fb995) SHA1(caa6acdbc3b02d248fd123be95ea6fdcb4f35b59) )
1743 
1744 	ROM_REGION( 0x06000, REGION_GFX1, ROMREGION_DISPOSE )
1745 	ROM_LOAD( "g-4c-a.bin",   0x00000, 0x2000, CRC(6b2cc9c8) SHA1(ba7c902d08c21a1e33f450406bfbfa35abde3b3f) )	/* characters */
1746 	ROM_LOAD( "g-4d-a.bin",   0x02000, 0x2000, CRC(c648f558) SHA1(7cc085d8dc4a770d2828e39859b7b18e80148a00) )
1747 	ROM_LOAD( "g-4e-a.bin",   0x04000, 0x2000, CRC(fbe9276e) SHA1(84181c8da79e2c92af04aef3ab5d23f70969dad8) )
1748 
1749 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
1750 	ROM_LOAD( "b-4k-.bin",    0x00000, 0x2000, CRC(16fb5150) SHA1(a49faf617f948d3ccec2bc6ef97bd399f0958f65) )	/* sprites */
1751 	ROM_LOAD( "b-4f-.bin",    0x02000, 0x2000, CRC(67745a33) SHA1(fcc642fb1b932676c84c1a0901b989673c57c0e5) )
1752 	ROM_LOAD( "b-4l-.bin",    0x04000, 0x2000, CRC(bd1c2261) SHA1(7155789a01801a9e1a55d4e68c94a3a3ee7d1b2e) )
1753 	ROM_LOAD( "b-4h-.bin",    0x06000, 0x2000, CRC(8ac5ed3a) SHA1(9c88e8c82420428b43923cdee7eb4504882bec69) )
1754 	ROM_LOAD( "b-3n-.bin",    0x08000, 0x2000, CRC(28a213aa) SHA1(0d6d668490bdf4394bc9fed2f3cdc72f2fea46f9) )
1755 	ROM_LOAD( "b-4n-.bin",    0x0a000, 0x2000, CRC(d5228df3) SHA1(836c4f95f873fbf07f9bec63a72c20a14651117c) )
1756 	ROM_LOAD( "b-4m-.bin",    0x0c000, 0x2000, CRC(b16de4f2) SHA1(512260e76c9cd21b8add771de53fbd27c2719213) )
1757 	ROM_LOAD( "b-3m-.bin",    0x0e000, 0x2000, CRC(eba0d66b) SHA1(028f82fc1853b86a3201b24871f41091c3e0b542) )
1758 	ROM_LOAD( "b-4c-.bin",    0x10000, 0x2000, CRC(01298885) SHA1(d4edf5fe707c5b7231ba72b731b96120064a7ecd) )
1759 	ROM_LOAD( "b-4e-.bin",    0x12000, 0x2000, CRC(c77b87d4) SHA1(c0f66f0130f6a290a58a3d77bba1d06f16016901) )
1760 	ROM_LOAD( "b-4d-.bin",    0x14000, 0x2000, CRC(6a70615f) SHA1(f4683dc0a566567e95e85268612bcf0e6297d955) )
1761 	ROM_LOAD( "b-4a-.bin",    0x16000, 0x2000, CRC(6189d626) SHA1(ce8e5e95c2684c685481e9c8d921380b20ac0460) )
1762 
1763 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1764 	ROM_LOAD( "g-1j-.bin",    0x0000, 0x0100, CRC(668e6bca) SHA1(cd5262b1310821ba7b12873e4db35f081d6b9df4) )	/* character palette red component */
1765 	ROM_LOAD( "b-1m-.bin",    0x0100, 0x0100, CRC(76c05a9c) SHA1(1f46f436a17f8c883bdd6d9804b828a81a76f880) )	/* sprite palette red component */
1766 	ROM_LOAD( "g-1f-.bin",    0x0200, 0x0100, CRC(964b6495) SHA1(76f30a65a0ded14babad2006221aa40621fb7ea1) )	/* character palette green component */
1767 	ROM_LOAD( "b-1n-.bin",    0x0300, 0x0100, CRC(23f06b99) SHA1(6b3d6349f019aeab33838ae392bc3f3f89906326) )	/* sprite palette green component */
1768 	ROM_LOAD( "g-1h-.bin",    0x0400, 0x0100, CRC(550563e1) SHA1(11edb45acba8b28a462c49956ebb1ba0a8b2ff26) )	/* character palette blue component */
1769 	ROM_LOAD( "b-1l-.bin",    0x0500, 0x0100, CRC(35e45021) SHA1(511b94507f41b377f38184ed9a85f34949b28d26) )	/* sprite palette blue component */
1770 	ROM_LOAD( "b-5f-.bin",    0x0600, 0x0020, CRC(7a601c3d) SHA1(5c5cdf51b2c9fdb2b05402d9c260208ae73fe245) )	/* sprite height, one entry per 32 */
1771 															/* sprites. Used at run time! */
1772 	ROM_LOAD( "b-6f-.bin",    0x0620, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as battroad */
1773 ROM_END
1774 
1775 ROM_START( battroad )
1776 	ROM_REGION( 0x1e000, REGION_CPU1, 0 )	/* 64k for code */
1777 	ROM_LOAD( "br-a-4e.b",	0x00000, 0x2000, CRC(9bf14768) SHA1(53169553b956e5bcbd3fae13b86ab859cd08c955) )
1778 	ROM_LOAD( "br-a-4d.b",	0x02000, 0x2000, CRC(39ca1627) SHA1(bbeb59ad93b4eb874dc3c1eebfc1136c0c5112c8) )
1779 	ROM_LOAD( "br-a-4b.b",	0x04000, 0x2000, CRC(1865bb22) SHA1(990cfffc4fc0ade8bb4ebd02d107f8657728f976) )
1780 	ROM_LOAD( "br-a-4a",	0x06000, 0x2000, CRC(65b61c21) SHA1(a440eb22a5824621ec7452c058de1329dbd5f168) )
1781 	ROM_LOAD( "br-c-7c",	0x10000, 0x2000, CRC(2e1eca52) SHA1(d938bef795436232a6f58cba77b5f9004b254873) )	/* banked at a000-bfff */
1782 	ROM_LOAD( "br-c-7l",	0x12000, 0x2000, CRC(f2178578) SHA1(2ddf867cb5bd372ceda58e794e417f34a9cbf1d5) )
1783 	ROM_LOAD( "br-c-7d",	0x14000, 0x2000, CRC(3aa9fa30) SHA1(b7d943250bde9ec9ef8d51164652fc3ffee7e9ff) )
1784 	ROM_LOAD( "br-c-7b",	0x16000, 0x2000, CRC(0b31b90b) SHA1(498d0deef7fa53600a821e64cf913d239659f784) )
1785 	ROM_LOAD( "br-c-7a",	0x18000, 0x2000, CRC(ec3b0080) SHA1(83dc0d0c4ecf2ff62cfb213c02a3869c6f72f2e9) )
1786 	ROM_LOAD( "br-c-7k",	0x1c000, 0x2000, CRC(edc75f7f) SHA1(3650521874c85a7cf403ede2588b989ac93fb92e) )
1787 
1788 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1789 	ROM_LOAD( "br-a-3e",     0xa000, 0x2000, CRC(a7140871) SHA1(bf993e8ed776974ae59e1995eb5d3055c632eda7) )
1790 	ROM_LOAD( "br-a-3f",     0xc000, 0x2000, CRC(1bb51b30) SHA1(c8e99d79e2fdb6b02c57cba475be0e5e35359124) )
1791 	ROM_LOAD( "br-a-3h",     0xe000, 0x2000, CRC(afb3e083) SHA1(b1aaca64bbcce73203e55d2f16be3f3cef46f39b) )
1792 
1793 	ROM_REGION( 0x06000, REGION_GFX1, ROMREGION_DISPOSE )
1794 	ROM_LOAD( "br-c-6h",	0x00000, 0x2000, CRC(ca50841c) SHA1(5cf159eb282d819f772331c1840a30d92732cf6e) )	/* tiles */
1795 	ROM_LOAD( "br-c-6n",	0x02000, 0x2000, CRC(7d53163a) SHA1(0bdb470a29aaeb71ef4ec180dc9158f0753d3a3a) )
1796 	ROM_LOAD( "br-c-6k",	0x04000, 0x2000, CRC(5951e12a) SHA1(bb5739678f1c1ea228443c7e300b098f6bcb8ba0) )
1797 
1798 	ROM_REGION( 0x0c000, REGION_GFX2, ROMREGION_DISPOSE )
1799 	ROM_LOAD( "br-b-4k.a",	0x00000, 0x2000, CRC(d3c5e85b) SHA1(1a6a7b9c71f2209ef6c4d93d5bd4774a7239e569) )	/* sprites */
1800 	ROM_LOAD( "br-b-4f.a",	0x02000, 0x2000, CRC(4354232a) SHA1(d2edcb74b630cc778d932788a191440397b99e22) )
1801 	ROM_LOAD( "br-b-3n.a",	0x04000, 0x2000, CRC(2668dbef) SHA1(11528a4f8e5c75361686c1301f282cc2735ce2f5) )
1802 	ROM_LOAD( "br-b-4n.a",	0x06000, 0x2000, CRC(c719a324) SHA1(b0a4e603a964f3c8aee77df4c51625fd1683b7b9) )
1803 	ROM_LOAD( "br-b-4c.a",	0x08000, 0x2000, CRC(0b3193bf) SHA1(130d2d0ff3563d196eea50a23e581ac5e7de8d72) )
1804 	ROM_LOAD( "br-b-4e.a",	0x0a000, 0x2000, CRC(3662e8fb) SHA1(c3c3deb7b2da42d6def279bd80b65eb2deef4038) )
1805 
1806 	ROM_REGION( 0x04000, REGION_GFX3, ROMREGION_DISPOSE )
1807 	ROM_LOAD( "br-c-1b",	0x00000, 0x2000, CRC(8088911e) SHA1(d75d0a4ee5e51f14d93c8525486ee2cf2e87be9c) )	/* characters */
1808 	ROM_LOAD( "br-c-1c",	0x02000, 0x2000, CRC(3d78b653) SHA1(b693d20ad28fed867ffbc23cda150f3201206d3c) )
1809 
1810 	ROM_REGION( 0x0740, REGION_PROMS, 0 )
1811 	ROM_LOAD( "br-c-3j",     0x0000, 0x0100, CRC(aceaed79) SHA1(64cf6d012fc8d5163251812b4c2ac80d8f6dd353) )	/* tile palette red component */
1812 	ROM_LOAD( "br-b-1m",     0x0100, 0x0100, CRC(3bd30c7d) SHA1(ce9812c47321820f144c5a285c15dbb2073c8847) )	/* sprite palette red component */
1813 	ROM_LOAD( "br-c-3l",     0x0200, 0x0100, CRC(7cf6f380) SHA1(950a28dcb6e9d3d743c76ce07616ee7d6a0c138c) )	/* tile palette green component */
1814 	ROM_LOAD( "br-b-1n",     0x0300, 0x0100, CRC(b7f3dc3b) SHA1(7bffb6f3ddd0459bd060b0c1ca22a291153672d5) )	/* sprite palette green component */
1815 	ROM_LOAD( "br-c-3k",     0x0400, 0x0100, CRC(d90e4a54) SHA1(498c65773c83dfdb99703811bce7831f9a1af432) )	/* tile palette blue component */
1816 	ROM_LOAD( "br-b-1l",     0x0500, 0x0100, CRC(5271c7d8) SHA1(1254b61133ed8fd6e032df04482fb775c3f66981) )	/* sprite palette blue component */
1817 	ROM_LOAD( "br-c-1j",     0x0600, 0x0020, CRC(78eb5d77) SHA1(dd82f7843bea8c953f491faade6ced17e57ddf3c) )	/* character palette */
1818 	ROM_LOAD( "br-b-5p",     0x0620, 0x0020, CRC(ce746937) SHA1(387e73a9ca684ac2e30061fca281970ff20ef0a5) )	/* sprite height, one entry per 32 */
1819 	                                                        /* sprites. Used at run time! */
1820 	ROM_LOAD( "br-b-6f",     0x0640, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as kungfum */
1821 ROM_END
1822 
1823 ROM_START( ldrun )
1824 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1825 	ROM_LOAD( "lr-a-4e",      0x0000, 0x2000, CRC(5d7e2a4d) SHA1(fe8aeff360f6c3a8606d67a8b95148c3c2ef7267) )
1826 	ROM_LOAD( "lr-a-4d",      0x2000, 0x2000, CRC(96f20473) SHA1(e400c43f3f32e12f68ca204c60bcebdb2b3da55d) )
1827 	ROM_LOAD( "lr-a-4b",      0x4000, 0x2000, CRC(b041c4a9) SHA1(77768b03ea2497e25c3e47b68a0eb2fe3e9aea35) )
1828 	ROM_LOAD( "lr-a-4a",      0x6000, 0x2000, CRC(645e42aa) SHA1(c806ffce7ece418bad86854c987f78c70c13e492) )
1829 
1830 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1831 	ROM_LOAD( "lr-a-3f",      0xc000, 0x2000, CRC(7a96accd) SHA1(e94815dbfaabbb562df8f3298060aa6bd7825904) )
1832 	ROM_LOAD( "lr-a-3h",      0xe000, 0x2000, CRC(3f7f3939) SHA1(7ee25a21e74995bfb36ac11b45d384b33a6d8515) )
1833 
1834 	ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE )
1835 	ROM_LOAD( "lr-e-2d",      0x0000, 0x2000, CRC(24f9b58d) SHA1(e33224b910d37aaa85713b954c8dd50996245a8c) )	/* characters */
1836 	ROM_LOAD( "lr-e-2j",      0x2000, 0x2000, CRC(43175e08) SHA1(9dbafb27d46cf7df35f343a8753e8d91ea706993) )
1837 	ROM_LOAD( "lr-e-2f",      0x4000, 0x2000, CRC(e0317124) SHA1(b766bd21e2da1673d2054148f62d61c33c95d38e) )
1838 
1839 	ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE )
1840 	ROM_LOAD( "lr-b-4k",      0x0000, 0x2000, CRC(8141403e) SHA1(65fa6bc872fb07c71aacbbcc35cee766b2877896) )	/* sprites */
1841 	ROM_LOAD( "lr-b-3n",      0x2000, 0x2000, CRC(55154154) SHA1(35304676e1ab55adccdabdc766a4e0e0901d3cd0) )
1842 	ROM_LOAD( "lr-b-4c",      0x4000, 0x2000, CRC(924e34d0) SHA1(6a841419797a129235fc7d0405a5be55e8d703da) )
1843 
1844 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1845 	ROM_LOAD( "lr-e-3m",      0x0000, 0x0100, CRC(53040416) SHA1(2c6915164d1c31afc60a21b557abdf023d5b3f46) )	/* character palette red component */
1846 	ROM_LOAD( "lr-b-1m",      0x0100, 0x0100, CRC(4bae1c25) SHA1(17a9e2567d9d648dca69510bb201f8af0738b068) )	/* sprite palette red component */
1847 	ROM_LOAD( "lr-e-3l",      0x0200, 0x0100, CRC(67786037) SHA1(cd40dfd94295afe57139733752643cf48b8566b1) )	/* character palette green component */
1848 	ROM_LOAD( "lr-b-1n",      0x0300, 0x0100, CRC(9cd3db94) SHA1(bff95965f946df0e4af1f99db5b2468bf1d4403f) )	/* sprite palette green component */
1849 	ROM_LOAD( "lr-e-3n",      0x0400, 0x0100, CRC(5b716837) SHA1(e3ea250891fec43a97e92ac1c3a4fbb5ee2d4a4d) )	/* character palette blue component */
1850 	ROM_LOAD( "lr-b-1l",      0x0500, 0x0100, CRC(08d8cf9a) SHA1(a46213e0dc04e44b0544401eb341fd49eef331dd) )	/* sprite palette blue component */
1851 	ROM_LOAD( "lr-b-5p",      0x0600, 0x0020, CRC(e01f69e2) SHA1(0d00ef348025ea4a9c274a7e3dbb006217d8449d) )	/* sprite height, one entry per 32 */
1852 	                                                        /* sprites. Used at run time! */
1853 	ROM_LOAD( "lr-b-6f",      0x0620, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
1854 ROM_END
1855 
1856 ROM_START( ldruna )
1857 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1858 	ROM_LOAD( "roma4c",       0x0000, 0x2000, CRC(279421e1) SHA1(051e103b2ade4a332053ba05aa7f126dd9b97c2c) )
1859 	ROM_LOAD( "lr-a-4d",      0x2000, 0x2000, CRC(96f20473) SHA1(e400c43f3f32e12f68ca204c60bcebdb2b3da55d) )
1860 	ROM_LOAD( "roma4b",       0x4000, 0x2000, CRC(3c464bad) SHA1(df34a9ec2f29f8d2a2ef1a2fc065ba7541ea4178) )
1861 	ROM_LOAD( "roma4a",       0x6000, 0x2000, CRC(899df8e0) SHA1(e80154dccd04e2928124591f16e088de3554995b) )
1862 
1863 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1864 	ROM_LOAD( "lr-a-3f",      0xc000, 0x2000, CRC(7a96accd) SHA1(e94815dbfaabbb562df8f3298060aa6bd7825904) )
1865 	ROM_LOAD( "lr-a-3h",      0xe000, 0x2000, CRC(3f7f3939) SHA1(7ee25a21e74995bfb36ac11b45d384b33a6d8515) )
1866 
1867 	ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE )
1868 	ROM_LOAD( "lr-e-2d",      0x0000, 0x2000, CRC(24f9b58d) SHA1(e33224b910d37aaa85713b954c8dd50996245a8c) )	/* characters */
1869 	ROM_LOAD( "lr-e-2j",      0x2000, 0x2000, CRC(43175e08) SHA1(9dbafb27d46cf7df35f343a8753e8d91ea706993) )
1870 	ROM_LOAD( "lr-e-2f",      0x4000, 0x2000, CRC(e0317124) SHA1(b766bd21e2da1673d2054148f62d61c33c95d38e) )
1871 
1872 	ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE )
1873 	ROM_LOAD( "lr-b-4k",      0x0000, 0x2000, CRC(8141403e) SHA1(65fa6bc872fb07c71aacbbcc35cee766b2877896) )	/* sprites */
1874 	ROM_LOAD( "lr-b-3n",      0x2000, 0x2000, CRC(55154154) SHA1(35304676e1ab55adccdabdc766a4e0e0901d3cd0) )
1875 	ROM_LOAD( "lr-b-4c",      0x4000, 0x2000, CRC(924e34d0) SHA1(6a841419797a129235fc7d0405a5be55e8d703da) )
1876 
1877 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1878 	ROM_LOAD( "lr-e-3m",      0x0000, 0x0100, CRC(53040416) SHA1(2c6915164d1c31afc60a21b557abdf023d5b3f46) )	/* character palette red component */
1879 	ROM_LOAD( "lr-b-1m",      0x0100, 0x0100, CRC(4bae1c25) SHA1(17a9e2567d9d648dca69510bb201f8af0738b068) )	/* sprite palette red component */
1880 	ROM_LOAD( "lr-e-3l",      0x0200, 0x0100, CRC(67786037) SHA1(cd40dfd94295afe57139733752643cf48b8566b1) )	/* character palette green component */
1881 	ROM_LOAD( "lr-b-1n",      0x0300, 0x0100, CRC(9cd3db94) SHA1(bff95965f946df0e4af1f99db5b2468bf1d4403f) )	/* sprite palette green component */
1882 	ROM_LOAD( "lr-e-3n",      0x0400, 0x0100, CRC(5b716837) SHA1(e3ea250891fec43a97e92ac1c3a4fbb5ee2d4a4d) )	/* character palette blue component */
1883 	ROM_LOAD( "lr-b-1l",      0x0500, 0x0100, CRC(08d8cf9a) SHA1(a46213e0dc04e44b0544401eb341fd49eef331dd) )	/* sprite palette blue component */
1884 	ROM_LOAD( "lr-b-5p",      0x0600, 0x0020, CRC(e01f69e2) SHA1(0d00ef348025ea4a9c274a7e3dbb006217d8449d) )	/* sprite height, one entry per 32 */
1885 	                                                        /* sprites. Used at run time! */
1886 	ROM_LOAD( "lr-b-6f",      0x0620, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
1887 ROM_END
1888 
1889 ROM_START( ldrun2 )
1890 	ROM_REGION( 0x14000, REGION_CPU1, 0 )	/* 64k for code + 16k for banks */
1891 	ROM_LOAD( "lr2-a-4e.a",   0x00000, 0x2000, CRC(22313327) SHA1(c82c9d3218e0384e26b86f9475fea5056cd9832b) )
1892 	ROM_LOAD( "lr2-a-4d",     0x02000, 0x2000, CRC(ef645179) SHA1(d4cae3cb223d7d10e2cce751af5c77493c1c60df) )
1893 	ROM_LOAD( "lr2-a-4a.a",   0x04000, 0x2000, CRC(b11ddf59) SHA1(9797cbf4b8cd7bfabe797bdc71c904f54d710491) )
1894 	ROM_LOAD( "lr2-a-4a",     0x06000, 0x2000, CRC(470cc8a1) SHA1(72ca710a08c322a2b61dfb4c0c67af9d72078fc0) )
1895 	ROM_LOAD( "lr2-h-1c.a",   0x10000, 0x2000, CRC(7ebcadbc) SHA1(ff8377cb1f349f2957280b6a633e596740a489be) )	/* banked at 8000-9fff */
1896 	ROM_LOAD( "lr2-h-1d.a",   0x12000, 0x2000, CRC(64cbb7f9) SHA1(897d53c3892e636734f5a380c67c41c0d810955e) )	/* banked at 8000-9fff */
1897 
1898 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1899 	ROM_LOAD( "lr2-a-3e",     0xa000, 0x2000, CRC(853f3898) SHA1(12ade2f6f10c85c6a2c380dd0727aad64b317d56) )
1900 	ROM_LOAD( "lr2-a-3f",     0xc000, 0x2000, CRC(7a96accd) SHA1(e94815dbfaabbb562df8f3298060aa6bd7825904) )
1901 	ROM_LOAD( "lr2-a-3h",     0xe000, 0x2000, CRC(2a0e83ca) SHA1(207bfb3912e7a9caa61b742fc3357154a0189434) )
1902 
1903 	ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE )
1904 	ROM_LOAD( "lr2-h-1e",     0x00000, 0x2000, CRC(9d63a8ff) SHA1(4281fd7a72313b58113e0e64e09ccff50eeccfa6) )	/* characters */
1905 	ROM_LOAD( "lr2-h-1j",     0x02000, 0x2000, CRC(40332bbd) SHA1(4611d637bd8332f38c6b9c6c3c246a587632ac58) )
1906 	ROM_LOAD( "lr2-h-1h",     0x04000, 0x2000, CRC(9404727d) SHA1(ed096c6406ec74418bbbb1e2cee3ce9a4919ba7c) )
1907 
1908 	ROM_REGION( 0xc000, REGION_GFX2, ROMREGION_DISPOSE )
1909 	ROM_LOAD( "lr2-b-4k",     0x00000, 0x2000, CRC(79909871) SHA1(18fc113d159c902986b47a94894c982c74c2021e) )	/* sprites */
1910 	ROM_LOAD( "lr2-b-4f",     0x02000, 0x2000, CRC(06ba1ef4) SHA1(e8ba4c270df95810d80cdfe87f6d585cfaf60574) )
1911 	ROM_LOAD( "lr2-b-3n",     0x04000, 0x2000, CRC(3cc5893f) SHA1(c2e88d3473d575637c49c218d6099578386891cc) )
1912 	ROM_LOAD( "lr2-b-4n",     0x06000, 0x2000, CRC(49c12f42) SHA1(56f1e4665fb4f84637a2c16c914657977f38a224) )
1913 	ROM_LOAD( "lr2-b-4c",     0x08000, 0x2000, CRC(fbe6d24c) SHA1(d4d9bfa5abf7d9b2457543c56bb04edf209157b8) )
1914 	ROM_LOAD( "lr2-b-4e",     0x0a000, 0x2000, CRC(75172d1f) SHA1(6771c31ad834ca94a6575e34d781add5bfadce22) )
1915 
1916 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
1917 	ROM_LOAD( "lr2-h-3m",     0x0000, 0x0100, CRC(2c5d834b) SHA1(4144a566d7eef06e9cd2d4c774e4b1e6f9ef56b1) )	/* character palette red component */
1918 	ROM_LOAD( "lr2-b-1m",     0x0100, 0x0100, CRC(4ec9bb3d) SHA1(e36398e0e92525f0c5086cb2b5a4a976d1e4f126) )	/* sprite palette red component */
1919 	ROM_LOAD( "lr2-h-3l",     0x0200, 0x0100, CRC(3ae69aca) SHA1(683bf617a36952d08bea53ea9c82b12f81c62c53) )	/* character palette green component */
1920 	ROM_LOAD( "lr2-b-1n",     0x0300, 0x0100, CRC(1daf1fa4) SHA1(5742ceff566e1d9f1148df4e408571aa290996d3) )	/* sprite palette green component */
1921 	ROM_LOAD( "lr2-h-3n",     0x0400, 0x0100, CRC(2b28aec5) SHA1(946633bd7203ba1481250f900f3232c18538613b) )	/* character palette blue component */
1922 	ROM_LOAD( "lr2-b-1l",     0x0500, 0x0100, CRC(c8fb708a) SHA1(ed38f36fa7918179c7176c762c0fcc86b5ddb218) )	/* sprite palette blue component */
1923 	ROM_LOAD( "lr2-b-5p",     0x0600, 0x0020, CRC(e01f69e2) SHA1(0d00ef348025ea4a9c274a7e3dbb006217d8449d) )	/* sprite height, one entry per 32 */
1924 	                                                        /* sprites. Used at run time! */
1925 	ROM_LOAD( "lr2-b-6f",     0x0620, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
1926 ROM_END
1927 
1928 ROM_START( ldrun3 )
1929 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1930 	ROM_LOAD( "lr3a4eb.bin",  0x0000, 0x4000, CRC(09affc47) SHA1(1cd56b967e4c8ada6c6e1015aead5f7551034358) )
1931 	ROM_LOAD( "lr3a4db.bin",  0x4000, 0x4000, CRC(23a02178) SHA1(0560b92dfc9b57d01abb62a7b270beb27fa42040) )
1932 	ROM_LOAD( "lr3a4bb.bin",  0x8000, 0x4000, CRC(3d501a1a) SHA1(a92ff743eb21145154fa717ee9e6ede4da458aa9) )
1933 
1934 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1935 	ROM_LOAD( "lr3-a-3d",     0x8000, 0x4000, CRC(28be68cd) SHA1(1e48cdf649bc861066fbef0293466091092045f3) )
1936 	ROM_LOAD( "lr3-a-3f",     0xc000, 0x4000, CRC(cb7186b7) SHA1(cc99821f3f1523523598e4b7d68b95eee6c84e69) )
1937 
1938 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
1939 	ROM_LOAD( "lr3-n-2a",     0x00000, 0x4000, CRC(f9b74dee) SHA1(f4407024aea05d0c698f8a7a6a20cbbcbd8baf44) )	/* characters */
1940 	ROM_LOAD( "lr3-n-2c",     0x04000, 0x4000, CRC(fef707ba) SHA1(ff6e64eeda6a9be672a1b8778a051886c38bd8f6) )
1941 	ROM_LOAD( "lr3-n-2b",     0x08000, 0x4000, CRC(af3d27b9) SHA1(2eda0bf7ffd7bcb7b7dcd2ffb1482f748ee2edfc) )
1942 
1943 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
1944 	ROM_LOAD( "lr3b4kb.bin",  0x00000, 0x4000, CRC(21ecd8c5) SHA1(786d7d9b690764cfc0c65c3e58369e78f7cc4475) )	/* sprites */
1945 	ROM_LOAD( "snxb4fb.bin",  0x04000, 0x4000, CRC(ed719d7b) SHA1(34c7d9fc762b3f113b6115910898fde9713ae24f) )
1946 	ROM_LOAD( "lr3b3nb.bin",  0x08000, 0x4000, CRC(da8cffab) SHA1(3e194b656fa0c4771e37e6a8b7405edc495808ad) )
1947 	ROM_LOAD( "snxb4nb.bin",  0x0c000, 0x4000, CRC(dc675003) SHA1(df9b6055b4a4c537504658e62e96f826d498b39c) )
1948 	ROM_LOAD( "snxb4cb.bin",  0x10000, 0x4000, CRC(585aa244) SHA1(d90cf29280e5f73b14dc5b33b1a82970e8e1a560) )
1949 	ROM_LOAD( "snxb4eb.bin",  0x14000, 0x4000, CRC(2d3b69dd) SHA1(472e1c06fd3184b91d9b718bb590d45702ed84cd) )
1950 
1951 	ROM_REGION( 0x0820, REGION_PROMS, 0 )
1952 	ROM_LOAD( "lr3-n-2l",     0x0000, 0x0100, CRC(e880b86b) SHA1(3934f37dc45b725af1c7d862086249256366d572) ) /* character palette red component */
1953 	ROM_LOAD( "lr3-b-1m",     0x0100, 0x0100, CRC(f02d7167) SHA1(385a9179143e3dcccd7052e70c7cc71473caaaca) ) /* sprite palette red component */
1954 	ROM_LOAD( "lr3-n-2k",     0x0200, 0x0100, CRC(047ee051) SHA1(7c18a223d37ccc5fea20f8f856fba20335c75ea4) ) /* character palette green component */
1955 	ROM_LOAD( "lr3-b-1n",     0x0300, 0x0100, CRC(9e37f181) SHA1(8e36eb8f4aefcc6d21dfbb2e86dcb4875bcf82cd) ) /* sprite palette green component */
1956 	ROM_LOAD( "lr3-n-2m",     0x0400, 0x0100, CRC(69ad8678) SHA1(96134aa530cb93a5e3b56fffa996aefa08a666a2) ) /* character palette blue component */
1957 	ROM_LOAD( "lr3-b-1l",     0x0500, 0x0100, CRC(5b11c41d) SHA1(186ca7bfa2894311fc573f3f5882da677e029f2a) ) /* sprite palette blue component */
1958 	ROM_LOAD( "lr3-b-5p",     0x0600, 0x0020, CRC(e01f69e2) SHA1(0d00ef348025ea4a9c274a7e3dbb006217d8449d) )	/* sprite height, one entry per 32 */
1959 	                                                        /* sprites. Used at run time! */
1960 	ROM_LOAD( "lr3-n-4f",     0x0620, 0x0100, CRC(df674be9) SHA1(4d8c5378234bc24fac62dc227d8cd72f1ab7a35c) )	/* unknown */
1961 	ROM_LOAD( "lr3-b-6f",     0x0720, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
1962 ROM_END
1963 
1964 ROM_START( ldrun3jp )
1965 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1966 	ROM_LOAD( "lr3-a-4e",     0x0000, 0x4000, CRC(5b334e8e) SHA1(018ee450f88feaf5da025e01d2d839b29d5f1559) )
1967 	ROM_LOAD( "lr3-a-4d.a",   0x4000, 0x4000, CRC(a84bc931) SHA1(0348d238a85a059a6423794910adec4462e14f27) )
1968 	ROM_LOAD( "lr3-a-4b.a",   0x8000, 0x4000, CRC(be09031d) SHA1(c124163895d295969b66386fee91c89bbd8b8774) )
1969 
1970 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
1971 	ROM_LOAD( "lr3-a-3d",     0x8000, 0x4000, CRC(28be68cd) SHA1(1e48cdf649bc861066fbef0293466091092045f3) )
1972 	ROM_LOAD( "lr3-a-3f",     0xc000, 0x4000, CRC(cb7186b7) SHA1(cc99821f3f1523523598e4b7d68b95eee6c84e69) )
1973 
1974 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
1975 	ROM_LOAD( "lr3-n-2a",     0x00000, 0x4000, CRC(f9b74dee) SHA1(f4407024aea05d0c698f8a7a6a20cbbcbd8baf44) )	/* characters */
1976 	ROM_LOAD( "lr3-n-2c",     0x04000, 0x4000, CRC(fef707ba) SHA1(ff6e64eeda6a9be672a1b8778a051886c38bd8f6) )
1977 	ROM_LOAD( "lr3-n-2b",     0x08000, 0x4000, CRC(af3d27b9) SHA1(2eda0bf7ffd7bcb7b7dcd2ffb1482f748ee2edfc) )
1978 
1979 	ROM_REGION( 0xc000, REGION_GFX2, ROMREGION_DISPOSE )
1980 	ROM_LOAD( "lr3-b-4k",     0x00000, 0x4000, CRC(63f070c7) SHA1(beeb13dbba228827cf18e4c23deac041acbb2903) )	/* sprites */
1981 	ROM_LOAD( "lr3-b-3n",     0x04000, 0x4000, CRC(eab7ad91) SHA1(c4e8dec38f6df27c0309172232aa8056be7982c4) )
1982 	ROM_LOAD( "lr3-b-4c",     0x08000, 0x4000, CRC(1a460a46) SHA1(2f9e85ab45e8ec7a08edb9c1f82bce694cc2bc99) )
1983 
1984 	ROM_REGION( 0x0820, REGION_PROMS, 0 )
1985 	ROM_LOAD( "lr3-n-2l",     0x0000, 0x0100, CRC(e880b86b) SHA1(3934f37dc45b725af1c7d862086249256366d572) ) /* character palette red component */
1986 	ROM_LOAD( "lr3-b-1m",     0x0100, 0x0100, CRC(f02d7167) SHA1(385a9179143e3dcccd7052e70c7cc71473caaaca) ) /* sprite palette red component */
1987 	ROM_LOAD( "lr3-n-2k",     0x0200, 0x0100, CRC(047ee051) SHA1(7c18a223d37ccc5fea20f8f856fba20335c75ea4) ) /* character palette green component */
1988 	ROM_LOAD( "lr3-b-1n",     0x0300, 0x0100, CRC(9e37f181) SHA1(8e36eb8f4aefcc6d21dfbb2e86dcb4875bcf82cd) ) /* sprite palette green component */
1989 	ROM_LOAD( "lr3-n-2m",     0x0400, 0x0100, CRC(69ad8678) SHA1(96134aa530cb93a5e3b56fffa996aefa08a666a2) ) /* character palette blue component */
1990 	ROM_LOAD( "lr3-b-1l",     0x0500, 0x0100, CRC(5b11c41d) SHA1(186ca7bfa2894311fc573f3f5882da677e029f2a) ) /* sprite palette blue component */
1991 	ROM_LOAD( "lr3-b-5p",     0x0600, 0x0020, CRC(e01f69e2) SHA1(0d00ef348025ea4a9c274a7e3dbb006217d8449d) )	/* sprite height, one entry per 32 */
1992 	                                                        /* sprites. Used at run time! */
1993 	ROM_LOAD( "lr3-n-4f",     0x0620, 0x0100, CRC(df674be9) SHA1(4d8c5378234bc24fac62dc227d8cd72f1ab7a35c) )	/* unknown */
1994 	ROM_LOAD( "lr3-b-6f",     0x0720, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
1995 ROM_END
1996 
1997 ROM_START( ldrun4 )
1998 	ROM_REGION( 0x18000, REGION_CPU1, 0 )	/* 64k for code + 32k for banked ROM */
1999 	ROM_LOAD( "lr4-a-4e",     0x00000, 0x4000, CRC(5383e9bf) SHA1(01f6f76b768107b389d7240bd15a5e0720defcb6) )
2000 	ROM_LOAD( "lr4-a-4d.c",   0x04000, 0x4000, CRC(298afa36) SHA1(077b5fa8a246059801232c5287225e3bb7507345) )
2001 	ROM_LOAD( "lr4-v-4k",     0x10000, 0x8000, CRC(8b248abd) SHA1(3e755c8f8011d6f878a1777a2c22b2156ef926e6) )	/* banked at 8000-bfff */
2002 
2003 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
2004 	ROM_LOAD( "lr4-a-3d",     0x8000, 0x4000, CRC(86c6d445) SHA1(644b86fba745a5be545c4dd9c534157af75492b8) )
2005 	ROM_LOAD( "lr4-a-3f",     0xc000, 0x4000, CRC(097c6c0a) SHA1(627ccdd1d77ae78db9660b51484d2a9110d035e5) )
2006 
2007 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2008 	ROM_LOAD( "lr4-v-2b",     0x00000, 0x4000, CRC(4118e60a) SHA1(5c504e3f57e68f6049e422d979c8f6f4b795344f) )	/* characters */
2009 	ROM_LOAD( "lr4-v-2d",     0x04000, 0x4000, CRC(542bb5b5) SHA1(e88eaf27ed72af1e6efa3c1500823be124fcf6b4) )
2010 	ROM_LOAD( "lr4-v-2c",     0x08000, 0x4000, CRC(c765266c) SHA1(bf0ae987928034cf7b508d56f3e647a5c827e420) )
2011 
2012 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
2013 	ROM_LOAD( "lr4-b-4k",     0x00000, 0x4000, CRC(e7fe620c) SHA1(f5e35f5868355fa1dd53a9005d320b28b10d7a69) )	/* sprites */
2014 	ROM_LOAD( "lr4-b-4f",     0x04000, 0x4000, CRC(6f0403db) SHA1(90f452f159c06b42bf536dce31f695a932332a50) )
2015 	ROM_LOAD( "lr4-b-3n",     0x08000, 0x4000, CRC(ad1fba1b) SHA1(095feb824ad0b26e9c546cc3095aae3e49ee9705) )
2016 	ROM_LOAD( "lr4-b-4n",     0x0c000, 0x4000, CRC(0e568fab) SHA1(4d9abb54953dc5c5598f83bc87861dfd5d8a1685) )
2017 	ROM_LOAD( "lr4-b-4c",     0x10000, 0x4000, CRC(82c53669) SHA1(5e020e1df81ddc3ca0f0aeff0010ec3cd87ce426) )
2018 	ROM_LOAD( "lr4-b-4e",     0x14000, 0x4000, CRC(767a1352) SHA1(675bda83bf46421a37dbfaa9323e5ecc4a3b63dd) )
2019 
2020 	ROM_REGION( 0x0820, REGION_PROMS, 0 )
2021 	ROM_LOAD( "lr4-v-1m",     0x0000, 0x0100, CRC(fe51bf1d) SHA1(92461d6fcbc94bde9639720e8f58b974e5adb2dc) ) /* character palette red component */
2022 	ROM_LOAD( "lr4-b-1m",     0x0100, 0x0100, CRC(5d8d17d0) SHA1(214f9f7f9fa9c2b616c5b4a3060c4bb96ea9fef4) ) /* sprite palette red component */
2023 	ROM_LOAD( "lr4-v-1n",     0x0200, 0x0100, CRC(da0658e5) SHA1(5a7f665e4d63938b4e4415066eb6c986e82bd1a7) ) /* character palette green component */
2024 	ROM_LOAD( "lr4-b-1n",     0x0300, 0x0100, CRC(da1129d2) SHA1(169e616c7340ab76f931493eba188756da48a8ec) ) /* sprite palette green component */
2025 	ROM_LOAD( "lr4-v-1p",     0x0400, 0x0100, CRC(0df23ebe) SHA1(054736b762aa6698c1e6d827f8db62ae0342c83f) ) /* character palette blue component */
2026 	ROM_LOAD( "lr4-b-1l",     0x0500, 0x0100, CRC(0d89b692) SHA1(b2854290c46c34934ff91980d72768070ebc8bf3) ) /* sprite palette blue component */
2027 	ROM_LOAD( "lr4-b-5p",     0x0600, 0x0020, CRC(e01f69e2) SHA1(0d00ef348025ea4a9c274a7e3dbb006217d8449d) )	/* sprite height, one entry per 32 */
2028 	                                                        /* sprites. Used at run time! */
2029 	ROM_LOAD( "lr4-v-4h",     0x0620, 0x0100, CRC(df674be9) SHA1(4d8c5378234bc24fac62dc227d8cd72f1ab7a35c) )	/* unknown */
2030 	ROM_LOAD( "lr4-b-6f",     0x0720, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
2031 ROM_END
2032 
2033 ROM_START( lotlot )
2034 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2035 	ROM_LOAD( "lot-a-4e",     0x0000, 0x4000, CRC(2913d08f) SHA1(829115333825a9483322a910efee9ee470d85a0e) )
2036 	ROM_LOAD( "lot-a-4d",     0x4000, 0x4000, CRC(0443095f) SHA1(2c3ca107b54519632513a75b80a1a7d8b971f2b1) )
2037 
2038 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
2039 	ROM_LOAD( "lot-a-3h",     0xe000, 0x2000, CRC(0781cee7) SHA1(bff8592f96b43af6554f1a04e0c00f45b178cce6) )
2040 
2041 	ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE )
2042 	ROM_LOAD( "lot-k-4a",     0x00000, 0x2000, CRC(1b3695f4) SHA1(0a1a1df8bf0288434d47b323d97019b705f5d9d7) )	/* tiles */
2043 	ROM_LOAD( "lot-k-4c",     0x02000, 0x2000, CRC(bd2b0730) SHA1(af66617a5fce6e72107c3949e9829121e8719648) )
2044 	ROM_LOAD( "lot-k-4b",     0x04000, 0x2000, CRC(930ddd55) SHA1(bf2580c6b1df68fe2bca290b227c40f450a77576) )
2045 
2046 	ROM_REGION( 0x6000, REGION_GFX2, ROMREGION_DISPOSE )
2047 	ROM_LOAD( "lot-b-4k",     0x00000, 0x2000, CRC(fd27cb90) SHA1(79d3f5ba8e271df05af55625e1db2f2adea25285) )	/* sprites */
2048 	ROM_LOAD( "lot-b-3n",     0x02000, 0x2000, CRC(bd486fff) SHA1(a6159c0f55cf288b0382c3415811ea2a35f3564e) )
2049 	ROM_LOAD( "lot-b-4c",     0x04000, 0x2000, CRC(3026ee6c) SHA1(6d4ea4b0409d3486eb0e7e9507a0ab79df5ee6c8) )
2050 
2051 	ROM_REGION( 0x6000, REGION_GFX3, ROMREGION_DISPOSE )
2052 	ROM_LOAD( "lot-k-4p",     0x00000, 0x2000, CRC(3b7d95ba) SHA1(4be898c0d5b5c73f380abf5f5ea66f1797eefd1d) )	/* chars */
2053 	ROM_LOAD( "lot-k-4l",     0x02000, 0x2000, CRC(f98dca1f) SHA1(b88d2b9cb3ac8d5523f3788fca8bae60f8fad6f7) )
2054 	ROM_LOAD( "lot-k-4n",     0x04000, 0x2000, CRC(f0cd76a5) SHA1(3f7b1890ca36c190d3fe2571382ada93798a0a51) )
2055 
2056 	ROM_REGION( 0x0e20, REGION_PROMS, 0 )
2057 	ROM_LOAD( "lot-k-2f",     0x0000, 0x0100, CRC(b820a05e) SHA1(79158f0cd64231c5cd90dc391e492a21aba4c30d) ) /* tile palette red component */
2058 	ROM_LOAD( "lot-b-1m",     0x0100, 0x0100, CRC(c146461d) SHA1(87a5dc3a93a9f9f08e97eef77eb099792fdf70e6) ) /* sprite palette red component */
2059 	ROM_LOAD( "lot-k-2l",     0x0200, 0x0100, CRC(ac3e230d) SHA1(e7d5afc707580a5c1df1201694a4db685af5f986) ) /* character palette red component */
2060 	ROM_LOAD( "lot-k-2e",     0x0300, 0x0100, CRC(9b1fa005) SHA1(076af5d7a30a47b5884fcf33452a10aad91d30ee) ) /* tile palette green component */
2061 	ROM_LOAD( "lot-b-1n",     0x0400, 0x0100, CRC(01e07db6) SHA1(3a18a6919b966d429d5ec9cf812768804407f92e) ) /* sprite palette green component */
2062 	ROM_LOAD( "lot-k-2k",     0x0500, 0x0100, CRC(1811ad2b) SHA1(fb7aa262595010dd0fc1a94d74a37359f20e4cd7) ) /* character palette green component */
2063 	ROM_LOAD( "lot-k-2d",     0x0600, 0x0100, CRC(315ed9a8) SHA1(7bfa91729cce7911a45035e2fa576a2b6b010a65) ) /* tile palette blue component */
2064 	ROM_LOAD( "lot-b-1l",     0x0700, 0x0100, CRC(8b6fcde3) SHA1(04e9ce04b77a5f8737f2ec0aaeadaccdbbdda573) ) /* sprite palette blue component */
2065 	ROM_LOAD( "lot-k-2j",     0x0800, 0x0100, CRC(e791ef2a) SHA1(cb1236630cbbc23e2e684ad3b7f51e52389eea2e) ) /* character palette blue component */
2066 	ROM_LOAD( "lot-b-5p",     0x0900, 0x0020, CRC(110b21fd) SHA1(a7a660ff18540e2d73a80f341cd50c5f4d184085) )	/* sprite height, one entry per 32 */
2067 	                                                        /* sprites. Used at run time! */
2068 	ROM_LOAD( "lot-k-7e",     0x0920, 0x0200, CRC(6cef0fbd) SHA1(0c5c63a203e7bd852a3574c18f212487caf529ca) )	/* unknown */
2069 	ROM_LOAD( "lot-k-7h",     0x0b20, 0x0200, CRC(04442bee) SHA1(37d10b605830b9355b00256af479c06cd4b97950) )	/* unknown */
2070 	ROM_LOAD( "lot-b-6f",     0x0d20, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
2071 ROM_END
2072 
2073 ROM_START( kidniki )
2074 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* main CPU */
2075 	ROM_LOAD( "dr04.4e",      0x00000, 0x04000, CRC(80431858) SHA1(3a387f63ce0c7601264f91ae1f6fe604f2ef8ef1) )
2076 	ROM_LOAD( "dr03.4cd",     0x04000, 0x04000, CRC(dba20934) SHA1(a7aac4fcea5c1a94ddaf67e85bf2ce2e77c965cb) )
2077 	ROM_LOAD( "dr11.8k",      0x10000, 0x08000, CRC(04d82d93) SHA1(a901659cbe12a284f30a6b98ea6907df0222ddbf) )	/* banked at 8000-9fff */
2078 	ROM_LOAD( "dr12.8l",      0x18000, 0x08000, CRC(c0b255fd) SHA1(bdd74239a3490eb35cb736cac6f5030bec4b2392) )
2079 	ROM_CONTINUE(             0x28000, 0x08000 )
2080 
2081 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* sound CPU */
2082 	ROM_LOAD( "dr00.3a",      0x4000, 0x04000, CRC(458309f7) SHA1(7dfd77e0cd76a4b6f913eb434ac20ef5a172e2f0) )
2083 	ROM_LOAD( "dr01.3cd",     0x8000, 0x04000, CRC(e66897bd) SHA1(04ea4a857a94d4e884fb28623ec6195dae701e25) )
2084 	ROM_LOAD( "dr02.3f",      0xc000, 0x04000, CRC(f9e31e26) SHA1(712b1bde4b3c18c9ac26d58ade48316af004e733) ) /* 6803 code */
2085 
2086 	ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
2087 	ROM_LOAD( "dr06.2b",      0x00000, 0x8000, CRC(4d9a970f) SHA1(affeea31706644a9f1dcd1c4f739cadbdd58e597) )	/* tiles */
2088 	ROM_LOAD( "dr07.2dc",     0x08000, 0x8000, CRC(ab59a4c4) SHA1(4e1eca8d4185ef35e2be13fa6a4af01f36d19f27) )
2089 	ROM_LOAD( "dr05.2a",      0x10000, 0x8000, CRC(2e6dad0c) SHA1(fe79c510cea3f57ba61ac2e8d9858c887688897b) )
2090 
2091 	ROM_REGION( 0x30000, REGION_GFX2, ROMREGION_DISPOSE )
2092 	ROM_LOAD( "dr21.4k",      0x00000, 0x4000, CRC(a06cea9a) SHA1(d78792b8e310fed3dc622c05d81303dad338afa7) )	/* sprites */
2093 	ROM_LOAD( "dr19.4f",      0x04000, 0x4000, CRC(b34605ad) SHA1(56eba99c73527326f3428961732854753a6a5a2e) )
2094 	ROM_LOAD( "dr22.4l",      0x08000, 0x4000, CRC(41303de8) SHA1(7bffda2e4c95b021f21d8375cf2d6b14280ea7b5) )
2095 	ROM_LOAD( "dr20.4jh",     0x0c000, 0x4000, CRC(5fbe6f61) SHA1(18ab120777fffe912c8fc139fda2977a44aa453f) )
2096 	ROM_LOAD( "dr14.3p",      0x10000, 0x4000, CRC(76cfbcbc) SHA1(3fdffc5893143b06535b5d85cd2a01c61d08e679) )
2097 	ROM_LOAD( "dr24.4p",      0x14000, 0x4000, CRC(d51c8db5) SHA1(be48478afa0acc33e6a02a0a31f1f07ce3c7a3b8) )
2098 	ROM_LOAD( "dr23.4nm",     0x18000, 0x4000, CRC(03469df8) SHA1(f3ffc0419c9d9c9a69387f62ceb9081170f861d4) )
2099 	ROM_LOAD( "dr13.3nm",     0x1c000, 0x4000, CRC(d5c3dfe0) SHA1(c0e6b23bed9bf650d516a80c8b94f2d888d81c2d) )
2100 	ROM_LOAD( "dr16.4cb",     0x20000, 0x4000, CRC(f1d1bb93) SHA1(42103d2e89a0d1edc834d08a6c443065fdacdbf2) )
2101 	ROM_LOAD( "dr18.4e",      0x24000, 0x4000, CRC(edb7f25b) SHA1(394337132ff74b8d06d02233201f8ae8958e2aa6) )
2102 	ROM_LOAD( "dr17.4dc",     0x28000, 0x4000, CRC(4fb87868) SHA1(73d779d687a6c319cd85793f95cb24413010b5e2) )
2103 	ROM_LOAD( "dr15.4a",      0x2c000, 0x4000, CRC(e0b88de5) SHA1(08808ca90d34e494697a74e8a2314e32087e2f4d) )
2104 
2105 	ROM_REGION( 0x0c000, REGION_GFX3, ROMREGION_DISPOSE )
2106 	ROM_LOAD( "dr08.4l",      0x00000, 0x4000, CRC(32d50643) SHA1(58bff370a3e24f21d5fb35289e85084b03178f88) )	/* chars */
2107 	ROM_LOAD( "dr09.4m",      0x04000, 0x4000, CRC(17df6f95) SHA1(669a81906dfd81d807cbb2b5827ddb504536cb2c) )
2108 	ROM_LOAD( "dr10.4n",      0x08000, 0x4000, CRC(820ce252) SHA1(910dbb910fdfcf9542360c0cd78c58c93d1d0c26) )
2109 
2110 	ROM_REGION( 0x0920, REGION_PROMS, 0 )
2111 	ROM_LOAD( "dr25.3f",      0x0000, 0x0100, CRC(8e91430b) SHA1(a7a1567a0fd31cd65260f3ddb5280368704378bd) )	/* character palette red component */
2112 	ROM_LOAD( "dr30.1m",      0x0100, 0x0100, CRC(28c73263) SHA1(ffeb8d1310759bf20b1624ab92fc91078726679c) )	/* sprite palette red component */
2113 	ROM_LOAD( "dr26.3h",      0x0200, 0x0100, CRC(b563b93f) SHA1(86aefdaa63b35fe82f9f70eff3e4c14629f7a184) )	/* character palette green component */
2114 	ROM_LOAD( "dr31.1n",      0x0300, 0x0100, CRC(3529210e) SHA1(3042ec941bdcb873077e77cffe36d4a28298bbbb) )	/* sprite palette green component */
2115 	ROM_LOAD( "dr27.3j",      0x0400, 0x0100, CRC(70d668ef) SHA1(2cc647f2708932105bb9a5130aacc5a8a160e418) )	/* character palette blue component */
2116 	ROM_LOAD( "dr29.1l",      0x0500, 0x0100, CRC(1173a754) SHA1(dbb7d02b72ae1842e0d17aee324a5b85ff2a2178) )	/* sprite palette blue component */
2117 	ROM_LOAD( "dr32.5p",      0x0600, 0x0020, CRC(11cd1f2e) SHA1(45ceb84ff373127ff370610c1ce8d83fc6045bcb) )	/* sprite height, one entry per 32 */
2118 	                                                        /* sprites. Used at run time! */
2119 	ROM_LOAD( "dr28.8f",      0x0620, 0x0200, CRC(6cef0fbd) SHA1(0c5c63a203e7bd852a3574c18f212487caf529ca) )	/* unknown */
2120 	ROM_LOAD( "dr33.6f",      0x0820, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
2121 ROM_END
2122 
2123 
2124 ROM_START( yanchamr )
2125 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* main CPU */
2126 	ROM_LOAD( "ky_a-4e-.bin", 0x00000, 0x04000, CRC(c73ad2d6) SHA1(2e5d100e043f77c056b0d5bb80f310a6866fd2b1) )
2127 	ROM_LOAD( "ky_a-4d-.bin", 0x04000, 0x04000, CRC(401af828) SHA1(eec1c082f42e441071fcf005803205b2275b0327) )
2128 	ROM_LOAD( "ky_t-8k-.bin", 0x10000, 0x08000, CRC(e967de88) SHA1(75c0890eb98feb882fe01de5e93e228690e00904) )	/* banked at 8000-9fff */
2129 	ROM_LOAD( "ky_t-8l-.bin", 0x18000, 0x08000, CRC(a929110b) SHA1(87334f946e14c79426bc7a14e8da984bb8ef9cfc) )
2130 /*	ROM_CONTINUE(             0x28000, 0x08000 ) */
2131 
2132 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* sound CPU */
2133 	ROM_LOAD( "ky_a-3a-.bin", 0x4000, 0x04000, CRC(cb365f3b) SHA1(fefad25459eb00d228ee29931c5714ae895b76c7) )
2134 	ROM_LOAD( "dr01.3cd",     0x8000, 0x04000, CRC(e66897bd) SHA1(04ea4a857a94d4e884fb28623ec6195dae701e25) )
2135 	ROM_LOAD( "dr02.3f",      0xc000, 0x04000, CRC(f9e31e26) SHA1(712b1bde4b3c18c9ac26d58ade48316af004e733) ) /* 6803 code */
2136 
2137 	ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
2138 	ROM_LOAD( "ky_t-2c-.bin", 0x00000, 0x8000, CRC(cb9761fc) SHA1(3eaf289ebd4ee1b1659dda0804fc0597ccc76218) )	/* tiles */
2139 	ROM_LOAD( "ky_t-2d-.bin", 0x08000, 0x8000, CRC(59732741) SHA1(e77fbe3b0cd57a6a3fea7da46d8f23a4bcc7b583) )
2140 	ROM_LOAD( "ky_t-2a-.bin", 0x10000, 0x8000, CRC(0370fd82) SHA1(0ddad9638b778f5651fccbec9b2c711c8ad07098) )
2141 
2142 	ROM_REGION( 0x30000, REGION_GFX2, ROMREGION_DISPOSE )
2143 	ROM_LOAD( "ky_b-4k-.bin", 0x00000, 0x4000, CRC(263a9d10) SHA1(fd44163d8bb2e8b46d07f1ba827033f1fe873d29) )	/* sprites */
2144 	ROM_LOAD( "ky_b-4f-.bin", 0x04000, 0x4000, CRC(86e3d4a8) SHA1(98d938e47308e90434e16b55ab90123cf18d34c6) )
2145 	ROM_LOAD( "ky_b-4l-.bin", 0x08000, 0x4000, CRC(19fa7558) SHA1(0211e0d6af43b9ef6bb5e6115215c9c96e479e62) )
2146 	ROM_LOAD( "ky_b-4h-.bin", 0x0c000, 0x4000, CRC(93e6665c) SHA1(c2ca394befcb01587882641d9b170a8a5c71646c) )
2147 	ROM_LOAD( "ky_b-3n-.bin", 0x10000, 0x4000, CRC(0287c525) SHA1(5c19cc5806b5ef0846bcdf67ac762ba2a7934d5c) )
2148 	ROM_LOAD( "ky_b-4n-.bin", 0x14000, 0x4000, CRC(764946e0) SHA1(224487fa62d80e7210bdff5ea90c82d97d6dee37) )
2149 	ROM_LOAD( "ky_b-4m-.bin", 0x18000, 0x4000, CRC(eced5db9) SHA1(a6cf0c8cfe923166223c75e2ae8fbc35e625b21e) )
2150 	ROM_LOAD( "ky_b-3m-.bin", 0x1c000, 0x4000, CRC(be6cee44) SHA1(c1a93bda531c8f227b7deb91368c08b6fc206baa) )
2151 	ROM_LOAD( "ky_b-4c-.bin", 0x20000, 0x4000, CRC(84d6b65d) SHA1(675134ae87d64da8d8d4dcc344106888013eba35) )
2152 	ROM_LOAD( "ky_b-4e-.bin", 0x24000, 0x4000, CRC(f91f9273) SHA1(a24f6b82eee10267f18751eb73a6dcd33e175a8a) )
2153 	ROM_LOAD( "ky_b-4d-.bin", 0x28000, 0x4000, CRC(a2fc15f0) SHA1(27b668db7976325b66f7006aecebc6f5b196e16f) )
2154 	ROM_LOAD( "ky_b-4a-.bin", 0x2c000, 0x4000, CRC(ff2b9c8a) SHA1(99bd093a7ad5c039740fbb73b61f1a309054dd68) )
2155 
2156 	ROM_REGION( 0x0c000, REGION_GFX3, ROMREGION_DISPOSE )
2157 	ROM_LOAD( "ky_t-4l-.bin", 0x00000, 0x4000, CRC(1d0a9253) SHA1(4952c945502a19c6b4e7ab1ae6f5a374bad7fe60) )	/* chars */
2158 	ROM_LOAD( "ky_t-4m-.bin", 0x04000, 0x4000, CRC(4075c396) SHA1(5d1612a89631800693c79dce01fa2494a8b1f49a) )
2159 	ROM_LOAD( "ky_t-4n-.bin", 0x08000, 0x4000, CRC(7564f2ff) SHA1(fbf0adf3d8e15d899ece96e34019cfcc56c52ddb) )
2160 
2161 	ROM_REGION( 0x0920, REGION_PROMS, 0 )
2162 	ROM_LOAD( "dr25.3f",      0x0000, 0x0100, CRC(8e91430b) SHA1(a7a1567a0fd31cd65260f3ddb5280368704378bd) )	/* character palette red component */
2163 	ROM_LOAD( "dr30.1m",      0x0100, 0x0100, CRC(28c73263) SHA1(ffeb8d1310759bf20b1624ab92fc91078726679c) )	/* sprite palette red component */
2164 	ROM_LOAD( "dr26.3h",      0x0200, 0x0100, CRC(b563b93f) SHA1(86aefdaa63b35fe82f9f70eff3e4c14629f7a184) )	/* character palette green component */
2165 	ROM_LOAD( "dr31.1n",      0x0300, 0x0100, CRC(3529210e) SHA1(3042ec941bdcb873077e77cffe36d4a28298bbbb) )	/* sprite palette green component */
2166 	ROM_LOAD( "dr27.3j",      0x0400, 0x0100, CRC(70d668ef) SHA1(2cc647f2708932105bb9a5130aacc5a8a160e418) )	/* character palette blue component */
2167 	ROM_LOAD( "dr29.1l",      0x0500, 0x0100, CRC(1173a754) SHA1(dbb7d02b72ae1842e0d17aee324a5b85ff2a2178) )	/* sprite palette blue component */
2168 	ROM_LOAD( "dr32.5p",      0x0600, 0x0020, CRC(11cd1f2e) SHA1(45ceb84ff373127ff370610c1ce8d83fc6045bcb) )	/* sprite height, one entry per 32 */
2169 	                                                        /* sprites. Used at run time! */
2170 	ROM_LOAD( "dr28.8f",      0x0620, 0x0200, CRC(6cef0fbd) SHA1(0c5c63a203e7bd852a3574c18f212487caf529ca) )	/* unknown */
2171 	ROM_LOAD( "dr33.6f",      0x0820, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
2172 ROM_END
2173 
2174 ROM_START( spelunkr )
2175 	ROM_REGION( 0x18000, REGION_CPU1, 0 )	/* main CPU */
2176 	ROM_LOAD( "spra.4e",      0x00000, 0x4000, CRC(cf811201) SHA1(9b29880b28e1d94b07a16b5455bc498dc882342f) )
2177 	ROM_LOAD( "spra.4d",      0x04000, 0x4000, CRC(bb4faa4f) SHA1(350f7b086ed6357354d60548419d139fddb34c9d) )
2178 	ROM_LOAD( "sprm.7c",      0x10000, 0x4000, CRC(fb6197e2) SHA1(8c3ccc2c14d076a1d6d14c2548a101a87af4211a) )	/* banked at 8000-9fff */
2179 	ROM_LOAD( "sprm.7b",      0x14000, 0x4000, CRC(26bb25a4) SHA1(d384901042664a4e46d7b6b5d183ce49e360dac8) )
2180 
2181 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* sound CPU */
2182 	ROM_LOAD( "spra.3d",      0x8000, 0x04000, CRC(4110363c) SHA1(8c1f4966291887c17175ab921acd732be6266186) ) /* adpcm data */
2183 	ROM_LOAD( "spra.3f",      0xc000, 0x04000, CRC(67a9d2e6) SHA1(d859648d7a3f05ae777a3909ddcd866b786c5b26) ) /* 6803 code */
2184 
2185 	ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
2186 	ROM_LOAD( "sprm.1d",      0x00000, 0x4000, CRC(4ef7ae89) SHA1(a32362d6002300838d99948b22d687d60d033060) )	/* tiles */
2187 	ROM_LOAD( "sprm.1e",      0x04000, 0x4000, CRC(a3755180) SHA1(e0db62209a4e35efdaac30ab3343854bdb58d418) )
2188 	ROM_LOAD( "sprm.3c",      0x08000, 0x4000, CRC(b4008e6a) SHA1(ee144514b18dcb54f2efc503181c9feaa898ea25) )
2189 	ROM_LOAD( "sprm.3b",      0x0c000, 0x4000, CRC(f61cf012) SHA1(9803a80a2ef0f6469e7b00faf5b11c98ac47854f) )
2190 	ROM_LOAD( "sprm.1c",      0x10000, 0x4000, CRC(58b21c76) SHA1(0e524be89035208a0c212ff160150fc82ac4da7f) )
2191 	ROM_LOAD( "sprm.1b",      0x14000, 0x4000, CRC(a95cb3e5) SHA1(4bb1e3aa81f8594cda1646e0c50b82250ae3e3b0) )
2192 
2193 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
2194 	ROM_LOAD( "sprb.4k",      0x00000, 0x4000, CRC(e7f0e861) SHA1(864ea5bcd1a2f87c1d63ec9fb27cf69281b1697e) )	/* sprites */
2195 	ROM_LOAD( "sprb.4f",      0x04000, 0x4000, CRC(32663097) SHA1(8cfa5e6b1713194ab435af6523e5df4ee266dc73) )
2196 	ROM_LOAD( "sprb.3p",      0x08000, 0x4000, CRC(8fbaf373) SHA1(cc0bee147f09f417c1d588440de6622bf6967a73) )
2197 	ROM_LOAD( "sprb.4p",      0x0c000, 0x4000, CRC(37069b76) SHA1(c31c2f5575219c927a8ed6d1a9fc88bbf494c0c0) )
2198 	ROM_LOAD( "sprb.4c",      0x10000, 0x4000, CRC(cfe46a88) SHA1(150d106c0aeec87b993f29a01904e7a65eda0921) )
2199 	ROM_LOAD( "sprb.4e",      0x14000, 0x4000, CRC(11c48979) SHA1(4500fb0f10b6421d82f89e18d6f20406061a3ecd) )
2200 
2201 	ROM_REGION( 0x0c000, REGION_GFX3, ROMREGION_DISPOSE )
2202 	ROM_LOAD( "sprm.4p",      0x00000, 0x0800, CRC(4dfe2e63) SHA1(981950cabc40e052c021fbe882ce3f1187a832fd) )	/* chars */
2203 	ROM_CONTINUE(             0x02000, 0x0800 )			/* first and second half identical, */
2204 	ROM_CONTINUE(             0x00800, 0x0800 )			/* second half not used by the driver */
2205 	ROM_CONTINUE(             0x02800, 0x0800 )
2206 	ROM_CONTINUE(             0x00000, 0x0800 )
2207 	ROM_CONTINUE(             0x03000, 0x0800 )
2208 	ROM_CONTINUE(             0x00800, 0x0800 )
2209 	ROM_CONTINUE(             0x03800, 0x0800 )
2210 	ROM_LOAD( "sprm.4l",      0x04000, 0x0800, CRC(239f2cd4) SHA1(dbf602c33d8f2c613971f16bd1da4d7263f32c69) )
2211 	ROM_CONTINUE(             0x06000, 0x0800 )
2212 	ROM_CONTINUE(             0x04800, 0x0800 )
2213 	ROM_CONTINUE(             0x06800, 0x0800 )
2214 	ROM_CONTINUE(             0x05000, 0x0800 )
2215 	ROM_CONTINUE(             0x07000, 0x0800 )
2216 	ROM_CONTINUE(             0x05800, 0x0800 )
2217 	ROM_CONTINUE(             0x07800, 0x0800 )
2218 	ROM_LOAD( "sprm.4m",      0x08000, 0x0800, CRC(d6d07d70) SHA1(4f74efcc486775dfa95279b6e26a01b60cc43795) )
2219 	ROM_CONTINUE(             0x0a000, 0x0800 )
2220 	ROM_CONTINUE(             0x08800, 0x0800 )
2221 	ROM_CONTINUE(             0x0a800, 0x0800 )
2222 	ROM_CONTINUE(             0x09000, 0x0800 )
2223 	ROM_CONTINUE(             0x0b000, 0x0800 )
2224 	ROM_CONTINUE(             0x09800, 0x0800 )
2225 	ROM_CONTINUE(             0x0b800, 0x0800 )
2226 
2227 	ROM_REGION( 0x0920, REGION_PROMS, 0 )
2228 	ROM_LOAD( "sprm.2k",      0x0000, 0x0100, CRC(fd8fa991) SHA1(6e546a57de10223886a9a7480580b03b759dbd87) )	/* character palette red component */
2229 	ROM_LOAD( "sprb.1m",      0x0100, 0x0100, CRC(8d8cccad) SHA1(e984d358b6fac9e3cb4618d11ddb22e9eb422dd0) )	/* sprite palette red component */
2230 	ROM_LOAD( "sprm.2j",      0x0200, 0x0100, CRC(0e3890b4) SHA1(1b7c858a5729ddd3cbc7329b93082ec588a55131) )	/* character palette green component */
2231 	ROM_LOAD( "sprb.1n",      0x0300, 0x0100, CRC(c40e1cb2) SHA1(fb2aac95c852ef67d03fd2c4b5f5f9330405d435) )	/* sprite palette green component */
2232 	ROM_LOAD( "sprm.2h",      0x0400, 0x0100, CRC(0478082b) SHA1(e831ba7ef71632da2ab0bcc3cebbd6ef9f39a690) )	/* character palette blue component */
2233 	ROM_LOAD( "sprb.1l",      0x0500, 0x0100, CRC(3ec46248) SHA1(734fe63b9f6e60cdd3bcc9664521b20ffe2765d9) )	/* sprite palette blue component */
2234 	ROM_LOAD( "sprb.5p",      0x0600, 0x0020, CRC(746c6238) SHA1(10b901bb1eca69b274999ad7ada3dd6c58bc5d84) )	/* sprite height, one entry per 32 */
2235 	                                                        /* sprites. Used at run time! */
2236 	ROM_LOAD( "sprm.8h",      0x0620, 0x0200, CRC(875cc442) SHA1(1117b6ae516c361b4cc4d0b7146ca98472ce2b21) )	/* unknown */
2237 	ROM_LOAD( "sprb.6f",      0x0820, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
2238 ROM_END
2239 
2240 ROM_START( spelnkrj )
2241 	ROM_REGION( 0x18000, REGION_CPU1, 0 )	/* main CPU */
2242 	ROM_LOAD( "spr_a4ec.bin", 0x00000, 0x4000, CRC(4e94a80c) SHA1(591ec5aa3fb508eedd120d9f7fb9454c3547148a) )
2243 	ROM_LOAD( "spr_a4dd.bin", 0x04000, 0x4000, CRC(e7c0cbce) SHA1(19f914e9155972c91ccc8dc5b133f35246613c52) )
2244 	ROM_LOAD( "spr_m7cc.bin", 0x10000, 0x4000, CRC(57598a36) SHA1(7d9c5790eb2a79c7977ca7b590d228685bd3a6b2) )	/* banked at 8000-9fff */
2245 	ROM_LOAD( "spr_m7bd.bin", 0x14000, 0x4000, CRC(ecf5137f) SHA1(6daa88b40698e2a3a11206cd946465621bb3c059) )
2246 
2247 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* sound CPU */
2248 	ROM_LOAD( "spra.3d",      0x8000, 0x04000, CRC(4110363c) SHA1(8c1f4966291887c17175ab921acd732be6266186) ) /* adpcm data */
2249 	ROM_LOAD( "spra.3f",      0xc000, 0x04000, CRC(67a9d2e6) SHA1(d859648d7a3f05ae777a3909ddcd866b786c5b26) ) /* 6803 code */
2250 
2251 	ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
2252 	ROM_LOAD( "sprm.1d",      0x00000, 0x4000, CRC(4ef7ae89) SHA1(a32362d6002300838d99948b22d687d60d033060) )	/* tiles */
2253 	ROM_LOAD( "sprm.1e",      0x04000, 0x4000, CRC(a3755180) SHA1(e0db62209a4e35efdaac30ab3343854bdb58d418) )
2254 	ROM_LOAD( "sprm.3c",      0x08000, 0x4000, CRC(b4008e6a) SHA1(ee144514b18dcb54f2efc503181c9feaa898ea25) )
2255 	ROM_LOAD( "sprm.3b",      0x0c000, 0x4000, CRC(f61cf012) SHA1(9803a80a2ef0f6469e7b00faf5b11c98ac47854f) )
2256 	ROM_LOAD( "sprm.1c",      0x10000, 0x4000, CRC(58b21c76) SHA1(0e524be89035208a0c212ff160150fc82ac4da7f) )
2257 	ROM_LOAD( "sprm.1b",      0x14000, 0x4000, CRC(a95cb3e5) SHA1(4bb1e3aa81f8594cda1646e0c50b82250ae3e3b0) )
2258 
2259 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
2260 	ROM_LOAD( "sprb.4k",      0x00000, 0x4000, CRC(e7f0e861) SHA1(864ea5bcd1a2f87c1d63ec9fb27cf69281b1697e) )	/* sprites */
2261 	ROM_LOAD( "sprb.4f",      0x04000, 0x4000, CRC(32663097) SHA1(8cfa5e6b1713194ab435af6523e5df4ee266dc73) )
2262 	ROM_LOAD( "sprb.3p",      0x08000, 0x4000, CRC(8fbaf373) SHA1(cc0bee147f09f417c1d588440de6622bf6967a73) )
2263 	ROM_LOAD( "sprb.4p",      0x0c000, 0x4000, CRC(37069b76) SHA1(c31c2f5575219c927a8ed6d1a9fc88bbf494c0c0) )
2264 	ROM_LOAD( "sprb.4c",      0x10000, 0x4000, CRC(cfe46a88) SHA1(150d106c0aeec87b993f29a01904e7a65eda0921) )
2265 	ROM_LOAD( "sprb.4e",      0x14000, 0x4000, CRC(11c48979) SHA1(4500fb0f10b6421d82f89e18d6f20406061a3ecd) )
2266 
2267 	ROM_REGION( 0x0c000, REGION_GFX3, ROMREGION_DISPOSE )
2268 	ROM_LOAD( "sprm.4p",      0x00000, 0x0800, CRC(4dfe2e63) SHA1(981950cabc40e052c021fbe882ce3f1187a832fd) )	/* chars */
2269 	ROM_CONTINUE(             0x02000, 0x0800 )			/* first and second half identical, */
2270 	ROM_CONTINUE(             0x00800, 0x0800 )			/* second half not used by the driver */
2271 	ROM_CONTINUE(             0x02800, 0x0800 )
2272 	ROM_CONTINUE(             0x00000, 0x0800 )
2273 	ROM_CONTINUE(             0x03000, 0x0800 )
2274 	ROM_CONTINUE(             0x00800, 0x0800 )
2275 	ROM_CONTINUE(             0x03800, 0x0800 )
2276 	ROM_LOAD( "sprm.4l",      0x04000, 0x0800, CRC(239f2cd4) SHA1(dbf602c33d8f2c613971f16bd1da4d7263f32c69) )
2277 	ROM_CONTINUE(             0x06000, 0x0800 )
2278 	ROM_CONTINUE(             0x04800, 0x0800 )
2279 	ROM_CONTINUE(             0x06800, 0x0800 )
2280 	ROM_CONTINUE(             0x05000, 0x0800 )
2281 	ROM_CONTINUE(             0x07000, 0x0800 )
2282 	ROM_CONTINUE(             0x05800, 0x0800 )
2283 	ROM_CONTINUE(             0x07800, 0x0800 )
2284 	ROM_LOAD( "sprm.4m",      0x08000, 0x0800, CRC(d6d07d70) SHA1(4f74efcc486775dfa95279b6e26a01b60cc43795) )
2285 	ROM_CONTINUE(             0x0a000, 0x0800 )
2286 	ROM_CONTINUE(             0x08800, 0x0800 )
2287 	ROM_CONTINUE(             0x0a800, 0x0800 )
2288 	ROM_CONTINUE(             0x09000, 0x0800 )
2289 	ROM_CONTINUE(             0x0b000, 0x0800 )
2290 	ROM_CONTINUE(             0x09800, 0x0800 )
2291 	ROM_CONTINUE(             0x0b800, 0x0800 )
2292 
2293 	ROM_REGION( 0x0920, REGION_PROMS, 0 )
2294 	ROM_LOAD( "sprm.2k",      0x0000, 0x0100, CRC(fd8fa991) SHA1(6e546a57de10223886a9a7480580b03b759dbd87) )	/* character palette red component */
2295 	ROM_LOAD( "sprb.1m",      0x0100, 0x0100, CRC(8d8cccad) SHA1(e984d358b6fac9e3cb4618d11ddb22e9eb422dd0) )	/* sprite palette red component */
2296 	ROM_LOAD( "sprm.2j",      0x0200, 0x0100, CRC(0e3890b4) SHA1(1b7c858a5729ddd3cbc7329b93082ec588a55131) )	/* character palette green component */
2297 	ROM_LOAD( "sprb.1n",      0x0300, 0x0100, CRC(c40e1cb2) SHA1(fb2aac95c852ef67d03fd2c4b5f5f9330405d435) )	/* sprite palette green component */
2298 	ROM_LOAD( "sprm.2h",      0x0400, 0x0100, CRC(0478082b) SHA1(e831ba7ef71632da2ab0bcc3cebbd6ef9f39a690) )	/* character palette blue component */
2299 	ROM_LOAD( "sprb.1l",      0x0500, 0x0100, CRC(3ec46248) SHA1(734fe63b9f6e60cdd3bcc9664521b20ffe2765d9) )	/* sprite palette blue component */
2300 	ROM_LOAD( "sprb.5p",      0x0600, 0x0020, CRC(746c6238) SHA1(10b901bb1eca69b274999ad7ada3dd6c58bc5d84) )	/* sprite height, one entry per 32 */
2301 	                                                        /* sprites. Used at run time! */
2302 	ROM_LOAD( "sprm.8h",      0x0620, 0x0200, CRC(875cc442) SHA1(1117b6ae516c361b4cc4d0b7146ca98472ce2b21) )	/* unknown */
2303 	ROM_LOAD( "sprb.6f",      0x0820, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
2304 ROM_END
2305 
2306 ROM_START( spelunk2 )
2307 	ROM_REGION( 0x24000, REGION_CPU1, 0 )	/* main CPU */
2308 	ROM_LOAD( "sp2-a.4e",     0x00000, 0x4000, CRC(96c04bbb) SHA1(5d7ee2d21d30e3ccbb428c2f9771568dbf3cfdb4) )
2309 	ROM_LOAD( "sp2-a.4d",     0x04000, 0x4000, CRC(cb38c2ff) SHA1(28ab5f0c65657ee0eaa82275bdb60298eedd3821) )
2310 	ROM_LOAD( "sp2-r.7d",     0x10000, 0x8000, CRC(558837ea) SHA1(5fa8a5ed55d155c3fc117391ab779c77e86fa349) )	/* banked at 9000-9fff */
2311 	ROM_LOAD( "sp2-r.7c",     0x18000, 0x8000, CRC(4b380162) SHA1(867e441411e8b74d1d6ce0333c47b1aec3d4f5f2) )	/* banked at 9000-9fff */
2312 	ROM_LOAD( "sp2-r.7b",     0x20000, 0x4000, CRC(7709a1fe) SHA1(4c2b57982b3d3e4524a8e0d24f38d3c3f5a809f3) )	/* banked at 8000-8fff */
2313 
2314 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* sound CPU */
2315 	ROM_LOAD( "sp2-a.3d",     0x8000, 0x04000, CRC(839ec7e2) SHA1(a2c45553b149fc16b8af6338627cd2a8a31e08a0) ) /* adpcm data */
2316 	ROM_LOAD( "sp2-a.3f",     0xc000, 0x04000, CRC(ad3ce898) SHA1(36876b6d51a480a0664413dfcc57ef343e0f9965) ) /* 6803 code */
2317 
2318 	ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
2319 	ROM_LOAD( "sp2-r.1d",     0x00000, 0x8000, CRC(c19fa4c9) SHA1(49463ce1a813e4df2a3c1ae214a9d7c5cd1cc39f) )	/* tiles */
2320 	ROM_LOAD( "sp2-r.3b",     0x08000, 0x8000, CRC(366604af) SHA1(1c7ab47693984971f94b70a5fc827a2dc33b1446) )
2321 	ROM_LOAD( "sp2-r.1b",     0x10000, 0x8000, CRC(3a0c4d47) SHA1(b1fd056990074f1cec084cdc152006ec64f7e279) )
2322 
2323 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
2324 	ROM_LOAD( "sp2-b.4k",     0x00000, 0x4000, CRC(6cb67a17) SHA1(599c9dbf4fb649d8a19f9531ef5eb37216051715) )	/* sprites */
2325 	ROM_LOAD( "sp2-b.4f",     0x04000, 0x4000, CRC(e4a1166f) SHA1(7ec14fc0b96ab4118cb4727c4292ac45805364d4) )
2326 	ROM_LOAD( "sp2-b.3n",     0x08000, 0x4000, CRC(f59e8b76) SHA1(fd33d72235c8bb119e40f20a36bce750a532dbd1) )
2327 	ROM_LOAD( "sp2-b.4n",     0x0c000, 0x4000, CRC(fa65bac9) SHA1(c394611e2323e7e0bc4bab897f88c3e7fbc2cbd3) )
2328 	ROM_LOAD( "sp2-b.4c",     0x10000, 0x4000, CRC(1caf7013) SHA1(a2c59ce7dfc48913631d17ac4feedd873a6ad6ca) )
2329 	ROM_LOAD( "sp2-b.4e",     0x14000, 0x4000, CRC(780a463b) SHA1(52b70027633cf58b2831dab3ab29fc54b336bac7) )
2330 
2331 	ROM_REGION( 0x0c000, REGION_GFX3, ROMREGION_DISPOSE )
2332 	ROM_LOAD( "sp2-r.4l",     0x00000, 0x0800, CRC(6a4b2d8b) SHA1(34d3577d867882aa1f154ad000504831dd6262bc) )	/* chars */
2333 	ROM_CONTINUE(             0x02000, 0x0800 )			/* first and second half identical, */
2334 	ROM_CONTINUE(             0x00800, 0x0800 )			/* second half not used by the driver */
2335 	ROM_CONTINUE(             0x02800, 0x0800 )
2336 	ROM_CONTINUE(             0x00000, 0x0800 )
2337 	ROM_CONTINUE(             0x03000, 0x0800 )
2338 	ROM_CONTINUE(             0x00800, 0x0800 )
2339 	ROM_CONTINUE(             0x03800, 0x0800 )
2340 	ROM_LOAD( "sp2-r.4m",     0x04000, 0x0800, CRC(e1368b61) SHA1(75a46a5cc87605722c0407bfa2cf032b146c7674) )
2341 	ROM_CONTINUE(             0x06000, 0x0800 )
2342 	ROM_CONTINUE(             0x04800, 0x0800 )
2343 	ROM_CONTINUE(             0x06800, 0x0800 )
2344 	ROM_CONTINUE(             0x05000, 0x0800 )
2345 	ROM_CONTINUE(             0x07000, 0x0800 )
2346 	ROM_CONTINUE(             0x05800, 0x0800 )
2347 	ROM_CONTINUE(             0x07800, 0x0800 )
2348 	ROM_LOAD( "sp2-r.4p",     0x08000, 0x0800, CRC(fc138e13) SHA1(4f2a86e4f3fc0896a9ec35d5fdee9181b1c84aec) )
2349 	ROM_CONTINUE(             0x0a000, 0x0800 )
2350 	ROM_CONTINUE(             0x08800, 0x0800 )
2351 	ROM_CONTINUE(             0x0a800, 0x0800 )
2352 	ROM_CONTINUE(             0x09000, 0x0800 )
2353 	ROM_CONTINUE(             0x0b000, 0x0800 )
2354 	ROM_CONTINUE(             0x09800, 0x0800 )
2355 	ROM_CONTINUE(             0x0b800, 0x0800 )
2356 
2357 	ROM_REGION( 0x0a20, REGION_PROMS, 0 )
2358 	ROM_LOAD( "sp2-r.1k",     0x0000, 0x0200, CRC(31c1bcdc) SHA1(6504d5bafad427a1104562f84319d9e29f6c4800) )	/* chars red and green component */
2359 	ROM_LOAD( "sp2-r.2k",     0x0200, 0x0100, CRC(1cf5987e) SHA1(811538304aff683d2a2a925b7e7ac990454d75f4) )	/* chars blue component */
2360 	ROM_LOAD( "sp2-r.2j",     0x0300, 0x0100, CRC(1acbe2a5) SHA1(22b6eb43733eb40c6d2deb8a008e43c651d891e8) )	/* chars blue component */
2361 	ROM_LOAD( "sp2-b.1m",     0x0400, 0x0100, CRC(906104c7) SHA1(e5e656d4da7f9dac32e2a112ce03be5dc3a4c46e) )	/* sprites red component */
2362 	ROM_LOAD( "sp2-b.1n",     0x0500, 0x0100, CRC(5a564c06) SHA1(b9234983ccd69b90ae3aed19b1ac4c6c329d8302) )	/* sprites green component */
2363 	ROM_LOAD( "sp2-b.1l",     0x0600, 0x0100, CRC(8f4a2e3c) SHA1(1d445ce63fb3e043d67f98d158dc7f0fab244248) )	/* sprites blue component */
2364 	ROM_LOAD( "sp2-b.5p",     0x0700, 0x0020, CRC(cd126f6a) SHA1(f5a902bc93dbc98f1c78e08699ed7d1fc5d03481) )	/* sprite height, one entry per 32 */
2365 	                                                        /* sprites. Used at run time! */
2366 	ROM_LOAD( "sp2-r.8j",     0x0720, 0x0200, CRC(875cc442) SHA1(1117b6ae516c361b4cc4d0b7146ca98472ce2b21) )	/* unknown */
2367 	ROM_LOAD( "sp2-b.6f",     0x0920, 0x0100, CRC(34d88d3c) SHA1(727f4c5cfff33538886fa0a29fd119aa085d7008) )	/* video timing - common to the other games */
2368 ROM_END
2369 
2370 ROM_START( youjyudn )
2371 	ROM_REGION( 0x18000, REGION_CPU1, 0 )	/* main CPU */
2372 	ROM_LOAD( "yju_a4eb.bin", 0x00000, 0x4000, CRC(0d356bdc) SHA1(20ddd68720d733791fb3cf791b26e100af12d609) )
2373 	ROM_LOAD( "yju_a4db.bin", 0x04000, 0x4000, CRC(c169be13) SHA1(2f7e65924d152206fae97e5f50197963e2c566df) )
2374 	ROM_LOAD( "yju_p4cb.0",   0x10000, 0x4000, CRC(60baf3b1) SHA1(2ab577bdbec7c8695a8f530b3e476aa91447cd60) )	/* banked at 8000-bfff */
2375 	ROM_LOAD( "yju_p4eb.1",   0x14000, 0x4000, CRC(8d0521f8) SHA1(e03385b94194806e347cd6be4151686e2f38c890) )
2376 
2377 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* sound CPU */
2378 	ROM_LOAD( "yju_a3fb.bin", 0xc000, 0x04000, CRC(e15c8030) SHA1(bbbf4fa0349d614af86e356a106d5dd24b0b8baa) ) /* 6803 code */
2379 
2380 	ROM_REGION( 0x0c000, REGION_GFX1, ROMREGION_DISPOSE )
2381 	ROM_LOAD( "yju_p3bb.0",   0x00000, 0x4000, CRC(c017913c) SHA1(587d143de2a3c057043cbc4b3f8e82ba7b35c256) )	/* tiles (first half empty) */
2382 	ROM_CONTINUE(             0x00000, 0x4000 )
2383 	ROM_LOAD( "yju_p1bb.1",   0x04000, 0x4000, CRC(94627523) SHA1(62c6dc736a891be9adb0f520263b0f1f2194ffed) )
2384 	ROM_CONTINUE(             0x04000, 0x4000 )
2385 	ROM_LOAD( "yju_p1cb.2",   0x08000, 0x4000, CRC(6a378c56) SHA1(c7bf28ac77dd7dd5ab44ad20e46e641df2def6b5) )
2386 	ROM_CONTINUE(             0x08000, 0x4000 )
2387 
2388 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
2389 	ROM_LOAD( "yju_b4ka.00",  0x00000, 0x4000, CRC(1bbb864a) SHA1(facc45c363e402f348a0384ba402d9ee86baf508) )	/* sprites */
2390 	ROM_LOAD( "yju_b4fa.01",  0x04000, 0x4000, CRC(14b4dd24) SHA1(c4d834ace82b2acc148415b24319410a901f3c44) )
2391 	ROM_LOAD( "yju_b3na.10",  0x08000, 0x4000, CRC(68879321) SHA1(04410de27ad44e5bf9271006d169122726c3244d) )
2392 	ROM_LOAD( "yju_b4na.11",  0x0c000, 0x4000, CRC(2860a68b) SHA1(7c9796d7e09c46ebcaf15239c3639f5b807291d6) )
2393 	ROM_LOAD( "yju_b4ca.20",  0x10000, 0x4000, CRC(ab365829) SHA1(bd79af8fd332526da8274c2a4be608a49dadc197) )
2394 	ROM_LOAD( "yju_b4ea.21",  0x14000, 0x4000, CRC(b36c31e4) SHA1(1fb920962abc2d7b32d3ac5c885b047e3434c0dd) )
2395 
2396 	ROM_REGION( 0x0c000, REGION_GFX3, ROMREGION_DISPOSE )
2397 	ROM_LOAD( "yju_p4lb.2",   0x00000, 0x4000, CRC(87878d9b) SHA1(75f6ba4c8b93ceba2ed59958d7836f1b1ac9c6e1) )	/* chars */
2398 	ROM_LOAD( "yju_p4mb.1",   0x04000, 0x4000, CRC(1e1a0d09) SHA1(7a4ef033d962f84e46368a21381456972d10b6dc) )
2399 	ROM_LOAD( "yju_p4pb.0",   0x08000, 0x4000, CRC(b4ab520b) SHA1(646f2467e335e527662fec2bbcb771fbb5f1b696) )
2400 
2401 	ROM_REGION( 0x0920, REGION_PROMS, 0 )
2402 	ROM_LOAD( "yju_p2jb.bpr", 0x0000, 0x0100, CRC(a4483631) SHA1(aa8a9fadb0b0624b5784f8e9b31f774c6360b47c) )	/* character palette red component */
2403 	ROM_LOAD( "yju_b1ma.r",   0x0100, 0x0100, CRC(a8340e13) SHA1(258da6946043d9ba7a68402299f87fda26482a1a) )	/* sprite palette red component */
2404 	ROM_LOAD( "yju_p2kb.bpr", 0x0200, 0x0100, CRC(85481103) SHA1(1216e359f9f2057f0c7f303f6e765ec39a316df6) )	/* character palette green component */
2405 	ROM_LOAD( "yju_b1na.g",   0x0300, 0x0100, CRC(f5b4bc41) SHA1(78271b7078a8d485ce38e3a0d647f6c071441e62) )	/* sprite palette green component */
2406 	ROM_LOAD( "yju_p2hb.bpr", 0x0400, 0x0100, CRC(a6fd355c) SHA1(98c25797c0f24cb2df775f18bcf899501d93ca2c) )	/* character palette blue component */
2407 	ROM_LOAD( "yju_b1la.b",   0x0500, 0x0100, CRC(45e10491) SHA1(0ae8918a9854e44970b0d3eddc52867920711f1a) )	/* sprite palette blue component */
2408 	ROM_LOAD( "yju_b-5p.bpr", 0x0600, 0x0020, CRC(2095e6a3) SHA1(32ef8b56d161807b6eff91b88636ffad558742ea) )	/* sprite height, one entry per 32 */
2409 	                                                        /* sprites. Used at run time! */
2410 	ROM_LOAD( "yju_p-8d.bpr", 0x0620, 0x0200, CRC(6cef0fbd) SHA1(0c5c63a203e7bd852a3574c18f212487caf529ca) )	/* unknown */
2411 	ROM_LOAD( "yju_b-6f.bpr", 0x0820, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as kungfum */
2412 ROM_END
2413 
2414 ROM_START( horizon )
2415 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
2416 	ROM_LOAD( "hrza-4e",   0x0000, 0x4000, CRC(98b96ba2) SHA1(8478ec3b39c970c6008f078cbb5ab39462865015) )
2417 	ROM_LOAD( "hrza-4d",   0x4000, 0x4000, CRC(06b06ac7) SHA1(d9ae9633455733fd14fc4d448b85365bfebef446) )
2418 	ROM_LOAD( "hrza-4b",   0x8000, 0x4000, CRC(39c0bd02) SHA1(8d3b465ef7db11863cd2d343656e99cfb77c89ef) )
2419 
2420 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU (6803) */
2421 	ROM_LOAD( "hrza-3f",    0xc000, 0x4000, CRC(7412c99f) SHA1(33e7cffa08d9644c78e1bada9a2b08ce5d3f97e1) )
2422 
2423 	ROM_REGION( 0x06000, REGION_GFX1, ROMREGION_DISPOSE )
2424 	ROM_LOAD( "hrzd-4d",    0x00000, 0x2000, CRC(b93ed581) SHA1(e9ab0925ebb3bceb12fb380ff157b162186e33b3) )	/* characters */
2425 	ROM_LOAD( "hrzd-4c",    0x02000, 0x2000, CRC(1cf73b53) SHA1(f20a2154aedb40f3b454f13704354d0ae27e895b) )
2426 	ROM_LOAD( "hrzd-4a",    0x04000, 0x2000, CRC(eace8d53) SHA1(6460c123795df42713571c00ed6a4be01629afa2) )
2427 
2428 	ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
2429 	ROM_LOAD( "hrzb-4k.00", 0x00000, 0x4000, CRC(11d2f3a1) SHA1(48e007a67c2473e680dfc5db38d130f13f3060b3) )	/* sprites */
2430 	ROM_LOAD( "hrzb-4f.01", 0x04000, 0x4000, CRC(356902ea) SHA1(1f31b3ffa92a4c420f34f1348b7027b394c0a375) )
2431 	ROM_LOAD( "hrzb-3n.10", 0x08000, 0x4000, CRC(87078a02) SHA1(538edcdcd63d811049a8d92ce8e4915ae8fb3a1a) )
2432 	ROM_LOAD( "hrzb-4n.11", 0x0c000, 0x4000, CRC(5019cb1f) SHA1(02906541dc41df5a78a27389777cf1a3c7b5f392) )
2433 	ROM_LOAD( "hrzb-4c.20", 0x10000, 0x4000, CRC(90b385e7) SHA1(d7a3698535bb4e9d96dd3e793b8051c74ea36eee) )
2434 	ROM_LOAD( "hrzb-4e.21", 0x14000, 0x4000, CRC(d05d77a2) SHA1(b892f690ec4a0ed4e856c677867d6eac98afaa1d) )
2435 
2436 	ROM_REGION( 0x0720, REGION_PROMS, 0 )
2437 	ROM_LOAD( "hrzd-1d",     0x0000, 0x0100, CRC(b33b08f9) SHA1(00b6c4be93c4d5d5f157d08e91dfea3a0ecdeb4a) )	/* character palette red component */
2438 	ROM_LOAD( "hrzb-1m.r",   0x0100, 0x0100, CRC(0871690a) SHA1(8065598c64e44e4fd170632048161705f15c1d7d) )	/* sprite palette red component */
2439 	ROM_LOAD( "hrzd-1c",     0x0200, 0x0100, CRC(6e696f3a) SHA1(d66ffe0cbc42889d750d9c8b7e57a84e5dacaf3d) )	/* character palette green component */
2440 	ROM_LOAD( "hrzb-1n.g",   0x0300, 0x0100, CRC(f247d0a9) SHA1(7a2ae1e9699793fecb0abd84c2ee2b08e819b6f7) )	/* sprite palette green component */
2441 	ROM_LOAD( "hrzd-1e",     0x0400, 0x0100, CRC(1fa60379) SHA1(4fdcc8d68f61afaae36075919b5bec4d12f7ed8e) )	/* character palette blue component */
2442 	ROM_LOAD( "hrzb-1l.b",   0x0500, 0x0100, CRC(9ad0a0c8) SHA1(0c03906deafd6cc2247b022881e0190bd59c3c1b) )	/* sprite palette blue component */
2443 	ROM_LOAD( "hrzb-5p",     0x0600, 0x0020, CRC(208b49e9) SHA1(065f1e05dd8bb94304969147e5d497931b5ff00a) )	/* sprite height, one entry per 32 */
2444 	                                                        /* sprites. Used at run time! */
2445 	ROM_LOAD( "hrzb-6f",     0x0620, 0x0100, CRC(82c20d12) SHA1(268903f7d9be58a70d030b02bf31a2d6b5b6e249) )	/* video timing - same as kungfum */
2446 ROM_END
2447 
2448 
2449 static void init_m62(void)
2450 {
2451 	state_save_register_int("main", 0, "bankaddress", &bankaddress);
2452 	state_save_register_func_postload(set_m64_bank);
2453 }
2454 
init_spelunk2(void)2455 static void init_spelunk2(void)
2456 {
2457 	state_save_register_int("main", 0, "bankaddress", &bankaddress);
2458 	state_save_register_int("main", 0, "bankaddress2", &bankaddress2);
2459 	state_save_register_func_postload(set_m64_bank2);
2460 }
2461 
2462 GAME( 1984, kungfum,  0,        kungfum,  kungfum,  m62,      ROT0,   "Irem", "Kung-Fu Master" )
2463 GAME( 1984, kungfud,  kungfum,  kungfum,  kungfum,  m62,      ROT0,   "Irem (Data East license)", "Kung-Fu Master (Data East)" )
2464 GAME( 1984, spartanx, kungfum,  kungfum,  kungfum,  m62,      ROT0,   "Irem", "Spartan X (Japan)" )
2465 GAME( 1984, kungfub,  kungfum,  kungfum,  kungfum,  m62,      ROT0,   "bootleg", "Kung-Fu Master (bootleg set 1)" )
2466 GAME( 1984, kungfub2, kungfum,  kungfum,  kungfum,  m62,      ROT0,   "bootleg", "Kung-Fu Master (bootleg set 2)" )
2467 GAME( 1984, battroad, 0,        battroad, battroad, m62,      ROT90,  "Irem", "The Battle-Road" )
2468 GAME( 1984, ldrun,    0,        ldrun,    ldrun,    m62,      ROT0,   "Irem (licensed from Broderbund)", "Lode Runner (set 1)" )
2469 GAME( 1984, ldruna,   ldrun,    ldrun,    ldrun,    m62,      ROT0,   "Irem (licensed from Broderbund)", "Lode Runner (set 2)" )
2470 GAME( 1984, ldrun2,   0,        ldrun2,   ldrun2,   m62,      ROT0,   "Irem (licensed from Broderbund)", "Lode Runner II - The Bungeling Strikes Back" )	/* Japanese version is called Bangeringu Teikoku No Gyakushuu */
2471 GAME( 1985, ldrun3,   0,        ldrun3,   ldrun3,   m62,      ROT0,   "Irem (licensed from Broderbund)", "Lode Runner III - The Golden Labyrinth" )
2472 GAME( 1985, ldrun3jp, ldrun3,   ldrun3,   ldrun3,   m62,      ROT0,   "Irem (licensed from Broderbund)", "Lode Runner III - Majin No Fukkatsu" )
2473 GAME( 1986, ldrun4,   0,        ldrun4,   ldrun4,   m62,      ROT0,   "Irem (licensed from Broderbund)", "Lode Runner IV - Teikoku Karano Dasshutsu" )
2474 GAME( 1985, lotlot,   0,        lotlot,   lotlot,   m62,      ROT0,   "Irem (licensed from Tokuma Shoten)", "Lot Lot" )
2475 GAMEX(1986, kidniki,  0,        kidniki,  kidniki,  m62,      ROT0,   "Irem (Data East USA license)", "Kid Niki - Radical Ninja (US)", GAME_IMPERFECT_SOUND )
2476 GAMEX(1986, yanchamr, kidniki,  kidniki,  kidniki,  m62,      ROT0,   "Irem", "Kaiketsu Yanchamaru (Japan)", GAME_IMPERFECT_SOUND )
2477 GAME( 1985, spelunkr, 0,        spelunkr, spelunkr, m62,      ROT0,   "Irem (licensed from Broderbund)", "Spelunker" )
2478 GAME( 1985, spelnkrj, spelunkr, spelunkr, spelunkr, m62,      ROT0,   "Irem (licensed from Broderbund)", "Spelunker (Japan)" )
2479 GAME( 1986, spelunk2, 0,        spelunk2, spelunk2, spelunk2, ROT0,   "Irem (licensed from Broderbund)", "Spelunker II" )
2480 GAME( 1986, youjyudn, 0,        youjyudn, youjyudn, m62,      ROT270, "Irem", "Youjyuden (Japan)" )
2481 GAMEX(1985, horizon,  0,        horizon,  horizon,  m62,      ROT0,   "Irem", "Horizon", GAME_IMPERFECT_SOUND )
2482