1 /***************************************************************************
2
3 Edward Randy (c) 1990 Data East Corporation (World version)
4 Edward Randy (c) 1990 Data East Corporation (Japanese version)
5 Caveman Ninja (c) 1991 Data East Corporation (World version)
6 Caveman Ninja (c) 1991 Data East Corporation (USA version)
7 Joe & Mac (c) 1991 Data East Corporation (Japanese version)
8 Robocop 2 (c) 1991 Data East Corporation (USA version)
9 Robocop 2 (c) 1991 Data East Corporation (Japanese version)
10 Robocop 2 (c) 1991 Data East Corporation (World version)
11 Stone Age (Italian bootleg)
12 Mutant Fighter (c) 1992 Data East Corporation (World version)
13 Death Brade (c) 1992 Data East Corporation (Japanese version)
14
15 Edward Randy runs on the same board as Caveman Ninja but the protection
16 chip is different. Robocop 2 also has a different protection chip but
17 strangely makes very little use of it (only one check at the start).
18 Robocop 2 is a different board but similar hardware.
19
20 Edward Randy (World rev 1) seems much more polished than World rev 2 -
21 better attract mode at least.
22
23 The sound program of Stoneage is ripped from Block Out (by Technos!)
24
25 Mutant Fighter introduced alpha-blending to this basic board design.
26 The characters shadows sometimes jump around a little - a bug in the
27 original board, not the emulation.
28
29 Caveman Ninja Issues:
30 End of level 2 is corrupt.
31
32 Emulation by Bryan McPhail, mish@tendril.co.uk
33
34 ***************************************************************************/
35
36 #include "driver.h"
37 #include "cninja.h"
38 #include "vidhrdw/generic.h"
39 #include "cpu/h6280/h6280.h"
40 #include "deco16ic.h"
41 #include "decocrpt.h"
42 #include "decoprot.h"
43
44 static int cninja_scanline, cninja_irq_mask;
45 static void *raster_irq_timer;
46 static data16_t *cninja_ram;
47
48 /**********************************************************************************/
49
WRITE16_HANDLER(cninja_sound_w)50 static WRITE16_HANDLER( cninja_sound_w )
51 {
52 soundlatch_w(0,data&0xff);
53 cpu_set_irq_line(1,0,HOLD_LINE);
54 }
55
WRITE16_HANDLER(stoneage_sound_w)56 static WRITE16_HANDLER( stoneage_sound_w )
57 {
58 soundlatch_w(0,data&0xff);
59 cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
60 }
61
interrupt_gen(int scanline)62 static void interrupt_gen(int scanline)
63 {
64 /* Save state of scroll registers before the IRQ */
65 deco16_raster_display_list[deco16_raster_display_position++]=scanline;
66 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf12_control[1]&0xffff;
67 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf12_control[2]&0xffff;
68 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf12_control[3]&0xffff;
69 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf12_control[4]&0xffff;
70 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf34_control[1]&0xffff;
71 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf34_control[2]&0xffff;
72 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf34_control[3]&0xffff;
73 deco16_raster_display_list[deco16_raster_display_position++]=deco16_pf34_control[4]&0xffff;
74
75 cpu_set_irq_line(0, (cninja_irq_mask&0x10) ? 3 : 4, ASSERT_LINE);
76 timer_adjust(raster_irq_timer,TIME_NEVER,0,0);
77 }
78
READ16_HANDLER(cninja_irq_r)79 static READ16_HANDLER( cninja_irq_r )
80 {
81 switch (offset) {
82
83 case 1: /* Raster IRQ scanline position */
84 return cninja_scanline;
85
86 case 2: /* Raster IRQ ACK - value read is not used */
87 cpu_set_irq_line(0, 3, CLEAR_LINE);
88 cpu_set_irq_line(0, 4, CLEAR_LINE);
89 return 0;
90 }
91
92 logerror("%08x: Unmapped IRQ read %d\n",activecpu_get_pc(),offset);
93 return 0;
94 }
95
WRITE16_HANDLER(cninja_irq_w)96 static WRITE16_HANDLER( cninja_irq_w )
97 {
98 switch (offset) {
99 case 0:
100 /* IRQ enable:
101 0xca: Raster IRQ turned off
102 0xc8: Raster IRQ turned on (68k IRQ level 4)
103 0xd8: Raster IRQ turned on (68k IRQ level 3)
104 */
105 logerror("%08x: IRQ write %d %08x\n",activecpu_get_pc(),offset,data);
106 cninja_irq_mask=data&0xff;
107 return;
108
109 case 1: /* Raster IRQ scanline position, only valid for values between 1 & 239 (0 and 240-256 do NOT generate IRQ's) */
110 cninja_scanline=data&0xff;
111 if ((cninja_irq_mask&0x2)==0 && cninja_scanline>0 && cninja_scanline<240)
112 timer_adjust(raster_irq_timer,cpu_getscanlinetime(cninja_scanline),cninja_scanline,TIME_NEVER);
113 else
114 timer_adjust(raster_irq_timer,TIME_NEVER,0,0);
115 return;
116
117 case 2: /* VBL irq ack */
118 return;
119 }
120
121 logerror("%08x: Unmapped IRQ write %d %04x\n",activecpu_get_pc(),offset,data);
122 }
123
READ16_HANDLER(robocop2_prot_r)124 static READ16_HANDLER( robocop2_prot_r )
125 {
126 switch (offset<<1) {
127 case 0x41a: /* Player 1 & 2 input ports */
128 return readinputport(0);
129 case 0x320: /* Coins */
130 return readinputport(1);
131 case 0x4e6: /* Dip switches */
132 return readinputport(2);
133 case 0x504: /* PC: 6b6. b4, 2c, 36 written before read */
134 logerror("Protection PC %06x: warning - read unmapped memory address %04x\n",activecpu_get_pc(),offset);
135 return 0x84;
136 }
137 logerror("Protection PC %06x: warning - read unmapped memory address %04x\n",activecpu_get_pc(),offset);
138 return 0;
139 }
140
141 /**********************************************************************************/
142
MEMORY_READ16_START(cninja_readmem)143 static MEMORY_READ16_START( cninja_readmem )
144 { 0x000000, 0x0bffff, MRA16_ROM },
145 { 0x144000, 0x144fff, MRA16_RAM },
146 { 0x146000, 0x146fff, MRA16_RAM },
147 { 0x14e000, 0x14e7ff, MRA16_RAM },
148 { 0x154000, 0x154fff, MRA16_RAM },
149 { 0x156000, 0x156fff, MRA16_RAM },
150 { 0x15c000, 0x15c7ff, MRA16_RAM },
151 { 0x15e000, 0x15e7ff, MRA16_RAM },
152 { 0x184000, 0x187fff, MRA16_RAM },
153 { 0x190000, 0x190007, cninja_irq_r },
154 { 0x19c000, 0x19dfff, MRA16_RAM },
155 { 0x1a4000, 0x1a47ff, MRA16_RAM }, /* Sprites */
156 { 0x1bc000, 0x1bcfff, deco16_104_cninja_prot_r }, /* Protection device */
157 MEMORY_END
158
159 static MEMORY_WRITE16_START( cninja_writemem )
160 { 0x000000, 0x0bffff, MWA16_ROM },
161
162 { 0x140000, 0x14000f, MWA16_RAM, &deco16_pf12_control },
163 { 0x144000, 0x144fff, deco16_pf1_data_w, &deco16_pf1_data },
164 { 0x146000, 0x146fff, deco16_pf2_data_w, &deco16_pf2_data },
165 { 0x14c000, 0x14c7ff, MWA16_RAM, &deco16_pf1_rowscroll },
166 { 0x14e000, 0x14e7ff, MWA16_RAM, &deco16_pf2_rowscroll },
167
168 { 0x150000, 0x15000f, MWA16_RAM, &deco16_pf34_control },
169 { 0x154000, 0x154fff, deco16_pf3_data_w, &deco16_pf3_data },
170 { 0x156000, 0x156fff, deco16_pf4_data_w, &deco16_pf4_data },
171 { 0x15c000, 0x15c7ff, MWA16_RAM, &deco16_pf3_rowscroll },
172 { 0x15e000, 0x15e7ff, MWA16_RAM, &deco16_pf4_rowscroll },
173
174 { 0x184000, 0x187fff, MWA16_RAM, &cninja_ram }, /* Main ram */
175 { 0x190000, 0x190007, cninja_irq_w },
176 { 0x19c000, 0x19dfff, deco16_nonbuffered_palette_w, &paletteram16 },
177 { 0x1a4000, 0x1a47ff, MWA16_RAM, &spriteram16, &spriteram_size },
178 { 0x1b4000, 0x1b4001, buffer_spriteram16_w }, /* DMA flag */
179 { 0x1bc000, 0x1bc0ff, deco16_104_cninja_prot_w, &deco16_prot_ram }, /* Protection writes */
180 { 0x308000, 0x308fff, MWA16_NOP }, /* Bootleg only */
181 MEMORY_END
182
183 static MEMORY_READ16_START( edrandy_readmem )
184 { 0x000000, 0x0fffff, MRA16_ROM },
185 { 0x144000, 0x144fff, MRA16_RAM },
186 { 0x144000, 0x144fff, MRA16_RAM },
187 { 0x146000, 0x146fff, MRA16_RAM },
188 { 0x14c000, 0x14c7ff, MRA16_RAM },
189 { 0x14e000, 0x14e7ff, MRA16_RAM },
190 { 0x154000, 0x154fff, MRA16_RAM },
191 { 0x156000, 0x156fff, MRA16_RAM },
192 { 0x15c000, 0x15c7ff, MRA16_RAM },
193 { 0x15e000, 0x15e7ff, MRA16_RAM },
194 { 0x188000, 0x189fff, MRA16_RAM },
195 { 0x194000, 0x197fff, MRA16_RAM },
196 { 0x198000, 0x1987ff, deco16_60_prot_r }, /* Protection device */
197 { 0x1a4000, 0x1a4007, cninja_irq_r },
198 { 0x1bc000, 0x1bc7ff, MRA16_RAM }, /* Sprites */
199 MEMORY_END
200
201 static MEMORY_WRITE16_START( edrandy_writemem )
202 { 0x000000, 0x0fffff, MWA16_ROM },
203
204 { 0x140000, 0x14000f, MWA16_RAM, &deco16_pf12_control },
205 { 0x144000, 0x144fff, deco16_pf1_data_w, &deco16_pf1_data },
206 { 0x146000, 0x146fff, deco16_pf2_data_w, &deco16_pf2_data },
207 { 0x14c000, 0x14c7ff, MWA16_RAM, &deco16_pf1_rowscroll },
208 { 0x14e000, 0x14e7ff, MWA16_RAM, &deco16_pf2_rowscroll },
209
210 { 0x150000, 0x15000f, MWA16_RAM, &deco16_pf34_control },
211 { 0x154000, 0x154fff, deco16_pf3_data_w, &deco16_pf3_data },
212 { 0x156000, 0x156fff, deco16_pf4_data_w, &deco16_pf4_data },
213 { 0x15c000, 0x15c7ff, MWA16_RAM, &deco16_pf3_rowscroll },
214 { 0x15e000, 0x15e7ff, MWA16_RAM, &deco16_pf4_rowscroll },
215
216 { 0x188000, 0x189fff, deco16_nonbuffered_palette_w, &paletteram16 },
217 { 0x194000, 0x197fff, MWA16_RAM, &cninja_ram }, /* Main ram */
218 { 0x198000, 0x1987ff, deco16_60_prot_w, &deco16_prot_ram }, /* Protection writes */
219 { 0x199550, 0x199551, MWA16_NOP }, /* Looks like a bug in game code, a protection write is referenced off a5 instead of a6 and ends up here */
220 { 0x199750, 0x199751, MWA16_NOP }, /* Looks like a bug in game code, a protection write is referenced off a5 instead of a6 and ends up here */
221
222 { 0x1a4000, 0x1a4007, cninja_irq_w },
223 { 0x1ac000, 0x1ac001, buffer_spriteram16_w }, /* DMA flag */
224 { 0x1bc000, 0x1bc7ff, MWA16_RAM, &spriteram16, &spriteram_size },
225 { 0x1bc800, 0x1bcfff, MWA16_NOP }, /* Another bug in game code? Sprite list can overrun. Doesn't seem to mirror */
226 MEMORY_END
227
228 static MEMORY_READ16_START( robocop2_readmem )
229 { 0x000000, 0x0fffff, MRA16_ROM },
230 { 0x180000, 0x1807ff, MRA16_RAM },
231 { 0x18c000, 0x18c7ff, robocop2_prot_r }, /* Protection device */
232 { 0x1a8000, 0x1a9fff, MRA16_RAM },
233 { 0x1b0000, 0x1b0007, cninja_irq_r },
234 { 0x1b8000, 0x1bbfff, MRA16_RAM },
235 { 0x144000, 0x144fff, MRA16_RAM },
236 { 0x146000, 0x146fff, MRA16_RAM },
237 { 0x14c000, 0x14c7ff, MRA16_RAM },
238 { 0x14e000, 0x14e7ff, MRA16_RAM },
239 { 0x154000, 0x154fff, MRA16_RAM },
240 { 0x156000, 0x156fff, MRA16_RAM },
241 { 0x15c000, 0x15c7ff, MRA16_RAM },
242 { 0x15e000, 0x15e7ff, MRA16_RAM },
243 MEMORY_END
244
245 static MEMORY_WRITE16_START( robocop2_writemem )
246 { 0x000000, 0x0fffff, MWA16_ROM },
247 { 0x140000, 0x14000f, MWA16_RAM, &deco16_pf12_control },
248 { 0x144000, 0x144fff, deco16_pf1_data_w, &deco16_pf1_data },
249 { 0x146000, 0x146fff, deco16_pf2_data_w, &deco16_pf2_data },
250 { 0x14c000, 0x14c7ff, MWA16_RAM, &deco16_pf1_rowscroll },
251 { 0x14e000, 0x14e7ff, MWA16_RAM, &deco16_pf2_rowscroll },
252
253 { 0x150000, 0x15000f, MWA16_RAM, &deco16_pf34_control },
254 { 0x154000, 0x154fff, deco16_pf3_data_w, &deco16_pf3_data },
255 { 0x156000, 0x156fff, deco16_pf4_data_w, &deco16_pf4_data },
256 { 0x15c000, 0x15c7ff, MWA16_RAM, &deco16_pf3_rowscroll },
257 { 0x15e000, 0x15e7ff, MWA16_RAM, &deco16_pf4_rowscroll },
258
259 { 0x180000, 0x1807ff, MWA16_RAM, &spriteram16, &spriteram_size },
260 { 0x18c064, 0x18c065, cninja_sound_w },
261 // { 0x18c000, 0x18c0ff, cninja_loopback_w }, /* Protection writes */
262 { 0x198000, 0x198001, buffer_spriteram16_w }, /* DMA flag */
263 { 0x1a8000, 0x1a9fff, deco16_nonbuffered_palette_w, &paletteram16 },
264 { 0x1b0000, 0x1b0007, cninja_irq_w },
265 { 0x1b8000, 0x1bbfff, MWA16_RAM, &cninja_ram }, /* Main ram */
266 { 0x1f0000, 0x1f0001, deco16_priority_w },
267 MEMORY_END
268
269 static MEMORY_READ16_START( mutantf_readmem )
270 { 0x000000, 0x07ffff, MRA16_ROM },
271 { 0x100000, 0x103fff, MRA16_RAM },
272 { 0x120000, 0x1207ff, MRA16_RAM },
273 { 0x140000, 0x1407ff, MRA16_RAM },
274 { 0x160000, 0x161fff, MRA16_RAM },
275 { 0x1a0000, 0x1a07ff, deco16_66_prot_r }, /* Protection device */
276 { 0x1c0000, 0x1c0001, deco16_71_r },
277
278 { 0x304000, 0x305fff, MRA16_RAM },
279 { 0x306000, 0x307fff, MRA16_RAM },
280 { 0x308000, 0x3087ff, MRA16_RAM },
281 { 0x30a000, 0x30a7ff, MRA16_RAM },
282 { 0x314000, 0x315fff, MRA16_RAM },
283 { 0x316000, 0x317fff, MRA16_RAM },
284 { 0x318000, 0x3187ff, MRA16_RAM },
285 { 0x31a000, 0x31a7ff, MRA16_RAM },
286 { 0xad00ac, 0xad00ff, MRA16_NOP }, /* Reads from here seem to be a game code bug */
287 MEMORY_END
288
289 static MEMORY_WRITE16_START( mutantf_writemem )
290 { 0x000000, 0x07ffff, MWA16_ROM },
291 { 0x100000, 0x103fff, MWA16_RAM }, /* Main ram */
292 { 0x120000, 0x1207ff, MWA16_RAM, &spriteram16, &spriteram_size },
293 { 0x140000, 0x1407ff, MWA16_RAM, &spriteram16_2, &spriteram_2_size },
294 { 0x160000, 0x161fff, deco16_nonbuffered_palette_w, &paletteram16 },
295 { 0x180000, 0x180001, deco16_priority_w },
296 { 0x180002, 0x180003, MWA16_NOP }, /* VBL irq ack */
297 { 0x1a0000, 0x1a07ff, deco16_66_prot_w, &deco16_prot_ram }, /* Protection writes */
298 { 0x1c0000, 0x1c0001, buffer_spriteram16_w },
299 { 0x1e0000, 0x1e0001, buffer_spriteram16_2_w },
300
301 { 0x300000, 0x30000f, MWA16_RAM, &deco16_pf12_control },
302 { 0x304000, 0x305fff, deco16_pf1_data_w, &deco16_pf1_data },
303 { 0x306000, 0x307fff, deco16_pf2_data_w, &deco16_pf2_data },
304 { 0x308000, 0x3087ff, MWA16_RAM, &deco16_pf1_rowscroll },
305 { 0x30a000, 0x30a7ff, MWA16_RAM, &deco16_pf2_rowscroll },
306
307 { 0x310000, 0x31000f, MWA16_RAM, &deco16_pf34_control },
308 { 0x314000, 0x315fff, deco16_pf3_data_w, &deco16_pf3_data },
309 { 0x316000, 0x317fff, deco16_pf4_data_w, &deco16_pf4_data },
310 { 0x318000, 0x3187ff, MWA16_RAM, &deco16_pf3_rowscroll },
311 { 0x31a000, 0x31a7ff, MWA16_RAM, &deco16_pf4_rowscroll },
312 MEMORY_END
313
314 /******************************************************************************/
315
316 static MEMORY_READ_START( sound_readmem )
317 { 0x000000, 0x00ffff, MRA_ROM },
318 { 0x100000, 0x100001, YM2203_status_port_0_r },
319 { 0x110000, 0x110001, YM2151_status_port_0_r },
320 { 0x120000, 0x120001, OKIM6295_status_0_r },
321 { 0x130000, 0x130001, OKIM6295_status_1_r },
322 { 0x140000, 0x140001, soundlatch_r },
323 { 0x1f0000, 0x1f1fff, MRA_BANK8 },
324 MEMORY_END
325
326 static MEMORY_WRITE_START( sound_writemem )
327 { 0x000000, 0x00ffff, MWA_ROM },
328 { 0x100000, 0x100001, YM2203_word_0_w },
329 { 0x110000, 0x110001, YM2151_word_0_w },
330 { 0x120000, 0x120001, OKIM6295_data_0_w },
331 { 0x130000, 0x130001, OKIM6295_data_1_w },
332 { 0x1f0000, 0x1f1fff, MWA_BANK8 },
333 { 0x1fec00, 0x1fec01, H6280_timer_w },
334 { 0x1ff402, 0x1ff403, H6280_irq_status_w },
335 MEMORY_END
336
337 static MEMORY_READ_START( sound_readmem_mutantf )
338 { 0x000000, 0x00ffff, MRA_ROM },
339 { 0x100000, 0x100001, MRA_NOP },
340 { 0x110000, 0x110001, YM2151_status_port_0_r },
341 { 0x120000, 0x120001, OKIM6295_status_0_r },
342 { 0x130000, 0x130001, OKIM6295_status_1_r },
343 { 0x140000, 0x140001, soundlatch_r },
344 { 0x1f0000, 0x1f1fff, MRA_BANK8 },
345 MEMORY_END
346
347 static MEMORY_WRITE_START( sound_writemem_mutantf )
348 { 0x000000, 0x00ffff, MWA_ROM },
349 { 0x100000, 0x100001, MWA_NOP },
350 { 0x110000, 0x110001, YM2151_word_0_w },
351 { 0x120000, 0x120001, OKIM6295_data_0_w },
352 { 0x130000, 0x130001, OKIM6295_data_1_w },
353 { 0x1f0000, 0x1f1fff, MWA_BANK8 },
354 { 0x1fec00, 0x1fec01, H6280_timer_w },
355 { 0x1ff402, 0x1ff403, H6280_irq_status_w },
356 MEMORY_END
357
358 static MEMORY_READ_START( stoneage_s_readmem )
359 { 0x0000, 0x7fff, MRA_ROM },
360 { 0x8000, 0x87ff, MRA_RAM },
361 { 0x8801, 0x8801, YM2151_status_port_0_r },
362 { 0xa000, 0xa000, soundlatch_r },
363 { 0x9800, 0x9800, OKIM6295_status_0_r },
364 MEMORY_END
365
366 static MEMORY_WRITE_START( stoneage_s_writemem )
367 { 0x0000, 0x7fff, MWA_ROM },
368 { 0x8000, 0x87ff, MWA_RAM },
369 { 0x8800, 0x8800, YM2151_register_port_0_w },
370 { 0x8801, 0x8801, YM2151_data_port_0_w },
371 { 0x9800, 0x9800, OKIM6295_data_0_w },
372 MEMORY_END
373
374 /**********************************************************************************/
375
376 INPUT_PORTS_START( edrandy )
377 PORT_START
378 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
379 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
380 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
381 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
382 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
383 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
384 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
385 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
386 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
387 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
388 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
389 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
390 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
391 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
392 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
393 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
394
395 PORT_START
396 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
397 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
398 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
399 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
400
401 PORT_START
402 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
403 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
404 PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
405 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
406 PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
407 PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
408 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
409 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
410 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
411 PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
412 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
413 PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
414 PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
415 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
416 PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
417 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
418 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
419 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
420 PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Flip_Screen ) )
421 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
422 PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
423 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
424 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
425 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
426 PORT_DIPNAME( 0x0300, 0x0300, "Energy" )
427 PORT_DIPSETTING( 0x0100, "2.5" )
428 PORT_DIPSETTING( 0x0000, "3" )
429 PORT_DIPSETTING( 0x0300, "3.5" )
430 PORT_DIPSETTING( 0x0200, "4.5" )
431 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) ) /* Not confirmed */
432 PORT_DIPSETTING( 0x0800, "Easy" )
433 PORT_DIPSETTING( 0x0c00, "Normal" )
434 PORT_DIPSETTING( 0x0400, "Hard" )
435 PORT_DIPSETTING( 0x0000, "Hardest" )
436 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
437 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
438 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
439 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
440 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
441 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
442 PORT_DIPNAME( 0x4000, 0x4000, "Continues" )
443 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
444 PORT_DIPSETTING( 0x4000, DEF_STR( On ) )
445 PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
446 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
447 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
448 INPUT_PORTS_END
449
450 INPUT_PORTS_START( cninja )
451 PORT_START
452 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
453 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
454 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
455 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
456 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
457 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
458 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
459 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
460 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
461 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
462 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
463 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
464 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
465 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
466 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
467 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
468
469 PORT_START
470 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
471 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
472 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
473 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
474
475 PORT_START
476 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
477 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
478 PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
479 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
480 PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
481 PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
482 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
483 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
484 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
485 PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
486 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
487 PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
488 PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
489 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
490 PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
491 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
492 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
493 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
494 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
495 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
496 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
497 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
498 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
499 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
500 PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
501 PORT_DIPSETTING( 0x0100, "1" )
502 PORT_DIPSETTING( 0x0000, "2" )
503 PORT_DIPSETTING( 0x0300, "3" )
504 PORT_DIPSETTING( 0x0200, "4" )
505 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
506 PORT_DIPSETTING( 0x0800, "Easy" )
507 PORT_DIPSETTING( 0x0c00, "Normal" )
508 PORT_DIPSETTING( 0x0400, "Hard" )
509 PORT_DIPSETTING( 0x0000, "Hardest" )
510 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
511 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
512 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
513 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
514 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
515 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
516 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
517 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
518 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
519 PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
520 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
521 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
522 INPUT_PORTS_END
523
524 INPUT_PORTS_START( cninjau )
525 PORT_START
526 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
527 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
528 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
529 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
530 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
531 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
532 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
533 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
534 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
535 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
536 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
537 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
538 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
539 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
540 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
541 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
542
543 PORT_START
544 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
545 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
546 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
547 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
548
549 PORT_START
550 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
551 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
552 PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
553 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
554 PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
555 PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
556 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
557 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
558 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
559 PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
560 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
561 PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
562 PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
563 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
564 PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
565 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
566 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
567 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
568 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
569 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
570 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
571 PORT_DIPNAME( 0x0080, 0x0080, "Credit(s) to Start" ) /* Also, if Coin A and B are on 1/1, 0x00 gives 2 to start, 1 to continue */
572 PORT_DIPSETTING( 0x0080, "1" )
573 PORT_DIPSETTING( 0x0000, "2" )
574 PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
575 PORT_DIPSETTING( 0x0100, "1" )
576 PORT_DIPSETTING( 0x0000, "2" )
577 PORT_DIPSETTING( 0x0300, "3" )
578 PORT_DIPSETTING( 0x0200, "4" )
579 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
580 PORT_DIPSETTING( 0x0800, "Easy" )
581 PORT_DIPSETTING( 0x0c00, "Normal" )
582 PORT_DIPSETTING( 0x0400, "Hard" )
583 PORT_DIPSETTING( 0x0000, "Hardest" )
584 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
585 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
586 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
587 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
588 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
589 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
590 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
591 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
592 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
593 PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
594 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
595 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
596 INPUT_PORTS_END
597
598 INPUT_PORTS_START( robocop2 )
599 PORT_START
600 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
601 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
602 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
603 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
604 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
605 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
606 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
607 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
608 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
609 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
610 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
611 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
612 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
613 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
614 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
615 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
616
617 PORT_START
618 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
619 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
620 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
621 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
622
623 PORT_START /* Dip switch bank 1 */
624 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
625 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
626 PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
627 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
628 PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
629 PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
630 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
631 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
632 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
633 PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
634 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
635 PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
636 PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
637 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
638 PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
639 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
640 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
641 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
642 PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Flip_Screen ) )
643 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
644 PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
645 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
646 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
647 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
648 PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
649 PORT_DIPSETTING( 0x0100, "1" )
650 PORT_DIPSETTING( 0x0000, "2" )
651 PORT_DIPSETTING( 0x0300, "3" )
652 PORT_DIPSETTING( 0x0200, "4" )
653 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
654 PORT_DIPSETTING( 0x0800, "Easy" )
655 PORT_DIPSETTING( 0x0c00, "Normal" )
656 PORT_DIPSETTING( 0x0400, "Hard" )
657 PORT_DIPSETTING( 0x0000, "Hardest" )
658 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
659 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
660 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
661 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
662 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
663 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
664 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
665 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
666 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
667 PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
668 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
669 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
670 INPUT_PORTS_END
671
672 INPUT_PORTS_START( mutantf )
673 PORT_START
674 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
675 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
676 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
677 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
678 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
679 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
680 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
681 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
682 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
683 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
684 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
685 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
686 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
687 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
688 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
689 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
690
691 PORT_START
692 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
693 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
694 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
695 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
696
697 PORT_START
698 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
699 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
700 PORT_DIPSETTING( 0x0001, DEF_STR( 2C_1C ) )
701 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
702 PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
703 PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
704 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
705 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_5C ) )
706 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_6C ) )
707 PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
708 PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) )
709 PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
710 PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
711 PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) )
712 PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) )
713 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
714 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_5C ) )
715 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C ) )
716 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
717 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
718 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
719 PORT_DIPNAME( 0x0080, 0x0080, "Continue Coin" )
720 PORT_DIPSETTING( 0x0080, "Normal" )
721 PORT_DIPSETTING( 0x0000, "Two Coin Start" )
722 PORT_DIPNAME( 0x0300, 0x0300, "Timer Decrement" )
723 PORT_DIPSETTING( 0x0100, "Slow" )
724 PORT_DIPSETTING( 0x0300, "Normal" )
725 PORT_DIPSETTING( 0x0200, "Fast" )
726 PORT_DIPSETTING( 0x0000, "Very Fast" )
727 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
728 PORT_DIPSETTING( 0x0800, "Easy" )
729 PORT_DIPSETTING( 0x0c00, "Normal" )
730 PORT_DIPSETTING( 0x0400, "Hard" )
731 PORT_DIPSETTING( 0x0000, "Hardest" )
732 PORT_DIPNAME( 0x3000, 0x3000, "Life Per Stage" )
733 PORT_DIPSETTING( 0x0000, "Least" )
734 PORT_DIPSETTING( 0x1000, "Little" )
735 PORT_DIPSETTING( 0x2000, "Less" )
736 PORT_DIPSETTING( 0x3000, "Normal" )
737 PORT_DIPNAME( 0x4000, 0x4000, "Continues" )
738 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
739 PORT_DIPSETTING( 0x4000, DEF_STR( On ) )
740 PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
741 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
742 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
743 INPUT_PORTS_END
744
745 /**********************************************************************************/
746
747 static struct GfxLayout charlayout =
748 {
749 8,8,
750 RGN_FRAC(1,2),
751 4,
752 { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 },
753 { 0, 1, 2, 3, 4, 5, 6, 7 },
754 { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
755 16*8 /* every char takes 8 consecutive bytes */
756 };
757
758 static struct GfxLayout spritelayout =
759 {
760 16,16,
761 RGN_FRAC(1,1),
762 4,
763 { 16, 0, 24, 8 },
764 { 64*8+0, 64*8+1, 64*8+2, 64*8+3, 64*8+4, 64*8+5, 64*8+6, 64*8+7,
765 0, 1, 2, 3, 4, 5, 6, 7 },
766 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
767 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
768 128*8
769 };
770
771 static struct GfxLayout tilelayout =
772 {
773 16,16,
774 RGN_FRAC(1,2),
775 4,
776 { RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0, },
777 { 32*8+0, 32*8+1, 32*8+2, 32*8+3, 32*8+4, 32*8+5, 32*8+6, 32*8+7,
778 0, 1, 2, 3, 4, 5, 6, 7 },
779 { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
780 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
781 64*8
782 };
783
784 static struct GfxLayout tilelayout_8bpp =
785 {
786 16,16,
787 4096,
788 8,
789 { 0x100000*8+8, 0x100000*8, 0x40000*8+8, 0x40000*8, 0xc0000*8+8, 0xc0000*8, 8, 0 },
790 { 32*8+0, 32*8+1, 32*8+2, 32*8+3, 32*8+4, 32*8+5, 32*8+6, 32*8+7,
791 0, 1, 2, 3, 4, 5, 6, 7 },
792 { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
793 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
794 64*8
795 };
796
797 static struct GfxDecodeInfo gfxdecodeinfo[] =
798 {
799 { REGION_GFX1, 0, &charlayout, 0, 32 }, /* Characters 8x8 */
800 { REGION_GFX2, 0, &tilelayout, 0, 32 }, /* Tiles 16x16 */
801 { REGION_GFX3, 0, &tilelayout, 512, 64 }, /* Tiles 16x16 */
802 { REGION_GFX4, 0, &spritelayout,768, 32 }, /* Sprites 16x16 */
803 { -1 } /* end of array */
804 };
805
806 static struct GfxDecodeInfo gfxdecodeinfo_robocop2[] =
807 {
808 { REGION_GFX1, 0, &charlayout, 0, 32 }, /* Characters 8x8 */
809 { REGION_GFX2, 0, &tilelayout, 0, 32 }, /* Tiles 16x16 */
810 { REGION_GFX3, 0, &tilelayout, 512, 64 }, /* Tiles 16x16 */
811 { REGION_GFX4, 0, &spritelayout,768, 32 }, /* Sprites 16x16 */
812 { REGION_GFX3, 0, &tilelayout_8bpp, 512, 1 }, /* Tiles 16x16 */
813 { -1 } /* end of array */
814 };
815
816 static struct GfxDecodeInfo gfxdecodeinfo_mutantf[] =
817 {
818 { REGION_GFX1, 0, &charlayout, 0, 64 }, /* Characters 8x8 */
819 { REGION_GFX2, 0, &tilelayout, 0, 64 }, /* Tiles 16x16 */
820 { REGION_GFX3, 0, &tilelayout, 0, 64 }, /* Tiles 16x16 */
821 { REGION_GFX4, 0, &spritelayout, 256, 128 }, /* Sprites 16x16 */
822 { REGION_GFX5, 0, &spritelayout, 1024+768, 16 }, /* Sprites 16x16 */
823 { -1 } /* end of array */
824 };
825
826 /**********************************************************************************/
827
MACHINE_INIT(cninja)828 static MACHINE_INIT( cninja )
829 {
830 raster_irq_timer = timer_alloc(interrupt_gen);
831 cninja_scanline=0;
832 cninja_irq_mask=0;
833 }
834
835 static struct YM2203interface ym2203_interface =
836 {
837 1,
838 32220000/8, /* Accurate, audio section crystal is 32.220 MHz */
839 { YM2203_VOL(60,60) },
840 { 0 },
841 { 0 },
842 { 0 },
843 { 0 }
844 };
845
sound_irq(int state)846 static void sound_irq(int state)
847 {
848 cpu_set_irq_line(1,1,state); /* IRQ 2 */
849 }
850
sound_irq2(int state)851 static void sound_irq2(int state)
852 {
853 cpu_set_irq_line(1,0,state);
854 }
855
WRITE_HANDLER(sound_bankswitch_w)856 static WRITE_HANDLER( sound_bankswitch_w )
857 {
858 /* the second OKIM6295 ROM is bank switched */
859 OKIM6295_set_bank_base(1, (data & 1) * 0x40000);
860 }
861
862 static struct YM2151interface ym2151_interface =
863 {
864 1,
865 32220000/9, /* Accurate, audio section crystal is 32.220 MHz */
866 { YM3012_VOL(45,MIXER_PAN_LEFT,45,MIXER_PAN_RIGHT) },
867 { sound_irq },
868 { sound_bankswitch_w }
869 };
870
871 static struct YM2151interface ym2151_interface2 =
872 {
873 1,
874 3579545, /* 3.579545 MHz (?) */
875 { YM3012_VOL(50,MIXER_PAN_CENTER,50,MIXER_PAN_CENTER) },
876 { sound_irq2 }
877 };
878
879 static struct OKIM6295interface okim6295_interface =
880 {
881 2, /* 2 chips */
882 { 32220000/32/132, 32220000/16/132 },/* Frequency */
883 { REGION_SOUND1, REGION_SOUND2 },
884 { 75, 60 } /* Note! Keep chip 1 (voices) louder than chip 2 */
885 };
886
887 /**********************************************************************************/
888
889 static MACHINE_DRIVER_START( cninja )
890
891 /* basic machine hardware */
892 MDRV_CPU_ADD(M68000, 12000000)
MDRV_CPU_MEMORY(cninja_readmem,cninja_writemem)893 MDRV_CPU_MEMORY(cninja_readmem,cninja_writemem)
894 MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
895
896 MDRV_CPU_ADD(H6280,32220000/8)
897 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* Accurate */
898 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
899
900 MDRV_MACHINE_INIT(cninja)
901 MDRV_FRAMES_PER_SECOND(58)
902 MDRV_VBLANK_DURATION(529)
903
904 /* video hardware */
905 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM)
906 MDRV_SCREEN_SIZE(32*8, 32*8)
907 MDRV_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
908 MDRV_GFXDECODE(gfxdecodeinfo)
909 MDRV_PALETTE_LENGTH(2048)
910
911 MDRV_VIDEO_START(cninja)
912 MDRV_VIDEO_UPDATE(cninja)
913 MDRV_VIDEO_EOF(cninja)
914
915 /* sound hardware */
916 MDRV_SOUND_ADD(YM2203, ym2203_interface)
917 MDRV_SOUND_ADD(YM2151, ym2151_interface)
918 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
919 MACHINE_DRIVER_END
920
921 static MACHINE_DRIVER_START( stoneage )
922
923 /* basic machine hardware */
924 MDRV_CPU_ADD(M68000, 12000000)
925 MDRV_CPU_MEMORY(cninja_readmem,cninja_writemem)
926 MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
927
928 MDRV_CPU_ADD(Z80, 3579545)
929 MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
930 MDRV_CPU_MEMORY(stoneage_s_readmem,stoneage_s_writemem)
931
932 MDRV_MACHINE_INIT(cninja)
933 MDRV_FRAMES_PER_SECOND(58)
934 MDRV_VBLANK_DURATION(529)
935
936 /* video hardware */
937 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM)
938 MDRV_SCREEN_SIZE(32*8, 32*8)
939 MDRV_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
940 MDRV_GFXDECODE(gfxdecodeinfo)
941 MDRV_PALETTE_LENGTH(2048)
942
943 MDRV_VIDEO_START(stoneage)
944 MDRV_VIDEO_UPDATE(cninja)
945 MDRV_VIDEO_EOF(cninja)
946
947 /* sound hardware */
948 MDRV_SOUND_ADD(YM2151, ym2151_interface2)
949 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
950 MACHINE_DRIVER_END
951
952 static MACHINE_DRIVER_START( edrandy )
953
954 /* basic machine hardware */
955 MDRV_CPU_ADD(M68000, 12000000)
956 MDRV_CPU_MEMORY(edrandy_readmem,edrandy_writemem)
957 MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
958
959 MDRV_CPU_ADD(H6280,32220000/8)
960 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* Accurate */
961 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
962
963 MDRV_MACHINE_INIT(cninja)
964 MDRV_FRAMES_PER_SECOND(58)
965 MDRV_VBLANK_DURATION(529)
966
967 /* video hardware */
968 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM)
969 MDRV_SCREEN_SIZE(32*8, 32*8)
970 MDRV_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
971 MDRV_GFXDECODE(gfxdecodeinfo)
972 MDRV_PALETTE_LENGTH(2048)
973
974 MDRV_VIDEO_START(edrandy)
975 MDRV_VIDEO_UPDATE(edrandy)
976 MDRV_VIDEO_EOF(cninja)
977
978 /* sound hardware */
979 MDRV_SOUND_ADD(YM2203, ym2203_interface)
980 MDRV_SOUND_ADD(YM2151, ym2151_interface)
981 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
982 MACHINE_DRIVER_END
983
984 static MACHINE_DRIVER_START( robocop2 )
985
986 /* basic machine hardware */
987 MDRV_CPU_ADD(M68000, 14000000)
988 MDRV_CPU_MEMORY(robocop2_readmem,robocop2_writemem)
989 MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
990
991 MDRV_CPU_ADD(H6280,32220000/8)
992 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* Accurate */
993 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
994
995 MDRV_MACHINE_INIT(cninja)
996 MDRV_FRAMES_PER_SECOND(60)
997 MDRV_VBLANK_DURATION(529)
998
999 /* video hardware */
1000 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM)
1001 MDRV_SCREEN_SIZE(40*8, 32*8)
1002 MDRV_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
1003 MDRV_GFXDECODE(gfxdecodeinfo_robocop2)
1004 MDRV_PALETTE_LENGTH(2048)
1005
1006 MDRV_VIDEO_START(robocop2)
1007 MDRV_VIDEO_UPDATE(robocop2)
1008 MDRV_VIDEO_EOF(cninja)
1009
1010 /* sound hardware */
1011 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1012 MDRV_SOUND_ADD(YM2203, ym2203_interface)
1013 MDRV_SOUND_ADD(YM2151, ym2151_interface)
1014 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
1015 MACHINE_DRIVER_END
1016
1017 static MACHINE_DRIVER_START( mutantf )
1018
1019 /* basic machine hardware */
1020 MDRV_CPU_ADD(M68000, 14000000)
1021 MDRV_CPU_MEMORY(mutantf_readmem,mutantf_writemem)
1022 MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
1023
1024 MDRV_CPU_ADD(H6280,32220000/8)
1025 MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
1026 MDRV_CPU_MEMORY(sound_readmem_mutantf,sound_writemem_mutantf)
1027
1028 MDRV_FRAMES_PER_SECOND(60)
1029 MDRV_VBLANK_DURATION(529)
1030
1031 /* video hardware */
1032 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM | VIDEO_RGB_DIRECT)
1033 MDRV_SCREEN_SIZE(40*8, 32*8)
1034 MDRV_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
1035 MDRV_GFXDECODE(gfxdecodeinfo_mutantf)
1036 MDRV_PALETTE_LENGTH(2048)
1037
1038 MDRV_VIDEO_START(mutantf)
1039 MDRV_VIDEO_UPDATE(mutantf)
1040
1041 /* sound hardware */
1042 MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1043 MDRV_SOUND_ADD(YM2151, ym2151_interface)
1044 MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
1045 MACHINE_DRIVER_END
1046
1047 /**********************************************************************************/
1048
1049 ROM_START( cninja )
1050 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1051 ROM_LOAD16_BYTE( "gn02rev3.bin", 0x00000, 0x20000, CRC(39aea12a) SHA1(5de4e26d2c03c559249720b6a204567673754774) )
1052 ROM_LOAD16_BYTE( "gn05rev2.bin", 0x00001, 0x20000, CRC(0f4360ef) SHA1(d60b3377e818a037d0f94383dd207865853f529d) )
1053 ROM_LOAD16_BYTE( "gn01rev2.bin", 0x40000, 0x20000, CRC(f740ef7e) SHA1(e70bf04e2407dc0c512617417581388365eb1d35) )
1054 ROM_LOAD16_BYTE( "gn04rev2.bin", 0x40001, 0x20000, CRC(c98fcb62) SHA1(b2ee52a9418190c62e0b34920e44111270d68286) )
1055 ROM_LOAD16_BYTE( "gn-00.rom", 0x80000, 0x20000, CRC(0b110b16) SHA1(a967c8aeae3f0cee1f354583cf26ee736636aaf8) )
1056 ROM_LOAD16_BYTE( "gn-03.rom", 0x80001, 0x20000, CRC(1e28e697) SHA1(2313e97f3a34892dfdc338944c0f00538fcae800) )
1057
1058 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1059 ROM_LOAD( "gl-07.rom", 0x00000, 0x10000, CRC(ca8bef96) SHA1(fcdbd598c85e339a3389a2ef58cf2d5b3a2779af) )
1060
1061 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1062 ROM_LOAD16_BYTE( "gl-08.rom", 0x00001, 0x10000, CRC(33a2b400) SHA1(fdb8de315f33705719c0ac03a61fb56ffbfdf597) ) /* chars */
1063 ROM_LOAD16_BYTE( "gl-09.rom", 0x00000, 0x10000, CRC(5a2d4752) SHA1(617dd10a99b5b55ca64dcdd22a0f133b0d6b770d) )
1064
1065 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1066 ROM_LOAD( "mag-02.rom", 0x000000, 0x80000, CRC(de89c69a) SHA1(b41bdf859854b5541c7eae7cd541b910cea1f839) ) /* tiles 3 */
1067
1068 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1069 ROM_LOAD( "mag-00.rom", 0x000000, 0x40000, CRC(a8f05d33) SHA1(a1330bc9ca4648219403db087622badfc632b47d) ) /* tiles 1 */
1070 ROM_CONTINUE( 0x080000, 0x40000 )
1071 ROM_LOAD( "mag-01.rom", 0x040000, 0x40000, CRC(5b399eed) SHA1(490f8f9c0c557b0ba94c6019e3fe680641a0787e) ) /* tiles 2 */
1072 ROM_CONTINUE( 0x0c0000, 0x40000 )
1073
1074 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1075 ROM_LOAD16_BYTE( "mag-03.rom", 0x000000, 0x80000, CRC(2220eb9f) SHA1(bdf0bd6e6ba375f0770b9d08a7efa32201cbb6ef) ) /* sprites */
1076 ROM_LOAD16_BYTE( "mag-05.rom", 0x000001, 0x80000, CRC(56a53254) SHA1(10940cfdc6fbe9013865107de3394ca7f782d9c7) )
1077 ROM_LOAD16_BYTE( "mag-04.rom", 0x100000, 0x80000, CRC(144b94cc) SHA1(d982508608942a714b428a2b721bf24e1627cbb6) )
1078 ROM_LOAD16_BYTE( "mag-06.rom", 0x100001, 0x80000, CRC(82d44749) SHA1(c471fa573e00c2f8ae44068439ba6d849a124c68) )
1079
1080 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* Oki samples */
1081 ROM_LOAD( "gl-06.rom", 0x00000, 0x20000, CRC(d92e519d) SHA1(08238f12bf7058a3965ab6348b468e3d35d4cd23) )
1082
1083 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1084 ROM_LOAD( "mag-07.rom", 0x00000, 0x80000, CRC(08eb5264) SHA1(3e33085f00b758acfc78034dc9a75fd6921fc3fe) ) /* banked */
1085
1086 ROM_REGION( 1024, REGION_PROMS, 0 )
1087 ROM_LOAD( "mb7122h.7v", 0x00000, 0x400, CRC(a1267336) SHA1(d11ea9d78526ac3c0dc6e57a2da5914273ad1e3f) ) /* Priority Unused */
1088 ROM_END
1089
1090 ROM_START( cninja0 )
1091 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1092 ROM_LOAD16_BYTE( "gn-02.rom", 0x00000, 0x20000, CRC(ccc59524) SHA1(430ae28ca38ec6a97b00cc3dee02d57e073819d4) )
1093 ROM_LOAD16_BYTE( "gn-05.rom", 0x00001, 0x20000, CRC(a002cbe4) SHA1(76f57e49fc41a779856f70feb14432a8ffd08bff) )
1094 ROM_LOAD16_BYTE( "gn-01.rom", 0x40000, 0x20000, CRC(18f0527c) SHA1(17b7ea68909c7c8b819578e2039f5be4a640ea75) )
1095 ROM_LOAD16_BYTE( "gn-04.rom", 0x40001, 0x20000, CRC(ea4b6d53) SHA1(263319750524756319587b6e51dfead0265809cb) )
1096 ROM_LOAD16_BYTE( "gn-00.rom", 0x80000, 0x20000, CRC(0b110b16) SHA1(a967c8aeae3f0cee1f354583cf26ee736636aaf8) )
1097 ROM_LOAD16_BYTE( "gn-03.rom", 0x80001, 0x20000, CRC(1e28e697) SHA1(2313e97f3a34892dfdc338944c0f00538fcae800) )
1098
1099 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1100 ROM_LOAD( "gl-07.rom", 0x00000, 0x10000, CRC(ca8bef96) SHA1(fcdbd598c85e339a3389a2ef58cf2d5b3a2779af) )
1101
1102 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1103 ROM_LOAD16_BYTE( "gl-08.rom", 0x00001, 0x10000, CRC(33a2b400) SHA1(fdb8de315f33705719c0ac03a61fb56ffbfdf597) ) /* chars */
1104 ROM_LOAD16_BYTE( "gl-09.rom", 0x00000, 0x10000, CRC(5a2d4752) SHA1(617dd10a99b5b55ca64dcdd22a0f133b0d6b770d) )
1105
1106 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1107 ROM_LOAD( "mag-02.rom", 0x000000, 0x80000, CRC(de89c69a) SHA1(b41bdf859854b5541c7eae7cd541b910cea1f839) ) /* tiles 3 */
1108
1109 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1110 ROM_LOAD( "mag-00.rom", 0x000000, 0x40000, CRC(a8f05d33) SHA1(a1330bc9ca4648219403db087622badfc632b47d) ) /* tiles 1 */
1111 ROM_CONTINUE( 0x080000, 0x40000 )
1112 ROM_LOAD( "mag-01.rom", 0x040000, 0x40000, CRC(5b399eed) SHA1(490f8f9c0c557b0ba94c6019e3fe680641a0787e) ) /* tiles 2 */
1113 ROM_CONTINUE( 0x0c0000, 0x40000 )
1114
1115 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1116 ROM_LOAD16_BYTE( "mag-03.rom", 0x000000, 0x80000, CRC(2220eb9f) SHA1(bdf0bd6e6ba375f0770b9d08a7efa32201cbb6ef) ) /* sprites */
1117 ROM_LOAD16_BYTE( "mag-05.rom", 0x000001, 0x80000, CRC(56a53254) SHA1(10940cfdc6fbe9013865107de3394ca7f782d9c7) )
1118 ROM_LOAD16_BYTE( "mag-04.rom", 0x100000, 0x80000, CRC(144b94cc) SHA1(d982508608942a714b428a2b721bf24e1627cbb6) )
1119 ROM_LOAD16_BYTE( "mag-06.rom", 0x100001, 0x80000, CRC(82d44749) SHA1(c471fa573e00c2f8ae44068439ba6d849a124c68) )
1120
1121 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* Oki samples */
1122 ROM_LOAD( "gl-06.rom", 0x00000, 0x20000, CRC(d92e519d) SHA1(08238f12bf7058a3965ab6348b468e3d35d4cd23) )
1123
1124 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1125 ROM_LOAD( "mag-07.rom", 0x00000, 0x80000, CRC(08eb5264) SHA1(3e33085f00b758acfc78034dc9a75fd6921fc3fe) ) /* banked */
1126
1127 ROM_REGION( 1024, REGION_PROMS, 0 )
1128 ROM_LOAD( "mb7122h.7v", 0x00000, 0x400, CRC(a1267336) SHA1(d11ea9d78526ac3c0dc6e57a2da5914273ad1e3f) ) /* Priority Unused */
1129 ROM_END
1130
1131 ROM_START( cninjau )
1132 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1133 ROM_LOAD16_BYTE( "gm02-3.1k", 0x00000, 0x20000, CRC(d931c3b1) SHA1(336390072a3a085fc534d9e2443c76104093b24f) )
1134 ROM_LOAD16_BYTE( "gm05-2.3k", 0x00001, 0x20000, CRC(7417d3fb) SHA1(24c65101585955d56440b63a307021b5c137d7b9) )
1135 ROM_LOAD16_BYTE( "gm01-2.1j", 0x40000, 0x20000, CRC(72041f7e) SHA1(cad62d6f3d77e361c7bb642401544baf01aec40d) )
1136 ROM_LOAD16_BYTE( "gm04-2.3j", 0x40001, 0x20000, CRC(2104d005) SHA1(7fcb33745f1200024a05feb87a35b82de6030bd2) )
1137 ROM_LOAD16_BYTE( "gn-00.rom", 0x80000, 0x20000, CRC(0b110b16) SHA1(a967c8aeae3f0cee1f354583cf26ee736636aaf8) )
1138 ROM_LOAD16_BYTE( "gn-03.rom", 0x80001, 0x20000, CRC(1e28e697) SHA1(2313e97f3a34892dfdc338944c0f00538fcae800) )
1139
1140 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1141 ROM_LOAD( "gl-07.rom", 0x00000, 0x10000, CRC(ca8bef96) SHA1(fcdbd598c85e339a3389a2ef58cf2d5b3a2779af) )
1142
1143 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1144 ROM_LOAD16_BYTE( "gl-08.rom", 0x00001, 0x10000, CRC(33a2b400) SHA1(fdb8de315f33705719c0ac03a61fb56ffbfdf597) ) /* chars */
1145 ROM_LOAD16_BYTE( "gl-09.rom", 0x00000, 0x10000, CRC(5a2d4752) SHA1(617dd10a99b5b55ca64dcdd22a0f133b0d6b770d) )
1146
1147 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1148 ROM_LOAD( "mag-02.rom", 0x000000, 0x80000, CRC(de89c69a) SHA1(b41bdf859854b5541c7eae7cd541b910cea1f839) ) /* tiles 3 */
1149
1150 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1151 ROM_LOAD( "mag-00.rom", 0x000000, 0x40000, CRC(a8f05d33) SHA1(a1330bc9ca4648219403db087622badfc632b47d) ) /* tiles 1 */
1152 ROM_CONTINUE( 0x080000, 0x40000 )
1153 ROM_LOAD( "mag-01.rom", 0x040000, 0x40000, CRC(5b399eed) SHA1(490f8f9c0c557b0ba94c6019e3fe680641a0787e) ) /* tiles 2 */
1154 ROM_CONTINUE( 0x0c0000, 0x40000 )
1155
1156 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1157 ROM_LOAD16_BYTE( "mag-03.rom", 0x000000, 0x80000, CRC(2220eb9f) SHA1(bdf0bd6e6ba375f0770b9d08a7efa32201cbb6ef) ) /* sprites */
1158 ROM_LOAD16_BYTE( "mag-05.rom", 0x000001, 0x80000, CRC(56a53254) SHA1(10940cfdc6fbe9013865107de3394ca7f782d9c7) )
1159 ROM_LOAD16_BYTE( "mag-04.rom", 0x100000, 0x80000, CRC(144b94cc) SHA1(d982508608942a714b428a2b721bf24e1627cbb6) )
1160 ROM_LOAD16_BYTE( "mag-06.rom", 0x100001, 0x80000, CRC(82d44749) SHA1(c471fa573e00c2f8ae44068439ba6d849a124c68) )
1161
1162 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* Oki samples */
1163 ROM_LOAD( "gl-06.rom", 0x00000, 0x20000, CRC(d92e519d) SHA1(08238f12bf7058a3965ab6348b468e3d35d4cd23) )
1164
1165 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1166 ROM_LOAD( "mag-07.rom", 0x00000, 0x80000, CRC(08eb5264) SHA1(3e33085f00b758acfc78034dc9a75fd6921fc3fe) ) /* banked */
1167
1168 ROM_REGION( 1024, REGION_PROMS, 0 )
1169 ROM_LOAD( "mb7122h.7v", 0x00000, 0x400, CRC(a1267336) SHA1(d11ea9d78526ac3c0dc6e57a2da5914273ad1e3f) ) /* Priority Unused */
1170 ROM_END
1171
1172 ROM_START( joemac )
1173 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1174 ROM_LOAD16_BYTE( "gl02-2.k1", 0x00000, 0x20000, CRC(80da12e2) SHA1(1037ed56c15dbe1eb8bb8b70f0bc3affc1119782) )
1175 ROM_LOAD16_BYTE( "gl05-2.k3", 0x00001, 0x20000, CRC(fe4dbbbb) SHA1(85a3c5470270ebfc695fc5e937cf133a33860bec) )
1176 ROM_LOAD16_BYTE( "gl01-2.j1", 0x40000, 0x20000, CRC(0b245307) SHA1(839735c0739cebb7ac5e328aa8b69170f390b96e) )
1177 ROM_LOAD16_BYTE( "gl04-2.j3", 0x40001, 0x20000, CRC(1b331f61) SHA1(7811c3c25bd17188ae9cc792e106b303ccb14cde) )
1178 ROM_LOAD16_BYTE( "gn-00.rom", 0x80000, 0x20000, CRC(0b110b16) SHA1(a967c8aeae3f0cee1f354583cf26ee736636aaf8) )
1179 ROM_LOAD16_BYTE( "gn-03.rom", 0x80001, 0x20000, CRC(1e28e697) SHA1(2313e97f3a34892dfdc338944c0f00538fcae800) )
1180
1181 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1182 ROM_LOAD( "gl-07.rom", 0x00000, 0x10000, CRC(ca8bef96) SHA1(fcdbd598c85e339a3389a2ef58cf2d5b3a2779af) )
1183
1184 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1185 ROM_LOAD16_BYTE( "gl-08.rom", 0x00001, 0x10000, CRC(33a2b400) SHA1(fdb8de315f33705719c0ac03a61fb56ffbfdf597) ) /* chars */
1186 ROM_LOAD16_BYTE( "gl-09.rom", 0x00000, 0x10000, CRC(5a2d4752) SHA1(617dd10a99b5b55ca64dcdd22a0f133b0d6b770d) )
1187
1188 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1189 ROM_LOAD( "mag-02.rom", 0x000000, 0x80000, CRC(de89c69a) SHA1(b41bdf859854b5541c7eae7cd541b910cea1f839) ) /* tiles 3 */
1190
1191 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1192 ROM_LOAD( "mag-00.rom", 0x000000, 0x40000, CRC(a8f05d33) SHA1(a1330bc9ca4648219403db087622badfc632b47d) ) /* tiles 1 */
1193 ROM_CONTINUE( 0x080000, 0x40000 )
1194 ROM_LOAD( "mag-01.rom", 0x040000, 0x40000, CRC(5b399eed) SHA1(490f8f9c0c557b0ba94c6019e3fe680641a0787e) ) /* tiles 2 */
1195 ROM_CONTINUE( 0x0c0000, 0x40000 )
1196
1197 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1198 ROM_LOAD16_BYTE( "mag-03.rom", 0x000000, 0x80000, CRC(2220eb9f) SHA1(bdf0bd6e6ba375f0770b9d08a7efa32201cbb6ef) ) /* sprites */
1199 ROM_LOAD16_BYTE( "mag-05.rom", 0x000001, 0x80000, CRC(56a53254) SHA1(10940cfdc6fbe9013865107de3394ca7f782d9c7) )
1200 ROM_LOAD16_BYTE( "mag-04.rom", 0x100000, 0x80000, CRC(144b94cc) SHA1(d982508608942a714b428a2b721bf24e1627cbb6) )
1201 ROM_LOAD16_BYTE( "mag-06.rom", 0x100001, 0x80000, CRC(82d44749) SHA1(c471fa573e00c2f8ae44068439ba6d849a124c68) )
1202
1203 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* Oki samples */
1204 ROM_LOAD( "gl-06.rom", 0x00000, 0x20000, CRC(d92e519d) SHA1(08238f12bf7058a3965ab6348b468e3d35d4cd23) )
1205
1206 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1207 ROM_LOAD( "mag-07.rom", 0x00000, 0x80000, CRC(08eb5264) SHA1(3e33085f00b758acfc78034dc9a75fd6921fc3fe) ) /* banked */
1208
1209 ROM_REGION( 1024, REGION_PROMS, 0 )
1210 ROM_LOAD( "mb7122h.7v", 0x00000, 0x400, CRC(a1267336) SHA1(d11ea9d78526ac3c0dc6e57a2da5914273ad1e3f) ) /* Priority Unused */
1211 ROM_END
1212
1213 ROM_START( stoneage )
1214 ROM_REGION( 0xc0000, REGION_CPU1, 0 ) /* 68000 code */
1215 ROM_LOAD16_BYTE( "sa_1_019.bin", 0x00000, 0x20000, CRC(7fb8c44f) SHA1(0167805793a4288f545c0a8ea66bd1ad82bac437) )
1216 ROM_LOAD16_BYTE( "sa_1_033.bin", 0x00001, 0x20000, CRC(961c752b) SHA1(b9ac7882662f84de7309c46f8c9344693215d9f7) )
1217 ROM_LOAD16_BYTE( "sa_1_018.bin", 0x40000, 0x20000, CRC(a4043022) SHA1(084e80eaf4ffd9243996615ed20b7debcd185754) )
1218 ROM_LOAD16_BYTE( "sa_1_032.bin", 0x40001, 0x20000, CRC(f52a3286) SHA1(04bc64ddefd1c52c87fe653423fb1e15746b8abc) )
1219 ROM_LOAD16_BYTE( "sa_1_017.bin", 0x80000, 0x20000, CRC(08d6397a) SHA1(ae3a50a043b3247545378611381c593b3ceeb561) )
1220 ROM_LOAD16_BYTE( "sa_1_031.bin", 0x80001, 0x20000, CRC(103079f5) SHA1(7ed28ab957be14974badeaa23f570f99ada61633) )
1221
1222 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1223 ROM_LOAD( "sa_1_012.bin", 0x00000, 0x10000, CRC(56058934) SHA1(99a007884c92c2d931d9270c6c2ec02fbc913922) )
1224
1225 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1226 ROM_LOAD16_BYTE( "gl-08.rom", 0x00001, 0x10000, CRC(33a2b400) SHA1(fdb8de315f33705719c0ac03a61fb56ffbfdf597) ) /* chars */
1227 ROM_LOAD16_BYTE( "gl-09.rom", 0x00000, 0x10000, CRC(5a2d4752) SHA1(617dd10a99b5b55ca64dcdd22a0f133b0d6b770d) )
1228
1229 /* The bootleg graphics are stored in a different arrangement but
1230 seem to be the same as the original set */
1231
1232 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1233 ROM_LOAD( "mag-02.rom", 0x000000, 0x80000, CRC(de89c69a) SHA1(b41bdf859854b5541c7eae7cd541b910cea1f839) ) /* tiles 3 */
1234
1235 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1236 ROM_LOAD( "mag-00.rom", 0x000000, 0x40000, CRC(a8f05d33) SHA1(a1330bc9ca4648219403db087622badfc632b47d) ) /* tiles 1 */
1237 ROM_CONTINUE( 0x080000, 0x40000 )
1238 ROM_LOAD( "mag-01.rom", 0x040000, 0x40000, CRC(5b399eed) SHA1(490f8f9c0c557b0ba94c6019e3fe680641a0787e) ) /* tiles 2 */
1239 ROM_CONTINUE( 0x0c0000, 0x40000 )
1240
1241 ROM_REGION( 0x200000, REGION_GFX4, ROMREGION_DISPOSE )
1242 ROM_LOAD16_BYTE( "mag-03.rom", 0x000000, 0x80000, CRC(2220eb9f) SHA1(bdf0bd6e6ba375f0770b9d08a7efa32201cbb6ef) ) /* sprites */
1243 ROM_LOAD16_BYTE( "mag-05.rom", 0x000001, 0x80000, CRC(56a53254) SHA1(10940cfdc6fbe9013865107de3394ca7f782d9c7) )
1244 ROM_LOAD16_BYTE( "mag-04.rom", 0x100000, 0x80000, CRC(144b94cc) SHA1(d982508608942a714b428a2b721bf24e1627cbb6) )
1245 ROM_LOAD16_BYTE( "mag-06.rom", 0x100001, 0x80000, CRC(82d44749) SHA1(c471fa573e00c2f8ae44068439ba6d849a124c68) )
1246
1247 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* Oki samples */
1248 ROM_LOAD( "sa_1_069.bin", 0x00000, 0x40000, CRC(2188f3ca) SHA1(9c29b62ed261e63d701ff8d43020089c89a64ab2) )
1249
1250 /* No extra Oki samples in the bootleg */
1251 ROM_END
1252
1253 ROM_START( edrandy )
1254 ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 code */
1255 ROM_LOAD16_BYTE( "gg-00-2", 0x00000, 0x20000, CRC(ce1ba964) SHA1(da21734721344eff41a64a7f2382d5c027a24782) )
1256 ROM_LOAD16_BYTE( "gg-04-2", 0x00001, 0x20000, CRC(24caed19) SHA1(bdca689dbb13685e71d3385a9ff7b356d2459d45) )
1257 ROM_LOAD16_BYTE( "gg-01-2", 0x40000, 0x20000, CRC(33677b80) SHA1(d16b926053a61723d321a50f5cabf3e5faebadcf) )
1258 ROM_LOAD16_BYTE( "gg-05-2", 0x40001, 0x20000, CRC(79a68ca6) SHA1(b1ec168ffe7aace481055a8f38d88ed71994191d) )
1259 ROM_LOAD16_BYTE( "ge-02", 0x80000, 0x20000, CRC(c2969fbb) SHA1(faa7da7f5271108dbbc95d111caa2c986e494933) )
1260 ROM_LOAD16_BYTE( "ge-06", 0x80001, 0x20000, CRC(5c2e6418) SHA1(b9ed769b27c37959fcba2acd6dba02ccd62149e7) )
1261 ROM_LOAD16_BYTE( "ge-03", 0xc0000, 0x20000, CRC(5e7b19a8) SHA1(637945e36c3665c74d31f4b14e600e93ed9be054) )
1262 ROM_LOAD16_BYTE( "ge-07", 0xc0001, 0x20000, CRC(5eb819a1) SHA1(1852cb624eccd0a424d404bc853b5df307875cc9) )
1263
1264 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1265 ROM_LOAD( "ge-09", 0x00000, 0x10000, CRC(9f94c60b) SHA1(56edf63850189b2168c602e1f21492ef14662682) )
1266
1267 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1268 ROM_LOAD16_BYTE( "gg-10", 0x000001, 0x10000, CRC(b96c6cbe) SHA1(1f3a18387f360705d2f2ab8f5780a270621e107f) )
1269 ROM_LOAD16_BYTE( "gg-11", 0x000000, 0x10000, CRC(ee567448) SHA1(40c673535b9edf7b8bbb4912235bbb09ef77e221) )
1270
1271 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1272 ROM_LOAD( "mad-00", 0x000000, 0x40000, CRC(3735b22d) SHA1(fd9c3dc7a880592104c091730b9016641043987a) ) /* tiles 1 */
1273 ROM_CONTINUE( 0x080000, 0x40000 )
1274 ROM_LOAD( "mad-01", 0x040000, 0x40000, CRC(7bb13e1c) SHA1(2753e0345b746bb4e8a5572d057d0b888487cbc3) ) /* tiles 2 */
1275 ROM_CONTINUE( 0x0c0000, 0x40000 )
1276
1277 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1278 ROM_LOAD( "mad-02", 0x000000, 0x80000, CRC(6c76face) SHA1(e485b118e1e5bdf130c7ae29eea2f192f85f93a5) ) /* tiles 3 */
1279
1280 ROM_REGION( 0x500000, REGION_GFX4, ROMREGION_DISPOSE )
1281 ROM_LOAD16_BYTE( "mad-03", 0x000000, 0x80000, CRC(c0bff892) SHA1(a3f3bdcc68f6183031438c0572e1e7c2c6fafb6a) ) /* sprites */
1282 ROM_LOAD16_BYTE( "mad-05", 0x000001, 0x80000, CRC(3f2ccf95) SHA1(ed9585f2162ca53a7621b86a9def45a46cd08331) )
1283 ROM_LOAD16_BYTE( "mad-04", 0x100000, 0x80000, CRC(464f3eb9) SHA1(c86212f37e4ca97ef71680643487f1e2afb7ec8a) )
1284 ROM_LOAD16_BYTE( "mad-06", 0x100001, 0x80000, CRC(60871f77) SHA1(45d3042986fba76951438fd69545a2a48e478a6a) )
1285 ROM_LOAD16_BYTE( "mad-07", 0x200000, 0x80000, CRC(ac03466e) SHA1(bfaa779f1818d8cd2b7de7a6ad1c2c396ce7309e) )
1286 ROM_LOAD16_BYTE( "mad-08", 0x200001, 0x80000, CRC(1b420ec8) SHA1(291119e16121fc81f982216772dc6d8bb3b3b12d) )
1287 ROM_LOAD16_BYTE( "mad-10", 0x300000, 0x80000, CRC(42da8ef0) SHA1(704a154db952e89c13a1bd115bdb57d5a6da479a) )
1288 ROM_LOAD16_BYTE( "mad-11", 0x300001, 0x80000, CRC(03c1f982) SHA1(1cc63e4e96356d1d281b254c3b7de009866e865b) )
1289 ROM_LOAD16_BYTE( "mad-09", 0x400000, 0x80000, CRC(930f4900) SHA1(dd09d3c8a251b8397996f6a3330e6e704f65d7fa) )
1290 ROM_LOAD16_BYTE( "mad-12", 0x400001, 0x80000, CRC(a0bd62b6) SHA1(a1ab365f3c63fc4edc32b09ecf8f982beb4bfae5) )
1291
1292 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* ADPCM samples */
1293 ROM_LOAD( "ge-08", 0x00000, 0x20000, CRC(dfe28c7b) SHA1(aba55834b276cbab194e03858564077cad21eff1) )
1294
1295 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1296 ROM_LOAD( "mad-13", 0x00000, 0x80000, CRC(6ab28eba) SHA1(12d3025478ee5af4bdea037656d9b1146cd9759f) ) /* banked */
1297
1298 ROM_REGION( 1024, REGION_PROMS, 0 )
1299 ROM_LOAD( "ge-12", 0x00000, 0x400, CRC(278f674f) SHA1(d4f5b9770d6d2ddebf1b999e291c80a3e274d492) ) /* Priority Unused, same as Robocop 2 */
1300 ROM_END
1301
1302 ROM_START( edrandy1 )
1303 ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 code */
1304 ROM_LOAD16_BYTE( "gg00-1.bin", 0x00000, 0x20000, CRC(a029cc4a) SHA1(3801fd6df6d1299972eeadbdbba1b0b7acf89139) )
1305 ROM_LOAD16_BYTE( "gg04-1.bin", 0x00001, 0x20000, CRC(8b7928a4) SHA1(4075713a830c9d5e324bb790468ec555fa747106) )
1306 ROM_LOAD16_BYTE( "gg01-1.bin", 0x40000, 0x20000, CRC(84360123) SHA1(3e9241cf68839c15d7a1209fe735b51ed90a1de7) )
1307 ROM_LOAD16_BYTE( "gg05-1.bin", 0x40001, 0x20000, CRC(0bf85d9d) SHA1(7b7c1c32d3f0de7e675cea3d2ba4f28e9ce387a9) )
1308 ROM_LOAD16_BYTE( "ge-02", 0x80000, 0x20000, CRC(c2969fbb) SHA1(faa7da7f5271108dbbc95d111caa2c986e494933) )
1309 ROM_LOAD16_BYTE( "ge-06", 0x80001, 0x20000, CRC(5c2e6418) SHA1(b9ed769b27c37959fcba2acd6dba02ccd62149e7) )
1310 ROM_LOAD16_BYTE( "ge-03", 0xc0000, 0x20000, CRC(5e7b19a8) SHA1(637945e36c3665c74d31f4b14e600e93ed9be054) )
1311 ROM_LOAD16_BYTE( "ge-07", 0xc0001, 0x20000, CRC(5eb819a1) SHA1(1852cb624eccd0a424d404bc853b5df307875cc9) )
1312
1313 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1314 ROM_LOAD( "ge-09", 0x00000, 0x10000, CRC(9f94c60b) SHA1(56edf63850189b2168c602e1f21492ef14662682) )
1315
1316 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1317 ROM_LOAD16_BYTE( "gg-10", 0x000001, 0x10000, CRC(b96c6cbe) SHA1(1f3a18387f360705d2f2ab8f5780a270621e107f) )
1318 ROM_LOAD16_BYTE( "gg-11", 0x000000, 0x10000, CRC(ee567448) SHA1(40c673535b9edf7b8bbb4912235bbb09ef77e221) )
1319
1320 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1321 ROM_LOAD( "mad-00", 0x000000, 0x40000, CRC(3735b22d) SHA1(fd9c3dc7a880592104c091730b9016641043987a) ) /* tiles 1 */
1322 ROM_CONTINUE( 0x080000, 0x40000 )
1323 ROM_LOAD( "mad-01", 0x040000, 0x40000, CRC(7bb13e1c) SHA1(2753e0345b746bb4e8a5572d057d0b888487cbc3) ) /* tiles 2 */
1324 ROM_CONTINUE( 0x0c0000, 0x40000 )
1325
1326 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1327 ROM_LOAD( "mad-02", 0x000000, 0x80000, CRC(6c76face) SHA1(e485b118e1e5bdf130c7ae29eea2f192f85f93a5) ) /* tiles 3 */
1328
1329 ROM_REGION( 0x500000, REGION_GFX4, ROMREGION_DISPOSE )
1330 ROM_LOAD16_BYTE( "mad-03", 0x000000, 0x80000, CRC(c0bff892) SHA1(a3f3bdcc68f6183031438c0572e1e7c2c6fafb6a) ) /* sprites */
1331 ROM_LOAD16_BYTE( "mad-05", 0x000001, 0x80000, CRC(3f2ccf95) SHA1(ed9585f2162ca53a7621b86a9def45a46cd08331) )
1332 ROM_LOAD16_BYTE( "mad-04", 0x100000, 0x80000, CRC(464f3eb9) SHA1(c86212f37e4ca97ef71680643487f1e2afb7ec8a) )
1333 ROM_LOAD16_BYTE( "mad-06", 0x100001, 0x80000, CRC(60871f77) SHA1(45d3042986fba76951438fd69545a2a48e478a6a) )
1334 ROM_LOAD16_BYTE( "mad-07", 0x200000, 0x80000, CRC(ac03466e) SHA1(bfaa779f1818d8cd2b7de7a6ad1c2c396ce7309e) )
1335 ROM_LOAD16_BYTE( "mad-08", 0x200001, 0x80000, CRC(1b420ec8) SHA1(291119e16121fc81f982216772dc6d8bb3b3b12d) )
1336 ROM_LOAD16_BYTE( "mad-10", 0x300000, 0x80000, CRC(42da8ef0) SHA1(704a154db952e89c13a1bd115bdb57d5a6da479a) )
1337 ROM_LOAD16_BYTE( "mad-11", 0x300001, 0x80000, CRC(03c1f982) SHA1(1cc63e4e96356d1d281b254c3b7de009866e865b) )
1338 ROM_LOAD16_BYTE( "mad-09", 0x400000, 0x80000, CRC(930f4900) SHA1(dd09d3c8a251b8397996f6a3330e6e704f65d7fa) )
1339 ROM_LOAD16_BYTE( "mad-12", 0x400001, 0x80000, CRC(a0bd62b6) SHA1(a1ab365f3c63fc4edc32b09ecf8f982beb4bfae5) )
1340
1341 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* ADPCM samples */
1342 ROM_LOAD( "ge-08", 0x00000, 0x20000, CRC(dfe28c7b) SHA1(aba55834b276cbab194e03858564077cad21eff1) )
1343
1344 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1345 ROM_LOAD( "mad-13", 0x00000, 0x80000, CRC(6ab28eba) SHA1(12d3025478ee5af4bdea037656d9b1146cd9759f) ) /* banked */
1346
1347 ROM_REGION( 1024, REGION_PROMS, 0 )
1348 ROM_LOAD( "ge-12", 0x00000, 0x400, CRC(278f674f) SHA1(d4f5b9770d6d2ddebf1b999e291c80a3e274d492) ) /* Priority Unused, same as Robocop 2 */
1349 ROM_END
1350
1351 ROM_START( edrandyj )
1352 ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 code */
1353 ROM_LOAD16_BYTE( "ge-00-2", 0x00000, 0x20000, CRC(b3d2403c) SHA1(9747dbe7905e1453e3e7764c874c523c54970e2e) )
1354 ROM_LOAD16_BYTE( "ge-04-2", 0x00001, 0x20000, CRC(8a9624d6) SHA1(d5a9b56bc8a1d67fa28df95299cb205e9c965310) )
1355 ROM_LOAD16_BYTE( "ge-01-2", 0x40000, 0x20000, CRC(84360123) SHA1(3e9241cf68839c15d7a1209fe735b51ed90a1de7) )
1356 ROM_LOAD16_BYTE( "ge-05-2", 0x40001, 0x20000, CRC(0bf85d9d) SHA1(7b7c1c32d3f0de7e675cea3d2ba4f28e9ce387a9) )
1357 ROM_LOAD16_BYTE( "ge-02", 0x80000, 0x20000, CRC(c2969fbb) SHA1(faa7da7f5271108dbbc95d111caa2c986e494933) )
1358 ROM_LOAD16_BYTE( "ge-06", 0x80001, 0x20000, CRC(5c2e6418) SHA1(b9ed769b27c37959fcba2acd6dba02ccd62149e7) )
1359 ROM_LOAD16_BYTE( "ge-03", 0xc0000, 0x20000, CRC(5e7b19a8) SHA1(637945e36c3665c74d31f4b14e600e93ed9be054) )
1360 ROM_LOAD16_BYTE( "ge-07", 0xc0001, 0x20000, CRC(5eb819a1) SHA1(1852cb624eccd0a424d404bc853b5df307875cc9) )
1361
1362 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1363 ROM_LOAD( "ge-09", 0x00000, 0x10000, CRC(9f94c60b) SHA1(56edf63850189b2168c602e1f21492ef14662682) )
1364
1365 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1366 ROM_LOAD16_BYTE( "ge-10", 0x000001, 0x10000, CRC(2528d795) SHA1(8081b5d13875287a75f868a0566a2d06e0e42949) )
1367 ROM_LOAD16_BYTE( "ge-11", 0x000000, 0x10000, CRC(e34a931e) SHA1(0e06359347e48d53ee96d6551d34685110b0f5fb) )
1368
1369 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1370 ROM_LOAD( "mad-00", 0x000000, 0x40000, CRC(3735b22d) SHA1(fd9c3dc7a880592104c091730b9016641043987a) ) /* tiles 1 */
1371 ROM_CONTINUE( 0x080000, 0x40000 )
1372 ROM_LOAD( "mad-01", 0x040000, 0x40000, CRC(7bb13e1c) SHA1(2753e0345b746bb4e8a5572d057d0b888487cbc3) ) /* tiles 2 */
1373 ROM_CONTINUE( 0x0c0000, 0x40000 )
1374
1375 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1376 ROM_LOAD( "mad-02", 0x000000, 0x80000, CRC(6c76face) SHA1(e485b118e1e5bdf130c7ae29eea2f192f85f93a5) ) /* tiles 3 */
1377
1378 ROM_REGION( 0x500000, REGION_GFX4, ROMREGION_DISPOSE )
1379 ROM_LOAD16_BYTE( "mad-03", 0x000000, 0x80000, CRC(c0bff892) SHA1(a3f3bdcc68f6183031438c0572e1e7c2c6fafb6a) ) /* sprites */
1380 ROM_LOAD16_BYTE( "mad-05", 0x000001, 0x80000, CRC(3f2ccf95) SHA1(ed9585f2162ca53a7621b86a9def45a46cd08331) )
1381 ROM_LOAD16_BYTE( "mad-04", 0x100000, 0x80000, CRC(464f3eb9) SHA1(c86212f37e4ca97ef71680643487f1e2afb7ec8a) )
1382 ROM_LOAD16_BYTE( "mad-06", 0x100001, 0x80000, CRC(60871f77) SHA1(45d3042986fba76951438fd69545a2a48e478a6a) )
1383 ROM_LOAD16_BYTE( "mad-07", 0x200000, 0x80000, CRC(ac03466e) SHA1(bfaa779f1818d8cd2b7de7a6ad1c2c396ce7309e) )
1384 ROM_LOAD16_BYTE( "mad-08", 0x200001, 0x80000, CRC(1b420ec8) SHA1(291119e16121fc81f982216772dc6d8bb3b3b12d) )
1385 ROM_LOAD16_BYTE( "mad-10", 0x300000, 0x80000, CRC(42da8ef0) SHA1(704a154db952e89c13a1bd115bdb57d5a6da479a) )
1386 ROM_LOAD16_BYTE( "mad-11", 0x300001, 0x80000, CRC(03c1f982) SHA1(1cc63e4e96356d1d281b254c3b7de009866e865b) )
1387 ROM_LOAD16_BYTE( "mad-09", 0x400000, 0x80000, CRC(930f4900) SHA1(dd09d3c8a251b8397996f6a3330e6e704f65d7fa) )
1388 ROM_LOAD16_BYTE( "mad-12", 0x400001, 0x80000, CRC(a0bd62b6) SHA1(a1ab365f3c63fc4edc32b09ecf8f982beb4bfae5) )
1389
1390 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* ADPCM samples */
1391 ROM_LOAD( "ge-08", 0x00000, 0x20000, CRC(dfe28c7b) SHA1(aba55834b276cbab194e03858564077cad21eff1) )
1392
1393 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1394 ROM_LOAD( "mad-13", 0x00000, 0x80000, CRC(6ab28eba) SHA1(12d3025478ee5af4bdea037656d9b1146cd9759f) ) /* banked */
1395
1396 ROM_REGION( 1024, REGION_PROMS, 0 )
1397 ROM_LOAD( "ge-12", 0x00000, 0x400, CRC(278f674f) SHA1(d4f5b9770d6d2ddebf1b999e291c80a3e274d492) ) /* Priority Unused, same as Robocop 2 */
1398 ROM_END
1399
1400 ROM_START( robocop2 )
1401 ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 code */
1402 ROM_LOAD16_BYTE( "gq-03.1k", 0x00000, 0x20000, CRC(a7e90c28) SHA1(e1ff720e4e63de3adc94505a566e7340f65567d5) )
1403 ROM_LOAD16_BYTE( "gq-07.3k", 0x00001, 0x20000, CRC(d2287ec1) SHA1(8f596205c69b0ed3974cb0bd17fcc3b3bf47a0ca) )
1404 ROM_LOAD16_BYTE( "gq-02.1j", 0x40000, 0x20000, CRC(6777b8a0) SHA1(9081bd187c3b5923efab3e4abde952e9ab29d946) )
1405 ROM_LOAD16_BYTE( "gq-06.3j", 0x40001, 0x20000, CRC(e11e27b5) SHA1(03570da040b7cef2cecebce51b27f8a8fcf62eb1) )
1406 ROM_LOAD16_BYTE( "go-01-1.h1", 0x80000, 0x20000, CRC(ab5356c0) SHA1(297a89b4d9212c916745997bbb959b0ed660f909) )
1407 ROM_LOAD16_BYTE( "go-05-1.h3", 0x80001, 0x20000, CRC(ce21bda5) SHA1(615701d4abdb56d50da44589e6e03909f4b28d45) )
1408 ROM_LOAD16_BYTE( "go-00.f1", 0xc0000, 0x20000, CRC(a93369ea) SHA1(9e13c36112eb7ebc97dc919e24d0b2955c57e10e) )
1409 ROM_LOAD16_BYTE( "go-04.f3", 0xc0001, 0x20000, CRC(ee2f6ad9) SHA1(3abc07792f444a3415fd32e50d6855843e900b1d) )
1410
1411 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1412 ROM_LOAD( "gp-09.k13", 0x00000, 0x10000, CRC(4a4e0f8d) SHA1(5408465667d2854bbade23a26ba619d42a0c22f8) )
1413
1414 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1415 ROM_LOAD16_BYTE( "gp10-1.y6", 0x00001, 0x10000, CRC(d25d719c) SHA1(be874cf403ec0e607eb9b54b7cfff0a53f4d59a2) ) /* chars */
1416 ROM_LOAD16_BYTE( "gp11-1.z6", 0x00000, 0x10000, CRC(030ded47) SHA1(59ded540b2601ec37255e871e38ac71a47c8d007) )
1417
1418 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1419 ROM_LOAD( "mah-04.z4", 0x000000, 0x40000, CRC(9b6ca18c) SHA1(29a20200ea50b9e8e79da072c1b6e580e6ca180f) )
1420 ROM_CONTINUE( 0x080000, 0x40000 )
1421 ROM_LOAD( "mah-03.y4", 0x040000, 0x40000, CRC(37894ddc) SHA1(ee08440b3b2023ec6ee2af6d509b642bcead2e60) )
1422 ROM_CONTINUE( 0x0c0000, 0x40000 )
1423
1424 ROM_REGION( 0x180000, REGION_GFX3, ROMREGION_DISPOSE )
1425 ROM_LOAD( "mah-01.z1", 0x000000, 0x40000, CRC(26e0dfff) SHA1(8cca2dbcda64f4bc6ee0842486da7dc7df3046fd) )
1426 ROM_CONTINUE( 0x0c0000, 0x40000 )
1427 ROM_LOAD( "mah-00.y1", 0x040000, 0x40000, CRC(7bd69e41) SHA1(296adbf7d40f1092bf38599b3bad51f39d8093b2) )
1428 ROM_CONTINUE( 0x100000, 0x40000 )
1429 ROM_LOAD( "mah-02.a1", 0x080000, 0x40000, CRC(328a247d) SHA1(879f75452dc7c327fd5b35c960c58bc0c0efd33c) )
1430 ROM_CONTINUE( 0x140000, 0x40000 )
1431
1432 ROM_REGION( 0x300000, REGION_GFX4, ROMREGION_DISPOSE )
1433 ROM_LOAD16_BYTE( "mah-05.y9", 0x000000, 0x80000, CRC(6773e613) SHA1(ee6cb4272bb9f80e0d918dc059b40e0a47db0876) )
1434 ROM_LOAD16_BYTE( "mah-08.y12", 0x000001, 0x80000, CRC(88d310a5) SHA1(82d249f331f51b7c72f9114ecf4e835ccdae7e97) )
1435 ROM_LOAD16_BYTE( "mah-06.z9", 0x100000, 0x80000, CRC(27a8808a) SHA1(cb14992d1073de38406e36f5884d77933dd6b765) )
1436 ROM_LOAD16_BYTE( "mah-09.z12", 0x100001, 0x80000, CRC(a58c43a7) SHA1(0b7f743cf0443d998479b7d5d95b8f2aaf1ef136) )
1437 ROM_LOAD16_BYTE( "mah-07.a9", 0x200000, 0x80000, CRC(526f4190) SHA1(23cb79230ec267b8e4236381b5a596d7af8ec5b3) )
1438 ROM_LOAD16_BYTE( "mah-10.a12", 0x200001, 0x80000, CRC(14b770da) SHA1(6d57da630da1ec457ebaeed8c251e85bd737e97c) )
1439
1440 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* Oki samples */
1441 ROM_LOAD( "gp-08.j13", 0x00000, 0x20000, CRC(365183b1) SHA1(7d3c201c49981c3ac84022283b048e380cbb7ec3) )
1442
1443 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1444 ROM_LOAD( "mah-11.f13", 0x00000, 0x80000, CRC(642bc692) SHA1(8d9e446b7633bb6acc46d9f92044a69b99a0ccc9) ) /* banked */
1445
1446 ROM_REGION( 1024, REGION_PROMS, 0 )
1447 ROM_LOAD( "go-12.v7", 0x00000, 0x400, CRC(278f674f) SHA1(d4f5b9770d6d2ddebf1b999e291c80a3e274d492) ) /* Priority Unused */
1448 ROM_END
1449
1450 ROM_START( robocp2u )
1451 ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 code */
1452 ROM_LOAD16_BYTE( "robo03.k1", 0x00000, 0x20000, CRC(f4c96cc9) SHA1(2eb58aca1134c33f2084267e65a565f9adc6ba49) )
1453 ROM_LOAD16_BYTE( "robo07.k3", 0x00001, 0x20000, CRC(11e53a7c) SHA1(cdeb7f1983a771238d9d2000f99aed35ae4a06ee) )
1454 ROM_LOAD16_BYTE( "robo02.j1", 0x40000, 0x20000, CRC(fa086a0d) SHA1(34a3f9c6890e1fbacbde3e39a861e42d511cd8ec) )
1455 ROM_LOAD16_BYTE( "robo06.j3", 0x40001, 0x20000, CRC(703b49d0) SHA1(be51644fe730d0cb95e1b09f8595da2e36c09aeb) )
1456 ROM_LOAD16_BYTE( "go-01-1.h1", 0x80000, 0x20000, CRC(ab5356c0) SHA1(297a89b4d9212c916745997bbb959b0ed660f909) )
1457 ROM_LOAD16_BYTE( "go-05-1.h3", 0x80001, 0x20000, CRC(ce21bda5) SHA1(615701d4abdb56d50da44589e6e03909f4b28d45) )
1458 ROM_LOAD16_BYTE( "go-00.f1", 0xc0000, 0x20000, CRC(a93369ea) SHA1(9e13c36112eb7ebc97dc919e24d0b2955c57e10e) )
1459 ROM_LOAD16_BYTE( "go-04.f3", 0xc0001, 0x20000, CRC(ee2f6ad9) SHA1(3abc07792f444a3415fd32e50d6855843e900b1d) )
1460
1461 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1462 ROM_LOAD( "gp-09.k13", 0x00000, 0x10000, CRC(4a4e0f8d) SHA1(5408465667d2854bbade23a26ba619d42a0c22f8) )
1463
1464 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1465 ROM_LOAD16_BYTE( "gp10-1.y6", 0x00001, 0x10000, CRC(d25d719c) SHA1(be874cf403ec0e607eb9b54b7cfff0a53f4d59a2) ) /* chars */
1466 ROM_LOAD16_BYTE( "gp11-1.z6", 0x00000, 0x10000, CRC(030ded47) SHA1(59ded540b2601ec37255e871e38ac71a47c8d007) )
1467
1468 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1469 ROM_LOAD( "mah-04.z4", 0x000000, 0x40000, CRC(9b6ca18c) SHA1(29a20200ea50b9e8e79da072c1b6e580e6ca180f) )
1470 ROM_CONTINUE( 0x080000, 0x40000 )
1471 ROM_LOAD( "mah-03.y4", 0x040000, 0x40000, CRC(37894ddc) SHA1(ee08440b3b2023ec6ee2af6d509b642bcead2e60) )
1472 ROM_CONTINUE( 0x0c0000, 0x40000 )
1473
1474 ROM_REGION( 0x180000, REGION_GFX3, ROMREGION_DISPOSE )
1475 ROM_LOAD( "mah-01.z1", 0x000000, 0x40000, CRC(26e0dfff) SHA1(8cca2dbcda64f4bc6ee0842486da7dc7df3046fd) )
1476 ROM_CONTINUE( 0x0c0000, 0x40000 )
1477 ROM_LOAD( "mah-00.y1", 0x040000, 0x40000, CRC(7bd69e41) SHA1(296adbf7d40f1092bf38599b3bad51f39d8093b2) )
1478 ROM_CONTINUE( 0x100000, 0x40000 )
1479 ROM_LOAD( "mah-02.a1", 0x080000, 0x40000, CRC(328a247d) SHA1(879f75452dc7c327fd5b35c960c58bc0c0efd33c) )
1480 ROM_CONTINUE( 0x140000, 0x40000 )
1481
1482 ROM_REGION( 0x300000, REGION_GFX4, ROMREGION_DISPOSE )
1483 ROM_LOAD16_BYTE( "mah-05.y9", 0x000000, 0x80000, CRC(6773e613) SHA1(ee6cb4272bb9f80e0d918dc059b40e0a47db0876) )
1484 ROM_LOAD16_BYTE( "mah-08.y12", 0x000001, 0x80000, CRC(88d310a5) SHA1(82d249f331f51b7c72f9114ecf4e835ccdae7e97) )
1485 ROM_LOAD16_BYTE( "mah-06.z9", 0x100000, 0x80000, CRC(27a8808a) SHA1(cb14992d1073de38406e36f5884d77933dd6b765) )
1486 ROM_LOAD16_BYTE( "mah-09.z12", 0x100001, 0x80000, CRC(a58c43a7) SHA1(0b7f743cf0443d998479b7d5d95b8f2aaf1ef136) )
1487 ROM_LOAD16_BYTE( "mah-07.a9", 0x200000, 0x80000, CRC(526f4190) SHA1(23cb79230ec267b8e4236381b5a596d7af8ec5b3) )
1488 ROM_LOAD16_BYTE( "mah-10.a12", 0x200001, 0x80000, CRC(14b770da) SHA1(6d57da630da1ec457ebaeed8c251e85bd737e97c) )
1489
1490 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* Oki samples */
1491 ROM_LOAD( "gp-08.j13", 0x00000, 0x20000, CRC(365183b1) SHA1(7d3c201c49981c3ac84022283b048e380cbb7ec3) )
1492
1493 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1494 ROM_LOAD( "mah-11.f13", 0x00000, 0x80000, CRC(642bc692) SHA1(8d9e446b7633bb6acc46d9f92044a69b99a0ccc9) ) /* banked */
1495
1496 ROM_REGION( 1024, REGION_PROMS, 0 )
1497 ROM_LOAD( "go-12.v7", 0x00000, 0x400, CRC(278f674f) SHA1(d4f5b9770d6d2ddebf1b999e291c80a3e274d492) ) /* Priority Unused */
1498 ROM_END
1499
1500 ROM_START( robocp2j )
1501 ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 code */
1502 ROM_LOAD16_BYTE( "go_03-1.k1", 0x00000, 0x20000, CRC(52506608) SHA1(a0e738fe1083a17cb40f28ad95b695b6caebf3b1) )
1503 ROM_LOAD16_BYTE( "go_07-1.k3", 0x00001, 0x20000, CRC(739cda17) SHA1(5a69873d79beabace4739ad313e8c090919206ba) )
1504 ROM_LOAD16_BYTE( "go_02-1.j1", 0x40000, 0x20000, CRC(48c0ace9) SHA1(cf53eb97552aa503e62eb3361af4a19494dfe1ff) )
1505 ROM_LOAD16_BYTE( "go_06-1.j3", 0x40001, 0x20000, CRC(41abec87) SHA1(83d24d9344508124a8ced402bdc5749e5fcc8e9c) )
1506 ROM_LOAD16_BYTE( "go-01-1.h1", 0x80000, 0x20000, CRC(ab5356c0) SHA1(297a89b4d9212c916745997bbb959b0ed660f909) )
1507 ROM_LOAD16_BYTE( "go-05-1.h3", 0x80001, 0x20000, CRC(ce21bda5) SHA1(615701d4abdb56d50da44589e6e03909f4b28d45) )
1508 ROM_LOAD16_BYTE( "go-00.f1", 0xc0000, 0x20000, CRC(a93369ea) SHA1(9e13c36112eb7ebc97dc919e24d0b2955c57e10e) )
1509 ROM_LOAD16_BYTE( "go-04.f3", 0xc0001, 0x20000, CRC(ee2f6ad9) SHA1(3abc07792f444a3415fd32e50d6855843e900b1d) )
1510
1511 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1512 ROM_LOAD( "gp-09.k13", 0x00000, 0x10000, CRC(4a4e0f8d) SHA1(5408465667d2854bbade23a26ba619d42a0c22f8) )
1513
1514 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
1515 ROM_LOAD16_BYTE( "gp10-1.y6", 0x00001, 0x10000, CRC(d25d719c) SHA1(be874cf403ec0e607eb9b54b7cfff0a53f4d59a2) ) /* chars */
1516 ROM_LOAD16_BYTE( "gp11-1.z6", 0x00000, 0x10000, CRC(030ded47) SHA1(59ded540b2601ec37255e871e38ac71a47c8d007) )
1517
1518 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
1519 ROM_LOAD( "mah-04.z4", 0x000000, 0x40000, CRC(9b6ca18c) SHA1(29a20200ea50b9e8e79da072c1b6e580e6ca180f) )
1520 ROM_CONTINUE( 0x080000, 0x40000 )
1521 ROM_LOAD( "mah-03.y4", 0x040000, 0x40000, CRC(37894ddc) SHA1(ee08440b3b2023ec6ee2af6d509b642bcead2e60) )
1522 ROM_CONTINUE( 0x0c0000, 0x40000 )
1523
1524 ROM_REGION( 0x180000, REGION_GFX3, ROMREGION_DISPOSE )
1525 ROM_LOAD( "mah-01.z1", 0x000000, 0x40000, CRC(26e0dfff) SHA1(8cca2dbcda64f4bc6ee0842486da7dc7df3046fd) )
1526 ROM_CONTINUE( 0x0c0000, 0x40000 )
1527 ROM_LOAD( "mah-00.y1", 0x040000, 0x40000, CRC(7bd69e41) SHA1(296adbf7d40f1092bf38599b3bad51f39d8093b2) )
1528 ROM_CONTINUE( 0x100000, 0x40000 )
1529 ROM_LOAD( "mah-02.a1", 0x080000, 0x40000, CRC(328a247d) SHA1(879f75452dc7c327fd5b35c960c58bc0c0efd33c) )
1530 ROM_CONTINUE( 0x140000, 0x40000 )
1531
1532 ROM_REGION( 0x300000, REGION_GFX4, ROMREGION_DISPOSE )
1533 ROM_LOAD16_BYTE( "mah-05.y9", 0x000000, 0x80000, CRC(6773e613) SHA1(ee6cb4272bb9f80e0d918dc059b40e0a47db0876) )
1534 ROM_LOAD16_BYTE( "mah-08.y12", 0x000001, 0x80000, CRC(88d310a5) SHA1(82d249f331f51b7c72f9114ecf4e835ccdae7e97) )
1535 ROM_LOAD16_BYTE( "mah-06.z9", 0x100000, 0x80000, CRC(27a8808a) SHA1(cb14992d1073de38406e36f5884d77933dd6b765) )
1536 ROM_LOAD16_BYTE( "mah-09.z12", 0x100001, 0x80000, CRC(a58c43a7) SHA1(0b7f743cf0443d998479b7d5d95b8f2aaf1ef136) )
1537 ROM_LOAD16_BYTE( "mah-07.a9", 0x200000, 0x80000, CRC(526f4190) SHA1(23cb79230ec267b8e4236381b5a596d7af8ec5b3) )
1538 ROM_LOAD16_BYTE( "mah-10.a12", 0x200001, 0x80000, CRC(14b770da) SHA1(6d57da630da1ec457ebaeed8c251e85bd737e97c) )
1539
1540 ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* Oki samples */
1541 ROM_LOAD( "gp-08.j13", 0x00000, 0x20000, CRC(365183b1) SHA1(7d3c201c49981c3ac84022283b048e380cbb7ec3) )
1542
1543 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Extra Oki samples */
1544 ROM_LOAD( "mah-11.f13", 0x00000, 0x80000, CRC(642bc692) SHA1(8d9e446b7633bb6acc46d9f92044a69b99a0ccc9) ) /* banked */
1545
1546 ROM_REGION( 1024, REGION_PROMS, 0 )
1547 ROM_LOAD( "go-12.v7", 0x00000, 0x400, CRC(278f674f) SHA1(d4f5b9770d6d2ddebf1b999e291c80a3e274d492) ) /* Priority Unused */
1548 ROM_END
1549
1550 ROM_START( mutantf )
1551 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1552 ROM_LOAD16_BYTE("hd03-4.2c", 0x00000, 0x20000, CRC(94859545) SHA1(4b218442bf1ba01b9b6b54c0037c76c827b79d35) )
1553 ROM_LOAD16_BYTE("hd00-4.2a", 0x00001, 0x20000, CRC(3cdb648f) SHA1(f803d2894d4c32de770861c70f837377afd329fe) )
1554 ROM_LOAD16_BYTE("hf-04-1.4c", 0x40000, 0x20000, CRC(fd2ea8d7) SHA1(00e50d42fcc7f6d5076963b02f5abb36275dc993) )
1555 ROM_LOAD16_BYTE("hf-01-1.4a", 0x40001, 0x20000, CRC(48a247ac) SHA1(c69d67e44ffae92b261de247f8d3eac2e02fcf11) )
1556
1557 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1558 ROM_LOAD( "hf-12.21j", 0x00000, 0x10000, CRC(13d55f11) SHA1(6438dca57f43b3ca6d273bf82b62104a49260132) )
1559
1560 ROM_REGION( 0x0a0000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1561 ROM_LOAD16_BYTE( "hf-06-1.8d", 0x000000, 0x10000, CRC(8b7a558b) SHA1(06f1f6910b9a54e208ee9a0b734d5df946016236) )
1562 ROM_LOAD16_BYTE( "hf-07-1.9d", 0x000001, 0x10000, CRC(d2a3d449) SHA1(10ad634eb0238f6e9ba04266e4dbaf9470f5d169) )
1563
1564 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1565 ROM_LOAD( "maf-00.8a", 0x000000, 0x80000, CRC(e56f528d) SHA1(3908d9b189fa4895c532d1d1f133df0913810cf9) ) /* tiles 3 */
1566
1567 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1568 ROM_LOAD( "maf-01.9a", 0x000000, 0x40000, CRC(c3d5173d) SHA1(2b6559bf65d7cc5b957ad347b64cf6a18f661686) ) /* tiles 1 */
1569 ROM_CONTINUE( 0x080000, 0x40000 )
1570 ROM_LOAD( "maf-02.11a", 0x040000, 0x40000, CRC(0b37d849) SHA1(a0606fb8130a2e86a241ce5ce0b4f61373a88c17) ) /* tiles 2 */
1571 ROM_CONTINUE( 0x0c0000, 0x40000 )
1572
1573 ROM_REGION( 0x500000, REGION_GFX4, ROMREGION_DISPOSE ) /* sprites */
1574 ROM_LOAD16_BYTE( "maf-03.18a", 0x000000, 0x100000, CRC(f4366d2c) SHA1(20964d0e1b879b3e5cb5d18a46d2a17dca2b4171) )
1575 ROM_LOAD16_BYTE( "maf-04.20a", 0x200000, 0x100000, CRC(0c8f654e) SHA1(e566d4b789b345e20caf7e061e43be7c2e1be9b2) )
1576 ROM_LOAD16_BYTE( "maf-05.21a", 0x400000, 0x080000, CRC(b0cfeb80) SHA1(b8519c604b03eb8bcf26d00a43b39d48f1b45ab5) )
1577 ROM_LOAD16_BYTE( "maf-06.18d", 0x000001, 0x100000, CRC(f5c7a9b5) SHA1(92efc9401347598c90acf62c9aef30109c990ad6) )
1578 ROM_LOAD16_BYTE( "maf-07.20d", 0x200001, 0x100000, CRC(fd6008a3) SHA1(7b680424eca3804c70fa0c4dc415d665c8626498) )
1579 ROM_LOAD16_BYTE( "maf-08.21d", 0x400001, 0x080000, CRC(e41cf1e7) SHA1(06524e1aed0adc4c32c92e16a00dc983014f4994) )
1580
1581 ROM_REGION( 0x40000, REGION_GFX5, ROMREGION_DISPOSE ) /* sprites 2 */
1582 ROM_LOAD32_BYTE("hf-08.15a", 0x00001, 0x10000, CRC(93b7279f) SHA1(14304a1ffe1bc791bfa83f8200793d897449133c) )
1583 ROM_LOAD32_BYTE("hf-09.17a", 0x00003, 0x10000, CRC(05e2c074) SHA1(ec95303e8196424864964b5d2ae862bf75571e83) )
1584 ROM_LOAD32_BYTE("hf-10.15c", 0x00000, 0x10000, CRC(9b06f418) SHA1(d1579ae36676e38c96ee55a1ffa20aa307a21654) )
1585 ROM_LOAD32_BYTE("hf-11.17c", 0x00002, 0x10000, CRC(3859a531) SHA1(a2a0c1aa28181b5ef6c075ff0118178340389693) )
1586
1587 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* ADPCM samples */
1588 ROM_LOAD( "maf-10.20l", 0x00000, 0x40000, CRC(7c57f48b) SHA1(9a5624553b3b038d70f9b517f410a635c00a8771) )
1589
1590 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* ADPCM samples */
1591 ROM_LOAD( "maf-09.18l", 0x00000, 0x80000, CRC(28e7ed81) SHA1(e168a2748b75c647f6f9c0d7d25d4f046aa98094) )
1592 ROM_END
1593
1594 ROM_START( mutantfa )
1595 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1596 ROM_LOAD16_BYTE("hd03-3.2c", 0x00000, 0x20000, CRC(e6f53574) SHA1(98d5a76bda52346e4bee5b1b0755e3fee4ad8283) )
1597 ROM_LOAD16_BYTE("hd00-3.2a", 0x00001, 0x20000, CRC(d3055454) SHA1(83531ae52e5928ac64279bcb98878eef291f8f70) )
1598 ROM_LOAD16_BYTE("hf-04-1.4c", 0x40000, 0x20000, CRC(fd2ea8d7) SHA1(00e50d42fcc7f6d5076963b02f5abb36275dc993) )
1599 ROM_LOAD16_BYTE("hf-01-1.4a", 0x40001, 0x20000, CRC(48a247ac) SHA1(c69d67e44ffae92b261de247f8d3eac2e02fcf11) )
1600
1601 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1602 ROM_LOAD( "hf-12.21j", 0x00000, 0x10000, CRC(13d55f11) SHA1(6438dca57f43b3ca6d273bf82b62104a49260132) )
1603
1604 ROM_REGION( 0x0a0000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1605 ROM_LOAD16_BYTE( "hf-06-1.8d", 0x000000, 0x10000, CRC(8b7a558b) SHA1(06f1f6910b9a54e208ee9a0b734d5df946016236) )
1606 ROM_LOAD16_BYTE( "hf-07-1.9d", 0x000001, 0x10000, CRC(d2a3d449) SHA1(10ad634eb0238f6e9ba04266e4dbaf9470f5d169) )
1607
1608 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1609 ROM_LOAD( "maf-00.8a", 0x000000, 0x80000, CRC(e56f528d) SHA1(3908d9b189fa4895c532d1d1f133df0913810cf9) ) /* tiles 3 */
1610
1611 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1612 ROM_LOAD( "maf-01.9a", 0x000000, 0x40000, CRC(c3d5173d) SHA1(2b6559bf65d7cc5b957ad347b64cf6a18f661686) ) /* tiles 1 */
1613 ROM_CONTINUE( 0x080000, 0x40000 )
1614 ROM_LOAD( "maf-02.11a", 0x040000, 0x40000, CRC(0b37d849) SHA1(a0606fb8130a2e86a241ce5ce0b4f61373a88c17) ) /* tiles 2 */
1615 ROM_CONTINUE( 0x0c0000, 0x40000 )
1616
1617 ROM_REGION( 0x500000, REGION_GFX4, ROMREGION_DISPOSE ) /* sprites */
1618 ROM_LOAD16_BYTE( "maf-03.18a", 0x000000, 0x100000, CRC(f4366d2c) SHA1(20964d0e1b879b3e5cb5d18a46d2a17dca2b4171) )
1619 ROM_LOAD16_BYTE( "maf-04.20a", 0x200000, 0x100000, CRC(0c8f654e) SHA1(e566d4b789b345e20caf7e061e43be7c2e1be9b2) )
1620 ROM_LOAD16_BYTE( "maf-05.21a", 0x400000, 0x080000, CRC(b0cfeb80) SHA1(b8519c604b03eb8bcf26d00a43b39d48f1b45ab5) )
1621 ROM_LOAD16_BYTE( "maf-06.18d", 0x000001, 0x100000, CRC(f5c7a9b5) SHA1(92efc9401347598c90acf62c9aef30109c990ad6) )
1622 ROM_LOAD16_BYTE( "maf-07.20d", 0x200001, 0x100000, CRC(fd6008a3) SHA1(7b680424eca3804c70fa0c4dc415d665c8626498) )
1623 ROM_LOAD16_BYTE( "maf-08.21d", 0x400001, 0x080000, CRC(e41cf1e7) SHA1(06524e1aed0adc4c32c92e16a00dc983014f4994) )
1624
1625 ROM_REGION( 0x40000, REGION_GFX5, ROMREGION_DISPOSE ) /* sprites 2 */
1626 ROM_LOAD32_BYTE("hf-08.15a", 0x00001, 0x10000, CRC(93b7279f) SHA1(14304a1ffe1bc791bfa83f8200793d897449133c) )
1627 ROM_LOAD32_BYTE("hf-09.17a", 0x00003, 0x10000, CRC(05e2c074) SHA1(ec95303e8196424864964b5d2ae862bf75571e83) )
1628 ROM_LOAD32_BYTE("hf-10.15c", 0x00000, 0x10000, CRC(9b06f418) SHA1(d1579ae36676e38c96ee55a1ffa20aa307a21654) )
1629 ROM_LOAD32_BYTE("hf-11.17c", 0x00002, 0x10000, CRC(3859a531) SHA1(a2a0c1aa28181b5ef6c075ff0118178340389693) )
1630
1631 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* ADPCM samples */
1632 ROM_LOAD( "maf-10.20l", 0x00000, 0x40000, CRC(7c57f48b) SHA1(9a5624553b3b038d70f9b517f410a635c00a8771) )
1633
1634 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* ADPCM samples */
1635 ROM_LOAD( "maf-09.18l", 0x00000, 0x80000, CRC(28e7ed81) SHA1(e168a2748b75c647f6f9c0d7d25d4f046aa98094) )
1636 ROM_END
1637
1638 ROM_START( deathbrd )
1639 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
1640 ROM_LOAD16_BYTE("hf-03-2.2c", 0x00000, 0x20000, CRC(fb86fff3) SHA1(af4cfc19ec85e0aa49b5e46d95bdd94a20922cce) )
1641 ROM_LOAD16_BYTE("hf-00-2.2a", 0x00001, 0x20000, CRC(099aa422) SHA1(b62f261b1903dd2d1a308f7abb9584b3726204b5) )
1642 ROM_LOAD16_BYTE("hf-04-1.4c", 0x40000, 0x20000, CRC(fd2ea8d7) SHA1(00e50d42fcc7f6d5076963b02f5abb36275dc993) )
1643 ROM_LOAD16_BYTE("hf-01-1.4a", 0x40001, 0x20000, CRC(48a247ac) SHA1(c69d67e44ffae92b261de247f8d3eac2e02fcf11) )
1644
1645 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
1646 ROM_LOAD( "hf-12.21j", 0x00000, 0x10000, CRC(13d55f11) SHA1(6438dca57f43b3ca6d273bf82b62104a49260132) )
1647
1648 ROM_REGION( 0x0a0000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
1649 ROM_LOAD16_BYTE( "hf-06-1.8d", 0x000000, 0x10000, CRC(8b7a558b) SHA1(06f1f6910b9a54e208ee9a0b734d5df946016236) )
1650 ROM_LOAD16_BYTE( "hf-07-1.9d", 0x000001, 0x10000, CRC(d2a3d449) SHA1(10ad634eb0238f6e9ba04266e4dbaf9470f5d169) )
1651
1652 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
1653 ROM_LOAD( "maf-00.8a", 0x000000, 0x80000, CRC(e56f528d) SHA1(3908d9b189fa4895c532d1d1f133df0913810cf9) ) /* tiles 3 */
1654
1655 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
1656 ROM_LOAD( "maf-01.9a", 0x000000, 0x40000, CRC(c3d5173d) SHA1(2b6559bf65d7cc5b957ad347b64cf6a18f661686) ) /* tiles 1 */
1657 ROM_CONTINUE( 0x080000, 0x40000 )
1658 ROM_LOAD( "maf-02.11a", 0x040000, 0x40000, CRC(0b37d849) SHA1(a0606fb8130a2e86a241ce5ce0b4f61373a88c17) ) /* tiles 2 */
1659 ROM_CONTINUE( 0x0c0000, 0x40000 )
1660
1661 ROM_REGION( 0x500000, REGION_GFX4, ROMREGION_DISPOSE ) /* sprites */
1662 ROM_LOAD16_BYTE( "maf-03.18a", 0x000000, 0x100000, CRC(f4366d2c) SHA1(20964d0e1b879b3e5cb5d18a46d2a17dca2b4171) )
1663 ROM_LOAD16_BYTE( "maf-04.20a", 0x200000, 0x100000, CRC(0c8f654e) SHA1(e566d4b789b345e20caf7e061e43be7c2e1be9b2) )
1664 ROM_LOAD16_BYTE( "maf-05.21a", 0x400000, 0x080000, CRC(b0cfeb80) SHA1(b8519c604b03eb8bcf26d00a43b39d48f1b45ab5) )
1665 ROM_LOAD16_BYTE( "maf-06.18d", 0x000001, 0x100000, CRC(f5c7a9b5) SHA1(92efc9401347598c90acf62c9aef30109c990ad6) )
1666 ROM_LOAD16_BYTE( "maf-07.20d", 0x200001, 0x100000, CRC(fd6008a3) SHA1(7b680424eca3804c70fa0c4dc415d665c8626498) )
1667 ROM_LOAD16_BYTE( "maf-08.21d", 0x400001, 0x080000, CRC(e41cf1e7) SHA1(06524e1aed0adc4c32c92e16a00dc983014f4994) )
1668
1669 ROM_REGION( 0x40000, REGION_GFX5, ROMREGION_DISPOSE ) /* sprites 2 */
1670 ROM_LOAD32_BYTE("hf-08.15a", 0x00001, 0x10000, CRC(93b7279f) SHA1(14304a1ffe1bc791bfa83f8200793d897449133c) )
1671 ROM_LOAD32_BYTE("hf-09.17a", 0x00003, 0x10000, CRC(05e2c074) SHA1(ec95303e8196424864964b5d2ae862bf75571e83) )
1672 ROM_LOAD32_BYTE("hf-10.15c", 0x00000, 0x10000, CRC(9b06f418) SHA1(d1579ae36676e38c96ee55a1ffa20aa307a21654) )
1673 ROM_LOAD32_BYTE("hf-11.17c", 0x00002, 0x10000, CRC(3859a531) SHA1(a2a0c1aa28181b5ef6c075ff0118178340389693) )
1674
1675 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* ADPCM samples */
1676 ROM_LOAD( "maf-10.20l", 0x00000, 0x40000, CRC(7c57f48b) SHA1(9a5624553b3b038d70f9b517f410a635c00a8771) )
1677
1678 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* ADPCM samples */
1679 ROM_LOAD( "maf-09.18l", 0x00000, 0x80000, CRC(28e7ed81) SHA1(e168a2748b75c647f6f9c0d7d25d4f046aa98094) )
1680 ROM_END
1681
1682 /**********************************************************************************/
1683
1684 static void cninja_patch(void)
1685 {
1686 data16_t *RAM = (UINT16 *)memory_region(REGION_CPU1);
1687 int i;
1688
1689 for (i=0; i<0x80000/2; i++) {
1690 int aword=RAM[i];
1691
1692 if (aword==0x66ff || aword==0x67ff) {
1693 data16_t doublecheck=RAM[i-4];
1694
1695 /* Cmpi + btst controlling opcodes */
1696 if (doublecheck==0xc39 || doublecheck==0x839) {
1697 RAM[i]=0x4E71;
1698 RAM[i-1]=0x4E71;
1699 RAM[i-2]=0x4E71;
1700 RAM[i-3]=0x4E71;
1701 RAM[i-4]=0x4E71;
1702 }
1703 }
1704 }
1705 }
1706
1707 /**********************************************************************************/
1708
DRIVER_INIT(cninja)1709 static DRIVER_INIT( cninja )
1710 {
1711 install_mem_write16_handler(0, 0x1bc0a8, 0x1bc0a9, cninja_sound_w);
1712 cninja_patch();
1713 }
1714
DRIVER_INIT(stoneage)1715 static DRIVER_INIT( stoneage )
1716 {
1717 install_mem_write16_handler(0, 0x1bc0a8, 0x1bc0a9, stoneage_sound_w);
1718 }
1719
DRIVER_INIT(mutantf)1720 static DRIVER_INIT( mutantf )
1721 {
1722 const data8_t *src = memory_region(REGION_GFX2);
1723 data8_t *dst = memory_region(REGION_GFX1);
1724
1725 /* The 16x16 graphic has some 8x8 chars in it - decode them in GFX1 */
1726 memcpy(dst+0x50000,dst+0x10000,0x10000);
1727 memcpy(dst+0x10000,src,0x40000);
1728 memcpy(dst+0x60000,src+0x40000,0x40000);
1729
1730 deco56_decrypt(REGION_GFX1);
1731 deco56_decrypt(REGION_GFX2);
1732 }
1733
1734 /**********************************************************************************/
1735
1736 GAME( 1990, edrandy, 0, edrandy, edrandy, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World revision 2)" )
1737 GAME( 1990, edrandy1, edrandy, edrandy, edrandy, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World revision 1)" )
1738 GAME( 1990, edrandyj, edrandy, edrandy, edrandy, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (Japan)" )
1739 GAME( 1991, cninja, 0, cninja, cninja, cninja, ROT0, "Data East Corporation", "Caveman Ninja (World revision 3)" )
1740 GAME( 1991, cninja0, cninja, cninja, cninja, cninja, ROT0, "Data East Corporation", "Caveman Ninja (World revision 0)" )
1741 GAME( 1991, cninjau, cninja, cninja, cninjau, cninja, ROT0, "Data East Corporation", "Caveman Ninja (US)" )
1742 GAME( 1991, joemac, cninja, cninja, cninja, cninja, ROT0, "Data East Corporation", "Tatakae Genshizin Joe & Mac (Japan)" )
1743 GAME( 1991, stoneage, cninja, stoneage, cninja, stoneage, ROT0, "bootleg", "Stoneage" )
1744 GAME( 1991, robocop2, 0, robocop2, robocop2,0, ROT0, "Data East Corporation", "Robocop 2 (World)" )
1745 GAME( 1991, robocp2u, robocop2,robocop2, robocop2,0, ROT0, "Data East Corporation", "Robocop 2 (US)" )
1746 GAME( 1991, robocp2j, robocop2,robocop2, robocop2,0, ROT0, "Data East Corporation", "Robocop 2 (Japan)" )
1747 GAME( 1992, mutantf, 0, mutantf, mutantf, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World Rev 4, EM-5)" )
1748 GAME( 1992, mutantfa, mutantf, mutantf, mutantf, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World Rev 3, EM-4)" )
1749 GAME( 1992, deathbrd, mutantf, mutantf, mutantf, mutantf, ROT0, "Data East Corporation", "Death Brade (Japan Rev 2, JM-3)" )
1750