1 /********************************************************************
2
3 Urashima Mahjong UPL 68000 <unknown cpu> OKIM6295
4 Task Force Harrier UPL 68000 Z80 YM2203 2xOKIM6295
5 Mustang UPL 68000 NMK004 YM2203 2xOKIM6295
6 Mustang (bootleg) UPL 68000 Z80 YM3812 OKIM6295
7 Bio-ship Paladin UPL 68000 <unknown cpu> YM2203(?) 2xOKIM6295
8 Vandyke UPL 68000 NMK004 YM2203 2xOKIM6295
9 Black Heart UPL 68000 NMK004 YM2203 2xOKIM6295
10 Acrobat Mission UPL 68000 NMK004 YM2203 2xOKIM6295
11 Strahl UPL 68000 <unknown cpu> YM2203 2xOKIM6295
12 Thunder Dragon NMK/Tecmo 68000 <unknown cpu> YM2203 2xOKIM6295
13 Thunder Dragon (bootleg) NMK/Tecmo 68000 Z80 YM3812 OKIM6295
14 Hacha Mecha Fighter NMK 68000 <unknown cpu> YM2203 2xOKIM6295
15 Macross Banpresto 68000 <unknown cpu> YM2203 2xOKIM6295
16 GunNail NMK/Tecmo 68000 NMK004 YM2203 2xOKIM6295
17 Macross II Banpresto 68000 Z80 YM2203 2xOKIM6295
18 Thunder Dragon 2 NMK 68000 Z80 YM2203 2xOKIM6295
19 Saboten Bombers NMK/Tecmo 68000 2xOKIM6295
20 Bombjack Twin NMK 68000 2xOKIM6295
21 Nouryoku Koujou Iinkai Tecmo 68000 2xOKIM6295
22 Many Block Bee-Oh 68000 Z80 YM2203 2xOKIM6295
23 S.S. Mission Comad 68000 Z80 OKIM6295
24 Rapid Hero NMK 68000 tmp90c841 YM2203 2xOKIM6295
25
26 driver by Mirko Buffoni, Richard Bush, Nicola Salmoria, Bryan McPhail,
27 David Haywood, and R. Belmont.
28
29 The NMK004 CPU might be a Toshiba TLCS-90 class CPU with internal ROM in the
30 0000-3fff range.
31
32 The later games have an higher resolution (384x224 instead of 256x224)
33 but the hardware is pretty much the same. It's obvious that the higher
34 res is an afterthought, because the tilemap layout is weird (the left
35 8 screen columns have to be taken from the rightmost 8 columns of the
36 tilemap), and the games rely on mirror addresses to access the tilemap
37 sequentially.
38
39 TODO:
40 - Protection is patched in several games, it's the same chip as Macross/Task
41 Force Harrier so it can probably be emulated. I don't think it's an actual MCU,
42 just some type of state machine (Bryan).
43 - Input ports in Bio-ship Paladin, Strahl
44 - Sound communication in Mustang might be incorrectly implemented
45 - Several games use an unknown (custom?) CPU to drive sound and for protection.
46 In macross and gunnail it's easy to work around, the others are more complex.
47 In hachamf it seems that the two CPUs share some RAM (fe000-fefff), and the
48 main CPU fetches pointers from that shared RAM to do important operations
49 like reading the input ports. Some of them are easily deduced checking for
50 similarities in macross and bjtwin; however another protection check involves
51 (see the routine at 01429a) writing data to the fe100-fe1ff range, and then
52 jumping to subroutines in that range (most likely function pointers since
53 each one is only 0x10 bytes long), and heaven knows what those should do.
54 On startup, hachamf does a RAM test, then copies some stuff and jumps to
55 RAM at 0xfef00, where it sits in a loop. Maybe the RAM is shared with the
56 sound CPU, and used as a protection. We patch around that by replacing the
57 reset vector with the "real" one.
58 - Cocktail mode is supported, but tilemap.c has problems with asymmetrical
59 visible areas.
60 - Macross2 dip switches (the ones currently listed match macross)
61 - Macross2 background is wrong in level 2 at the end of the vertical scroll.
62 The tilemap layout is probably different from the one I used, the dimensions
63 should be correct but the page order is likely different.
64 - Music timing in nouryoku is a little off.
65 - DSW's in Tdragon2
66 - In Bioship, there's an occasional flicker of one of the sprites composing big
67 ships. Increasing CPU speed from 12 to 16 MHz improved it, but it's still not
68 100% fixed.
69
70 ----
71
72 IRQ1 controls audio output and coin/joysticks reads
73 IRQ4 controls DSW reads and vblank.
74 IRQ2 points to RTE (not used).
75
76 ----
77
78 mustang and hachamf test mode:
79
80 1) Press player 2 buttons 1+2 during reset. "Ready?" will appear
81 2) Press player 1 button 2 14 (!) times
82
83 gunnail test mode:
84
85 1) Press player 2 buttons 1+2 during reset. "Ready?" will appear
86 2) Press player 2 button 1 3 times
87
88 bjtwin test mode:
89
90 1) Press player 2 buttons 1+2 during reset. "Ready?" will appear
91 2) Press player 1 buttons in this sequence:
92 2,2,2, 1,1,1, 2,2,2, 1,1,1
93 The release date of this program will appear.
94
95 Some code has to be patched out for this to work (see below). The program
96 remaps button 2 and 3 to button 1, so you can't enter the above sequence.
97
98 ---
99
100 Questions / Notes
101 The 2nd cpu program roms .. anyone got any idea what cpu they run on
102 areas 0x0000 - 0x3fff in several of them look like they contain nothing
103 of value.. maybe this area wouldn't be accessable really and there is
104 ram there in that cpu's address space (shared with the main cpu ?)
105 .. maybe the roms are bitswapped like the gfx.. needs investigating
106 really..
107
108 'manybloc' :
109
110 - There are writes to 0x080010.w and 0x080012.w (MCU ?) in code between
111 0x005000 to 0x005690, but I see no call to "main" routine at 0x005504 !
112 - There are writes to 0x08001c.w and 0x08001e.w but I can't tell what
113 the effect is ! Could it be related to sound and/or interrupts ?
114
115 - In the "test mode", press BOTH player 1 buttons to exit
116
117 - When help is available, press BUTTON2 twice within the timer to "solve"
118
119 ---
120
121 Sound notes for games with a Z80:
122
123 mustangb and tdragonb use the Seibu Raiden sound hardware and a modified
124 Z80 program (but the music is intact and recognizable). See sndhrdw/seibu.c
125 for more info on this.
126
127 tharrier and manybloc share a sound board. manybloc has some weird/missing
128 sound effects and unknown writes at F600 and F700. Possibly these are some
129 sort of OKIM6295 bankswitch? But there's only 2 256k sample ROMs, and the
130 6295 can address 512k on it's own?
131
132 tharrier doesn't do the extra writes and doesn't appear to have any trouble.
133 If someone could fix the protection it'd be fully playable with sound and music...
134
135 ********************************************************************/
136
137 #include "driver.h"
138 #include "vidhrdw/generic.h"
139 #include "sndhrdw/seibu.h"
140
141 extern data16_t *nmk_bgvideoram,*nmk_fgvideoram,*nmk_txvideoram;
142 extern data16_t *gunnail_scrollram;
143
144 READ16_HANDLER( nmk_bgvideoram_r );
145 WRITE16_HANDLER( nmk_bgvideoram_w );
146 READ16_HANDLER( nmk_fgvideoram_r );
147 WRITE16_HANDLER( nmk_fgvideoram_w );
148 READ16_HANDLER( nmk_txvideoram_r );
149 WRITE16_HANDLER( nmk_txvideoram_w );
150 WRITE16_HANDLER( nmk_scroll_w );
151 WRITE16_HANDLER( nmk_scroll_2_w );
152 WRITE16_HANDLER( nmk_scroll_3_w );
153 WRITE16_HANDLER( gunnail_scrollx_w );
154 WRITE16_HANDLER( gunnail_scrolly_w );
155 WRITE16_HANDLER( nmk_flipscreen_w );
156 WRITE16_HANDLER( nmk_tilebank_w );
157 WRITE16_HANDLER( bioship_scroll_w );
158 WRITE16_HANDLER( bioship_bank_w );
159 WRITE16_HANDLER( mustang_scroll_w );
160 WRITE16_HANDLER( vandyke_scroll_w );
161
162 VIDEO_START( macross );
163 VIDEO_UPDATE( manybloc );
164 VIDEO_START( gunnail );
165 VIDEO_START( macross2 );
166 VIDEO_START( tdragon2 );
167 VIDEO_START( bjtwin );
168 VIDEO_START( bioship );
169 VIDEO_START( strahl );
170 VIDEO_UPDATE( bioship );
171 VIDEO_UPDATE( strahl );
172 VIDEO_UPDATE( macross );
173 VIDEO_UPDATE( gunnail );
174 VIDEO_UPDATE( bjtwin );
175 VIDEO_EOF( nmk );
176
177 static int respcount; // used with mcu function
178
MACHINE_INIT(nmk16)179 static MACHINE_INIT( nmk16 )
180 {
181 respcount = 0;
182 }
183
MACHINE_INIT(mustang_sound)184 static MACHINE_INIT( mustang_sound )
185 {
186 respcount = 0;
187 machine_init_seibu_sound_1();
188 }
189
WRITE16_HANDLER(ssmissin_sound_w)190 WRITE16_HANDLER ( ssmissin_sound_w )
191 {
192 /* maybe .. */
193 if (ACCESSING_LSB)
194 {
195 soundlatch_w(0,data & 0xff);
196 cpu_set_irq_line(1,0, ASSERT_LINE);
197 }
198
199 if (ACCESSING_MSB)
200 if ((data >> 8) & 0x80)
201 cpu_set_irq_line(1,0, CLEAR_LINE);
202 }
203
204
205
WRITE_HANDLER(ssmissin_soundbank_w)206 WRITE_HANDLER ( ssmissin_soundbank_w )
207 {
208 unsigned char *rom = memory_region(REGION_SOUND1);
209 int bank;
210
211 bank = data & 0x3;
212
213 memcpy(rom + 0x20000,rom + 0x80000 + bank * 0x20000,0x20000);
214 }
215
216
217 static data16_t *ram;
218
WRITE16_HANDLER(macross_mcu_w)219 static WRITE16_HANDLER( macross_mcu_w )
220 {
221 logerror("%04x: mcu_w %04x\n",activecpu_get_pc(),data);
222
223
224 /* since its starting to look more unlikely every day that we'll be
225 able to emulate the NMK004 sound cpu this provides some sound in
226 gunnail and macross, its entirely guesswork, sadly music can't be
227 simulated in a similar way :-( what is the NMK004 anyway, are
228 these really code roms we have, or does it have internal code of
229 its own, BioShip Paladin's 'Sound Program' Rom looks cleaner than
230 the others */
231
232
233 /* Note: this doesn't play correct samples, it plays drums and stuff.
234 That's not quite right so I'm leaving it disabled */
235 #if 0
236 if (!strcmp(Machine->gamedrv->name,"gunnail")) {
237 if (ACCESSING_LSB) {
238 if ((data & 0xff) == 0x00) { /* unknown */
239 /* ?? */
240 } else if ((data & 0xff) == 0xcc) { /* unknown */
241 /* ?? */
242 } else if ((data & 0xff) == 0xd0) { /* fire normal? */
243 OKIM6295_data_0_w(0, 0x80 | 0x01 );
244 OKIM6295_data_0_w(0, 0x00 | 0x10 );
245 } else if ((data & 0xff) == 0xd1) { /* fire purple? */
246 OKIM6295_data_0_w(0, 0x80 | 0x03 );
247 OKIM6295_data_0_w(0, 0x00 | 0x10 );
248 } else if ((data & 0xff) == 0xd2) { /* fire red? */
249 OKIM6295_data_0_w(0, 0x80 | 0x03 );
250 OKIM6295_data_0_w(0, 0x00 | 0x10 );
251 } else if ((data & 0xff) == 0xd3) { /* fire blue? */
252 OKIM6295_data_0_w(0, 0x80 | 0x03 );
253 OKIM6295_data_0_w(0, 0x00 | 0x10 );
254 } else if ((data & 0xff) == 0xd8) { /* explosion1? */
255 OKIM6295_data_0_w(0, 0x80 | 0x07 );
256 OKIM6295_data_0_w(0, 0x00 | 0x20 );
257 } else if ((data & 0xff) == 0xdb) { /* explosion2? */
258 OKIM6295_data_0_w(0, 0x80 | 0x08 );
259 OKIM6295_data_0_w(0, 0x00 | 0x20 );
260 } else if ((data & 0xff) == 0xe0) { /* coin? */
261 OKIM6295_data_0_w(0, 0x80 | 0x10 );
262 OKIM6295_data_0_w(0, 0x00 | 0x10 );
263 } else {
264 // usrintf_showmessage("%04x: mcu_w %04x\n",activecpu_get_pc(),data);
265 }
266 }
267 }
268
269
270 if (!strcmp(Machine->gamedrv->name,"macross")) {
271 if (ACCESSING_LSB) {
272 if ((data & 0xff) == 0xc4) { /* unknown */
273 /* ?? */
274 } else if ((data & 0xff) == 0xc5) { /* with bomb? */
275 /* ?? */
276 } else if ((data & 0xff) == 0xc6) { /* unknown */
277 /* ?? */
278 } else if ((data & 0xff) == 0xcc) { /* unknown */
279 /* ?? */
280 } else if ((data & 0xff) == 0xce) { /* green ememy die? */
281 OKIM6295_data_0_w(0, 0x80 | 0x0f );
282 OKIM6295_data_0_w(0, 0x00 | 0x40 );
283 } else if ((data & 0xff) == 0xd0) { /* coin */
284 OKIM6295_data_0_w(0, 0x80 | 0x01 );
285 OKIM6295_data_0_w(0, 0x00 | 0x10 );
286 } else if ((data & 0xff) == 0xd1) { /* shoot? */
287 OKIM6295_data_0_w(0, 0x80 | 0x03 );
288 OKIM6295_data_0_w(0, 0x00 | 0x20 );
289 } else if ((data & 0xff) == 0xdb) { /* explosion? */
290 OKIM6295_data_0_w(0, 0x80 | 0x10 );
291 OKIM6295_data_0_w(0, 0x00 | 0x40 );
292 } else if ((data & 0xff) == 0xdd) { /* player death? */
293 OKIM6295_data_0_w(0, 0x80 | 0x0e );
294 OKIM6295_data_0_w(0, 0x00 | 0x40 );
295 } else if ((data & 0xff) == 0xde) { /* bomb? */
296 OKIM6295_data_0_w(0, 0x80 | 0x0d );
297 OKIM6295_data_0_w(0, 0x00 | 0x40 );
298 } else if ((data & 0xff) == 0xdf) { /* some enemy fire? */
299 OKIM6295_data_0_w(0, 0x80 | 0x12 );
300 OKIM6295_data_0_w(0, 0x00 | 0x20 );
301 } else if ((data & 0xff) == 0xe5) { /* power up? */
302 OKIM6295_data_0_w(0, 0x80 | 0x16 );
303 OKIM6295_data_0_w(0, 0x00 | 0x80 );
304 } else {
305 // usrintf_showmessage("%04x: mcu_w %04x\n",activecpu_get_pc(),data);
306 }
307 }
308 }
309 #endif
310 }
311
312
READ16_HANDLER(macross_mcu_r)313 static READ16_HANDLER( macross_mcu_r )
314 {
315 static int resp[] = { 0x82, 0xc7, 0x00,
316 0x2c, 0x6c, 0x00,
317 0x9f, 0xc7, 0x00,
318 0x29, 0x69, 0x00,
319 0x8b, 0xc7, 0x00 };
320 int res;
321
322 if (activecpu_get_pc()==0x8aa) res = (ram[0x064/2])|0x20; /* Task Force Harrier */
323 else if (activecpu_get_pc()==0x8ce) res = (ram[0x064/2])|0x60; /* Task Force Harrier */
324 else if (activecpu_get_pc() == 0x0332 /* Macross */
325 || activecpu_get_pc() == 0x64f4) /* GunNail */
326 res = ram[0x0f6/2];
327 else
328 {
329 res = resp[respcount++];
330 if (respcount >= sizeof(resp)/sizeof(resp[0])) respcount = 0;
331 }
332
333 logerror("%04x: mcu_r %02x\n",activecpu_get_pc(),res);
334
335 return res;
336 }
337
READ16_HANDLER(urashima_mcu_r)338 static READ16_HANDLER( urashima_mcu_r )
339 {
340 static int resp[] = { 0x99, 0xd8, 0x00,
341 0x2a, 0x6a, 0x00,
342 0x9c, 0xd8, 0x00,
343 0x2f, 0x6f, 0x00,
344 0x22, 0x62, 0x00,
345 0x25, 0x65, 0x00 };
346 int res;
347
348 res = resp[respcount++];
349 if (respcount >= sizeof(resp)/sizeof(resp[0])) respcount = 0;
350
351 logerror("%04x: mcu_r %02x\n",activecpu_get_pc(),res);
352
353 return res;
354 }
355
WRITE16_HANDLER(tharrier_mcu_control_w)356 static WRITE16_HANDLER( tharrier_mcu_control_w )
357 {
358 // logerror("%04x: mcu_control_w %02x\n",activecpu_get_pc(),data);
359 }
360
READ16_HANDLER(tharrier_mcu_r)361 static READ16_HANDLER( tharrier_mcu_r )
362 {
363 /* The MCU is mapped as the top byte for byte accesses only,
364 all word accesses are to the input port */
365 if (ACCESSING_MSB && !ACCESSING_LSB)
366 return macross_mcu_r(offset,0)<<8;
367 else
368 return ~input_port_1_word_r(0,0);
369 }
370
WRITE16_HANDLER(macross2_sound_command_w)371 static WRITE16_HANDLER( macross2_sound_command_w )
372 {
373 if (ACCESSING_LSB)
374 soundlatch_w(0,data & 0xff);
375 }
376
READ16_HANDLER(macross2_sound_result_r)377 static READ16_HANDLER( macross2_sound_result_r )
378 {
379 return soundlatch2_r(0);
380 }
381
WRITE_HANDLER(macross2_sound_bank_w)382 static WRITE_HANDLER( macross2_sound_bank_w )
383 {
384 const UINT8 *rom = memory_region(REGION_CPU2) + 0x10000;
385
386 cpu_setbank(1,rom + (data & 0x07) * 0x4000);
387 }
388
WRITE_HANDLER(macross2_oki6295_bankswitch_w)389 static WRITE_HANDLER( macross2_oki6295_bankswitch_w )
390 {
391 /* The OKI6295 ROM space is divided in four banks, each one indepentently
392 controlled. The sample table at the beginning of the addressing space is
393 divided in four pages as well, banked together with the sample data. */
394 #define TABLESIZE 0x100
395 #define BANKSIZE 0x10000
396 int chip = (offset & 4) >> 2;
397 int banknum = offset & 3;
398 unsigned char *rom = memory_region(REGION_SOUND1 + chip);
399 int size = memory_region_length(REGION_SOUND1 + chip) - 0x40000;
400 int bankaddr = (data * BANKSIZE) & (size-1);
401
402 /* copy the samples */
403 memcpy(rom + banknum * BANKSIZE,rom + 0x40000 + bankaddr,BANKSIZE);
404
405 /* and also copy the samples address table */
406 rom += banknum * TABLESIZE;
407 memcpy(rom,rom + 0x40000 + bankaddr,TABLESIZE);
408 }
409
WRITE16_HANDLER(bjtwin_oki6295_bankswitch_w)410 static WRITE16_HANDLER( bjtwin_oki6295_bankswitch_w )
411 {
412 if (ACCESSING_LSB)
413 macross2_oki6295_bankswitch_w(offset,data & 0xff);
414 }
415
READ16_HANDLER(hachamf_protection_hack_r)416 static READ16_HANDLER( hachamf_protection_hack_r )
417 {
418 /* adresses for the input ports */
419 static int pap[] = { 0x0008, 0x0000, 0x0008, 0x0002, 0x0008, 0x0008 };
420
421 return pap[offset];
422 }
423
424 /***************************************************************************/
425
MEMORY_READ16_START(urashima_readmem)426 static MEMORY_READ16_START( urashima_readmem )
427 { 0x000000, 0x03ffff, MRA16_ROM },
428 { 0x080004, 0x080005, urashima_mcu_r },
429 { 0x09e000, 0x09e7ff, nmk_txvideoram_r },
430 { 0x0f0000, 0x0f7fff, MRA16_RAM },
431 { 0x0f8000, 0x0f8fff, MRA16_RAM },
432 { 0x0f9000, 0x0fffff, MRA16_RAM },
433 #if 0
434 { 0x080000, 0x080001, input_port_0_word_r },
435 { 0x080002, 0x080003, input_port_1_word_r },
436 { 0x080008, 0x080009, input_port_2_word_r },
437 { 0x08000a, 0x08000b, input_port_3_word_r },
438 { 0x088000, 0x0887ff, MRA16_RAM },
439 { 0x09e000, 0x0a1fff, nmk_bgvideoram_r },
440 #endif
441 MEMORY_END
442
443 static MEMORY_WRITE16_START( urashima_writemem )
444 { 0x000000, 0x03ffff, MWA16_ROM },
445 { 0x080014, 0x080015, macross_mcu_w },
446 { 0x09e000, 0x09e7ff, nmk_txvideoram_w, &nmk_txvideoram },
447 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
448 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
449 { 0x0f9000, 0x0fffff, MWA16_RAM, &ram }, /* Work RAM again */
450 #if 0
451 { 0x080014, 0x080015, nmk_flipscreen_w },
452 { 0x080016, 0x080017, MWA16_NOP }, /* IRQ enable? */
453 { 0x080018, 0x080019, nmk_tilebank_w },
454 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
455 { 0x08c000, 0x08c007, nmk_scroll_w },
456 { 0x09e000, 0x0a1fff, nmk_bgvideoram_w, &nmk_bgvideoram },
457 #endif
458 MEMORY_END
459
460
461 static MEMORY_READ16_START( vandyke_readmem )
462 { 0x000000, 0x03ffff, MRA16_ROM },
463 { 0x080000, 0x080001, input_port_0_word_r },
464 { 0x080002, 0x080003, input_port_1_word_r },
465 { 0x080008, 0x080009, input_port_2_word_r },
466 { 0x08000a, 0x08000b, input_port_3_word_r },
467 { 0x08000e, 0x08000f, macross_mcu_r },
468 { 0x088000, 0x0887ff, MRA16_RAM },
469 { 0x090000, 0x093fff, nmk_bgvideoram_r },
470 { 0x09d000, 0x09d7ff, nmk_txvideoram_r },
471 { 0x0f0000, 0x0f7fff, MRA16_RAM },
472 { 0x0f8000, 0x0f8fff, MRA16_RAM },
473 { 0x0f9000, 0x0fffff, MRA16_RAM },
474 MEMORY_END
475
476 static MEMORY_WRITE16_START( vandyke_writemem )
477 { 0x000000, 0x03ffff, MWA16_ROM },
478 { 0x080016, 0x080017, MWA16_NOP }, /* IRQ enable? */
479 { 0x080018, 0x080019, nmk_tilebank_w },
480 { 0x08001e, 0x08001f, macross_mcu_w },
481 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
482 { 0x08c000, 0x08c007, vandyke_scroll_w },
483 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
484 // { 0x094000, 0x097fff, MWA16_RAM }, /* what is this */
485 { 0x09d000, 0x09d7ff, nmk_txvideoram_w, &nmk_txvideoram },
486 { 0x0f0000, 0x0f7fff, MWA16_RAM },
487 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
488 { 0x0f9000, 0x0fffff, MWA16_RAM }, /* not tested in tests .. hardly used probably some registers not ram */
489 MEMORY_END
490
491 static READ16_HANDLER(logr)
492 {
493 //logerror("Read input port 1 %05x\n",activecpu_get_pc());
494 return ~input_port_0_word_r(0,0);
495 }
496
MEMORY_READ16_START(manybloc_readmem)497 static MEMORY_READ16_START( manybloc_readmem )
498 { 0x000000, 0x03ffff, MRA16_ROM },
499 { 0x080000, 0x080001, input_port_0_word_r },
500 { 0x080002, 0x080003, input_port_1_word_r },
501 { 0x080004, 0x080005, input_port_2_word_r },
502 { 0x08001e, 0x08001f, soundlatch2_word_r },
503 { 0x088000, 0x0883ff, MRA16_RAM },
504 { 0x090000, 0x093fff, nmk_bgvideoram_r },
505 { 0x09c000, 0x09cfff, MRA16_RAM }, /* Scroll? */
506 { 0x09d000, 0x09d7ff, nmk_txvideoram_r },
507 { 0x0f0000, 0x0f7fff, MRA16_RAM },
508 { 0x0f8000, 0x0f8fff, MRA16_RAM },
509 { 0x0f9000, 0x0fffff, MRA16_RAM },
510 MEMORY_END
511
512 static MEMORY_WRITE16_START( manybloc_writemem )
513 { 0x000000, 0x03ffff, MWA16_ROM },
514 { 0x080010, 0x080011, MWA16_NOP }, /* See notes at the top of the driver */
515 { 0x080012, 0x080013, MWA16_NOP }, /* See notes at the top of the driver */
516 { 0x080014, 0x080015, nmk_flipscreen_w },
517 { 0x08001c, 0x08001d, MWA16_NOP }, /* See notes at the top of the driver */
518 { 0x08001e, 0x08001f, soundlatch_word_w },
519 { 0x088000, 0x0883ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
520 { 0x08c000, 0x08c007, nmk_scroll_w },
521 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
522 { 0x09c000, 0x09cfff, MWA16_RAM }, /* Scroll? */
523 { 0x09d000, 0x09d7ff, nmk_txvideoram_w, &nmk_txvideoram },
524 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
525 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
526 { 0x0f9000, 0x0fffff, MWA16_RAM, &ram },
527 MEMORY_END
528
529 static MEMORY_READ_START( manybloc_sound_readmem )
530 { 0x0000, 0xbfff, MRA_ROM },
531 { 0xc000, 0xc7ff, MRA_RAM },
532 { 0xf000, 0xf000, soundlatch_r },
533 { 0xf400, 0xf400, OKIM6295_status_0_r },
534 { 0xf500, 0xf500, OKIM6295_status_1_r },
535 MEMORY_END
536
537 static MEMORY_WRITE_START( manybloc_sound_writemem)
538 { 0x0000, 0xbfff, MWA_ROM },
539 { 0xc000, 0xc7ff, MWA_RAM },
540 { 0xf000, 0xf000, soundlatch2_w },
541 { 0xf400, 0xf400, OKIM6295_data_0_w },
542 { 0xf500, 0xf500, OKIM6295_data_1_w },
543 { 0xf600, 0xf600, MWA_NOP },
544 { 0xf700, 0xf700, MWA_NOP },
545 MEMORY_END
546
547 static PORT_READ_START( manybloc_sound_readport )
548 { 0x00, 0x00, YM2203_status_port_0_r },
549 { 0x01, 0x01, YM2203_read_port_0_r },
550 PORT_END
551
552 static PORT_WRITE_START( manybloc_sound_writeport )
553 { 0x00, 0x00, YM2203_control_port_0_w },
554 { 0x01, 0x01, YM2203_write_port_0_w },
555 PORT_END
556
557 static MEMORY_READ16_START( tharrier_readmem )
558 { 0x000000, 0x03ffff, MRA16_ROM },
559 { 0x080000, 0x080001, logr },//input_port_0_word_r },
560 { 0x080002, 0x080003, tharrier_mcu_r }, //input_port_1_word_r },
561 // { 0x080004, 0x080005, input_port_2_word_r },
562 { 0x08000e, 0x08000f, soundlatch2_word_r }, /* from Z80 */
563 { 0x088000, 0x0883ff, MRA16_RAM },
564 { 0x090000, 0x093fff, nmk_bgvideoram_r },
565 { 0x09d000, 0x09d7ff, nmk_txvideoram_r },
566 { 0x0f0000, 0x0f7fff, MRA16_RAM },
567 { 0x0f8000, 0x0f8fff, MRA16_RAM },
568 { 0x0f9000, 0x0fffff, MRA16_RAM },
569 MEMORY_END
570
571 static MEMORY_WRITE16_START( tharrier_writemem )
572 { 0x000000, 0x03ffff, MWA16_ROM },
573 { 0x080010, 0x080011, tharrier_mcu_control_w },
574 { 0x080012, 0x080013, macross_mcu_w },
575 // { 0x080014, 0x080015, nmk_flipscreen_w },
576 // { 0x080018, 0x080019, nmk_tilebank_w },
577 { 0x08001e, 0x08001f, soundlatch_word_w },
578 { 0x088000, 0x0883ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
579 { 0x08c000, 0x08c007, nmk_scroll_w },
580 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
581 { 0x09c000, 0x09c7ff, MWA16_NOP }, /* Unused txvideoram area? */
582 { 0x09d000, 0x09d7ff, nmk_txvideoram_w, &nmk_txvideoram },
583 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
584 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
585 { 0x0f9000, 0x0fffff, MWA16_RAM, &ram }, /* Work RAM again (fe000-fefff is shared with the sound CPU) */
586 MEMORY_END
587
588 //Read input port 1 030c8/ BAD
589 //3478 GOOD
590
591 static MEMORY_READ16_START( mustang_readmem )
592 { 0x000000, 0x03ffff, MRA16_ROM },
593 { 0x080000, 0x080001, input_port_0_word_r },
594 { 0x080002, 0x080003, input_port_1_word_r },
595 { 0x080004, 0x080005, input_port_2_word_r },
596 { 0x08000e, 0x08000f, macross_mcu_r },
597 // { 0x08000e, 0x08000f, soundlatch2_word_r }, /* from Z80 bootleg only? */
598 { 0x088000, 0x0887ff, MRA16_RAM },
599 { 0x090000, 0x093fff, nmk_bgvideoram_r },
600 { 0x09c000, 0x09c7ff, nmk_txvideoram_r },
601 { 0x0f0000, 0x0f7fff, MRA16_RAM },
602 { 0x0f8000, 0x0f8fff, MRA16_RAM },
603 { 0x0f9000, 0x0fffff, MRA16_RAM },
604 MEMORY_END
605
606 static MEMORY_WRITE16_START( mustang_writemem )
607 { 0x000000, 0x03ffff, MWA16_ROM },
608 { 0x08000e, 0x08000f, macross_mcu_w },
609 { 0x080014, 0x080015, nmk_flipscreen_w },
610 { 0x080016, 0x080017, MWA16_NOP }, // frame number?
611 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
612 { 0x08c000, 0x08c007, mustang_scroll_w },
613 //{ 0x08c000, 0x08c001, MWA16_NOP },
614 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
615 { 0x09c000, 0x09c7ff, nmk_txvideoram_w, &nmk_txvideoram },
616 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
617 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
618 { 0x0f9000, 0x0fffff, MWA16_RAM, &ram }, /* Work RAM */
619 MEMORY_END
620
621 static MEMORY_WRITE16_START( mustangb_writemem )
622 { 0x000000, 0x03ffff, MWA16_ROM },
623 { 0x080014, 0x080015, nmk_flipscreen_w },
624 { 0x080016, 0x080017, MWA16_NOP }, // frame number?
625 { 0x08001e, 0x08001f, seibu_main_mustb_w },
626 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
627 { 0x08c000, 0x08c007, mustang_scroll_w },
628 //{ 0x08c000, 0x08c001, MWA16_NOP },
629 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
630 { 0x09c000, 0x09c7ff, nmk_txvideoram_w, &nmk_txvideoram },
631 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
632 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
633 { 0x0f9000, 0x0fffff, MWA16_RAM, &ram }, /* Work RAM */
634 MEMORY_END
635
636 static MEMORY_READ16_START( acrobatm_readmem )
637 { 0x00000, 0x3ffff, MRA16_ROM },
638 { 0x80000, 0x8ffff, MRA16_RAM },
639 { 0xc0000, 0xc0001, input_port_0_word_r },
640 { 0xc0002, 0xc0003, input_port_1_word_r },
641 { 0xc0008, 0xc0009, input_port_2_word_r },
642 { 0xc000a, 0xc000b, input_port_3_word_r },
643 { 0xc4000, 0xc45ff, MRA16_RAM },
644 { 0xcc000, 0xcffff, nmk_bgvideoram_r },
645 { 0xd4000, 0xd47ff, nmk_txvideoram_r },
646 MEMORY_END
647
648 static MEMORY_WRITE16_START( acrobatm_writemem )
649 { 0x00000, 0x3ffff, MWA16_ROM },
650 { 0x88000, 0x88fff, MWA16_RAM, &spriteram16, &spriteram_size },
651 { 0x80000, 0x8ffff, MWA16_RAM },
652 { 0xc0014, 0xc0015, nmk_flipscreen_w },
653 { 0xc4000, 0xc45ff, paletteram16_RRRRGGGGBBBBxxxx_word_w, &paletteram16 },
654 { 0xc8000, 0xc8007, nmk_scroll_w },
655 { 0xcc000, 0xcffff, nmk_bgvideoram_w, &nmk_bgvideoram },
656 { 0xd4000, 0xd47ff, nmk_txvideoram_w, &nmk_txvideoram },
657 MEMORY_END
658
659 static MEMORY_READ16_START( hachamf_readmem )
660 { 0x000000, 0x03ffff, MRA16_ROM },
661 { 0x080000, 0x080001, input_port_0_word_r },
662 { 0x080002, 0x080003, input_port_1_word_r },
663 { 0x080008, 0x080009, input_port_2_word_r },
664 { 0x088000, 0x0887ff, MRA16_RAM },
665 { 0x090000, 0x093fff, nmk_bgvideoram_r },
666 { 0x09c000, 0x09c7ff, nmk_txvideoram_r },
667 { 0x0f0000, 0x0f7fff, MRA16_RAM },
668 { 0x0f8000, 0x0f8fff, MRA16_RAM },
669 { 0x0fe000, 0x0fe00b, hachamf_protection_hack_r },
670 { 0x0f9000, 0x0fffff, MRA16_RAM },
671 MEMORY_END
672
673 static MEMORY_WRITE16_START( hachamf_writemem )
674 { 0x000000, 0x03ffff, MWA16_ROM },
675 { 0x080014, 0x080015, nmk_flipscreen_w },
676 { 0x080018, 0x080019, nmk_tilebank_w },
677 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
678 { 0x08c000, 0x08c007, nmk_scroll_w },
679 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
680 { 0x09c000, 0x09c7ff, nmk_txvideoram_w, &nmk_txvideoram },
681 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
682 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
683 { 0x0f9000, 0x0fffff, MWA16_RAM }, /* Work RAM again (fe000-fefff is shared with the sound CPU) */
684 MEMORY_END
685
686 static MEMORY_READ16_START( bioship_readmem )
687 { 0x000000, 0x03ffff, MRA16_ROM },
688 { 0x080000, 0x080001, input_port_0_word_r },
689 { 0x080002, 0x080003, input_port_1_word_r },
690 { 0x080008, 0x080009, input_port_2_word_r },
691 { 0x08000a, 0x08000b, input_port_3_word_r },
692 { 0x088000, 0x0887ff, MRA16_RAM },
693 { 0x090000, 0x093fff, nmk_bgvideoram_r },
694 { 0x09c000, 0x09c7ff, nmk_txvideoram_r },
695 { 0x0f0000, 0x0f7fff, MRA16_RAM },
696 { 0x0f8000, 0x0f8fff, MRA16_RAM },
697 { 0x0f9000, 0x0fffff, MRA16_RAM },
698 MEMORY_END
699
700 static MEMORY_WRITE16_START( bioship_writemem )
701 { 0x000000, 0x03ffff, MWA16_ROM },
702 // { 0x080014, 0x080015, nmk_flipscreen_w },
703 { 0x084000, 0x084001, bioship_bank_w },
704 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
705 { 0x08c000, 0x08c007, mustang_scroll_w },
706 { 0x08c010, 0x08c017, bioship_scroll_w },
707 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
708 { 0x09c000, 0x09c7ff, nmk_txvideoram_w, &nmk_txvideoram },
709 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
710 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
711 { 0x0f9000, 0x0fffff, MWA16_RAM }, /* Work RAM again (fe000-fefff is shared with the sound CPU) */
712 MEMORY_END
713
714 static MEMORY_READ16_START( tdragon_readmem )
715 { 0x000000, 0x03ffff, MRA16_ROM },
716 { 0x044022, 0x044023, MRA16_NOP }, /* No Idea */
717 { 0x0b0000, 0x0b7fff, MRA16_RAM }, /* Work RAM */
718 { 0x0b8000, 0x0b8fff, MRA16_RAM }, /* Sprite RAM */
719 { 0x0b9000, 0x0bffff, MRA16_RAM }, /* Work RAM */
720 { 0x0c8000, 0x0c87ff, MRA16_RAM }, /* Palette RAM */
721 { 0x0c0000, 0x0c0001, input_port_0_word_r },
722 { 0x0c0002, 0x0c0003, input_port_1_word_r },
723 { 0x0c0008, 0x0c0009, input_port_2_word_r },
724 { 0x0c000a, 0x0c000b, input_port_3_word_r },
725 { 0x0cc000, 0x0cffff, nmk_bgvideoram_r },
726 { 0x0d0000, 0x0d07ff, nmk_txvideoram_r },
727 MEMORY_END
728
729 static MEMORY_WRITE16_START( tdragon_writemem )
730 { 0x000000, 0x03ffff, MWA16_ROM },
731 { 0x0b0000, 0x0b7fff, MWA16_RAM }, /* Work RAM */
732 { 0x0b8000, 0x0b8fff, MWA16_RAM, &spriteram16, &spriteram_size }, /* Sprite RAM */
733 { 0x0b9000, 0x0bffff, MWA16_RAM }, /* Work RAM */
734 { 0x0c0014, 0x0c0015, nmk_flipscreen_w }, /* Maybe */
735 { 0x0c0018, 0x0c0019, nmk_tilebank_w }, /* Tile Bank ? */
736 { 0x0c001e, 0x0c001f, MWA16_NOP },
737 { 0x0c4000, 0x0c4007, nmk_scroll_w },
738 { 0x0c8000, 0x0c87ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
739 { 0x0cc000, 0x0cffff, nmk_bgvideoram_w, &nmk_bgvideoram },
740 { 0x0d0000, 0x0d07ff, nmk_txvideoram_w, &nmk_txvideoram },
741 MEMORY_END
742
743 static MEMORY_WRITE16_START( tdragonb_writemem )
744 { 0x000000, 0x03ffff, MWA16_ROM },
745 { 0x0b0000, 0x0b7fff, MWA16_RAM }, /* Work RAM */
746 { 0x0b8000, 0x0b8fff, MWA16_RAM, &spriteram16, &spriteram_size }, /* Sprite RAM */
747 { 0x0b9000, 0x0bffff, MWA16_RAM }, /* Work RAM */
748 { 0x0c0014, 0x0c0015, nmk_flipscreen_w }, /* Maybe */
749 { 0x0c0018, 0x0c0019, nmk_tilebank_w }, /* Tile Bank ? */
750 { 0x0c001e, 0x0c001f, seibu_main_mustb_w },
751 { 0x0c4000, 0x0c4007, nmk_scroll_w },
752 { 0x0c8000, 0x0c87ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
753 { 0x0cc000, 0x0cffff, nmk_bgvideoram_w, &nmk_bgvideoram },
754 { 0x0d0000, 0x0d07ff, nmk_txvideoram_w, &nmk_txvideoram },
755 MEMORY_END
756
757 static MEMORY_READ16_START( ssmissin_readmem )
758 { 0x000000, 0x03ffff, MRA16_ROM },
759 { 0x0b0000, 0x0b7fff, MRA16_RAM }, /* Work RAM */
760 { 0x0b8000, 0x0b8fff, MRA16_RAM }, /* Sprite RAM */
761 { 0x0b9000, 0x0bffff, MRA16_RAM }, /* Work RAM */
762 { 0x0c8000, 0x0c87ff, MRA16_RAM }, /* Palette RAM */
763 { 0x0c0000, 0x0c0001, input_port_0_word_r },
764 { 0x0c0004, 0x0c0005, input_port_1_word_r },
765 { 0x0c0006, 0x0c0007, input_port_2_word_r },
766 // { 0x0c000e, 0x0c000f, ?? },
767 { 0x0cc000, 0x0cffff, nmk_bgvideoram_r },
768 { 0x0d0000, 0x0d07ff, nmk_txvideoram_r },
769 MEMORY_END
770
771 static MEMORY_WRITE16_START( ssmissin_writemem )
772 { 0x000000, 0x03ffff, MWA16_ROM },
773 { 0x0b0000, 0x0b7fff, MWA16_RAM }, /* Work RAM */
774 { 0x0b8000, 0x0b8fff, MWA16_RAM, &spriteram16, &spriteram_size }, /* Sprite RAM */
775 { 0x0b9000, 0x0bffff, MWA16_RAM }, /* Work RAM */
776 { 0x0c0014, 0x0c0015, nmk_flipscreen_w }, /* Maybe */
777 { 0x0c0018, 0x0c0019, nmk_tilebank_w }, /* Tile Bank ? */
778 { 0x0c001e, 0x0c001f, ssmissin_sound_w },
779 { 0x0c4000, 0x0c4007, nmk_scroll_w },
780 { 0x0c8000, 0x0c87ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
781 { 0x0cc000, 0x0cffff, nmk_bgvideoram_w, &nmk_bgvideoram },
782 { 0x0d0000, 0x0d07ff, nmk_txvideoram_w, &nmk_txvideoram },
783 MEMORY_END
784
785
786
787 static MEMORY_READ_START( ssmissin_sound_readmem )
788 { 0x0000, 0x7fff, MRA_ROM },
789 { 0x8000, 0x87ff, MRA_RAM },
790 { 0x9800, 0x9800, OKIM6295_status_0_r },
791 { 0xa000, 0xa000, soundlatch_r },
792 MEMORY_END
793
794 static MEMORY_WRITE_START( ssmissin_sound_writemem )
795 { 0x0000, 0x7fff, MWA_ROM },
796 { 0x8000, 0x87ff, MWA_RAM },
797 { 0x9000, 0x9000, ssmissin_soundbank_w },
798 { 0x9800, 0x9800, OKIM6295_data_0_w },
799 MEMORY_END
800
801
802 static MEMORY_READ16_START( strahl_readmem )
803 { 0x00000, 0x3ffff, MRA16_ROM },
804 { 0x80000, 0x80001, input_port_0_word_r },
805 { 0x80002, 0x80003, input_port_1_word_r },
806 { 0x80008, 0x80009, input_port_2_word_r },
807 { 0x8000a, 0x8000b, input_port_3_word_r },
808 { 0x8c000, 0x8c7ff, MRA16_RAM },
809 { 0x90000, 0x93fff, nmk_bgvideoram_r },
810 { 0x94000, 0x97fff, nmk_fgvideoram_r },
811 { 0x9c000, 0x9c7ff, nmk_txvideoram_r },
812 { 0xf0000, 0xf7fff, MRA16_RAM },
813 { 0xf8000, 0xfefff, MRA16_RAM },
814 { 0xff000, 0xfffff, MRA16_RAM },
815 MEMORY_END
816
817 static MEMORY_WRITE16_START( strahl_writemem )
818 { 0x00000, 0x3ffff, MWA16_ROM },
819 { 0x80014, 0x80015, nmk_flipscreen_w },
820 { 0x8001e, 0x8001f, MWA16_NOP }, /* -> Sound cpu */
821 { 0x84000, 0x84007, nmk_scroll_w },
822 { 0x88000, 0x88007, nmk_scroll_2_w },
823 { 0x8c000, 0x8c7ff, paletteram16_RRRRGGGGBBBBxxxx_word_w, &paletteram16 },
824 { 0x90000, 0x93fff, nmk_bgvideoram_w, &nmk_bgvideoram },
825 { 0x94000, 0x97fff, nmk_fgvideoram_w, &nmk_fgvideoram },
826 { 0x9c000, 0x9c7ff, nmk_txvideoram_w, &nmk_txvideoram },
827 { 0xf0000, 0xf7fff, MWA16_RAM }, /* Work RAM */
828 { 0xf8000, 0xfefff, MWA16_RAM, &ram }, /* Work RAM again */
829 { 0xff000, 0xfffff, MWA16_RAM, &spriteram16, &spriteram_size },
830 MEMORY_END
831
832 static MEMORY_READ16_START( macross_readmem )
833 { 0x000000, 0x07ffff, MRA16_ROM },
834 { 0x080000, 0x080001, input_port_0_word_r },
835 { 0x080002, 0x080003, input_port_1_word_r },
836 { 0x080008, 0x080009, input_port_2_word_r },
837 { 0x08000a, 0x08000b, input_port_3_word_r },
838 { 0x08000e, 0x08000f, macross_mcu_r },
839 { 0x088000, 0x0887ff, MRA16_RAM },
840 { 0x090000, 0x093fff, nmk_bgvideoram_r },
841 { 0x09c000, 0x09c7ff, nmk_txvideoram_r },
842 { 0x0f0000, 0x0f7fff, MRA16_RAM },
843 { 0x0f8000, 0x0f8fff, MRA16_RAM },
844 { 0x0f9000, 0x0fffff, MRA16_RAM },
845 MEMORY_END
846
847 static MEMORY_WRITE16_START( macross_writemem )
848 { 0x000000, 0x07ffff, MWA16_ROM },
849 { 0x080014, 0x080015, nmk_flipscreen_w },
850 { 0x080016, 0x080017, MWA16_NOP }, /* IRQ enable? */
851 { 0x080018, 0x080019, nmk_tilebank_w },
852 { 0x08001e, 0x08001f, macross_mcu_w },
853 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
854 { 0x08c000, 0x08c007, nmk_scroll_w },
855 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
856 { 0x09c000, 0x09c7ff, nmk_txvideoram_w, &nmk_txvideoram },
857 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
858 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
859 { 0x0f9000, 0x0fffff, MWA16_RAM, &ram }, /* Work RAM again */
860 MEMORY_END
861
862 static MEMORY_READ16_START( gunnail_readmem )
863 { 0x000000, 0x07ffff, MRA16_ROM },
864 { 0x080000, 0x080001, input_port_0_word_r },
865 { 0x080002, 0x080003, input_port_1_word_r },
866 { 0x080008, 0x080009, input_port_2_word_r },
867 { 0x08000a, 0x08000b, input_port_3_word_r },
868 { 0x08000e, 0x08000f, macross_mcu_r },
869 { 0x088000, 0x0887ff, MRA16_RAM }, /* palette ram */
870 { 0x090000, 0x093fff, nmk_bgvideoram_r },
871 { 0x09c000, 0x09cfff, nmk_txvideoram_r },
872 { 0x09d000, 0x09dfff, nmk_txvideoram_r }, /* mirror */
873 { 0x0f0000, 0x0f7fff, MRA16_RAM },
874 { 0x0f8000, 0x0f8fff, MRA16_RAM },
875 { 0x0f9000, 0x0fffff, MRA16_RAM },
876 MEMORY_END
877
878 static MEMORY_WRITE16_START( gunnail_writemem )
879 { 0x000000, 0x07ffff, MWA16_ROM },
880 { 0x08001e, 0x08001f, macross_mcu_w },
881 { 0x080014, 0x080015, nmk_flipscreen_w },
882 { 0x080016, 0x080017, MWA16_NOP }, /* IRQ enable? */
883 { 0x080018, 0x080019, nmk_tilebank_w },
884 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
885 { 0x08c000, 0x08c1ff, gunnail_scrollx_w, &gunnail_scrollram },
886 { 0x08c200, 0x08c201, gunnail_scrolly_w },
887 // { 0x08c202, 0x08c7ff, MWA16_RAM }, // unknown
888 { 0x090000, 0x093fff, nmk_bgvideoram_w, &nmk_bgvideoram },
889 { 0x09c000, 0x09cfff, nmk_txvideoram_w, &nmk_txvideoram },
890 { 0x09d000, 0x09dfff, nmk_txvideoram_w }, /* mirror */
891 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
892 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
893 { 0x0f9000, 0x0fffff, MWA16_RAM, &ram }, /* Work RAM again */
894 MEMORY_END
895
896 static MEMORY_READ16_START( macross2_readmem )
897 { 0x000000, 0x07ffff, MRA16_ROM },
898 { 0x100000, 0x100001, input_port_0_word_r },
899 { 0x100002, 0x100003, input_port_1_word_r },
900 { 0x100008, 0x100009, input_port_2_word_r },
901 { 0x10000a, 0x10000b, input_port_3_word_r },
902 { 0x10000e, 0x10000f, macross2_sound_result_r }, /* from Z80 */
903 { 0x120000, 0x1207ff, MRA16_RAM },
904 { 0x140000, 0x14ffff, nmk_bgvideoram_r },
905 { 0x170000, 0x170fff, nmk_txvideoram_r },
906 { 0x171000, 0x171fff, nmk_txvideoram_r }, /* mirror */
907 { 0x1f0000, 0x1f7fff, MRA16_RAM },
908 { 0x1f8000, 0x1f8fff, MRA16_RAM },
909 { 0x1f9000, 0x1fffff, MRA16_RAM },
910 MEMORY_END
911
912 static MEMORY_WRITE16_START( macross2_writemem )
913 { 0x000000, 0x07ffff, MWA16_ROM },
914 { 0x100014, 0x100015, nmk_flipscreen_w },
915 { 0x100016, 0x100017, MWA16_NOP }, /* IRQ eanble? */
916 { 0x100018, 0x100019, nmk_tilebank_w },
917 { 0x10001e, 0x10001f, macross2_sound_command_w }, /* to Z80 */
918 { 0x120000, 0x1207ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
919 { 0x130000, 0x130007, nmk_scroll_w },
920 { 0x130008, 0x1307ff, MWA16_NOP }, /* 0 only? */
921 { 0x140000, 0x14ffff, nmk_bgvideoram_w, &nmk_bgvideoram },
922 { 0x170000, 0x170fff, nmk_txvideoram_w, &nmk_txvideoram },
923 { 0x171000, 0x171fff, nmk_txvideoram_w }, /* mirror */
924 { 0x1f0000, 0x1f7fff, MWA16_RAM }, /* Work RAM */
925 { 0x1f8000, 0x1f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
926 { 0x1f9000, 0x1fffff, MWA16_RAM, &ram }, /* Work RAM again */
927 MEMORY_END
928
929 static MEMORY_WRITE16_START( raphero_writemem )
930 { 0x000000, 0x07ffff, MWA16_ROM },
931 { 0x100014, 0x100015, nmk_flipscreen_w },
932 { 0x100016, 0x100017, MWA16_NOP }, /* IRQ eanble? */
933 { 0x100018, 0x100019, nmk_tilebank_w },
934 { 0x10001e, 0x10001f, macross2_sound_command_w }, /* to Z80 */
935 { 0x120000, 0x1207ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
936 { 0x130000, 0x1307ff, nmk_scroll_3_w, &gunnail_scrollram },
937 // { 0x130010, 0x1307ff, MWA16_RAM }, /* 0 only? */
938 { 0x140000, 0x14ffff, nmk_bgvideoram_w, &nmk_bgvideoram },
939 { 0x170000, 0x170fff, nmk_txvideoram_w, &nmk_txvideoram },
940 { 0x171000, 0x171fff, nmk_txvideoram_w }, /* mirror */
941 { 0x1f0000, 0x1f7fff, MWA16_RAM }, /* Work RAM */
942 { 0x1f8000, 0x1f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
943 { 0x1f9000, 0x1fffff, MWA16_RAM, &ram }, /* Work RAM again */
944 MEMORY_END
945
946 static MEMORY_READ_START( macross2_sound_readmem )
947 { 0x0000, 0x7fff, MRA_ROM },
948 { 0x8000, 0xbfff, MRA_BANK1 }, /* banked ROM */
949 { 0xa000, 0xa000, MRA_NOP }, /* IRQ ack? watchdog? */
950 { 0xc000, 0xdfff, MRA_RAM },
951 { 0xf000, 0xf000, soundlatch_r }, /* from 68000 */
952 MEMORY_END
953
954 static MEMORY_WRITE_START( macross2_sound_writemem )
955 { 0x0000, 0xbfff, MWA_ROM },
956 { 0xc000, 0xdfff, MWA_RAM },
957 { 0xe001, 0xe001, macross2_sound_bank_w },
958 { 0xf000, 0xf000, soundlatch2_w }, /* to 68000 */
959 MEMORY_END
960
961 static PORT_READ_START( macross2_sound_readport )
962 { 0x00, 0x00, YM2203_status_port_0_r },
963 { 0x01, 0x01, YM2203_read_port_0_r },
964 { 0x80, 0x80, OKIM6295_status_0_r },
965 { 0x88, 0x88, OKIM6295_status_1_r },
966 PORT_END
967
968 static PORT_WRITE_START( macross2_sound_writeport )
969 { 0x00, 0x00, YM2203_control_port_0_w },
970 { 0x01, 0x01, YM2203_write_port_0_w },
971 { 0x80, 0x80, OKIM6295_data_0_w },
972 { 0x88, 0x88, OKIM6295_data_1_w },
973 { 0x90, 0x97, macross2_oki6295_bankswitch_w },
974 PORT_END
975
976 static MEMORY_READ16_START( bjtwin_readmem )
977 { 0x000000, 0x07ffff, MRA16_ROM },
978 { 0x080000, 0x080001, input_port_0_word_r },
979 { 0x080002, 0x080003, input_port_1_word_r },
980 { 0x080008, 0x080009, input_port_2_word_r },
981 { 0x08000a, 0x08000b, input_port_3_word_r },
982 { 0x084000, 0x084001, OKIM6295_status_0_lsb_r },
983 { 0x084010, 0x084011, OKIM6295_status_1_lsb_r },
984 { 0x088000, 0x0887ff, MRA16_RAM },
985 { 0x09c000, 0x09cfff, nmk_bgvideoram_r },
986 { 0x09d000, 0x09dfff, nmk_bgvideoram_r }, /* mirror */
987 { 0x0f0000, 0x0f7fff, MRA16_RAM },
988 { 0x0f8000, 0x0f8fff, MRA16_RAM },
989 { 0x0f9000, 0x0fffff, MRA16_RAM },
990 MEMORY_END
991
992 static MEMORY_WRITE16_START( bjtwin_writemem )
993 { 0x000000, 0x07ffff, MWA16_ROM },
994 { 0x080014, 0x080015, nmk_flipscreen_w },
995 { 0x084000, 0x084001, OKIM6295_data_0_lsb_w },
996 { 0x084010, 0x084011, OKIM6295_data_1_lsb_w },
997 { 0x084020, 0x08402f, bjtwin_oki6295_bankswitch_w },
998 { 0x088000, 0x0887ff, paletteram16_RRRRGGGGBBBBRGBx_word_w, &paletteram16 },
999 { 0x094000, 0x094001, nmk_tilebank_w },
1000 { 0x094002, 0x094003, MWA16_NOP }, /* IRQ enable? */
1001 { 0x09c000, 0x09cfff, nmk_bgvideoram_w, &nmk_bgvideoram },
1002 { 0x09d000, 0x09dfff, nmk_bgvideoram_w }, /* mirror */
1003 { 0x0f0000, 0x0f7fff, MWA16_RAM }, /* Work RAM */
1004 { 0x0f8000, 0x0f8fff, MWA16_RAM, &spriteram16, &spriteram_size },
1005 { 0x0f9000, 0x0fffff, MWA16_RAM }, /* Work RAM again */
1006 MEMORY_END
1007
1008
1009 INPUT_PORTS_START( vandyke )
1010 PORT_START /* IN0 */
1011 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1012 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1013 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1014 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1015 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1016 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1017 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1018 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1019
1020 PORT_START /* IN1 */
1021 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1022 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1023 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1024 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1025 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1026 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1027 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1028 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1029 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1030 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1031 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1032 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1033 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1034 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1035 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1036 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1037
1038 PORT_START /* DSW 1 */
1039 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
1040 PORT_DIPSETTING( 0x00, "2" )
1041 PORT_DIPSETTING( 0x01, "3" )
1042 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
1043 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
1044 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1045 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
1046 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
1047 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1048 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Service_Mode ) )
1049 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
1050 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1051 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1052 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
1053 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1054 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1055 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
1056 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1057 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1058 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
1059 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1060 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1061 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
1062 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1063
1064 PORT_START /* DSW 2 */
1065 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
1066 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
1067 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1068 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
1069 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
1070 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1071 PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
1072 PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
1073 PORT_DIPSETTING( 0x10, DEF_STR( 4C_1C ) )
1074 PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
1075 PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
1076 PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
1077 PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
1078 PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
1079 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
1080 PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
1081 PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
1082 PORT_DIPSETTING( 0x80, DEF_STR( 4C_1C ) )
1083 PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
1084 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
1085 PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
1086 PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
1087 PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
1088 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
1089 INPUT_PORTS_END
1090
1091 INPUT_PORTS_START( blkheart )
1092 PORT_START /* IN0 */
1093 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1094 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1095 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1096 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1097 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1098 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1099 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1100 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1101
1102 PORT_START /* IN1 */
1103 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1104 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1105 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1106 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1107 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1108 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1109 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1110 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1111 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1112 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1113 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1114 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1115 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1116 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1117 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1118 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1119
1120 PORT_START /* DSW 1 */
1121 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
1122 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
1123 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1124 PORT_SERVICE( 0x02, IP_ACTIVE_LOW )
1125 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Difficulty ) )
1126 PORT_DIPSETTING( 0x04, "Normal" )
1127 PORT_DIPSETTING( 0x00, "Hard" )
1128 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
1129 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
1130 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1131 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
1132 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
1133 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1134 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
1135 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
1136 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1137 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
1138 PORT_DIPSETTING( 0x40, "2" )
1139 PORT_DIPSETTING( 0xc0, "3" )
1140 PORT_DIPSETTING( 0x80, "4" )
1141 PORT_DIPSETTING( 0x00, "5" )
1142
1143 PORT_START /* DSW 2 */
1144 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
1145 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
1146 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1147 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
1148 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
1149 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1150 PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
1151 PORT_DIPSETTING( 0x10, DEF_STR( 4C_1C ) )
1152 PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
1153 PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
1154 PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
1155 PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
1156 PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
1157 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
1158 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
1159 PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
1160 PORT_DIPSETTING( 0x80, DEF_STR( 4C_1C ) )
1161 PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
1162 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
1163 PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
1164 PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
1165 PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
1166 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
1167 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
1168 INPUT_PORTS_END
1169
1170 INPUT_PORTS_START( manybloc )
1171 PORT_START /* IN0 - 0x080000 */
1172 PORT_BIT( 0x7fff, IP_ACTIVE_HIGH, IPT_UNUSED )
1173 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // VBLANK ? Check code at 0x005640
1174
1175 PORT_START /* IN1 - 0x080002 */
1176 PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_START1 )
1177 PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER1 ) // select fruits
1178 PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER1 ) // help
1179 PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
1180 PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY )
1181 PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY )
1182 PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY )
1183 PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_COIN1 )
1184 PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_START2 )
1185 PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2 ) // select fruits
1186 PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2 ) // help
1187 PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
1188 PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
1189 PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
1190 PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
1191 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN2 )
1192
1193 PORT_START /* DSW - 0x080004 -> 0x0f0036 */
1194 PORT_DIPNAME( 0x0001, 0x0000, "Slot System" )
1195 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
1196 PORT_DIPSETTING( 0x0001, DEF_STR( On ) )
1197 PORT_DIPNAME( 0x0002, 0x0000, "Explanation" )
1198 PORT_DIPSETTING( 0x0000, "English" )
1199 PORT_DIPSETTING( 0x0002, "Japanese" )
1200 PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Demo_Sounds ) )
1201 PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
1202 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1203 PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Cabinet ) ) // "Play Type"
1204 PORT_DIPSETTING( 0x0008, DEF_STR( Upright ) ) // "Uplight" !
1205 PORT_DIPSETTING( 0x0000, DEF_STR( Cocktail ) ) // "Table"
1206 PORT_SERVICE( 0x0010, IP_ACTIVE_HIGH ) // "Test Mode"
1207 PORT_DIPNAME( 0x0060, 0x0000, DEF_STR( Difficulty ) )
1208 PORT_DIPSETTING( 0x0060, "Easy" ) // "Level 1
1209 PORT_DIPSETTING( 0x0000, "Normal" ) // "Level 2
1210 PORT_DIPSETTING( 0x0020, "Hard" ) // "Level 3
1211 PORT_DIPSETTING( 0x0040, "Hardest" ) // "Level 4
1212 PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Flip_Screen ) ) // "Display"
1213 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) // "Normal"
1214 PORT_DIPSETTING( 0x0080, DEF_STR( On ) ) // "Inverse"
1215 PORT_DIPNAME( 0x0700, 0x0000, DEF_STR( Coin_A ) )
1216 PORT_DIPSETTING( 0x0700, DEF_STR( 5C_1C ) )
1217 PORT_DIPSETTING( 0x0600, DEF_STR( 4C_1C ) )
1218 PORT_DIPSETTING( 0x0500, DEF_STR( 3C_1C ) )
1219 PORT_DIPSETTING( 0x0400, DEF_STR( 2C_1C ) )
1220 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) )
1221 PORT_DIPSETTING( 0x0100, DEF_STR( 1C_2C ) )
1222 PORT_DIPSETTING( 0x0200, DEF_STR( 1C_3C ) )
1223 PORT_DIPSETTING( 0x0300, DEF_STR( 1C_4C ) )
1224 PORT_DIPNAME( 0x3800, 0x0000, DEF_STR( Coin_B ) )
1225 PORT_DIPSETTING( 0x3800, DEF_STR( 5C_1C ) )
1226 PORT_DIPSETTING( 0x3000, DEF_STR( 4C_1C ) )
1227 PORT_DIPSETTING( 0x2800, DEF_STR( 3C_1C ) )
1228 PORT_DIPSETTING( 0x2000, DEF_STR( 2C_1C ) )
1229 PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) )
1230 PORT_DIPSETTING( 0x0800, DEF_STR( 1C_2C ) )
1231 PORT_DIPSETTING( 0x1000, DEF_STR( 1C_3C ) )
1232 PORT_DIPSETTING( 0x1800, DEF_STR( 1C_4C ) )
1233 PORT_DIPNAME( 0xc000, 0x0000, "Plate Probability" )
1234 PORT_DIPSETTING( 0xc000, "Bad" )
1235 PORT_DIPSETTING( 0x0000, "Normal" )
1236 PORT_DIPSETTING( 0x4000, "Better" )
1237 PORT_DIPSETTING( 0x8000, "Best" )
1238 INPUT_PORTS_END
1239
1240 INPUT_PORTS_START( tharrier )
1241 PORT_START /* IN0 */
1242 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1243 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1244 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1245 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1246 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1247 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
1248 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )
1249 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
1250 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1251 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1252 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1253 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1254 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1255 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1256 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1257 PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* Mcu status? */
1258
1259 PORT_START /* IN1 */
1260 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1261 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1262 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1263 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1264 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_COIN1 )
1265 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_COIN2 )
1266 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1267 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
1268 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1269 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1270 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1271 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1272 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1273 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1274 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1275 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
1276
1277 PORT_START /* DSW */
1278 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
1279 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1280 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1281 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
1282 PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
1283 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1284 PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
1285 PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
1286 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1287 PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
1288 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
1289 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1290 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
1291 PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
1292 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1293 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
1294 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
1295 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1296 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
1297 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
1298 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1299 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
1300 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1301 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1302 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) )
1303 PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
1304 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1305 PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
1306 PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
1307 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1308 PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
1309 PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
1310 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1311 PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
1312 PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
1313 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1314 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
1315 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
1316 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1317 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
1318 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
1319 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1320 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
1321 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
1322 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1323 PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
1324 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
1325 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1326 INPUT_PORTS_END
1327
1328 INPUT_PORTS_START( mustang )
1329 PORT_START /* IN0 */
1330 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1331 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1332 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1333 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1334 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1335 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // TEST in service mode
1336 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1337 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1338
1339 PORT_START /* IN1 */
1340 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1341 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1342 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1343 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1344 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1345 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1346 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1347 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1348 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1349 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1350 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1351 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1352 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1353 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1354 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1355 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1356
1357 PORT_START /* DSW */
1358 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
1359 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1360 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1361 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
1362 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
1363 PORT_DIPSETTING( 0x0002, DEF_STR( On ) )
1364 PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coin_B ) )
1365 PORT_DIPSETTING( 0x0010, DEF_STR( 4C_1C ) )
1366 PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
1367 PORT_DIPSETTING( 0x0018, DEF_STR( 2C_1C ) )
1368 PORT_DIPSETTING( 0x001c, DEF_STR( 1C_1C ) )
1369 PORT_DIPSETTING( 0x000c, DEF_STR( 1C_2C ) )
1370 PORT_DIPSETTING( 0x0014, DEF_STR( 1C_3C ) )
1371 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
1372 PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
1373 PORT_DIPNAME( 0x00e0, 0x00e0, DEF_STR( Coin_A ) )
1374 PORT_DIPSETTING( 0x0080, DEF_STR( 4C_1C ) )
1375 PORT_DIPSETTING( 0x0040, DEF_STR( 3C_1C ) )
1376 PORT_DIPSETTING( 0x00c0, DEF_STR( 2C_1C ) )
1377 PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_1C ) )
1378 PORT_DIPSETTING( 0x0060, DEF_STR( 1C_2C ) )
1379 PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_3C ) )
1380 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
1381 PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
1382 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) )
1383 PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
1384 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1385 PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
1386 PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
1387 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1388 PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
1389 PORT_DIPSETTING( 0x0400, "Easy" )
1390 PORT_DIPSETTING( 0x0c00, "Normal" )
1391 PORT_DIPSETTING( 0x0800, "Hard" )
1392 PORT_DIPSETTING( 0x0000, "Hardest" )
1393 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
1394 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
1395 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1396 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
1397 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
1398 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1399 PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) )
1400 PORT_DIPSETTING( 0x4000, "2" )
1401 PORT_DIPSETTING( 0xc000, "3" )
1402 PORT_DIPSETTING( 0x8000, "4" )
1403 PORT_DIPSETTING( 0x0000, "5" )
1404 INPUT_PORTS_END
1405
1406 INPUT_PORTS_START( hachamf )
1407 PORT_START /* IN0 */
1408 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1409 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1410 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1411 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1412 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1413 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1414 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1415 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) //bryan: test mode in some games?
1416
1417 PORT_START /* IN1 */
1418 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1419 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1420 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1421 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1422 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1423 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1424 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1425 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1426 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1427 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1428 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1429 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1430 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1431 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1432 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1433 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1434
1435 PORT_START /* DSW A */
1436 PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
1437 PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
1438 PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
1439 PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
1440 PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
1441 PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
1442 PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
1443 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
1444 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
1445 PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) )
1446 PORT_DIPSETTING( 0x08, DEF_STR( 4C_1C ) )
1447 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
1448 PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
1449 PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
1450 PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
1451 PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
1452 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
1453 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
1454 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
1455 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
1456 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
1457 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) )
1458 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
1459 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1460
1461 PORT_START /* DSW B */
1462 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
1463 PORT_DIPSETTING( 0x00, "1" )
1464 PORT_DIPSETTING( 0x02, "2" )
1465 PORT_DIPSETTING( 0x03, "3" )
1466 PORT_DIPSETTING( 0x01, "4" )
1467 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
1468 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
1469 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1470 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
1471 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
1472 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1473 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
1474 PORT_DIPSETTING( 0x20, "Easy" )
1475 PORT_DIPSETTING( 0x30, "Normal" )
1476 PORT_DIPSETTING( 0x10, "Hard" )
1477 PORT_DIPSETTING( 0x00, "Hardest" )
1478 PORT_DIPNAME( 0x40, 0x00, "Language" )
1479 PORT_DIPSETTING( 0x00, "English" )
1480 PORT_DIPSETTING( 0x40, "Japanese" )
1481 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Flip_Screen ) )
1482 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
1483 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1484 INPUT_PORTS_END
1485
1486 INPUT_PORTS_START( strahl )
1487 PORT_START /* IN0 */
1488 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1489 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1490 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1491 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1492 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1493 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1494 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1495 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) //bryan: test mode in some games?
1496
1497 PORT_START /* IN1 */
1498 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1499 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1500 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1501 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1502 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1503 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1504 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1505 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1506 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1507 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1508 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1509 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1510 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1511 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1512 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1513 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1514
1515 PORT_START /* DSW A */
1516 PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
1517 PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
1518 PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
1519 PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
1520 PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) )
1521 PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
1522 PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
1523 PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
1524 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
1525 PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) )
1526 PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
1527 PORT_DIPSETTING( 0x08, DEF_STR( 4C_1C ) )
1528 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
1529 PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
1530 PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
1531 PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) )
1532 PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
1533 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
1534 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )
1535 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
1536 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1537 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )
1538 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
1539 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1540
1541 PORT_START /* DSW B */
1542 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
1543 PORT_DIPSETTING( 0x02, "2" )
1544 PORT_DIPSETTING( 0x03, "3" )
1545 PORT_DIPSETTING( 0x01, "4" )
1546 PORT_DIPSETTING( 0x00, "5" )
1547 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
1548 PORT_DIPSETTING( 0x08, "Easy" )
1549 PORT_DIPSETTING( 0x0c, "Normal" )
1550 PORT_DIPSETTING( 0x04, "Hard" )
1551 PORT_DIPSETTING( 0x00, "Hardest" )
1552 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
1553 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
1554 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1555 PORT_DIPNAME( 0x60, 0x60, DEF_STR( Bonus_Life ) )
1556 PORT_DIPSETTING( 0x40, "100k and every 200k" )
1557 PORT_DIPSETTING( 0x60, "200k and every 200k" )
1558 PORT_DIPSETTING( 0x20, "300k and every 300k" )
1559 PORT_DIPSETTING( 0x00, "None" )
1560 PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1561 INPUT_PORTS_END
1562
1563 INPUT_PORTS_START( acrobatm )
1564 PORT_START /* IN0 */
1565 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1566 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1567 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1568 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1569 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1570 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1571 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1572 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1573
1574 PORT_START /* IN1 */
1575 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1576 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1577 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1578 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1579 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1580 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1581 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1582 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1583 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1584 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1585 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1586 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1587 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1588 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1589 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1590 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1591
1592 PORT_START /* DSW A */
1593 PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) )
1594 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1595 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1596 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
1597 PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
1598 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1599 PORT_DIPNAME( 0x001C, 0x001C, DEF_STR( Coin_B ) )
1600 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1601 PORT_DIPSETTING( 0x0010, DEF_STR( 4C_1C ) )
1602 PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
1603 PORT_DIPSETTING( 0x0018, DEF_STR( 2C_1C ) )
1604 PORT_DIPSETTING( 0x001C, DEF_STR( 1C_1C ) )
1605 PORT_DIPSETTING( 0x000C, DEF_STR( 1C_2C ) )
1606 PORT_DIPSETTING( 0x0014, DEF_STR( 1C_3C ) )
1607 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
1608 PORT_DIPNAME( 0x00E0, 0x00E0, DEF_STR( Coin_A ) )
1609 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1610 PORT_DIPSETTING( 0x0080, DEF_STR( 4C_1C ) )
1611 PORT_DIPSETTING( 0x0040, DEF_STR( 3C_1C ) )
1612 PORT_DIPSETTING( 0x00C0, DEF_STR( 2C_1C ) )
1613 PORT_DIPSETTING( 0x00E0, DEF_STR( 1C_1C ) )
1614 PORT_DIPSETTING( 0x0060, DEF_STR( 1C_2C ) )
1615 PORT_DIPSETTING( 0x00A0, DEF_STR( 1C_3C ) )
1616 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
1617
1618 PORT_START /* DSW B */
1619 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
1620 PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) )
1621 PORT_DIPSETTING( 0x02, "50k and 100k" )
1622 PORT_DIPSETTING( 0x06, "100k and 100k" )
1623 PORT_DIPSETTING( 0x04, "100k and 200k" )
1624 PORT_DIPSETTING( 0x00, "None" )
1625 PORT_DIPNAME( 0x08, 0x00, "Language" )
1626 PORT_DIPSETTING( 0x00, "English" )
1627 PORT_DIPSETTING( 0x08, "Japanese" )
1628 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
1629 PORT_DIPSETTING( 0x00, "Hardest" )
1630 PORT_DIPSETTING( 0x10, "Easy" )
1631 PORT_DIPSETTING( 0x20, "Hard" )
1632 PORT_DIPSETTING( 0x30, "Normal" )
1633 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
1634 PORT_DIPSETTING( 0x40, "2" )
1635 PORT_DIPSETTING( 0xc0, "3" )
1636 PORT_DIPSETTING( 0x80, "4" )
1637 PORT_DIPSETTING( 0x00, "5" )
1638 INPUT_PORTS_END
1639
1640 INPUT_PORTS_START( bioship )
1641 PORT_START /* IN0 */
1642 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1643 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1644 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1645 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1646 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1647 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1648 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1649 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) //bryan: test mode in some games?
1650
1651 PORT_START /* IN1 */
1652 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1653 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1654 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1655 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1656 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1657 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1658 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1659 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1660 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1661 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1662 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1663 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1664 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1665 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1666 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1667 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1668
1669 PORT_START /* DSW A */
1670 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
1671 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1672 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1673 PORT_DIPNAME( 0x0006, 0x0006, DEF_STR( Difficulty ) )
1674 PORT_DIPSETTING( 0x0000, "Easy" )
1675 PORT_DIPSETTING( 0x0006, "Normal" )
1676 PORT_DIPSETTING( 0x0002, "Hard" )
1677 PORT_DIPSETTING( 0x0004, "Hardest" )
1678 PORT_SERVICE( 0x0008, IP_ACTIVE_LOW )
1679 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
1680 PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
1681 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1682 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
1683 PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
1684 PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
1685 PORT_DIPNAME( 0x00C0, 0x00C0, DEF_STR( Lives ) )
1686 PORT_DIPSETTING( 0x0000, "2" )
1687 PORT_DIPSETTING( 0x00C0, "3" )
1688 PORT_DIPSETTING( 0x0080, "4" )
1689 PORT_DIPSETTING( 0x0040, "5" )
1690
1691 PORT_START /* DSW B */
1692 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
1693 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1694 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1695 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
1696 PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
1697 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1698 PORT_DIPNAME( 0x001C, 0x001C, DEF_STR( Coin_B ) )
1699 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1700 PORT_DIPSETTING( 0x0010, DEF_STR( 4C_1C ) )
1701 PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
1702 PORT_DIPSETTING( 0x0018, DEF_STR( 2C_1C ) )
1703 PORT_DIPSETTING( 0x001C, DEF_STR( 1C_1C ) )
1704 PORT_DIPSETTING( 0x000C, DEF_STR( 1C_2C ) )
1705 PORT_DIPSETTING( 0x0014, DEF_STR( 1C_3C ) )
1706 PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
1707 PORT_DIPNAME( 0x00E0, 0x00E0, DEF_STR( Coin_A ) )
1708 PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
1709 PORT_DIPSETTING( 0x0080, DEF_STR( 4C_1C ) )
1710 PORT_DIPSETTING( 0x0040, DEF_STR( 3C_1C ) )
1711 PORT_DIPSETTING( 0x00C0, DEF_STR( 2C_1C ) )
1712 PORT_DIPSETTING( 0x00E0, DEF_STR( 1C_1C ) )
1713 PORT_DIPSETTING( 0x0060, DEF_STR( 1C_2C ) )
1714 PORT_DIPSETTING( 0x00A0, DEF_STR( 1C_3C ) )
1715 PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) )
1716 INPUT_PORTS_END
1717
1718 INPUT_PORTS_START( tdragon )
1719 PORT_START /* IN0 */
1720 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1721 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1722 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1723 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1724 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1725 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // TEST in service mode
1726 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1727 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1728
1729 PORT_START /* IN1 */
1730 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1731 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1732 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1733 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1734 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1735 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1736 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1737 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1738 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1739 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1740 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1741 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1742 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1743 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1744 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1745 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1746
1747 PORT_START /* DSW 1 */
1748 PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) )
1749 PORT_DIPSETTING( 0x0000, "1" )
1750 PORT_DIPSETTING( 0x0002, "2" )
1751 PORT_DIPSETTING( 0x0003, "3" )
1752 PORT_DIPSETTING( 0x0001, "4" )
1753 PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
1754 PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
1755 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1756 PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
1757 PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
1758 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1759 PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Difficulty ))
1760 PORT_DIPSETTING( 0x0020, "Easy" )
1761 PORT_DIPSETTING( 0x0030, "Normal" )
1762 PORT_DIPSETTING( 0x0010, "Hard" )
1763 PORT_DIPSETTING( 0x0000, "Hardest" )
1764 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
1765 PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
1766 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1767 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) )
1768 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1769 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1770 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
1771 PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
1772 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1773 PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
1774 PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
1775 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1776 PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
1777 PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
1778 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1779 PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
1780 PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
1781 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1782 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
1783 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
1784 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1785 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
1786 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
1787 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1788 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
1789 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
1790 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1791 PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
1792 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
1793 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1794
1795 PORT_START /* DSW 2 */
1796 PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
1797 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) )
1798 PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
1799 PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) )
1800 PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
1801 PORT_DIPSETTING( 0x0003, DEF_STR( 1C_2C ) )
1802 PORT_DIPSETTING( 0x0002, DEF_STR( 1C_3C ) )
1803 PORT_DIPSETTING( 0x0001, DEF_STR( 1C_4C ) )
1804 PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
1805 PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
1806 PORT_DIPSETTING( 0x0020, DEF_STR( 4C_1C ) )
1807 PORT_DIPSETTING( 0x0028, DEF_STR( 3C_1C ) )
1808 PORT_DIPSETTING( 0x0030, DEF_STR( 2C_1C ) )
1809 PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) )
1810 PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
1811 PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
1812 PORT_DIPSETTING( 0x0008, DEF_STR( 1C_4C ) )
1813 PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
1814 PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ))
1815 PORT_DIPSETTING( 0x0000, DEF_STR( Off ))
1816 PORT_DIPSETTING( 0x0040, DEF_STR( On ))
1817 PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
1818 PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
1819 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1820 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
1821 PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
1822 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1823 PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
1824 PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
1825 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1826 PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
1827 PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
1828 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1829 PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
1830 PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
1831 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1832 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
1833 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
1834 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1835 PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
1836 PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
1837 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1838 PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
1839 PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
1840 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1841 PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
1842 PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
1843 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1844 INPUT_PORTS_END
1845
1846 INPUT_PORTS_START( ssmissin )
1847 PORT_START /* IN0 */
1848 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1849 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1850 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "Servise" in "test mode"
1851 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1852 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1853 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1854 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1855 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
1856
1857 PORT_START /* IN1 */
1858 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1859 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1860 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1861 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1862 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 ) // "Fire"
1863 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 ) // "Bomb"
1864 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1865 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1866 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1867 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1868 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1869 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1870 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 ) // "Fire"
1871 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 ) // "Bomb"
1872 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1873 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1874
1875 PORT_START /* DSW 1 */
1876 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
1877 PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
1878 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1879 PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unused ) )
1880 PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
1881 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1882 PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
1883 PORT_DIPSETTING( 0x0004, "Easy" )
1884 PORT_DIPSETTING( 0x000c, "Normal" )
1885 PORT_DIPSETTING( 0x0008, "Hard" )
1886 PORT_DIPSETTING( 0x0000, "Hardest" )
1887 PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unused ) )
1888 PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
1889 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1890 PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unused ) )
1891 PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
1892 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1893 PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Lives ) )
1894 PORT_DIPSETTING( 0x0000, "1" )
1895 PORT_DIPSETTING( 0x0040, "2" )
1896 PORT_DIPSETTING( 0x00c0, "3" )
1897 PORT_DIPSETTING( 0x0080, "4" )
1898 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unused ) )
1899 PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
1900 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1901 PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unused ) )
1902 PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
1903 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1904 #if 0
1905 PORT_DIPNAME( 0x1c00, 0x1c00, DEF_STR( Coin_B ) ) // initialised but not read back
1906 PORT_DIPSETTING( 0x0400, DEF_STR( 4C_1C ) )
1907 PORT_DIPSETTING( 0x1400, DEF_STR( 3C_1C ) )
1908 PORT_DIPSETTING( 0x0c00, DEF_STR( 2C_1C ) )
1909 PORT_DIPSETTING( 0x1c00, DEF_STR( 1C_1C ) )
1910 PORT_DIPSETTING( 0x1800, DEF_STR( 1C_2C ) )
1911 PORT_DIPSETTING( 0x0800, DEF_STR( 1C_3C ) )
1912 PORT_DIPSETTING( 0x1000, DEF_STR( 1C_4C ) )
1913 PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
1914 #else
1915 PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unused ) )
1916 PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
1917 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1918 PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unused ) )
1919 PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
1920 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1921 PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unused ) )
1922 PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
1923 PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
1924 #endif
1925 PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
1926 PORT_DIPSETTING( 0x2000, DEF_STR( 4C_1C ) )
1927 PORT_DIPSETTING( 0xa000, DEF_STR( 3C_1C ) )
1928 PORT_DIPSETTING( 0x6000, DEF_STR( 2C_1C ) )
1929 PORT_DIPSETTING( 0xe000, DEF_STR( 1C_1C ) )
1930 PORT_DIPSETTING( 0xc000, DEF_STR( 1C_2C ) )
1931 PORT_DIPSETTING( 0x4000, DEF_STR( 1C_3C ) )
1932 PORT_DIPSETTING( 0x8000, DEF_STR( 1C_4C ) )
1933 PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
1934 INPUT_PORTS_END
1935
1936 INPUT_PORTS_START( macross )
1937 PORT_START /* IN0 */
1938 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1939 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1940 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
1941 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
1942 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
1943 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1944 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1945 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
1946
1947 PORT_START /* IN1 */
1948 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
1949 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
1950 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
1951 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
1952 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1953 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1954 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1955 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1956 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
1957 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
1958 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
1959 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
1960 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1961 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1962 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1963 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
1964
1965 PORT_START /* DSW A */
1966 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
1967 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
1968 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
1969 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
1970 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
1971 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
1972 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
1973 PORT_DIPNAME( 0x08, 0x00, "Language" )
1974 PORT_DIPSETTING( 0x00, "English" )
1975 PORT_DIPSETTING( 0x08, "Japanese" )
1976 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
1977 PORT_DIPSETTING( 0x10, "Easy" )
1978 PORT_DIPSETTING( 0x30, "Normal" )
1979 PORT_DIPSETTING( 0x20, "Hard" )
1980 PORT_DIPSETTING( 0x00, "Hardest" )
1981 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
1982 PORT_DIPSETTING( 0x00, "1" )
1983 PORT_DIPSETTING( 0x40, "2" )
1984 PORT_DIPSETTING( 0xc0, "3" )
1985 PORT_DIPSETTING( 0x80, "4" )
1986
1987 PORT_START /* DSW B */
1988 PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_B ) )
1989 PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
1990 PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )
1991 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
1992 PORT_DIPSETTING( 0x00, DEF_STR( 5C_3C ) )
1993 PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )
1994 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
1995 PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
1996 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )
1997 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )
1998 PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
1999 PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
2000 PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
2001 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
2002 PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )
2003 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
2004 PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
2005 PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_A ) )
2006 PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
2007 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
2008 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2009 PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )
2010 PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )
2011 PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
2012 PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )
2013 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )
2014 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
2015 PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
2016 PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
2017 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
2018 PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )
2019 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
2020 PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
2021 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2022 INPUT_PORTS_END
2023
2024 INPUT_PORTS_START( macross2 )
2025 PORT_START /* IN0 */
2026 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
2027 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
2028 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2029 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2030 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
2031 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2032 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2033 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2034
2035 PORT_START /* IN1 */
2036 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2037 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2038 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2039 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2040 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2041 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2042 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2043 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2044 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2045 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2046 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2047 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2048 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2049 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2050 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2051 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2052
2053 PORT_START /* DSW A */
2054 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
2055 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2056 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2057 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2058 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
2059 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2060 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2061 PORT_DIPNAME( 0x08, 0x00, "Language" )
2062 PORT_DIPSETTING( 0x00, "English" )
2063 PORT_DIPSETTING( 0x08, "Japanese" )
2064 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2065 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2066 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2067 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2068 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2069 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2070 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2071 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
2072 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2073 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2074 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2075 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2076
2077 PORT_START /* DSW B */
2078 PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_B ) )
2079 PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
2080 PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )
2081 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
2082 PORT_DIPSETTING( 0x00, DEF_STR( 5C_3C ) )
2083 PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )
2084 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
2085 PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
2086 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )
2087 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )
2088 PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
2089 PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
2090 PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
2091 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
2092 PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )
2093 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
2094 PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
2095 PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_A ) )
2096 PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
2097 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
2098 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2099 PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )
2100 PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )
2101 PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
2102 PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )
2103 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )
2104 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
2105 PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
2106 PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
2107 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
2108 PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )
2109 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
2110 PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
2111 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2112 INPUT_PORTS_END
2113
2114 INPUT_PORTS_START( tdragon2 )
2115 PORT_START /* IN0 */
2116 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
2117 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
2118 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2119 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2120 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
2121 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2122 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2123 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2124
2125 PORT_START /* IN1 */
2126 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2127 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2128 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2129 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2130 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2131 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2132 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2133 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2134 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2135 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2136 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2137 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2138 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2139 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2140 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
2141 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2142
2143 PORT_START /* DSW A */
2144 PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
2145 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
2146 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2147 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
2148 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
2149 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2150 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2151 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
2152 PORT_DIPSETTING( 0x00, DEF_STR( Off) )
2153 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
2154 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2155 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2156 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2157 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2158 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2159 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2160 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
2161 PORT_DIPSETTING( 0x00, "1" )
2162 PORT_DIPSETTING( 0x40, "2" )
2163 PORT_DIPSETTING( 0xc0, "3" )
2164 PORT_DIPSETTING( 0x80, "4" )
2165
2166 PORT_START /* DSW B */
2167 PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_B ) )
2168 PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
2169 PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )
2170 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
2171 PORT_DIPSETTING( 0x00, DEF_STR( 5C_3C ) )
2172 PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )
2173 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
2174 PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
2175 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )
2176 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )
2177 PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
2178 PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
2179 PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
2180 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
2181 PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )
2182 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
2183 PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
2184 PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_A ) )
2185 PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
2186 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
2187 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
2188 PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )
2189 PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )
2190 PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
2191 PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )
2192 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )
2193 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
2194 PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
2195 PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
2196 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
2197 PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )
2198 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
2199 PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
2200 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2201 INPUT_PORTS_END
2202
2203 INPUT_PORTS_START( gunnail )
2204 PORT_START /* IN0 */
2205 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
2206 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
2207 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2208 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2209 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
2210 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2211 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2212 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2213
2214 PORT_START /* IN1 */
2215 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2216 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2217 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2218 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2219 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2220 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2221 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2222 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2223 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2224 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2225 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2226 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2227 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2228 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2229 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2230 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2231
2232 PORT_START /* DSW A */
2233 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
2234 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2235 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2236 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2237 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2238 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2239 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2240 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2241 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2242 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2243 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2244 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2245 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2246 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2247 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2248 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
2249 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2250 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2251 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
2252 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
2253 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2254 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
2255 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
2256 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2257
2258 PORT_START /* DSW B */
2259 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2260 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2261 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2262 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2263 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2264 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2265 PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
2266 PORT_DIPSETTING( 0x10, DEF_STR( 4C_1C ) )
2267 PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
2268 PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
2269 PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
2270 PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
2271 PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
2272 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
2273 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2274 PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
2275 PORT_DIPSETTING( 0x80, DEF_STR( 4C_1C ) )
2276 PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
2277 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
2278 PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
2279 PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
2280 PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
2281 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
2282 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2283 INPUT_PORTS_END
2284
2285 INPUT_PORTS_START( sabotenb )
2286 PORT_START /* IN0 */
2287 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
2288 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
2289 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2290 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2291 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
2292 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* shown in service mode, but no effect */
2293 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2294 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2295
2296 PORT_START /* IN1 */
2297 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2298 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2299 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2300 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2301 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2302 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2303 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2304 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2305 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2306 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2307 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2308 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2309 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2310 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2311 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2312 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2313
2314 PORT_START /* DSW A */
2315 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
2316 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2317 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2318 PORT_DIPNAME( 0x02, 0x02, "Language" )
2319 PORT_DIPSETTING( 0x02, "Japanese" )
2320 PORT_DIPSETTING( 0x00, "English" )
2321 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
2322 PORT_DIPSETTING( 0x08, "Easy" )
2323 PORT_DIPSETTING( 0x0c, "Normal" )
2324 PORT_DIPSETTING( 0x04, "Hard" )
2325 PORT_DIPSETTING( 0x00, "Hardest" )
2326 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
2327 PORT_DIPSETTING( 0x00, "1" )
2328 PORT_DIPSETTING( 0x40, "2" )
2329 PORT_DIPSETTING( 0xc0, "3" )
2330 PORT_DIPSETTING( 0x80, "4" )
2331
2332 PORT_START /* DSW B */
2333 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2334 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2335 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2336 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
2337 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2338 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
2339 PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
2340 PORT_DIPSETTING( 0x10, DEF_STR( 4C_1C ) )
2341 PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
2342 PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
2343 PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
2344 PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
2345 PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
2346 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
2347 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2348 PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
2349 PORT_DIPSETTING( 0x80, DEF_STR( 4C_1C ) )
2350 PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
2351 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
2352 PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
2353 PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
2354 PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
2355 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
2356 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2357 INPUT_PORTS_END
2358
2359 INPUT_PORTS_START( bjtwin )
2360 PORT_START /* IN0 */
2361 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
2362 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
2363 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2364 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2365 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
2366 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* shown in service mode, but no effect */
2367 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2368 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Maybe unused */
2369
2370 PORT_START /* IN1 */
2371 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2372 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2373 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2374 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2375 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2376 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2377 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2378 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2379 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2380 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2381 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2382 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2383 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2384 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2385 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2386 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2387
2388 PORT_START /* DSW A */
2389 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
2390 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2391 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2392 PORT_DIPNAME( 0x0e, 0x0e, "Starting level" )
2393 PORT_DIPSETTING( 0x08, "Germany" )
2394 PORT_DIPSETTING( 0x04, "Thailand" )
2395 PORT_DIPSETTING( 0x0c, "Nevada" )
2396 PORT_DIPSETTING( 0x0e, "Japan" )
2397 PORT_DIPSETTING( 0x06, "Korea" )
2398 PORT_DIPSETTING( 0x0a, "England" )
2399 PORT_DIPSETTING( 0x02, "Hong Kong" )
2400 PORT_DIPSETTING( 0x00, "China" )
2401 PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
2402 PORT_DIPSETTING( 0x20, "Easy" )
2403 PORT_DIPSETTING( 0x30, "Normal" )
2404 PORT_DIPSETTING( 0x10, "Hard" )
2405 PORT_DIPSETTING( 0x00, "Hardest" )
2406 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
2407 PORT_DIPSETTING( 0x00, "1" )
2408 PORT_DIPSETTING( 0x40, "2" )
2409 PORT_DIPSETTING( 0xc0, "3" )
2410 PORT_DIPSETTING( 0x80, "4" )
2411
2412 PORT_START /* DSW B */
2413 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2414 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2415 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2416 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
2417 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2418 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
2419 PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_B ) )
2420 PORT_DIPSETTING( 0x10, DEF_STR( 4C_1C ) )
2421 PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
2422 PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) )
2423 PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
2424 PORT_DIPSETTING( 0x0c, DEF_STR( 1C_2C ) )
2425 PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
2426 PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
2427 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2428 PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_A ) )
2429 PORT_DIPSETTING( 0x80, DEF_STR( 4C_1C ) )
2430 PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) )
2431 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
2432 PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
2433 PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) )
2434 PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
2435 PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
2436 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
2437 INPUT_PORTS_END
2438
2439 INPUT_PORTS_START( nouryoku )
2440 PORT_START /* IN0 */
2441 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
2442 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
2443 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2444 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
2445 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
2446 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
2447 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
2448 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
2449
2450 PORT_START /* IN1 */
2451 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
2452 PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
2453 PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
2454 PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
2455 PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2456 PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2457 PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2458 PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2459 PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
2460 PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
2461 PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
2462 PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
2463 PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2464 PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2465 PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2466 PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
2467
2468 PORT_START /* DSW A */
2469 PORT_DIPNAME( 0x03, 0x03, "Life Decrease Speed" )
2470 PORT_DIPSETTING( 0x02, "Slow" )
2471 PORT_DIPSETTING( 0x03, "Normal" )
2472 PORT_DIPSETTING( 0x01, "Fast" )
2473 PORT_DIPSETTING( 0x00, "Very Fast" )
2474 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) )
2475 PORT_DIPSETTING( 0x08, "Easy" )
2476 PORT_DIPSETTING( 0x0c, "Normal" )
2477 PORT_DIPSETTING( 0x04, "Hard" )
2478 PORT_DIPSETTING( 0x00, "Hardest" )
2479 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Free_Play ) )
2480 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2481 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2482 PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coinage ) )
2483 PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
2484 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
2485 PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
2486 PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
2487 PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
2488 PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
2489 PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
2490 PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
2491
2492 PORT_START /* DSW B */
2493 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
2494 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
2495 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2496 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
2497 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
2498 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2499 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2500 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2501 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2502 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2503 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2504 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2505 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
2506 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
2507 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2508 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) )
2509 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
2510 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2511 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
2512 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
2513 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
2514 PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
2515 INPUT_PORTS_END
2516
2517
2518
2519 static struct GfxLayout charlayout =
2520 {
2521 8,8,
2522 RGN_FRAC(1,1),
2523 4,
2524 { 0, 1, 2, 3 },
2525 { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 },
2526 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
2527 32*8
2528 };
2529
2530 static struct GfxLayout tilelayout =
2531 {
2532 16,16,
2533 RGN_FRAC(1,1),
2534 4,
2535 { 0, 1, 2, 3 },
2536 { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4,
2537 16*32+0*4, 16*32+1*4, 16*32+2*4, 16*32+3*4, 16*32+4*4, 16*32+5*4, 16*32+6*4, 16*32+7*4 },
2538 { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
2539 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
2540 32*32
2541 };
2542
2543 static struct GfxDecodeInfo tharrier_gfxdecodeinfo[] =
2544 {
2545 { REGION_GFX1, 0, &charlayout, 0x000, 16 }, /* color 0x200-0x2ff */
2546 { REGION_GFX2, 0, &tilelayout, 0x000, 16 }, /* color 0x000-0x0ff */
2547 { REGION_GFX3, 0, &tilelayout, 0x100, 16 }, /* color 0x100-0x1ff */
2548 { -1 } /* end of array */
2549 };
2550
2551 static struct GfxDecodeInfo macross_gfxdecodeinfo[] =
2552 {
2553 { REGION_GFX1, 0, &charlayout, 0x200, 16 }, /* color 0x200-0x2ff */
2554 { REGION_GFX2, 0, &tilelayout, 0x000, 16 }, /* color 0x000-0x0ff */
2555 { REGION_GFX3, 0, &tilelayout, 0x100, 16 }, /* color 0x100-0x1ff */
2556 { -1 } /* end of array */
2557 };
2558
2559 static struct GfxDecodeInfo macross2_gfxdecodeinfo[] =
2560 {
2561 { REGION_GFX1, 0, &charlayout, 0x300, 16 }, /* color 0x300-0x3ff */
2562 { REGION_GFX2, 0, &tilelayout, 0x000, 16 }, /* color 0x000-0x0ff */
2563 { REGION_GFX3, 0, &tilelayout, 0x100, 32 }, /* color 0x100-0x2ff */
2564 { -1 } /* end of array */
2565 };
2566
2567 static struct GfxDecodeInfo bjtwin_gfxdecodeinfo[] =
2568 {
2569 { REGION_GFX1, 0, &charlayout, 0x000, 16 }, /* color 0x000-0x0ff */
2570 { REGION_GFX2, 0, &charlayout, 0x000, 16 }, /* color 0x000-0x0ff */
2571 { REGION_GFX3, 0, &tilelayout, 0x100, 16 }, /* color 0x100-0x1ff */
2572 { -1 } /* end of array */
2573 };
2574
2575 static struct GfxDecodeInfo bioship_gfxdecodeinfo[] =
2576 {
2577 { REGION_GFX1, 0, &charlayout, 0x300, 16 }, /* color 0x300-0x3ff */
2578 { REGION_GFX2, 0, &tilelayout, 0x100, 16 }, /* color 0x100-0x1ff */
2579 { REGION_GFX3, 0, &tilelayout, 0x200, 16 }, /* color 0x200-0x2ff */
2580 { REGION_GFX4, 0, &tilelayout, 0x000, 16 }, /* color 0x000-0x0ff */
2581 { -1 }
2582 };
2583
2584 static struct GfxDecodeInfo strahl_gfxdecodeinfo[] =
2585 {
2586 { REGION_GFX1, 0, &charlayout, 0x000, 16 }, /* color 0x000-0x0ff */
2587 { REGION_GFX2, 0, &tilelayout, 0x300, 16 }, /* color 0x300-0x3ff */
2588 { REGION_GFX3, 0, &tilelayout, 0x100, 16 }, /* color 0x100-0x1ff */
2589 { REGION_GFX4, 0, &tilelayout, 0x200, 16 }, /* color 0x200-0x2ff */
2590 { -1 }
2591 };
2592
2593
ym2203_irqhandler(int irq)2594 static void ym2203_irqhandler(int irq)
2595 {
2596 cpu_set_irq_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
2597 }
2598
2599 static struct YM2203interface ym2203_interface_15 =
2600 {
2601 1, /* 1 chip */
2602 1500000, /* 2 MHz ??? */
2603 { YM2203_VOL(90,90) },
2604 { 0 },
2605 { 0 },
2606 { 0 },
2607 { 0 },
2608 { ym2203_irqhandler }
2609 };
2610
2611 static struct OKIM6295interface okim6295_interface_dual =
2612 {
2613 2, /* 2 chips */
2614 { 16000000/4/165, 16000000/4/165 }, /* 24242Hz frequency? */
2615 { REGION_SOUND1, REGION_SOUND2 }, /* memory region */
2616 { 40, 40 } /* volume */
2617 };
2618
2619 static struct OKIM6295interface okim6295_interface_ssmissin =
2620 {
2621 1, /* 1 chip */
2622 { 8000000/4/165 }, /* ? unknown */
2623 { REGION_SOUND1 }, /* memory region */
2624 { 100 } /* volume */
2625 };
2626
INTERRUPT_GEN(nmk_interrupt)2627 static INTERRUPT_GEN( nmk_interrupt )
2628 {
2629 if (cpu_getiloops() == 0) cpu_set_irq_line(0, 4, HOLD_LINE);
2630 else cpu_set_irq_line(0, 2, HOLD_LINE);
2631 }
2632
2633 /* Parameters: YM3812 frequency, Oki frequency, Oki memory region */
2634 SEIBU_SOUND_SYSTEM_YM3812_HARDWARE(14318180/4, 8000, REGION_SOUND1);
2635
2636 static MACHINE_DRIVER_START( urashima )
2637
2638 /* basic machine hardware */
2639 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
MDRV_CPU_MEMORY(urashima_readmem,urashima_writemem)2640 MDRV_CPU_MEMORY(urashima_readmem,urashima_writemem)
2641 // MDRV_CPU_PERIODIC_INT(irq1_line_hold,112) /* ???????? */
2642
2643 MDRV_FRAMES_PER_SECOND(60)
2644 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2645 MDRV_MACHINE_INIT(nmk16)
2646
2647 /* video hardware */
2648 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2649 MDRV_SCREEN_SIZE(256, 256)
2650 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2651 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2652 MDRV_PALETTE_LENGTH(1024)
2653
2654 MDRV_VIDEO_START(macross)
2655 MDRV_VIDEO_EOF(nmk)
2656 MDRV_VIDEO_UPDATE(macross)
2657
2658 /* sound hardware */
2659 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2660 MACHINE_DRIVER_END
2661
2662
2663 static MACHINE_DRIVER_START( vandyke )
2664
2665 /* basic machine hardware */
2666 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
2667 MDRV_CPU_MEMORY(vandyke_readmem,vandyke_writemem)
2668 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2669 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2670
2671 MDRV_FRAMES_PER_SECOND(60)
2672 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2673 MDRV_MACHINE_INIT(nmk16)
2674
2675 /* video hardware */
2676 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2677 MDRV_SCREEN_SIZE(256, 256)
2678 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2679 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2680 MDRV_PALETTE_LENGTH(1024)
2681
2682 MDRV_VIDEO_START(macross)
2683 MDRV_VIDEO_EOF(nmk)
2684 MDRV_VIDEO_UPDATE(macross)
2685
2686 /* sound hardware */
2687 /* there's also a YM2203 */
2688 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2689 MACHINE_DRIVER_END
2690
2691
2692 static MACHINE_DRIVER_START( tharrier )
2693
2694 /* basic machine hardware */
2695 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz */
2696 MDRV_CPU_MEMORY(tharrier_readmem,tharrier_writemem)
2697 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2698 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2699
2700 MDRV_CPU_ADD(Z80, 3000000)
2701 MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
2702 MDRV_CPU_MEMORY(manybloc_sound_readmem,manybloc_sound_writemem)
2703 MDRV_CPU_PORTS(manybloc_sound_readport,manybloc_sound_writeport)
2704
2705 MDRV_FRAMES_PER_SECOND(60)
2706 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2707 MDRV_MACHINE_INIT(mustang_sound)
2708
2709 /* video hardware */
2710 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2711 MDRV_SCREEN_SIZE(256, 256)
2712 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2713 MDRV_GFXDECODE(tharrier_gfxdecodeinfo)
2714 MDRV_PALETTE_LENGTH(512)
2715
2716 MDRV_VIDEO_START(macross)
2717 MDRV_VIDEO_EOF(nmk)
2718 MDRV_VIDEO_UPDATE(macross)
2719
2720 /* sound hardware */
2721 MDRV_SOUND_ADD(YM2203, ym2203_interface_15)
2722 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2723 MACHINE_DRIVER_END
2724
2725 static MACHINE_DRIVER_START( manybloc )
2726
2727 /* basic machine hardware */
2728 MDRV_CPU_ADD(M68000, 10000000) /* 10? MHz - check */
2729 MDRV_CPU_MEMORY(manybloc_readmem,manybloc_writemem)
2730 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2731 MDRV_CPU_PERIODIC_INT(irq1_line_hold,60)/* is this is too high it breaks the game on this one, too low sprites flicker */
2732
2733 MDRV_CPU_ADD(Z80, 3000000)
2734 MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
2735 MDRV_CPU_MEMORY(manybloc_sound_readmem,manybloc_sound_writemem)
2736 MDRV_CPU_PORTS(manybloc_sound_readport,manybloc_sound_writeport)
2737
2738 MDRV_FRAMES_PER_SECOND(60)
2739 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2740
2741 /* video hardware */
2742 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2743 MDRV_SCREEN_SIZE(256, 256)
2744 MDRV_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
2745 MDRV_GFXDECODE(tharrier_gfxdecodeinfo)
2746 MDRV_PALETTE_LENGTH(512)
2747
2748 MDRV_VIDEO_START(macross)
2749 // MDRV_VIDEO_EOF(nmk)
2750 MDRV_VIDEO_UPDATE(manybloc)
2751
2752 /* sound hardware */
2753 MDRV_SOUND_ADD(YM2203, ym2203_interface_15)
2754 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2755 MACHINE_DRIVER_END
2756
2757 static MACHINE_DRIVER_START( mustang )
2758
2759 /* basic machine hardware */
2760 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
2761 MDRV_CPU_MEMORY(mustang_readmem,mustang_writemem)
2762 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2763 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2764
2765 MDRV_FRAMES_PER_SECOND(60)
2766 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2767 MDRV_MACHINE_INIT(nmk16)
2768
2769 /* video hardware */
2770 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2771 MDRV_SCREEN_SIZE(256, 256)
2772 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2773 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2774 MDRV_PALETTE_LENGTH(1024)
2775
2776 MDRV_VIDEO_START(macross)
2777 MDRV_VIDEO_EOF(nmk)
2778 MDRV_VIDEO_UPDATE(macross)
2779
2780
2781 /* sound hardware */
2782 MDRV_SOUND_ADD(YM2203, ym2203_interface_15)
2783 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2784 MACHINE_DRIVER_END
2785
2786 static MACHINE_DRIVER_START( mustangb )
2787
2788 /* basic machine hardware */
2789 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
2790 MDRV_CPU_MEMORY(mustang_readmem,mustangb_writemem)
2791 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2792 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2793
2794 SEIBU_SOUND_SYSTEM_CPU(14318180/4)
2795
2796 MDRV_FRAMES_PER_SECOND(60)
2797 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2798 MDRV_MACHINE_INIT(mustang_sound)
2799
2800 /* video hardware */
2801 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2802 MDRV_SCREEN_SIZE(256, 256)
2803 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2804 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2805 MDRV_PALETTE_LENGTH(1024)
2806
2807 MDRV_VIDEO_START(macross)
2808 MDRV_VIDEO_EOF(nmk)
2809 MDRV_VIDEO_UPDATE(macross)
2810
2811 /* sound hardware */
2812 SEIBU_SOUND_SYSTEM_YM3812_INTERFACE
2813
2814 MACHINE_DRIVER_END
2815
2816 static MACHINE_DRIVER_START( acrobatm )
2817
2818 /* basic machine hardware */
2819 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? 12 MHz? */
2820 MDRV_CPU_MEMORY(acrobatm_readmem,acrobatm_writemem)
2821 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2822 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2823
2824 MDRV_FRAMES_PER_SECOND(60)
2825 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2826 MDRV_MACHINE_INIT(nmk16)
2827
2828 /* video hardware */
2829 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2830 MDRV_SCREEN_SIZE(256, 256)
2831 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2832 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2833 MDRV_PALETTE_LENGTH(1024)
2834
2835 MDRV_VIDEO_START(macross)
2836 MDRV_VIDEO_EOF(nmk)
2837 MDRV_VIDEO_UPDATE(macross)
2838
2839 /* sound hardware */
2840 /* there's also a YM2203? */
2841 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2842 MACHINE_DRIVER_END
2843
2844
2845 static MACHINE_DRIVER_START( bioship )
2846
2847 /* basic machine hardware */
2848 MDRV_CPU_ADD(M68000, 16000000) /* 16 MHz ? */
2849 MDRV_CPU_MEMORY(bioship_readmem,bioship_writemem)
2850 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2851 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2852
2853 MDRV_FRAMES_PER_SECOND(60)
2854 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2855 MDRV_MACHINE_INIT(nmk16)
2856
2857 /* video hardware */
2858 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2859 MDRV_SCREEN_SIZE(256, 256)
2860 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2861 MDRV_GFXDECODE(bioship_gfxdecodeinfo)
2862 MDRV_PALETTE_LENGTH(1024)
2863
2864 MDRV_VIDEO_START(bioship)
2865 MDRV_VIDEO_EOF(nmk)
2866 MDRV_VIDEO_UPDATE(bioship)
2867
2868 /* sound hardware */
2869 /* there's also a YM2203 */
2870 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2871 MACHINE_DRIVER_END
2872
2873
2874 /* bootleg using Raiden sound hardware */
2875 static MACHINE_DRIVER_START( tdragonb )
2876
2877 /* basic machine hardware */
2878 MDRV_CPU_ADD(M68000, 10000000)
2879 MDRV_CPU_MEMORY(tdragon_readmem,tdragonb_writemem)
2880 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
2881 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ?? drives music */
2882
2883 SEIBU_SOUND_SYSTEM_CPU(14318180/4)
2884
2885 MDRV_FRAMES_PER_SECOND(60)
2886 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2887 MDRV_MACHINE_INIT(mustang_sound)
2888
2889 /* video hardware */
2890 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2891 MDRV_SCREEN_SIZE(256, 256)
2892 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2893 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2894 MDRV_PALETTE_LENGTH(1024)
2895
2896 MDRV_VIDEO_START(macross)
2897 MDRV_VIDEO_EOF(nmk)
2898 MDRV_VIDEO_UPDATE(macross)
2899
2900 /* sound hardware */
2901 SEIBU_SOUND_SYSTEM_YM3812_INTERFACE
2902 MACHINE_DRIVER_END
2903
2904 static MACHINE_DRIVER_START( tdragon )
2905
2906 /* basic machine hardware */
2907 MDRV_CPU_ADD(M68000, 10000000)
2908 MDRV_CPU_MEMORY(tdragon_readmem,tdragon_writemem)
2909 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
2910 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ?? drives music */
2911
2912 MDRV_FRAMES_PER_SECOND(60)
2913 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2914 MDRV_MACHINE_INIT(nmk16)
2915
2916 /* video hardware */
2917 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2918 MDRV_SCREEN_SIZE(256, 256)
2919 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2920 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2921 MDRV_PALETTE_LENGTH(1024)
2922
2923 MDRV_VIDEO_START(macross)
2924 MDRV_VIDEO_EOF(nmk)
2925 MDRV_VIDEO_UPDATE(macross)
2926
2927 /* sound hardware */
2928 MACHINE_DRIVER_END
2929
2930 static MACHINE_DRIVER_START( ssmissin )
2931
2932 /* basic machine hardware */
2933 MDRV_CPU_ADD(M68000, 10000000)
2934 MDRV_CPU_MEMORY(ssmissin_readmem,ssmissin_writemem)
2935 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
2936 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112) /* input related */
2937
2938 MDRV_CPU_ADD(Z80, 4000000)
2939 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ? */
2940 MDRV_CPU_MEMORY(ssmissin_sound_readmem,ssmissin_sound_writemem)
2941
2942 MDRV_FRAMES_PER_SECOND(60)
2943 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2944 MDRV_MACHINE_INIT(nmk16)
2945
2946 /* video hardware */
2947 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2948 MDRV_SCREEN_SIZE(256, 256)
2949 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2950 MDRV_GFXDECODE(macross_gfxdecodeinfo)
2951 MDRV_PALETTE_LENGTH(1024)
2952
2953 MDRV_VIDEO_START(macross)
2954 MDRV_VIDEO_EOF(nmk)
2955 MDRV_VIDEO_UPDATE(macross)
2956
2957 /* sound hardware */
2958 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_ssmissin)
2959 MACHINE_DRIVER_END
2960
2961
2962 static MACHINE_DRIVER_START( strahl )
2963
2964 /* basic machine hardware */
2965 MDRV_CPU_ADD(M68000, 12000000) /* 12 MHz ? */
2966 MDRV_CPU_MEMORY(strahl_readmem,strahl_writemem)
2967 MDRV_CPU_VBLANK_INT(nmk_interrupt,2)
2968 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2969
2970 MDRV_FRAMES_PER_SECOND(60)
2971 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
2972 MDRV_MACHINE_INIT(nmk16)
2973
2974 /* video hardware */
2975 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
2976 MDRV_SCREEN_SIZE(256, 256)
2977 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
2978 MDRV_GFXDECODE(strahl_gfxdecodeinfo)
2979 MDRV_PALETTE_LENGTH(1024)
2980
2981 MDRV_VIDEO_START(strahl)
2982 MDRV_VIDEO_EOF(nmk)
2983 MDRV_VIDEO_UPDATE(strahl)
2984
2985 /* sound hardware */
2986 /* there's also a YM2203 */
2987 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
2988 MACHINE_DRIVER_END
2989
2990
2991 static MACHINE_DRIVER_START( hachamf )
2992
2993 /* basic machine hardware */
2994 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
2995 MDRV_CPU_MEMORY(hachamf_readmem,hachamf_writemem)
2996 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
2997 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
2998
2999 MDRV_FRAMES_PER_SECOND(60)
3000 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
3001 MDRV_MACHINE_INIT(nmk16)
3002
3003 /* video hardware */
3004 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
3005 MDRV_SCREEN_SIZE(256, 256)
3006 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
3007 MDRV_GFXDECODE(macross_gfxdecodeinfo)
3008 MDRV_PALETTE_LENGTH(1024)
3009
3010 MDRV_VIDEO_START(macross)
3011 MDRV_VIDEO_EOF(nmk)
3012 MDRV_VIDEO_UPDATE(macross)
3013
3014 /* sound hardware */
3015 /* there's also a YM2203 */
3016 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
3017 MACHINE_DRIVER_END
3018
3019
3020 static MACHINE_DRIVER_START( macross )
3021
3022 /* basic machine hardware */
3023 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
3024 MDRV_CPU_MEMORY(macross_readmem,macross_writemem)
3025 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
3026 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
3027
3028 MDRV_FRAMES_PER_SECOND(60)
3029 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
3030 MDRV_MACHINE_INIT(nmk16)
3031
3032 /* video hardware */
3033 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
3034 MDRV_SCREEN_SIZE(256, 256)
3035 MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
3036 MDRV_GFXDECODE(macross_gfxdecodeinfo)
3037 MDRV_PALETTE_LENGTH(1024)
3038
3039 MDRV_VIDEO_START(macross)
3040 MDRV_VIDEO_EOF(nmk)
3041 MDRV_VIDEO_UPDATE(macross)
3042
3043 /* sound hardware */
3044 /* there's also a YM2203 */
3045 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
3046 MACHINE_DRIVER_END
3047
3048
3049 static MACHINE_DRIVER_START( gunnail )
3050
3051 /* basic machine hardware */
3052 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz? */
3053 MDRV_CPU_MEMORY(gunnail_readmem,gunnail_writemem)
3054 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
3055 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)
3056
3057 MDRV_FRAMES_PER_SECOND(60)
3058 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
3059 MDRV_MACHINE_INIT(nmk16)
3060
3061 /* video hardware */
3062 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
3063 MDRV_SCREEN_SIZE(512, 256)
3064 MDRV_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
3065 MDRV_GFXDECODE(macross_gfxdecodeinfo)
3066 MDRV_PALETTE_LENGTH(1024)
3067
3068 MDRV_VIDEO_START(gunnail)
3069 MDRV_VIDEO_EOF(nmk)
3070 MDRV_VIDEO_UPDATE(gunnail)
3071
3072 /* sound hardware */
3073 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
3074 MACHINE_DRIVER_END
3075
3076
3077 static MACHINE_DRIVER_START( macross2 )
3078
3079 /* basic machine hardware */
3080 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
3081 MDRV_CPU_MEMORY(macross2_readmem,macross2_writemem)
3082 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
3083 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
3084
3085 MDRV_CPU_ADD(Z80, 4000000)
3086 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ? */
3087 MDRV_CPU_MEMORY(macross2_sound_readmem,macross2_sound_writemem)
3088 MDRV_CPU_PORTS(macross2_sound_readport,macross2_sound_writeport)
3089
3090 MDRV_FRAMES_PER_SECOND(57)
3091 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
3092 MDRV_MACHINE_INIT(nmk16)
3093
3094 /* video hardware */
3095 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
3096 MDRV_SCREEN_SIZE(512, 256)
3097 MDRV_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
3098 MDRV_GFXDECODE(macross2_gfxdecodeinfo)
3099 MDRV_PALETTE_LENGTH(1024)
3100
3101 MDRV_VIDEO_START(macross2)
3102 MDRV_VIDEO_EOF(nmk)
3103 MDRV_VIDEO_UPDATE(macross)
3104
3105 /* sound hardware */
3106 MDRV_SOUND_ADD(YM2203, ym2203_interface_15)
3107 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
3108 MACHINE_DRIVER_END
3109
3110 static MACHINE_DRIVER_START( tdragon2 )
3111
3112 /* basic machine hardware */
3113 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz ? */
3114 MDRV_CPU_MEMORY(macross2_readmem,macross2_writemem)
3115 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
3116 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
3117
3118 MDRV_CPU_ADD(Z80, 4000000)
3119 MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ? */
3120 MDRV_CPU_MEMORY(macross2_sound_readmem,macross2_sound_writemem)
3121 MDRV_CPU_PORTS(macross2_sound_readport,macross2_sound_writeport)
3122
3123 MDRV_FRAMES_PER_SECOND(57)
3124 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
3125 MDRV_MACHINE_INIT(nmk16)
3126
3127 /* video hardware */
3128 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
3129 MDRV_SCREEN_SIZE(512, 256)
3130 MDRV_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
3131 MDRV_GFXDECODE(macross2_gfxdecodeinfo)
3132 MDRV_PALETTE_LENGTH(1024)
3133
3134 MDRV_VIDEO_START(tdragon2)
3135 MDRV_VIDEO_EOF(nmk)
3136 MDRV_VIDEO_UPDATE(macross)
3137
3138 /* sound hardware */
3139 MDRV_SOUND_ADD(YM2203, ym2203_interface_15)
3140 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
3141 MACHINE_DRIVER_END
3142
3143 static MACHINE_DRIVER_START( raphero )
3144
3145 /* basic machine hardware */
3146 MDRV_CPU_ADD(M68000, 14000000) /* 14 MHz measured */
3147 MDRV_CPU_MEMORY(macross2_readmem,raphero_writemem)
3148 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
3149 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */
3150
3151 // MDRV_CPU_ADD(Z80, 4000000) // tmp90c841 ?
3152 //<ianpatt> looks like the tmp90c841 is a microcontroller from toshiba compatible with the z80 instruction set
3153 //<ianpatt> and luckily it isn't one of the versions with embedded ROM
3154 // MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 4 MHz ? */
3155 // MDRV_CPU_MEMORY(macross2_sound_readmem,macross2_sound_writemem)
3156 // MDRV_CPU_PORTS(macross2_sound_readport,macross2_sound_writeport)
3157
3158 MDRV_FRAMES_PER_SECOND(56) // measured
3159 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
3160 MDRV_MACHINE_INIT(nmk16)
3161
3162 /* video hardware */
3163 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
3164 MDRV_SCREEN_SIZE(512, 256)
3165 MDRV_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
3166 MDRV_GFXDECODE(macross2_gfxdecodeinfo)
3167 MDRV_PALETTE_LENGTH(1024)
3168
3169 MDRV_VIDEO_START(macross2)
3170 MDRV_VIDEO_EOF(nmk)
3171 MDRV_VIDEO_UPDATE(macross)
3172
3173 /* sound hardware */
3174 MDRV_SOUND_ADD(YM2203, ym2203_interface_15)
3175 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
3176 MACHINE_DRIVER_END
3177
3178 static MACHINE_DRIVER_START( bjtwin )
3179
3180 /* basic machine hardware */
3181 MDRV_CPU_ADD(M68000, 10000000) /* 10 MHz? It's a P12, but xtals are 10MHz and 16MHz */
3182 MDRV_CPU_MEMORY(bjtwin_readmem,bjtwin_writemem)
3183 MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
3184 MDRV_CPU_PERIODIC_INT(irq1_line_hold,112)/* ?? drives music */
3185
3186 MDRV_FRAMES_PER_SECOND(60)
3187 MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
3188 MDRV_MACHINE_INIT(nmk16)
3189
3190 /* video hardware */
3191 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
3192 MDRV_SCREEN_SIZE(512, 256)
3193 MDRV_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
3194 MDRV_GFXDECODE(bjtwin_gfxdecodeinfo)
3195 MDRV_PALETTE_LENGTH(1024)
3196
3197 MDRV_VIDEO_START(bjtwin)
3198 MDRV_VIDEO_EOF(nmk)
3199 MDRV_VIDEO_UPDATE(bjtwin)
3200
3201 /* sound hardware */
3202 MDRV_SOUND_ADD(OKIM6295, okim6295_interface_dual)
3203 MACHINE_DRIVER_END
3204
3205
3206
3207 ROM_START ( urashima )
3208 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 68000 code */
3209 ROM_LOAD16_BYTE( "um-2.15d", 0x00000, 0x20000, CRC(a90a47e3) SHA1(2f912001e9177cce8c3795f3d299115b80fdca4e) )
3210 ROM_LOAD16_BYTE( "um-1.15c", 0x00001, 0x20000, CRC(5f5c8f39) SHA1(cef663965c3112f87788d6a871e609c0b10ef9a2) )
3211
3212 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3213 ROM_LOAD( "um-5.22j", 0x000000, 0x020000, CRC(991776a2) SHA1(56740553d7d26aaeb9bec8557727030950bb01f7) ) /* 8x8 tiles */
3214
3215 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE ) /* 16x16 Tiles */
3216 ROM_LOAD( "um-7.4l", 0x000000, 0x080000, CRC(d2a68cfb) SHA1(eb6cb1fad306b697b2035a31ad48e8996722a032) )
3217
3218 ROM_REGION( 0x080000, REGION_GFX3, ROMREGION_DISPOSE ) /* Maybe there are no Sprites? */
3219 ROM_LOAD( "um-6.2l", 0x000000, 0x080000, CRC(076be5b5) SHA1(77444025f149a960137d3c79abecf9b30defa341) )
3220
3221 ROM_REGION( 0x0240, REGION_PROMS, 0 )
3222 ROM_LOAD( "um-10.2b", 0x0000, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3223 ROM_LOAD( "um-11.2c", 0x0100, 0x0100, CRC(ff5660cf) SHA1(a4635dcf9d6dd637ea4f36f1ad233db0bd039731) ) /* unknown */
3224 ROM_LOAD( "um-12.20c", 0x0200, 0x0020, CRC(bdb66b02) SHA1(8755244de638d7e835e35e08c62b0612958e6ca5) ) /* unknown */
3225 ROM_LOAD( "um-13.10l", 0x0220, 0x0020, CRC(4ce07ec0) SHA1(5f5744ddc7f258307f036fde4c0a8e6271b2d1f9) ) /* unknown */
3226
3227 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3228 ROM_LOAD( "um-3.22c", 0x000000, 0x080000, CRC(9fd8c8fa) SHA1(0346f74c03a4daa7a84b64c9edf0e54297c82fd9) )
3229 ROM_END
3230
3231 ROM_START( vandyke )
3232 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 68000 code */
3233 ROM_LOAD16_BYTE( "vdk-1.16", 0x00000, 0x20000, CRC(c1d01c59) SHA1(04a7fd31ca4d87d078070390660edf08bf1d96b5) )
3234 ROM_LOAD16_BYTE( "vdk-2.15", 0x00001, 0x20000, CRC(9d741cc2) SHA1(2d101044fba5fc5b7d63869a0a053c42fdc2598b) )
3235
3236 ROM_REGION(0x10000, REGION_CPU2, 0 ) /* 64k for sound cpu code */
3237 ROM_LOAD( "vdk-4.127", 0x00000, 0x10000, CRC(eba544f0) SHA1(36f6d048d15a392542a9220a244d8a7049aaff8b) )
3238
3239 ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )
3240 ROM_LOAD( "vdk-3.222", 0x000000, 0x010000, CRC(5a547c1b) SHA1(2d61f51ce2f91ebf0053ce3a00911d1bcbaba816) ) /* 8x8 tiles */
3241
3242 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3243 ROM_LOAD( "vdk-01.13", 0x000000, 0x080000, CRC(195a24be) SHA1(3a20dd746a87efc5c1fdc5025b709efeff82e05e) ) /* 16x16 tiles */
3244
3245 ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
3246 ROM_LOAD16_BYTE( "vdk-07.202", 0x000000, 0x080000, CRC(42d41f06) SHA1(69fd1d38187b8081f65acea2424bc1a0d455d90c) ) /* Sprites */
3247 ROM_LOAD16_BYTE( "vdk-06.203", 0x000001, 0x080000, CRC(d54722a8) SHA1(47f8e97b29ae0ff1a1d7d50734e4219a87a2ed57) ) /* Sprites */
3248 ROM_LOAD16_BYTE( "vdk-04.2-1", 0x100000, 0x080000, CRC(0a730547) SHA1(afac0549eb86d1fab5ca8ae2a0dad14144f55c02) ) /* Sprites */
3249 ROM_LOAD16_BYTE( "vdk-05.3-1", 0x100001, 0x080000, CRC(ba456d27) SHA1(5485a560ae2c2c8b6fdec314393c02a3de758ef3) ) /* Sprites */
3250
3251 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3252 ROM_LOAD( "vdk-02.126", 0x000000, 0x080000, CRC(b2103274) SHA1(6bbdc912393607cd5306be946327c5ea0178c7a6) ) /* all banked */
3253
3254 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3255 ROM_LOAD( "vdk-03.165", 0x000000, 0x080000, CRC(631776d3) SHA1(ffd76e5b03130252c55eaa6ae7edfee5632dae73) ) /* all banked */
3256
3257 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3258 ROM_LOAD( "ic100.bpr", 0x0000, 0x0100, CRC(98ed1c97) SHA1(f125ad05c3cbd1b1ab356161f9b1d814781d4c3b) ) /* V-sync hw (unused) */
3259 ROM_LOAD( "ic101.bpr", 0x0100, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* H-sync hw (unused) */
3260 ROM_END
3261
3262 ROM_START( vandyjal )
3263 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 68000 code */
3264 ROM_LOAD16_BYTE( "vdk-1.16", 0x00000, 0x20000, CRC(c1d01c59) SHA1(04a7fd31ca4d87d078070390660edf08bf1d96b5) )
3265 ROM_LOAD16_BYTE( "jaleco2.15", 0x00001, 0x20000, CRC(170e4d2e) SHA1(6009d19d30e345fea93e039d165061e2b20ff058) )
3266
3267 ROM_REGION(0x10000, REGION_CPU2, 0 ) /* 64k for sound cpu code */
3268 ROM_LOAD( "vdk-4.127", 0x00000, 0x10000, CRC(eba544f0) SHA1(36f6d048d15a392542a9220a244d8a7049aaff8b) )
3269
3270 ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )
3271 ROM_LOAD( "vdk-3.222", 0x000000, 0x010000, CRC(5a547c1b) SHA1(2d61f51ce2f91ebf0053ce3a00911d1bcbaba816) ) /* 8x8 tiles */
3272
3273 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3274 ROM_LOAD( "vdk-01.13", 0x000000, 0x080000, CRC(195a24be) SHA1(3a20dd746a87efc5c1fdc5025b709efeff82e05e) ) /* 16x16 tiles */
3275
3276 ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
3277 ROM_LOAD16_BYTE( "vdk-07.202", 0x000000, 0x080000, CRC(42d41f06) SHA1(69fd1d38187b8081f65acea2424bc1a0d455d90c) ) /* Sprites */
3278 ROM_LOAD16_BYTE( "vdk-06.203", 0x000001, 0x080000, CRC(d54722a8) SHA1(47f8e97b29ae0ff1a1d7d50734e4219a87a2ed57) ) /* Sprites */
3279 ROM_LOAD16_BYTE( "vdk-04.2-1", 0x100000, 0x080000, CRC(0a730547) SHA1(afac0549eb86d1fab5ca8ae2a0dad14144f55c02) ) /* Sprites */
3280 ROM_LOAD16_BYTE( "vdk-05.3-1", 0x100001, 0x080000, CRC(ba456d27) SHA1(5485a560ae2c2c8b6fdec314393c02a3de758ef3) ) /* Sprites */
3281
3282 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3283 ROM_LOAD( "vdk-02.126", 0x000000, 0x080000, CRC(b2103274) SHA1(6bbdc912393607cd5306be946327c5ea0178c7a6) ) /* all banked */
3284
3285 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3286 ROM_LOAD( "vdk-03.165", 0x000000, 0x080000, CRC(631776d3) SHA1(ffd76e5b03130252c55eaa6ae7edfee5632dae73) ) /* all banked */
3287
3288 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3289 ROM_LOAD( "ic100.bpr", 0x0000, 0x0100, CRC(98ed1c97) SHA1(f125ad05c3cbd1b1ab356161f9b1d814781d4c3b) ) /* V-sync hw (unused) */
3290 ROM_LOAD( "ic101.bpr", 0x0100, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* H-sync hw (unused) */
3291 ROM_END
3292
3293 ROM_START( tharrier )
3294 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3295 ROM_LOAD16_BYTE( "2" , 0x00000, 0x20000, CRC(78923aaa) SHA1(28338f49581180604403e1bd200f524fc4cb8b9f) )
3296 ROM_LOAD16_BYTE( "3" , 0x00001, 0x20000, CRC(99cea259) SHA1(75abfb08b2358dd13809ade5a2dfffeb8b8df82c) )
3297
3298 ROM_REGION( 0x010000, REGION_CPU2, 0 )
3299 ROM_LOAD( "12" , 0x00000, 0x10000, CRC(b959f837) SHA1(073b14935e7d5b0cad19a3471fd26e9e3a363827) )
3300
3301 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3302 ROM_LOAD( "1" , 0x000000, 0x10000, CRC(c7402e4a) SHA1(25cade2f8d4784887f0f51beb48b1e6b695629c2) )
3303
3304 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3305 ROM_LOAD( "89050-4" , 0x000000, 0x80000, CRC(64d7d687) SHA1(dcfeac71fd577439e31cc1186b720388fbdc6ca0) )
3306
3307 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3308 ROM_LOAD16_BYTE( "89050-13", 0x000000, 0x80000, CRC(24db3fa4) SHA1(e0d76c479dfcacf03c04ec4760caecf3fd1e2ff7) ) /* Sprites */
3309 ROM_LOAD16_BYTE( "89050-17", 0x000001, 0x80000, CRC(7f715421) SHA1(bde5e0e1e22519e51ca0fd806909e90cc5b1c5b8) )
3310
3311 ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki sample data */
3312 ROM_LOAD( "89050-8", 0x00000, 0x80000, CRC(11ee4c39) SHA1(163295c385cff963a5bf87dc3e7bef6019e10ba8) )
3313
3314 ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki sample data */
3315 ROM_LOAD( "89050-10", 0x00000, 0x80000, CRC(893552ab) SHA1(b0a34291f4e482858ed295203ae031b17c2dbabc) )
3316
3317 ROM_REGION( 0x140, REGION_PROMS, 0 )
3318 ROM_LOAD( "21.bpr", 0x00000, 0x100, CRC(fcd5efea) SHA1(cbda6b14127dabd1788cc256743cf62efaa5e8c4) )
3319 ROM_LOAD( "22.bpr", 0x00000, 0x100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) )
3320 ROM_LOAD( "23.bpr", 0x00000, 0x020, CRC(fc3569f4) SHA1(e1c498085e4ae9d0a995c94530544b0a5b760fbf) )
3321 ROM_LOAD( "24.bpr", 0x00000, 0x100, CRC(e0a009fe) SHA1(a66a27bb405d4ff8e4c0062273ee9b11e76ee520) )
3322 ROM_LOAD( "25.bpr", 0x00000, 0x100, CRC(e0a009fe) SHA1(a66a27bb405d4ff8e4c0062273ee9b11e76ee520) ) /* same as 24.bin */
3323 ROM_LOAD( "26.bpr", 0x00120, 0x020, CRC(0cbfb33e) SHA1(5dfee031a0a14bcd667fe2af2fa9cdfac3941d22) )
3324 ROM_END
3325
3326 ROM_START( tharierj )
3327 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3328 ROM_LOAD16_BYTE( "2.bin" , 0x00000, 0x20000, CRC(f3887a44) SHA1(4e5b660d33ba1d1e00263030efa67e2db376a234) )
3329 ROM_LOAD16_BYTE( "3.bin" , 0x00001, 0x20000, CRC(65c247f6) SHA1(9f35f2b6f54814b4c4d23e2d78db8043e678fef2) )
3330
3331 ROM_REGION( 0x010000, REGION_CPU2, 0 )
3332 ROM_LOAD( "12" , 0x00000, 0x10000, CRC(b959f837) SHA1(073b14935e7d5b0cad19a3471fd26e9e3a363827) )
3333
3334 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3335 ROM_LOAD( "1.bin" , 0x000000, 0x10000, CRC(005c26c3) SHA1(ee88d8f956b9b0a8ba5fb49c5c05f6ed6f01729c) )
3336
3337 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3338 ROM_LOAD( "89050-4" , 0x000000, 0x80000, CRC(64d7d687) SHA1(dcfeac71fd577439e31cc1186b720388fbdc6ca0) )
3339
3340 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3341 ROM_LOAD16_BYTE( "89050-13", 0x000000, 0x80000, CRC(24db3fa4) SHA1(e0d76c479dfcacf03c04ec4760caecf3fd1e2ff7) ) /* Sprites */
3342 ROM_LOAD16_BYTE( "89050-17", 0x000001, 0x80000, CRC(7f715421) SHA1(bde5e0e1e22519e51ca0fd806909e90cc5b1c5b8) )
3343
3344 ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki sample data */
3345 ROM_LOAD( "89050-8", 0x00000, 0x80000, CRC(11ee4c39) SHA1(163295c385cff963a5bf87dc3e7bef6019e10ba8) )
3346
3347 ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki sample data */
3348 ROM_LOAD( "89050-10", 0x00000, 0x80000, CRC(893552ab) SHA1(b0a34291f4e482858ed295203ae031b17c2dbabc) )
3349
3350 ROM_REGION( 0x140, REGION_PROMS, 0 )
3351 ROM_LOAD( "21.bpr", 0x00000, 0x100, CRC(fcd5efea) SHA1(cbda6b14127dabd1788cc256743cf62efaa5e8c4) )
3352 ROM_LOAD( "22.bpr", 0x00000, 0x100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) )
3353 ROM_LOAD( "23.bpr", 0x00000, 0x020, CRC(fc3569f4) SHA1(e1c498085e4ae9d0a995c94530544b0a5b760fbf) )
3354 ROM_LOAD( "24.bpr", 0x00000, 0x100, CRC(e0a009fe) SHA1(a66a27bb405d4ff8e4c0062273ee9b11e76ee520) )
3355 ROM_LOAD( "25.bpr", 0x00000, 0x100, CRC(e0a009fe) SHA1(a66a27bb405d4ff8e4c0062273ee9b11e76ee520) ) /* same as 24.bin */
3356 ROM_LOAD( "26.bpr", 0x00120, 0x020, CRC(0cbfb33e) SHA1(5dfee031a0a14bcd667fe2af2fa9cdfac3941d22) )
3357 ROM_END
3358
3359 ROM_START( mustang )
3360 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3361 ROM_LOAD16_BYTE( "2.bin", 0x00000, 0x20000, CRC(bd9f7c89) SHA1(a0af46a8ff82b90bece2515e1bd74e7a7ddf5379) )
3362 ROM_LOAD16_BYTE( "3.bin", 0x00001, 0x20000, CRC(0eec36a5) SHA1(c549fbcd3e2741a6d0f2633ded6a85909d37f633) )
3363
3364 ROM_REGION(0x10000, REGION_CPU2, 0 ) /* 64k for sound cpu code */
3365 ROM_LOAD( "90058-7", 0x00000, 0x10000, CRC(920a93c8) SHA1(7660ca419e2fd98848ae7f5994994eaed023151e) )
3366
3367 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3368 ROM_LOAD( "90058-1", 0x00000, 0x20000, CRC(81ccfcad) SHA1(70a0f769c0d4588f6f17bd52cc86a745f30e9f00) )
3369
3370 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3371 ROM_LOAD( "90058-4", 0x000000, 0x80000, CRC(a07a2002) SHA1(55720d84a251c33c52ae8c33aa41ff8ac9727941) )
3372
3373 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3374 ROM_LOAD16_BYTE( "90058-8", 0x00000, 0x80000, CRC(560bff04) SHA1(b005642adc81d878971ecbdead8ef5e604c90ae2) )
3375 ROM_LOAD16_BYTE( "90058-9", 0x00001, 0x80000, CRC(b9d72a03) SHA1(43ee9def1b6c491c6832562d66c1af54d81d9b3c) )
3376
3377 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3378 ROM_LOAD( "90058-5", 0x000000, 0x80000, CRC(c60c883e) SHA1(8a01950cad820b2e781ec81cd12737829edc4f19) )
3379
3380 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3381 ROM_LOAD( "90058-6", 0x000000, 0x80000, CRC(233c1776) SHA1(7010a2f914611698a65bf4f22bc1753a9ed26277) )
3382
3383 ROM_REGION( 0x200, REGION_PROMS, 0 )
3384 ROM_LOAD( "10.bpr", 0x00000, 0x100, CRC(633ab1c9) SHA1(acd99fcca41eaab7948ca84988352f1d7d519c61) ) /* unknown */
3385 ROM_LOAD( "90058-11", 0x00100, 0x100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3386 ROM_END
3387
3388 ROM_START( mustangs )
3389 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3390 ROM_LOAD16_BYTE( "90058-2", 0x00000, 0x20000, CRC(833aa458) SHA1(a9924f7044397e3a36c674b064173ffae80a79ec) )
3391 ROM_LOAD16_BYTE( "90058-3", 0x00001, 0x20000, CRC(e4b80f06) SHA1(ce589cebb5ea85c89eb44796b821a4bd0c44b9a8) )
3392
3393 ROM_REGION(0x10000, REGION_CPU2, 0 ) /* 64k for sound cpu code */
3394 ROM_LOAD( "90058-7", 0x00000, 0x10000, CRC(920a93c8) SHA1(7660ca419e2fd98848ae7f5994994eaed023151e) )
3395
3396 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3397 ROM_LOAD( "90058-1", 0x00000, 0x20000, CRC(81ccfcad) SHA1(70a0f769c0d4588f6f17bd52cc86a745f30e9f00) )
3398
3399 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3400 ROM_LOAD( "90058-4", 0x000000, 0x80000, CRC(a07a2002) SHA1(55720d84a251c33c52ae8c33aa41ff8ac9727941) )
3401
3402 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3403 ROM_LOAD16_BYTE( "90058-8", 0x00000, 0x80000, CRC(560bff04) SHA1(b005642adc81d878971ecbdead8ef5e604c90ae2) )
3404 ROM_LOAD16_BYTE( "90058-9", 0x00001, 0x80000, CRC(b9d72a03) SHA1(43ee9def1b6c491c6832562d66c1af54d81d9b3c) )
3405
3406 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3407 ROM_LOAD( "90058-5", 0x000000, 0x80000, CRC(c60c883e) SHA1(8a01950cad820b2e781ec81cd12737829edc4f19) )
3408
3409 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3410 ROM_LOAD( "90058-6", 0x000000, 0x80000, CRC(233c1776) SHA1(7010a2f914611698a65bf4f22bc1753a9ed26277) )
3411
3412 ROM_REGION( 0x200, REGION_PROMS, 0 )
3413 ROM_LOAD( "90058-10", 0x00000, 0x100, CRC(de156d99) SHA1(07b70deca74e23bab7c13e5e9aee32d0dbb06509) ) /* unknown */
3414 ROM_LOAD( "90058-11", 0x00100, 0x100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3415 ROM_END
3416
3417 ROM_START( mustangb )
3418 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3419 ROM_LOAD16_BYTE( "mustang.14", 0x00000, 0x20000, CRC(13c6363b) SHA1(e2c1985d1c8ec9751c47cd7e1b85e007f3aeb6fd) )
3420 ROM_LOAD16_BYTE( "mustang.13", 0x00001, 0x20000, CRC(d8ccce31) SHA1(e8e3e34a480fcd298f11833c6c968c5df77c0e2a) )
3421
3422 ROM_REGION(0x20000, REGION_CPU2, 0 ) /* 64k for sound cpu code */
3423 ROM_LOAD( "mustang.16", 0x00000, 0x8000, CRC(99ee7505) SHA1(b97c8ee5e26e8554b5de506fba3b32cc2fde53c9) )
3424 ROM_CONTINUE( 0x010000, 0x08000 )
3425 ROM_COPY( REGION_CPU2, 0, 0x018000, 0x08000 )
3426
3427 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3428 ROM_LOAD( "90058-1", 0x00000, 0x20000, CRC(81ccfcad) SHA1(70a0f769c0d4588f6f17bd52cc86a745f30e9f00) )
3429
3430 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3431 ROM_LOAD( "90058-4", 0x000000, 0x80000, CRC(a07a2002) SHA1(55720d84a251c33c52ae8c33aa41ff8ac9727941) )
3432
3433 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3434 ROM_LOAD16_BYTE( "90058-8", 0x00000, 0x80000, CRC(560bff04) SHA1(b005642adc81d878971ecbdead8ef5e604c90ae2) )
3435 ROM_LOAD16_BYTE( "90058-9", 0x00001, 0x80000, CRC(b9d72a03) SHA1(43ee9def1b6c491c6832562d66c1af54d81d9b3c) )
3436
3437 ROM_REGION( 0x010000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3438 ROM_LOAD( "mustang.17", 0x00000, 0x10000, CRC(f6f6c4bf) SHA1(ea4cf74d968e254ae47c16c2f4c2f4bc1a528808) )
3439 ROM_END
3440
3441 ROM_START( acrobatm )
3442 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3443 ROM_LOAD16_BYTE( "02_ic100.bin", 0x00000, 0x20000, CRC(3fe487f4) SHA1(29aba5debcfddff14e584a1c7c5a403e85fc6ec0) )
3444 ROM_LOAD16_BYTE( "01_ic101.bin", 0x00001, 0x20000, CRC(17175753) SHA1(738865744badb78a0414ff650a94b97e516d0ea0) )
3445
3446 ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE )
3447 ROM_LOAD( "03_ic79.bin", 0x000000, 0x10000, CRC(d86c186e) SHA1(2e263d4780f2ba7acc7faa88472c85216fbae6a3) ) /* Characters */
3448
3449 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3450 ROM_LOAD( "09_ic8.bin", 0x000000, 0x100000, CRC(7c12afed) SHA1(ae793e41599355a126cbcce91cd2c9f212d21853) ) /* Foreground */
3451
3452 ROM_REGION( 0x180000, REGION_GFX3, ROMREGION_DISPOSE )
3453 ROM_LOAD( "07_ic42.bin", 0x000000, 0x100000, CRC(5672bdaa) SHA1(5401a104d72904de19b73125451767bc63d36809) ) /* Sprites */
3454 ROM_LOAD( "08_ic29.bin", 0x100000, 0x080000, CRC(b4c0ace3) SHA1(5d638781d588cfbf4025d002d5a2309049fe1ee5) )
3455
3456 ROM_REGION( 0x10000, REGION_CPU2, 0 )
3457 ROM_LOAD( "04_ic74.bin", 0x00000, 0x10000, CRC(176905fb) SHA1(135a184f44bedd93b293b9124fa0bd725e0ee93b) )
3458
3459 ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3460 ROM_LOAD( "05_ic54.bin", 0x00000, 0x80000, CRC(3b8c2b0e) SHA1(72491da32512823540b67dc5027f21c74af08c7d) )
3461
3462 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3463 ROM_LOAD( "06_ic53.bin", 0x00000, 0x80000, CRC(c1517cd4) SHA1(5a91ddc608c7a6fbdd9f93e503d39eac02ef04a4) )
3464
3465 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3466 ROM_LOAD( "10_ic81.bin", 0x0000, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3467 ROM_LOAD( "11_ic80.bin", 0x0100, 0x0100, CRC(633ab1c9) SHA1(acd99fcca41eaab7948ca84988352f1d7d519c61) ) /* unknown */
3468 ROM_END
3469
3470 ROM_START( bioship )
3471 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3472 ROM_LOAD16_BYTE( "2", 0x00000, 0x20000, CRC(acf56afb) SHA1(0e8ec494ab406cfee24cf586059878332265de75) )
3473 ROM_LOAD16_BYTE( "1", 0x00001, 0x20000, CRC(820ef303) SHA1(d2ef29557b05abf8ae79a2c7ce0d15a91b36eeff) )
3474
3475 ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE )
3476 ROM_LOAD( "7", 0x000000, 0x10000, CRC(2f3f5a10) SHA1(c1006eb755eec75f69dc7972d78d0c59088eb140) ) /* Characters */
3477
3478 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
3479 ROM_LOAD( "sbs-g.01", 0x000000, 0x80000, CRC(21302e78) SHA1(a17939c0529c8e9ec2a4edd5e6be4bcb67f86787) ) /* Foreground */
3480
3481 ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE )
3482 ROM_LOAD( "sbs-g.03", 0x000000, 0x80000, CRC(60e00d7b) SHA1(36fd02a7842ce1e79b8c4cfbe9c97052bef4aa62) ) /* Sprites */
3483
3484 ROM_REGION( 0x80000, REGION_GFX4, ROMREGION_DISPOSE )
3485 ROM_LOAD( "sbs-g.02", 0x000000, 0x80000, CRC(f31eb668) SHA1(67d6d56ea203edfbae4db658399bf61f14134206) ) /* Background */
3486
3487 ROM_REGION16_BE(0x20000, REGION_GFX5, 0 ) /* Background tilemaps (used at runtime) */
3488 ROM_LOAD16_BYTE( "8", 0x00000, 0x10000, CRC(75a46fea) SHA1(3d78cfc482b42779bb5aedb722c4a39cbc71bd10) )
3489 ROM_LOAD16_BYTE( "9", 0x00001, 0x10000, CRC(d91448ee) SHA1(7f84ca3605edcab4bf226dab8dd7218cd5c3e5a4) )
3490
3491 ROM_REGION( 0x10000, REGION_CPU2, 0 )
3492 ROM_LOAD( "6", 0x00000, 0x10000, CRC(5f39a980) SHA1(2a440f86685249f9c317634cad8cdedc8a8f1491) )
3493
3494 ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki sample data */
3495 ROM_LOAD( "sbs-g.04", 0x00000, 0x80000, CRC(7c74cc4e) SHA1(92097b372eacabdb9e8e261b0bc4223821ff9273) )
3496
3497 ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki sample data */
3498 ROM_LOAD( "sbs-g.05", 0x00000, 0x80000, CRC(f0a782e3) SHA1(d572226b8e597f1c34d246cb284e047a6e2d9290) )
3499 ROM_END
3500
3501 ROM_START( blkheart )
3502 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3503 ROM_LOAD16_BYTE( "blkhrt.7", 0x00000, 0x20000, CRC(5bd248c0) SHA1(0649f4f8682404aeb3fc80643fcabc2d7836bb23) )
3504 ROM_LOAD16_BYTE( "blkhrt.6", 0x00001, 0x20000, CRC(6449e50d) SHA1(d8cd126d921c95478346da96c20da01212395d77) )
3505
3506 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Code for (unknown?) CPU */
3507 ROM_LOAD( "4.bin", 0x00000, 0x10000, CRC(7cefa295) SHA1(408f46613b3620cee31dec43281688d231b47ddd) )
3508
3509 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3510 ROM_LOAD( "3.bin", 0x000000, 0x020000, CRC(a1ab3a16) SHA1(3fb57c9d2ef94ee188cbadd70378ae6f4407e71d) ) /* 8x8 tiles */
3511
3512 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3513 ROM_LOAD( "90068-5.bin", 0x000000, 0x100000, CRC(a1ab4f24) SHA1(b9f8104d53eda87ccd4000d049ee74ac9aa20b3e) ) /* 16x16 tiles */
3514
3515 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3516 ROM_LOAD16_WORD_SWAP( "90068-8.bin", 0x000000, 0x100000, CRC(9d3204b2) SHA1(b37a246ad37f9ce092b371f01122ddf2bc8b2db6) ) /* Sprites */
3517
3518 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3519 ROM_LOAD( "90068-1.bin", 0x000000, 0x080000, CRC(e7af69d2) SHA1(da050880e186954bcf0e0adf00750dd5a371551b) ) /* all banked */
3520
3521 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3522 ROM_LOAD( "90068-2.bin", 0x000000, 0x080000, CRC(3a583184) SHA1(9226f1ea7725e4b48bb055d1c17389cf960d75f8) ) /* all banked */
3523
3524 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3525 ROM_LOAD( "9.bpr", 0x0000, 0x0100, CRC(98ed1c97) SHA1(f125ad05c3cbd1b1ab356161f9b1d814781d4c3b) ) /* unknown */
3526 ROM_LOAD( "10.bpr", 0x0100, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3527 ROM_END
3528
3529 ROM_START( blkhearj )
3530 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3531 ROM_LOAD16_BYTE( "7.bin", 0x00000, 0x20000, CRC(e0a5c667) SHA1(3ef39b2dc1f7ffdddf586f0b3080ecd1f362ec37) )
3532 ROM_LOAD16_BYTE( "6.bin", 0x00001, 0x20000, CRC(7cce45e8) SHA1(72491e30d1f9be2eede21fdde5a7484d4f65cfbf) )
3533
3534 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Code for (unknown?) CPU */
3535 ROM_LOAD( "4.bin", 0x00000, 0x10000, CRC(7cefa295) SHA1(408f46613b3620cee31dec43281688d231b47ddd) )
3536
3537 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3538 ROM_LOAD( "3.bin", 0x000000, 0x020000, CRC(a1ab3a16) SHA1(3fb57c9d2ef94ee188cbadd70378ae6f4407e71d) ) /* 8x8 tiles */
3539
3540 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3541 ROM_LOAD( "90068-5.bin", 0x000000, 0x100000, CRC(a1ab4f24) SHA1(b9f8104d53eda87ccd4000d049ee74ac9aa20b3e) ) /* 16x16 tiles */
3542
3543 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3544 ROM_LOAD16_WORD_SWAP( "90068-8.bin", 0x000000, 0x100000, CRC(9d3204b2) SHA1(b37a246ad37f9ce092b371f01122ddf2bc8b2db6) ) /* Sprites */
3545
3546 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3547 ROM_LOAD( "90068-1.bin", 0x000000, 0x080000, CRC(e7af69d2) SHA1(da050880e186954bcf0e0adf00750dd5a371551b) ) /* all banked */
3548
3549 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3550 ROM_LOAD( "90068-2.bin", 0x000000, 0x080000, CRC(3a583184) SHA1(9226f1ea7725e4b48bb055d1c17389cf960d75f8) ) /* all banked */
3551
3552 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3553 ROM_LOAD( "9.bpr", 0x0000, 0x0100, CRC(98ed1c97) SHA1(f125ad05c3cbd1b1ab356161f9b1d814781d4c3b) ) /* unknown */
3554 ROM_LOAD( "10.bpr", 0x0100, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3555 ROM_END
3556
3557 ROM_START( tdragon )
3558 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code -bitswapped- */
3559 ROM_LOAD16_BYTE( "thund.8", 0x00000, 0x20000, CRC(edd02831) SHA1(d6bc8d2c37707768a8bf666090f33eea12dda336) )
3560 ROM_LOAD16_BYTE( "thund.7", 0x00001, 0x20000, CRC(52192fe5) SHA1(9afef197410e7feb71dc48003e181fbbaf5c99b2) )
3561
3562 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3563 ROM_LOAD( "thund.6", 0x000000, 0x20000, CRC(fe365920) SHA1(7581931cb95cd5a8ed40e4f5385b533e3d19af22) ) /* 8x8 tiles */
3564
3565 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3566 ROM_LOAD( "thund.5", 0x000000, 0x100000, CRC(d0bde826) SHA1(3b74d5fc88a4a9329e101ee72f393608d327d816) ) /* 16x16 tiles */
3567
3568 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3569 ROM_LOAD16_WORD_SWAP( "thund.4", 0x000000, 0x100000, CRC(3eedc2fe) SHA1(9f48986c231a8fbc07f2b39b2017d1e967b2ed3c) ) /* Sprites */
3570
3571 ROM_REGION( 0x010000, REGION_CPU2, 0 ) /* Code for (unknown?) CPU */
3572 ROM_LOAD( "thund.1", 0x00000, 0x10000, CRC(bf493d74) SHA1(6f8f5eff4b71fb6cabda10075cfa88a3f607859e) )
3573
3574 ROM_REGION( 0x100000, REGION_SOUND1, 0 ) /* OKIM6295 samples? */
3575 ROM_LOAD( "thund.2", 0x00000, 0x80000, CRC(ecfea43e) SHA1(d664dfa6698fec8e602523bdae16068f1ff6547b) )
3576 ROM_LOAD( "thund.3", 0x80000, 0x80000, CRC(ae6875a8) SHA1(bfdb350b3d3fce2bead1ac60875beafe427765ed) )
3577
3578 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3579 ROM_LOAD( "9.bin", 0x0000, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3580 ROM_LOAD( "10.bin", 0x0100, 0x0100, CRC(e6ead349) SHA1(6d81b1c0233580aa48f9718bade42d640e5ef3dd) ) /* unknown */
3581 ROM_END
3582
3583 ROM_START( tdragonb )
3584 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code -bitswapped- */
3585 ROM_LOAD16_BYTE( "td_04.bin", 0x00000, 0x20000, CRC(e8a62d3e) SHA1(dd221bcd80149fffb1bdddfd3d394996bd2f8ec5) )
3586 ROM_LOAD16_BYTE( "td_03.bin", 0x00001, 0x20000, CRC(2fa1aa04) SHA1(ddf2b2ff179c31a1677d15d0403b00d77f9f0a6c) )
3587
3588 ROM_REGION(0x20000, REGION_CPU2, 0 ) /* 64k for sound cpu code */
3589 ROM_LOAD( "td_02.bin", 0x00000, 0x8000, CRC(99ee7505) SHA1(b97c8ee5e26e8554b5de506fba3b32cc2fde53c9) )
3590 ROM_CONTINUE( 0x010000, 0x08000 )
3591 ROM_COPY( REGION_CPU2, 0, 0x018000, 0x08000 )
3592
3593 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3594 ROM_LOAD( "td_08.bin", 0x000000, 0x20000, CRC(5144dc69) SHA1(e64d88dc0e7672f811868621f74ec209aeafbc6f) ) /* 8x8 tiles */
3595
3596 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3597 ROM_LOAD( "td_06.bin", 0x000000, 0x80000, CRC(c1be8a4d) SHA1(6269fd7fccf1546a01bab755d8b6b7dcffc1166e) ) /* 16x16 tiles */
3598 ROM_LOAD( "td_07.bin", 0x080000, 0x80000, CRC(2c3e371f) SHA1(77956425661f4f81c370fff63845d42057fcaec3) ) /* 16x16 tiles */
3599
3600 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3601 ROM_LOAD16_BYTE( "td_10.bin", 0x000000, 0x080000, CRC(bfd0ec5d) SHA1(7983661f74e8695f56e45c6e5c278d7d86431052) ) /* Sprites */
3602 ROM_LOAD16_BYTE( "td_09.bin", 0x000001, 0x080000, CRC(b6e074eb) SHA1(bdde068f03415391b5edaa42f1389df0f7eef899) ) /* Sprites */
3603
3604 ROM_REGION( 0x010000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3605 ROM_LOAD( "td_01.bin", 0x00000, 0x10000, CRC(f6f6c4bf) SHA1(ea4cf74d968e254ae47c16c2f4c2f4bc1a528808) )
3606 ROM_END
3607
3608 ROM_START( ssmissin )
3609 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3610 ROM_LOAD16_BYTE( "ssm14.165", 0x00001, 0x20000, CRC(eda61b74) SHA1(6247682c27d2be7dff1fad407ccf86fe2a25f11c) )
3611 ROM_LOAD16_BYTE( "ssm15.166", 0x00000, 0x20000, CRC(aff15927) SHA1(258c2722ac7ca50360bfefa7b4e621373975a835) )
3612
3613 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3614 ROM_LOAD( "ssm16.172", 0x000000, 0x20000, CRC(5cf6eb1f) SHA1(d406b11cf06ae1afc57a50685689e358e5677a45) ) /* 8x8 tiles */
3615
3616 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3617 ROM_LOAD( "ssm17.147", 0x000000, 0x080000, CRC(c9c28455) SHA1(6a3e754aff3f368bde0e8905c33074084ad6ac30) ) /* 16x16 tiles */
3618 ROM_LOAD( "ssm18.148", 0x080000, 0x080000, CRC(ebfdaad6) SHA1(0814cdfe83f36a7dd7b5416f9d0478192733dac0) ) /* 16x16 tiles */
3619
3620 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3621 ROM_LOAD16_BYTE( "ssm20.34", 0x000001, 0x080000, CRC(a0c16c4d) SHA1(e198f69b4d8660e33851a2631b5411611b1b2ea6) ) /* 16x16 tiles */
3622 ROM_LOAD16_BYTE( "ssm19.33", 0x000000, 0x080000, CRC(b1943657) SHA1(97c05483b634315af338434bd2f565cc151a7283) ) /* 16x16 tiles */
3623
3624 ROM_REGION( 0x010000, REGION_CPU2, 0 ) /* Code for Sound CPU */
3625 ROM_LOAD( "ssm11.188", 0x00000, 0x08000, CRC(8be6dce3) SHA1(d9a235c36e0bc44025c291247d6b0b753e4bc0c8) )
3626
3627 ROM_REGION( 0x100000, REGION_SOUND1, 0 ) /* OKIM6295 samples? */
3628 ROM_LOAD( "ssm13.190", 0x00000, 0x20000, CRC(618f66f0) SHA1(97637a03d9fd82305e872e9bfa489862c974bb6c) )
3629 ROM_LOAD( "ssm12.189", 0x80000, 0x80000, CRC(e8219c83) SHA1(68673d071a58ca2bfd2de344a830417d10bc5757) ) /* banked */
3630
3631 ROM_REGION( 0x0300, REGION_PROMS, 0 )
3632 ROM_LOAD( "ssm-pr2.113", 0x0000, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3633 ROM_LOAD( "ssm-pr1.114", 0x0100, 0x0200, CRC(ed0bd072) SHA1(66a6d435d8587c82ae96dd09c39ed5749fe00e24) ) /* unknown */
3634 ROM_END
3635
3636
3637 ROM_START( strahl )
3638 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3639 ROM_LOAD16_BYTE( "strahl-2.82", 0x00000, 0x20000, CRC(c9d008ae) SHA1(e9218a3143d5887e702df051354a9083a806c69c) )
3640 ROM_LOAD16_BYTE( "strahl-1.83", 0x00001, 0x20000, CRC(afc3c4d6) SHA1(ab3dd7db692eb01e3a87f4216d322a702f3beaad) )
3641
3642 ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE )
3643 ROM_LOAD( "strahl-3.73", 0x000000, 0x10000, CRC(2273b33e) SHA1(fa53e91b80dfea3f8b2c1f0ce66e5c6920c4960f) ) /* Characters */
3644
3645 ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
3646 ROM_LOAD( "str7b2r0.275", 0x000000, 0x40000, CRC(5769e3e1) SHA1(7d7a16b11027d0a7618df1ec1e3484224b772e90) ) /* Tiles */
3647
3648 ROM_REGION( 0x180000, REGION_GFX3, ROMREGION_DISPOSE )
3649 ROM_LOAD( "strl3-01.32", 0x000000, 0x80000, CRC(d8337f15) SHA1(4df23fff2506b66a94dae4e0cf7d25499936b942) ) /* Sprites */
3650 ROM_LOAD( "strl4-02.57", 0x080000, 0x80000, CRC(2a38552b) SHA1(82335fc6aa3de9145dd84952e5ed423493bf7141) )
3651 ROM_LOAD( "strl5-03.58", 0x100000, 0x80000, CRC(a0e7d210) SHA1(96a762a3a1cdeaa91bde50429e0ac665fb81190b) )
3652
3653 ROM_REGION( 0x80000, REGION_GFX4, ROMREGION_DISPOSE )
3654 ROM_LOAD( "str6b1w1.776", 0x000000, 0x80000, CRC(bb1bb155) SHA1(83a02e89180e15f0e7817e0e92b4bf4e209bb69a) ) /* Tiles */
3655
3656 ROM_REGION( 0x10000, REGION_CPU2, 0 )
3657 ROM_LOAD( "strahl-4.66", 0x00000, 0x10000, CRC(60a799c4) SHA1(8ade3cf827a389f7cb4080957dc4d67077ea4166) )
3658
3659 ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* Oki sample data */
3660 ROM_LOAD( "str8pmw1.540", 0x00000, 0x80000, CRC(01d6bb6a) SHA1(b157f6f921483ed8067a7e13e370f73fdb60d136) )
3661
3662 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Oki sample data */
3663 ROM_LOAD( "str9pew1.639", 0x00000, 0x80000, CRC(6bb3eb9f) SHA1(9c1394df4f8a08f9098c85eb3d38fb862d6eabbb) )
3664 ROM_END
3665
3666 ROM_START( strahla )
3667 ROM_REGION( 0x40000, REGION_CPU1, 0 )
3668 ROM_LOAD16_BYTE( "rom2", 0x00000, 0x20000, CRC(f80a22ef) SHA1(22099eb0bbb445702e0276713c3e48d60de60c30) )
3669 ROM_LOAD16_BYTE( "rom1", 0x00001, 0x20000, CRC(802ecbfc) SHA1(cc776023c7bd6b6d6af9659a0c822a2887e50199) )
3670
3671 ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE )
3672 ROM_LOAD( "strahl-3.73", 0x000000, 0x10000, CRC(2273b33e) SHA1(fa53e91b80dfea3f8b2c1f0ce66e5c6920c4960f) ) /* Characters */
3673
3674 ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
3675 ROM_LOAD( "str7b2r0.275", 0x000000, 0x40000, CRC(5769e3e1) SHA1(7d7a16b11027d0a7618df1ec1e3484224b772e90) ) /* Tiles */
3676
3677 ROM_REGION( 0x180000, REGION_GFX3, ROMREGION_DISPOSE )
3678 ROM_LOAD( "strl3-01.32", 0x000000, 0x80000, CRC(d8337f15) SHA1(4df23fff2506b66a94dae4e0cf7d25499936b942) ) /* Sprites */
3679 ROM_LOAD( "strl4-02.57", 0x080000, 0x80000, CRC(2a38552b) SHA1(82335fc6aa3de9145dd84952e5ed423493bf7141) )
3680 ROM_LOAD( "strl5-03.58", 0x100000, 0x80000, CRC(a0e7d210) SHA1(96a762a3a1cdeaa91bde50429e0ac665fb81190b) )
3681
3682 ROM_REGION( 0x80000, REGION_GFX4, ROMREGION_DISPOSE )
3683 ROM_LOAD( "str6b1w1.776", 0x000000, 0x80000, CRC(bb1bb155) SHA1(83a02e89180e15f0e7817e0e92b4bf4e209bb69a) ) /* Tiles */
3684
3685 ROM_REGION( 0x10000, REGION_CPU2, 0 )
3686 ROM_LOAD( "strahl-4.66", 0x00000, 0x10000, CRC(60a799c4) SHA1(8ade3cf827a389f7cb4080957dc4d67077ea4166) )
3687
3688 ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* Oki sample data */
3689 ROM_LOAD( "str8pmw1.540", 0x00000, 0x80000, CRC(01d6bb6a) SHA1(b157f6f921483ed8067a7e13e370f73fdb60d136) )
3690
3691 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* Oki sample data */
3692 ROM_LOAD( "str9pew1.639", 0x00000, 0x80000, CRC(6bb3eb9f) SHA1(9c1394df4f8a08f9098c85eb3d38fb862d6eabbb) )
3693 ROM_END
3694
3695 ROM_START( hachamf )
3696 ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 68000 code */
3697 ROM_LOAD16_BYTE( "hmf_07.rom", 0x00000, 0x20000, CRC(9d847c31) SHA1(1d370d8db9cadadb9c2cb213e32f681947d81b7f) )
3698 ROM_LOAD16_BYTE( "hmf_06.rom", 0x00001, 0x20000, CRC(de6408a0) SHA1(2df77fecd44d2d8b0444abd4545923213ed76b2d) )
3699
3700 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* unknown - sound cpu ?????? */
3701 ROM_LOAD( "hmf_01.rom", 0x00000, 0x10000, CRC(9e6f48fc) SHA1(aeb5bfecc025b5478f6de874792fc0f7f54932be) )
3702
3703 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3704 ROM_LOAD( "hmf_05.rom", 0x000000, 0x020000, CRC(29fb04a2) SHA1(9654b90a66d0e2a0f9cd369cab29cdd0c6f77869) ) /* 8x8 tiles */
3705
3706 ROM_REGION( 0x080000, REGION_GFX2, ROMREGION_DISPOSE )
3707 ROM_LOAD( "hmf_04.rom", 0x000000, 0x080000, CRC(05a624e3) SHA1(e1b686b36c0adedfddf70eeb6411671bbcd897d8) ) /* 16x16 tiles */
3708
3709 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3710 ROM_LOAD16_WORD_SWAP( "hmf_08.rom", 0x000000, 0x100000, CRC(7fd0f556) SHA1(d1b4bec0946869d3d7bcb870d9ae3bd17395a231) ) /* Sprites */
3711
3712 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3713 ROM_LOAD( "hmf_02.rom", 0x000000, 0x080000, CRC(3f1e67f2) SHA1(413e78587d8a043a0eb94447313ba1b3c5b35be5) )
3714
3715 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3716 ROM_LOAD( "hmf_03.rom", 0x000000, 0x080000, CRC(b25ed93b) SHA1(d7bc686bbccf982f40420a11158aa8e5dd4207c5) )
3717 ROM_END
3718
3719 ROM_START( macross )
3720 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3721 ROM_LOAD16_WORD_SWAP( "921a03", 0x00000, 0x80000, CRC(33318d55) SHA1(c99f85e09bd334dc8ce138b08cbed2331b0d67dd) )
3722
3723 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound program (unknown CPU) */
3724 ROM_LOAD( "921a02", 0x00000, 0x10000, CRC(77c082c7) SHA1(be07aa14d0116f830f98e11a19f1debb48a5230e) )
3725
3726 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3727 ROM_LOAD( "921a01", 0x000000, 0x020000, CRC(bbd8242d) SHA1(7cf4897be1278e1190f499f00bc78384817a5160) ) /* 8x8 tiles */
3728
3729 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
3730 ROM_LOAD( "921a04", 0x000000, 0x200000, CRC(4002e4bb) SHA1(281433d798ac85c84d4f1f3751a3032e8a3b5cd4) ) /* 16x16 tiles */
3731
3732 ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
3733 ROM_LOAD16_WORD_SWAP( "921a07", 0x000000, 0x200000, CRC(7d2bf112) SHA1(1997c99c2d3998096842abd1cee89e0e6ab43a47) ) /* Sprites */
3734
3735 ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3736 ROM_LOAD( "921a05", 0x000000, 0x080000, CRC(d5a1eddd) SHA1(42b5b255f02b9c6d856b1578af9a5dfc51ea6ebb) )
3737
3738 ROM_REGION( 0x80000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3739 ROM_LOAD( "921a06", 0x000000, 0x080000, CRC(89461d0f) SHA1(b7d27d0ee0b7ab44c20ab710b567f64fc3afb90c) )
3740
3741 ROM_REGION( 0x0220, REGION_PROMS, 0 )
3742 ROM_LOAD( "921a08", 0x0000, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
3743 ROM_LOAD( "921a09", 0x0100, 0x0100, CRC(633ab1c9) SHA1(acd99fcca41eaab7948ca84988352f1d7d519c61) ) /* unknown */
3744 ROM_LOAD( "921a10", 0x0200, 0x0020, CRC(8371e42d) SHA1(6cfd70dfa00e85ec1df8832d41df331cc3e3733a) ) /* unknown */
3745 ROM_END
3746
3747 ROM_START( gunnail )
3748 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3749 ROM_LOAD16_BYTE( "3e.bin", 0x00000, 0x40000, CRC(61d985b2) SHA1(96daca603f18accb47f98a3e584b2c84fc5a2ca4) )
3750 ROM_LOAD16_BYTE( "3o.bin", 0x00001, 0x40000, CRC(f114e89c) SHA1(a12f5278167f446bb5277e87289c41b5aa365c86) )
3751
3752 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Code for (unknown?) CPU */
3753 ROM_LOAD( "92077_2.bin", 0x00000, 0x10000, CRC(cd4e55f8) SHA1(92182767ca0ec37ec4949bd1a88c2efdcdcb60ed) )
3754
3755 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3756 ROM_LOAD( "1.bin", 0x000000, 0x020000, CRC(3d00a9f4) SHA1(91a82e3e74c8774d7f8b2adceb228b97010facfd) ) /* 8x8 tiles */
3757
3758 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3759 ROM_LOAD( "92077-4.bin", 0x000000, 0x100000, CRC(a9ea2804) SHA1(14dbdb3c7986db5e44dc7c5be6fcf39f3d1e50b0) ) /* 16x16 tiles */
3760
3761 ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
3762 ROM_LOAD16_WORD_SWAP( "92077-7.bin", 0x000000, 0x200000, CRC(d49169b3) SHA1(565ff7725dd6ace79b55706114132d8d867e81a9) ) /* Sprites */
3763
3764 ROM_REGION( 0x080000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3765 ROM_LOAD( "92077-6.bin", 0x000000, 0x080000, CRC(6d133f0d) SHA1(8a5e6e27a297196f20e4de0d060f1188115809bb) ) /* all banked */
3766
3767 ROM_REGION( 0x080000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3768 ROM_LOAD( "92077-5.bin", 0x000000, 0x080000, CRC(feb83c73) SHA1(b44e9d20b4af02e218c4bc875d66a7d6b8551cae) ) /* all banked */
3769
3770 ROM_REGION( 0x0220, REGION_PROMS, 0 )
3771 ROM_LOAD( "8.bpr", 0x0000, 0x0100, CRC(4299776e) SHA1(683d14d2ace14965f0fcfe0f0540c1b77d2cece5) ) /* unknown */
3772 ROM_LOAD( "9.bpr", 0x0100, 0x0100, CRC(633ab1c9) SHA1(acd99fcca41eaab7948ca84988352f1d7d519c61) ) /* unknown */
3773 ROM_LOAD( "10.bpr", 0x0200, 0x0020, CRC(c60103c8) SHA1(dfb05b704bb5e1f75f5aaa4fa36e8ddcc905f8b6) ) /* unknown */
3774 ROM_END
3775
3776 ROM_START( macross2 )
3777 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3778 ROM_LOAD16_WORD_SWAP( "mcrs2j.3", 0x00000, 0x80000, CRC(36a618fe) SHA1(56fdb2bcb4a39888cfbaf9692d66335524a6ac0c) )
3779
3780 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* Z80 code */
3781 ROM_LOAD( "mcrs2j.2", 0x00000, 0x20000, CRC(b4aa8ac7) SHA1(73a6de56cbfb468450d9b39fcbae0362f242f37b) )
3782 ROM_RELOAD( 0x10000, 0x20000 ) /* banked */
3783
3784 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3785 ROM_LOAD( "mcrs2j.1", 0x000000, 0x020000, CRC(c7417410) SHA1(41431d8f1ff4d66baf1a8518a0b0c0125d1d71d4) ) /* 8x8 tiles */
3786
3787 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
3788 ROM_LOAD( "bp932an.a04", 0x000000, 0x200000, CRC(c4d77ff0) SHA1(aca60a3f5f89265e7e3799e5d80ea8196fb11ff3) ) /* 16x16 tiles */
3789
3790 ROM_REGION( 0x400000, REGION_GFX3, ROMREGION_DISPOSE )
3791 ROM_LOAD16_WORD_SWAP( "bp932an.a07", 0x000000, 0x200000, CRC(aa1b21b9) SHA1(133822e3d8628aa4eb3e62fbd054956799423b98) ) /* Sprites */
3792 ROM_LOAD16_WORD_SWAP( "bp932an.a08", 0x200000, 0x200000, CRC(67eb2901) SHA1(25e0f9fda1a8c0c2b59616dd153cb6dcb459d2d9) )
3793
3794 ROM_REGION( 0x240000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3795 ROM_LOAD( "bp932an.a06", 0x040000, 0x200000, CRC(ef0ffec0) SHA1(fd72cc77e02d1a00bf27e77a33d7dab5f6ba1cb4) ) /* all banked */
3796
3797 ROM_REGION( 0x140000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3798 ROM_LOAD( "bp932an.a05", 0x040000, 0x100000, CRC(b5335abb) SHA1(f4eaf4e465eeca31741d432ee46ed39ffcd92cca) ) /* all banked */
3799
3800 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3801 ROM_LOAD( "mcrs2bpr.9", 0x0000, 0x0100, CRC(435653a2) SHA1(575b4a46ea65179de3042614da438d2f6d8b572e) ) /* unknown */
3802 ROM_LOAD( "mcrs2bpr.10", 0x0100, 0x0100, CRC(e6ead349) SHA1(6d81b1c0233580aa48f9718bade42d640e5ef3dd) ) /* unknown */
3803 ROM_END
3804
3805 ROM_START( tdragon2 )
3806 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3807 ROM_LOAD16_WORD_SWAP( "6.bin", 0x00000, 0x80000, CRC(310d6bca) SHA1(f46ad1d13cf5014aef1f0e8862b369ab31c22866) )
3808
3809 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* Z80 code */
3810 ROM_LOAD( "5.bin", 0x00000, 0x20000, CRC(b870be61) SHA1(ea5d45c3a3ab805e55806967f00167cf6366212e) )
3811 ROM_RELOAD( 0x10000, 0x20000 ) /* banked */
3812
3813 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3814 ROM_LOAD( "1.bin", 0x000000, 0x020000, CRC(d488aafa) SHA1(4d05e7ca075b638dd90ae4c9f224817a8a3ae9f3) ) /* 8x8 tiles */
3815
3816 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
3817 ROM_LOAD( "ww930914.2", 0x000000, 0x200000, CRC(f968c65d) SHA1(fd6d21bba53f945b1597d7d0735bc62dd44d5498) ) /* 16x16 tiles */
3818
3819 ROM_REGION( 0x400000, REGION_GFX3, ROMREGION_DISPOSE )
3820 ROM_LOAD16_WORD_SWAP( "ww930917.7", 0x000000, 0x200000, CRC(b98873cb) SHA1(cc19200865176e940ff68e12de81f029b51c2084) ) /* Sprites */
3821 ROM_LOAD16_WORD_SWAP( "ww930918.8", 0x200000, 0x200000, CRC(baee84b2) SHA1(b325b00e6147266dbdc840e03556004531dc2038) )
3822
3823 ROM_REGION( 0x240000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3824 ROM_LOAD( "ww930916.4", 0x040000, 0x200000, CRC(07c35fe6) SHA1(33547bd88764704310f2ef8cf3bfe21ceb56d5b7) ) /* all banked */
3825
3826 ROM_REGION( 0x240000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3827 ROM_LOAD( "ww930915.3", 0x040000, 0x200000, CRC(82025bab) SHA1(ac6053700326ea730d00ec08193e2c8a2a019f0b) ) /* all banked */
3828
3829 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3830 ROM_LOAD( "9.bpr", 0x0000, 0x0100, CRC(435653a2) SHA1(575b4a46ea65179de3042614da438d2f6d8b572e) ) /* unknown */
3831 ROM_LOAD( "10.bpr", 0x0100, 0x0100, CRC(e6ead349) SHA1(6d81b1c0233580aa48f9718bade42d640e5ef3dd) ) /* unknown */
3832 ROM_END
3833
3834 ROM_START( bigbang )
3835 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3836 ROM_LOAD16_WORD_SWAP( "eprom.3", 0x00000, 0x80000, CRC(28e5957a) SHA1(fe4f870a9c2235cc02b4e036a2a4116f071d59ad) )
3837
3838 ROM_REGION( 0x30000, REGION_CPU2, 0 ) /* Z80 code */
3839 ROM_LOAD( "5.bin", 0x00000, 0x20000, CRC(b870be61) SHA1(ea5d45c3a3ab805e55806967f00167cf6366212e) )
3840 ROM_RELOAD( 0x10000, 0x20000 ) /* banked */
3841
3842 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3843 ROM_LOAD( "1.bin", 0x000000, 0x020000, CRC(d488aafa) SHA1(4d05e7ca075b638dd90ae4c9f224817a8a3ae9f3) ) /* 8x8 tiles */
3844
3845 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
3846 ROM_LOAD( "ww930914.2", 0x000000, 0x200000, CRC(f968c65d) SHA1(fd6d21bba53f945b1597d7d0735bc62dd44d5498) ) /* 16x16 tiles */
3847
3848 ROM_REGION( 0x400000, REGION_GFX3, ROMREGION_DISPOSE )
3849 ROM_LOAD16_WORD_SWAP( "ww930917.7", 0x000000, 0x200000, CRC(b98873cb) SHA1(cc19200865176e940ff68e12de81f029b51c2084) ) /* Sprites */
3850 ROM_LOAD16_WORD_SWAP( "ww930918.8", 0x200000, 0x200000, CRC(baee84b2) SHA1(b325b00e6147266dbdc840e03556004531dc2038) )
3851
3852 ROM_REGION( 0x240000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3853 ROM_LOAD( "ww930916.4", 0x040000, 0x200000, CRC(07c35fe6) SHA1(33547bd88764704310f2ef8cf3bfe21ceb56d5b7) ) /* all banked */
3854
3855 ROM_REGION( 0x240000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3856 ROM_LOAD( "ww930915.3", 0x040000, 0x200000, CRC(82025bab) SHA1(ac6053700326ea730d00ec08193e2c8a2a019f0b) ) /* all banked */
3857
3858 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3859 ROM_LOAD( "9.bpr", 0x0000, 0x0100, CRC(435653a2) SHA1(575b4a46ea65179de3042614da438d2f6d8b572e) ) /* unknown */
3860 ROM_LOAD( "10.bpr", 0x0100, 0x0100, CRC(e6ead349) SHA1(6d81b1c0233580aa48f9718bade42d640e5ef3dd) ) /* unknown */
3861 ROM_END
3862
3863 /*
3864
3865 Rapid Hero
3866 NMK, 1994
3867
3868 The main board has no ROMs at all except 3 PROMs. There is a plug-in daughter
3869 board that holds all the ROMs. It has the capacity for 3 socketed EPROMS and 7x
3870 16M MASK ROMs total.
3871
3872
3873 PCB Layout (Main board)
3874 -----------------------
3875
3876 AWA94099
3877 -----------------------------------------------------------------------
3878 | YM2203 TMP90C841 6264 DSW2(8) 62256 62256 6116 62256 62256 6116 |
3879 | 6295 NMK112 12MHz DSW1(8) |
3880 | YM3014B 6295 16MHz NMK005 62256 62256 6116 62256 62256 6116 |
3881 |J ----------------- |
3882 |A | | |
3883 |M ----------------- |
3884 |M PROM3 NMK009 NMK009 |
3885 |A NMK111 6116 6116 NMK008 |
3886 | |-| 6116 6116 |
3887 |6116 | | NMK902 ----------------- |
3888 |6116 | | | | |
3889 |PROM1 | | ----------------- |
3890 | | | |
3891 |NMK111 | | NMK903 |
3892 | | | NMK903 PROM2 |
3893 |NMK111 | | |
3894 | |-| 6116 TMP68HC000P-16 |
3895 | 62256 NMK901 6116 14MHz |
3896 | 62256 |
3897 -----------------------------------------------------------------------
3898
3899 Notes:
3900 68k clock: 14.00MHz
3901 VSync: 56Hz
3902 HSync: 15.35kHz
3903 90c841 clock: 8.000MHz
3904
3905
3906 PCB Layout (Daughter board)
3907 ---------------------------
3908
3909 AWA94099-ROME
3910 --------------------------
3911 | 2 6 7 5 3 |
3912 | |
3913 | 1 |
3914 | |
3915 | |
3916 | |
3917 | 4 8 9 10 |
3918 | |
3919 | |
3920 | |
3921 --------------------------
3922
3923 */
3924
3925 ROM_START( raphero )
3926 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3927 ROM_LOAD16_WORD_SWAP( "rhp94099.3", 0x00000, 0x80000, CRC(ec9b4f05) SHA1(e5bd797620dc449fd78b41d87e9ba5a764eb8b44) )
3928
3929 ROM_REGION( 0x20000, REGION_CPU2, 0 ) /* tmp90c841 ??? sound code/data */
3930 ROM_LOAD( "rhp94099.2", 0x00000, 0x20000, CRC(fe01ece1) SHA1(c469fb79f2774089848c814f92ddd3c9e384050f) )
3931
3932 ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
3933 ROM_LOAD( "rhp94099.1", 0x000000, 0x020000, CRC(55a7a011) SHA1(87ded56bfdd38cbf8d3bd8b3789831f768550a12) ) /* 8x8 tiles */
3934
3935 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
3936 ROM_LOAD( "rhp94099.4", 0x000000, 0x200000, CRC(076eee7b) SHA1(7c315fe33d0fcd92e0ce2f274996c8059228b005) ) /* 16x16 tiles */
3937
3938 ROM_REGION( 0x600000, REGION_GFX3, ROMREGION_DISPOSE ) /* sprites */
3939 ROM_LOAD16_WORD_SWAP( "rhp94099.8", 0x000000, 0x200000, CRC(49892f07) SHA1(2f5d20cd193cffcba9041aa11d6665adebeffffa) ) /* 16x16 tiles */
3940 ROM_LOAD16_WORD_SWAP( "rhp94099.9", 0x200000, 0x200000, CRC(ea2e47f0) SHA1(97dfa8f95f27b36deb5ce1c80e3d727bad24e52b) ) /* 16x16 tiles */
3941 ROM_LOAD16_WORD_SWAP( "rhp94099.10",0x400000, 0x200000, CRC(512cb839) SHA1(4a2c5ac88e4bf8a6f07c703277c4d33e649fd192) ) /* 16x16 tiles */
3942
3943 ROM_REGION( 0x400000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3944 ROM_LOAD( "rhp94099.5", 0x000000, 0x200000, CRC(515eba93) SHA1(c35cb5f31f4bc7327be5777624af168f9fb364a5) ) /* all banked */
3945 ROM_LOAD( "rhp94099.6", 0x200000, 0x200000, CRC(f1a80e5a) SHA1(218bd7b0c3d8b283bf96b95bf888228810699370) ) /* all banked */
3946
3947 ROM_REGION( 0x240000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3948 ROM_LOAD( "rhp94099.7", 0x040000, 0x200000, CRC(0d99547e) SHA1(2d9630bd55d27010f9d1d2dbdbd07ac265e8ebe6) ) /* all banked */
3949
3950 ROM_REGION( 0x0300, REGION_PROMS, 0 )
3951 ROM_LOAD( "prom1.u19", 0x0000, 0x0100, CRC(4299776e) SHA1(683d14d2ace14965f0fcfe0f0540c1b77d2cece5) ) /* unknown */
3952 ROM_LOAD( "prom2.u53", 0x0100, 0x0100, CRC(e6ead349) SHA1(6d81b1c0233580aa48f9718bade42d640e5ef3dd) ) /* unknown */
3953 ROM_LOAD( "prom3.u60", 0x0200, 0x0100, CRC(304f98c6) SHA1(8dfd9bf719087ec30c83efe95c4561666c7d1801) ) /* unknown */
3954 ROM_END
3955
3956 ROM_START( sabotenb )
3957 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3958 ROM_LOAD16_BYTE( "ic76.sb1", 0x00000, 0x40000, CRC(b2b0b2cf) SHA1(219f1cefdb107d8404f4f8bfa0700fd3218d9320) )
3959 ROM_LOAD16_BYTE( "ic75.sb2", 0x00001, 0x40000, CRC(367e87b7) SHA1(c950041529b5117686e4bb1ae77db82fe758c1d0) )
3960
3961 ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )
3962 ROM_LOAD( "ic35.sb3", 0x000000, 0x010000, CRC(eb7bc99d) SHA1(b3063afd58025a441d4750c22483e9129da402e7) ) /* 8x8 tiles */
3963
3964 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
3965 ROM_LOAD( "ic32.sb4", 0x000000, 0x200000, CRC(24c62205) SHA1(3ab0ca5d7c698328d91421ccf6f7dafc20df3c8d) ) /* 16x16 tiles */
3966
3967 ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
3968 ROM_LOAD16_WORD_SWAP( "ic100.sb5", 0x000000, 0x200000, CRC(b20f166e) SHA1(074d770fd6d233040a80a92f4467d81f961c650b) ) /* Sprites */
3969
3970 ROM_REGION( 0x140000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3971 ROM_LOAD( "ic30.sb6", 0x040000, 0x100000, CRC(288407af) SHA1(78c08fae031337222681c593dc86a08df6a34a4b) ) /* all banked */
3972
3973 ROM_REGION( 0x140000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3974 ROM_LOAD( "ic27.sb7", 0x040000, 0x100000, CRC(43e33a7e) SHA1(51068b63f4415712eaa25dcf1ee6b0cc2850974e) ) /* all banked */
3975 ROM_END
3976
3977 ROM_START( bjtwin )
3978 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
3979 ROM_LOAD16_BYTE( "93087-1.bin", 0x00000, 0x20000, CRC(93c84e2d) SHA1(ad0755cabfef78e7e689856379d6f8c88a9b27c1) )
3980 ROM_LOAD16_BYTE( "93087-2.bin", 0x00001, 0x20000, CRC(30ff678a) SHA1(aa3ce4905e448e371e254545ef9ed7edb00b1cc3) )
3981
3982 ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )
3983 ROM_LOAD( "93087-3.bin", 0x000000, 0x010000, CRC(aa13df7c) SHA1(162d4f12364c68028e86fe97ee75c262daa4c699) ) /* 8x8 tiles */
3984
3985 ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
3986 ROM_LOAD( "93087-4.bin", 0x000000, 0x100000, CRC(8a4f26d0) SHA1(be057a2b6d28c623ac1f16cf02ddbe12ca430b4a) ) /* 16x16 tiles */
3987
3988 ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
3989 ROM_LOAD16_WORD_SWAP( "93087-5.bin", 0x000000, 0x100000, CRC(bb06245d) SHA1(c91e2284d95370b8ef2eb1b9d6305fdd6cde23a0) ) /* Sprites */
3990
3991 ROM_REGION( 0x140000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
3992 ROM_LOAD( "93087-6.bin", 0x040000, 0x100000, CRC(372d46dd) SHA1(18f44e777241af50787730652fa018c51b65ea15) ) /* all banked */
3993
3994 ROM_REGION( 0x140000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
3995 ROM_LOAD( "93087-7.bin", 0x040000, 0x100000, CRC(8da67808) SHA1(f042574c097f5a8c2684fcc23f2c817c168254ef) ) /* all banked */
3996
3997 ROM_REGION( 0x0200, REGION_PROMS, 0 )
3998 ROM_LOAD( "8.bpr", 0x0000, 0x0100, CRC(633ab1c9) SHA1(acd99fcca41eaab7948ca84988352f1d7d519c61) ) /* unknown */
3999 ROM_LOAD( "9.bpr", 0x0000, 0x0100, CRC(435653a2) SHA1(575b4a46ea65179de3042614da438d2f6d8b572e) ) /* unknown */
4000 ROM_END
4001
4002
4003 ROM_START( nouryoku )
4004 ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 code */
4005 ROM_LOAD16_BYTE( "ic76.1", 0x00000, 0x40000, CRC(26075988) SHA1(c3d0eef0417be3f78008c026915fd7e2fd589563) )
4006 ROM_LOAD16_BYTE( "ic75.2", 0x00001, 0x40000, CRC(75ab82cd) SHA1(fb828f87eebbe9d61766535efc18de9dfded110c) )
4007
4008 ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )
4009 ROM_LOAD( "ic35.3", 0x000000, 0x010000, CRC(03d0c3b1) SHA1(4d5427c324e2141d0a953cc5133d10b327827e0b) ) /* 8x8 tiles */
4010
4011 ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
4012 ROM_LOAD( "ic32.4", 0x000000, 0x200000, CRC(88d454fd) SHA1(c79c48d9b3602266499a5dd0b15fd2fb032809be) ) /* 16x16 tiles */
4013
4014 ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
4015 ROM_LOAD16_WORD_SWAP( "ic100.5", 0x000000, 0x200000, CRC(24d3e24e) SHA1(71e38637953ec98bf308824aaef5628803aead21) ) /* Sprites */
4016
4017 ROM_REGION( 0x140000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
4018 ROM_LOAD( "ic30.6", 0x040000, 0x100000, CRC(feea34f4) SHA1(bee467e74dbad497c6f5f6b38b7e52001e767012) ) /* all banked */
4019
4020 ROM_REGION( 0x140000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
4021 ROM_LOAD( "ic27.7", 0x040000, 0x100000, CRC(8a69fded) SHA1(ee73f1789bcc672232606a4b3b28087fea1c5c69) ) /* all banked */
4022 ROM_END
4023
4024 ROM_START( manybloc )
4025 ROM_REGION( 0x200000, REGION_CPU1, 0 ) /* 68000 code */
4026 ROM_LOAD16_BYTE( "1-u33.bin", 0x00001, 0x20000, CRC(07473154) SHA1(e67f637e74dfe5f1be558f963c0b3225254afe33) )
4027 ROM_LOAD16_BYTE( "2-u35.bin", 0x00000, 0x20000, CRC(04acd8c1) SHA1(3ef329e8d25565c7f7166f12137f4df5a057022f) )
4028
4029 ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Z80? CPU */
4030 ROM_LOAD( "3-u146.bin", 0x00000, 0x10000, CRC(7bf5fafa) SHA1(d17feca628775860d6c7019a9725bd40fbc5b7d7) )
4031
4032 ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
4033 ROM_LOAD( "12-u39.bin", 0x000000, 0x10000, CRC(413b5438) SHA1(af366ce998ebe0d25255cc0cb1cd81689d3696ec) ) /* 8x8 tiles */
4034
4035 ROM_REGION( 0x080000, REGION_GFX3, ROMREGION_DISPOSE ) /* 16x16 sprite tiles */
4036 ROM_LOAD16_BYTE( "8-u54b.bin", 0x000000, 0x20000, CRC(03eede77) SHA1(2476a488bb0d39790b2cc7f261ddb973378022ff) )
4037 ROM_LOAD16_BYTE( "10-u86b.bin", 0x000001, 0x20000, CRC(9eab216f) SHA1(616f3ee2d06aa7151af634773a5e8633bff9588e) )
4038 ROM_LOAD16_BYTE( "9-u53b.bin", 0x040000, 0x20000, CRC(dfcfa040) SHA1(f1561defe9746afdb1a5327d0a4435a6f3e87a77) )
4039 ROM_LOAD16_BYTE( "11-u85b.bin", 0x040001, 0x20000, CRC(fe747dd5) SHA1(6ba57a45f4d77e2574de95d4a2f0718c601e7214) )
4040
4041 ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
4042 ROM_LOAD( "4-u96.bin", 0x000000, 0x40000, CRC(28af2640) SHA1(08fa57de66cf58fe2256455538261c2d05d27e1e) )
4043 ROM_LOAD( "5-u97.bin", 0x040000, 0x40000, CRC(536699e6) SHA1(13ec233f5e4f2a65ac7bc55511e988508269acd5) )
4044
4045 ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* OKIM6295 samples */
4046 ROM_LOAD( "6-u131.bin", 0x000000, 0x40000, CRC(79a4ae75) SHA1(f7609d0ca18b4af8c5f37daa1795a7a6c6d768ae) )
4047
4048 ROM_REGION( 0x40000, REGION_SOUND2, 0 ) /* OKIM6295 samples */
4049 ROM_LOAD( "7-u132.bin", 0x000000, 0x40000, CRC(21db875e) SHA1(e1d96155b6d8825f7c449f276d02f9769258345d) )
4050
4051 ROM_REGION( 0x20220, REGION_PROMS, 0 )
4052 ROM_LOAD( "u7.bpr", 0x0000, 0x0100, CRC(cfdbb86c) SHA1(588822f6308a860937349c9106c2b4b1a75823ec) ) /* unknown */
4053 ROM_LOAD( "u120.bpr", 0x0100, 0x0100, CRC(576c5984) SHA1(6e9b7f30de0d91cb766a62abc5888ec9af085a27) ) /* unknown */
4054 ROM_LOAD( "u200.bpr", 0x0200, 0x0020, CRC(1823600b) SHA1(7011156ebcb815b176856bd67898ce655ea1b5ab) ) /* unknown */
4055 ROM_LOAD( "u10.bpr", 0x0100, 0x0200, CRC(8e9b569a) SHA1(1d8d633fbeb72d5e55ad4b282df02e9ca5e240eb) ) /* unknown */
4056 ROM_END
4057
4058 static unsigned char decode_byte(unsigned char src, unsigned char *bitp)
4059 {
4060 unsigned char ret, i;
4061
4062 ret = 0;
4063 for (i=0; i<8; i++)
4064 ret |= (((src >> bitp[i]) & 1) << (7-i));
4065
4066 return ret;
4067 }
4068
bjtwin_address_map_bg0(unsigned long addr)4069 static unsigned long bjtwin_address_map_bg0(unsigned long addr)
4070 {
4071 return ((addr&0x00004)>> 2) | ((addr&0x00800)>> 10) | ((addr&0x40000)>>16);
4072 }
4073
4074
decode_word(unsigned short src,unsigned char * bitp)4075 static unsigned short decode_word(unsigned short src, unsigned char *bitp)
4076 {
4077 unsigned short ret, i;
4078
4079 ret=0;
4080 for (i=0; i<16; i++)
4081 ret |= (((src >> bitp[i]) & 1) << (15-i));
4082
4083 return ret;
4084 }
4085
4086
bjtwin_address_map_sprites(unsigned long addr)4087 static unsigned long bjtwin_address_map_sprites(unsigned long addr)
4088 {
4089 return ((addr&0x00010)>> 4) | ((addr&0x20000)>>16) | ((addr&0x100000)>>18);
4090 }
4091
4092
decode_gfx(void)4093 static void decode_gfx(void)
4094 {
4095 /* GFX are scrambled. We decode them here. (BIG Thanks to Antiriad for descrambling info) */
4096 unsigned char *rom;
4097 int A;
4098
4099 static unsigned char decode_data_bg[8][8] =
4100 {
4101 {0x3,0x0,0x7,0x2,0x5,0x1,0x4,0x6},
4102 {0x1,0x2,0x6,0x5,0x4,0x0,0x3,0x7},
4103 {0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0},
4104 {0x7,0x6,0x5,0x0,0x1,0x4,0x3,0x2},
4105 {0x2,0x0,0x1,0x4,0x3,0x5,0x7,0x6},
4106 {0x5,0x3,0x7,0x0,0x4,0x6,0x2,0x1},
4107 {0x2,0x7,0x0,0x6,0x5,0x3,0x1,0x4},
4108 {0x3,0x4,0x7,0x6,0x2,0x0,0x5,0x1},
4109 };
4110
4111 static unsigned char decode_data_sprite[8][16] =
4112 {
4113 {0x9,0x3,0x4,0x5,0x7,0x1,0xb,0x8,0x0,0xd,0x2,0xc,0xe,0x6,0xf,0xa},
4114 {0x1,0x3,0xc,0x4,0x0,0xf,0xb,0xa,0x8,0x5,0xe,0x6,0xd,0x2,0x7,0x9},
4115 {0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0},
4116 {0xf,0xe,0xc,0x6,0xa,0xb,0x7,0x8,0x9,0x2,0x3,0x4,0x5,0xd,0x1,0x0},
4117
4118 {0x1,0x6,0x2,0x5,0xf,0x7,0xb,0x9,0xa,0x3,0xd,0xe,0xc,0x4,0x0,0x8}, /* Haze 20/07/00 */
4119 {0x7,0x5,0xd,0xe,0xb,0xa,0x0,0x1,0x9,0x6,0xc,0x2,0x3,0x4,0x8,0xf}, /* Haze 20/07/00 */
4120 {0x0,0x5,0x6,0x3,0x9,0xb,0xa,0x7,0x1,0xd,0x2,0xe,0x4,0xc,0x8,0xf}, /* Antiriad, Corrected by Haze 20/07/00 */
4121 {0x9,0xc,0x4,0x2,0xf,0x0,0xb,0x8,0xa,0xd,0x3,0x6,0x5,0xe,0x1,0x7}, /* Antiriad, Corrected by Haze 20/07/00 */
4122 };
4123
4124
4125 /* background */
4126 rom = memory_region(REGION_GFX2);
4127 for (A = 0;A < memory_region_length(REGION_GFX2);A++)
4128 {
4129 rom[A] = decode_byte( rom[A], decode_data_bg[bjtwin_address_map_bg0(A)]);
4130 }
4131
4132 /* sprites */
4133 rom = memory_region(REGION_GFX3);
4134 for (A = 0;A < memory_region_length(REGION_GFX3);A += 2)
4135 {
4136 unsigned short tmp = decode_word( rom[A+1]*256 + rom[A], decode_data_sprite[bjtwin_address_map_sprites(A)]);
4137 rom[A+1] = tmp >> 8;
4138 rom[A] = tmp & 0xff;
4139 }
4140 }
4141
decode_tdragonb(void)4142 static void decode_tdragonb(void)
4143 {
4144 /* Descrambling Info Again Taken from Raine, Huge Thanks to Antiriad and the Raine Team for
4145 going Open Source, best of luck in future development. */
4146
4147 unsigned char *rom;
4148 int A;
4149
4150 /* The Main 68k Program of the Bootleg is Bitswapped */
4151 static unsigned char decode_data_tdragonb[1][16] =
4152 {
4153 {0xe,0xc,0xa,0x8,0x7,0x5,0x3,0x1,0xf,0xd,0xb,0x9,0x6,0x4,0x2,0x0},
4154 };
4155
4156 /* Graphic Roms Could Also Do With Rearranging to make things simpler */
4157 static unsigned char decode_data_tdragonbgfx[1][8] =
4158 {
4159 {0x7,0x6,0x5,0x3,0x4,0x2,0x1,0x0},
4160 };
4161
4162 rom = memory_region(REGION_CPU1);
4163 for (A = 0;A < memory_region_length(REGION_CPU1);A += 2)
4164 {
4165 #ifdef MSB_FIRST
4166 unsigned short tmp = decode_word( rom[A]*256 + rom[A+1], decode_data_tdragonb[0]);
4167 rom[A] = tmp >> 8;
4168 rom[A+1] = tmp & 0xff;
4169 #else
4170 unsigned short tmp = decode_word( rom[A+1]*256 + rom[A], decode_data_tdragonb[0]);
4171 rom[A+1] = tmp >> 8;
4172 rom[A] = tmp & 0xff;
4173 #endif
4174 }
4175
4176 rom = memory_region(REGION_GFX2);
4177 for (A = 0;A < memory_region_length(REGION_GFX2);A++)
4178 {
4179 rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]);
4180 }
4181
4182 rom = memory_region(REGION_GFX3);
4183 for (A = 0;A < memory_region_length(REGION_GFX3);A++)
4184 {
4185 rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]);
4186 }
4187 }
4188
decode_ssmissin(void)4189 static void decode_ssmissin(void)
4190 {
4191 /* Like Thunder Dragon Bootleg without the Program Rom Swapping */
4192 unsigned char *rom;
4193 int A;
4194
4195 /* Graphic Roms Could Also Do With Rearranging to make things simpler */
4196 static unsigned char decode_data_tdragonbgfx[1][8] =
4197 {
4198 {0x7,0x6,0x5,0x3,0x4,0x2,0x1,0x0},
4199 };
4200
4201 rom = memory_region(REGION_GFX2);
4202 for (A = 0;A < memory_region_length(REGION_GFX2);A++)
4203 {
4204 rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]);
4205 }
4206
4207 rom = memory_region(REGION_GFX3);
4208 for (A = 0;A < memory_region_length(REGION_GFX3);A++)
4209 {
4210 rom[A] = decode_byte( rom[A], decode_data_tdragonbgfx[0]);
4211 }
4212 }
4213
4214
DRIVER_INIT(nmk)4215 static DRIVER_INIT( nmk )
4216 {
4217 decode_gfx();
4218 }
4219
DRIVER_INIT(hachamf)4220 static DRIVER_INIT( hachamf )
4221 {
4222 data16_t *rom = (data16_t *)memory_region(REGION_CPU1);
4223
4224 rom[0x0006/2] = 0x7dc2; /* replace reset vector with the "real" one */
4225 }
4226
DRIVER_INIT(acrobatm)4227 static DRIVER_INIT( acrobatm )
4228 {
4229 data16_t *RAM = (data16_t *)memory_region(REGION_CPU1);
4230
4231 RAM[0x724/2] = 0x4e71; /* Protection */
4232 RAM[0x726/2] = 0x4e71;
4233 RAM[0x728/2] = 0x4e71;
4234
4235 RAM[0x9d8/2] = 0x3e3C; /* Checksum */
4236 RAM[0x9da/2] = 0x0;
4237 RAM[0x97c/2] = 0x3e3C;
4238 RAM[0x97e/2] = 0x0;
4239 }
4240
DRIVER_INIT(tdragonb)4241 static DRIVER_INIT( tdragonb )
4242 {
4243 data16_t *ROM = (data16_t *)memory_region(REGION_CPU1);
4244
4245 decode_tdragonb();
4246
4247 /* The Following Patch is taken from Raine, Otherwise the game has no Sprites in Attract Mode or After Level 1
4248 which is rather odd considering its a bootleg.. */
4249 ROM[0x00308/2] = 0x4e71; /* Sprite Problem */
4250 }
4251
DRIVER_INIT(tdragon)4252 static DRIVER_INIT( tdragon )
4253 {
4254 data16_t *RAM = (data16_t *)memory_region(REGION_CPU1);
4255
4256 RAM[0x94b0/2] = 0; /* Patch out JMP to shared memory (protection) */
4257 RAM[0x94b2/2] = 0x92f4;
4258 }
4259
DRIVER_INIT(ssmissin)4260 static DRIVER_INIT( ssmissin )
4261 {
4262 decode_ssmissin();
4263 }
4264
4265
DRIVER_INIT(strahl)4266 static DRIVER_INIT( strahl )
4267 {
4268 data16_t *RAM = (data16_t *)memory_region(REGION_CPU1);
4269
4270 RAM[0x79e/2] = 0x4e71; /* Protection */
4271 RAM[0x7a0/2] = 0x4e71;
4272 RAM[0x7a2/2] = 0x4e71;
4273
4274 RAM[0x968/2] = 0x4e71; /* Checksum error */
4275 RAM[0x96a/2] = 0x4e71;
4276 RAM[0x8e0/2] = 0x4e71; /* Checksum error */
4277 RAM[0x8e2/2] = 0x4e71;
4278 }
4279
DRIVER_INIT(bioship)4280 static DRIVER_INIT( bioship )
4281 {
4282 data16_t *RAM = (data16_t *)memory_region(REGION_CPU1);
4283
4284 RAM[0xe78a/2] = 0x4e71; /* Protection */
4285 RAM[0xe78c/2] = 0x4e71;
4286
4287 RAM[0xe798/2] = 0x4e71; /* Checksum */
4288 RAM[0xe79a/2] = 0x4e71;
4289 }
4290
4291
4292 int is_blkheart;
4293
4294 // see raine's games/nmk.c
4295
WRITE16_HANDLER(test_2a_w)4296 static WRITE16_HANDLER ( test_2a_w )
4297 {
4298 data = data >> 8;
4299
4300 ram[0x2a/2] = (data << 8) | data;
4301
4302 if (data == 1 || data == 2) {
4303 ram[0x68/2] = 11;
4304 ram[0x6a/2] = 0;
4305 }
4306 }
4307
WRITE16_HANDLER(test_2a_mustang_w)4308 static WRITE16_HANDLER ( test_2a_mustang_w )
4309 {
4310 data = data >> 8;
4311
4312 ram[0x2a/2] = (data << 8) | data;
4313
4314 if (data == 1 || data == 2) {
4315 ram[0x2e/2] = 10;
4316 ram[0x2c/2] = 0;
4317 }
4318
4319 }
4320
DRIVER_INIT(blkheart)4321 static DRIVER_INIT( blkheart )
4322 {
4323 data16_t *RAM = (data16_t *)memory_region(REGION_CPU1);
4324
4325 is_blkheart = 1; // sprite enable is different?
4326
4327 // see raine's games/nmk.c
4328 RAM[0x872/2] = 0x4e71;
4329 RAM[0x874/2] = 0x4e71;
4330 RAM[0x876/2] = 0x4e71;
4331 RAM[0x8d6/2] = 0x0300;
4332 RAM[0xe1c/2] = 0x0300;
4333 RAM[0x23dc/2] = 0x0300;
4334 RAM[0x3dea/2] = 0x0300;
4335
4336 install_mem_write16_handler(0, 0xf902a, 0xf902b, test_2a_w );
4337 }
4338
DRIVER_INIT(mustang)4339 static DRIVER_INIT( mustang )
4340 {
4341 data16_t *RAM = (data16_t *)memory_region(REGION_CPU1);
4342
4343 is_blkheart = 1; // sprite enable is different?
4344
4345 // see raine's games/nmk.c
4346 RAM[0x85c/2] = 0x4e71;
4347 RAM[0x85e/2] = 0x4e71;
4348 RAM[0x860/2] = 0x4e71;
4349 RAM[0x8c0/2] = 0x0300;
4350 RAM[0xc00/2] = 0x0300;
4351 RAM[0x30b2/2] = 0x0300;
4352
4353 install_mem_write16_handler(0, 0xf902a, 0xf902b, test_2a_mustang_w );
4354 }
4355
DRIVER_INIT(bjtwin)4356 static DRIVER_INIT( bjtwin )
4357 {
4358 init_nmk();
4359
4360 /* Patch rom to enable test mode */
4361
4362 /* 008F54: 33F9 0008 0000 000F FFFC move.w $80000.l, $ffffc.l
4363 * 008F5E: 3639 0008 0002 move.w $80002.l, D3
4364 * 008F64: 3003 move.w D3, D0 \
4365 * 008F66: 3203 move.w D3, D1 | This code remaps
4366 * 008F68: 0041 BFBF ori.w #-$4041, D1 | buttons 2 and 3 to
4367 * 008F6C: E441 asr.w #2, D1 | button 1, so
4368 * 008F6E: 0040 DFDF ori.w #-$2021, D0 | you can't enter
4369 * 008F72: E240 asr.w #1, D0 | service mode7
4370 * 008F74: C640 and.w D0, D3 |
4371 * 008F76: C641 and.w D1, D3 /
4372 * 008F78: 33C3 000F FFFE move.w D3, $ffffe.l
4373 * 008F7E: 207C 000F 9000 movea.l #$f9000, A0
4374 */
4375
4376 // data 16_t *rom = (data16_t *)memory_region(REGION_CPU1);
4377 // rom[0x09172/2] = 0x6006; /* patch checksum error */
4378 // rom[0x08f74/2] = 0x4e71);
4379 }
4380
4381
4382
4383 GAMEX( 1989, urashima, 0, urashima, macross, 0, ROT0, "UPL", "Urashima Mahjong", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING ) /* Similar Hardware? */
4384 GAMEX( 1989, tharrier, 0, tharrier, tharrier, 0, ROT270, "UPL (American Sammy license)", "Task Force Harrier", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
4385 GAMEX( 1989, tharierj, tharrier,tharrier, tharrier, 0, ROT270, "UPL", "Task Force Harrier (Japan)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
4386 GAMEX( 1990, mustang, 0, mustang, mustang, mustang, ROT0, "UPL", "US AAF Mustang (Japan)", GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND) // Playable but there are Still Protection Problems
4387 GAMEX( 1990, mustangs, mustang, mustang, mustang, mustang, ROT0, "UPL (Seoul Trading license)", "US AAF Mustang (Seoul Trading)", GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // Playable but there are Still Protection Problems
4388 GAMEX( 1990, mustangb, mustang, mustangb, mustang, mustang, ROT0, "bootleg", "US AAF Mustang (bootleg)", GAME_UNEMULATED_PROTECTION ) // Playable but there are Still Protection Problems
4389 GAMEX( 1990, bioship, 0, bioship, bioship, bioship, ROT0, "UPL (American Sammy license)", "Bio-ship Paladin", GAME_NO_SOUND )
4390 GAMEX( 1990, vandyke, 0, vandyke, vandyke, 0, ROT270, "UPL", "Vandyke (Japan)", GAME_NO_SOUND )
4391 GAMEX( 1990, vandyjal, vandyke, vandyke, vandyke, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco)", GAME_NO_SOUND )
4392 GAMEX( 1991, manybloc, 0, manybloc, manybloc, 0, ROT270, "Bee-Oh", "Many Block", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4393 GAMEX( 1991, blkheart, 0, macross, blkheart, blkheart, ROT0, "UPL", "Black Heart", GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // Playable but there are Still Protection Problems
4394 GAMEX( 1991, blkhearj, blkheart,macross, blkheart, blkheart, ROT0, "UPL", "Black Heart (Japan)", GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND ) // Playable but there are Still Protection Problems
4395 GAMEX( 1991, acrobatm, 0, acrobatm, acrobatm, acrobatm, ROT270, "UPL (Taito license)", "Acrobat Mission", GAME_NO_SOUND )
4396 GAMEX( 1992, strahl, 0, strahl, strahl, strahl, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 1)", GAME_NO_SOUND )
4397 GAMEX( 1992, strahla, strahl, strahl, strahl, strahl, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 2)", GAME_NO_SOUND )
4398 GAMEX( 1991, tdragon, 0, tdragon, tdragon, tdragon, ROT270, "NMK / Tecmo", "Thunder Dragon", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_NO_SOUND )
4399 GAME( 1991, tdragonb, tdragon, tdragonb, tdragon, tdragonb, ROT270, "NMK / Tecmo", "Thunder Dragon (Bootleg)" )
4400 GAMEX( 1992, ssmissin, 0, ssmissin, ssmissin, ssmissin, ROT270, "Comad", "S.S. Mission", GAME_NO_COCKTAIL )
4401 GAMEX( 1991, hachamf, 0, hachamf, hachamf, hachamf, ROT0, "NMK", "Hacha Mecha Fighter", GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
4402 GAMEX( 1992, macross, 0, macross, macross, nmk, ROT270, "Banpresto", "Super Spacefortress Macross / Chou-Jikuu Yousai Macross", GAME_NO_SOUND )
4403 GAMEX( 1993, gunnail, 0, gunnail, gunnail, nmk, ROT270, "NMK / Tecmo", "GunNail", GAME_NO_SOUND )
4404 GAMEX( 1993, macross2, 0, macross2, macross2, 0, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II", GAME_NO_COCKTAIL )
4405 GAMEX( 1993, tdragon2, 0, tdragon2, tdragon2, 0, ROT270, "NMK", "Thunder Dragon 2", GAME_NO_COCKTAIL )
4406 GAMEX( 1993, bigbang, tdragon2,tdragon2, tdragon2, 0, ROT270, "NMK", "Big Bang", GAME_NO_COCKTAIL )
4407 GAMEX( 1994, raphero, 0, raphero, tdragon2, 0, ROT270, "Media Trading Corp", "Rapid Hero (Japan?)", GAME_NO_SOUND ) // 23rd July 1993 in test mode, (c)1994 on title screen
4408
4409 GAMEX( 1992, sabotenb, 0, bjtwin, sabotenb, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers", GAME_NO_COCKTAIL )
4410 GAMEX( 1993, bjtwin, 0, bjtwin, bjtwin, bjtwin, ROT270, "NMK", "Bombjack Twin", GAME_NO_COCKTAIL )
4411 GAMEX( 1995, nouryoku, 0, bjtwin, nouryoku, nmk, ROT0, "Tecmo", "Nouryoku Koujou Iinkai", GAME_NO_COCKTAIL )
4412