1 // license:BSD-3-Clause
2 // copyright-holders:Aaron Giles, Couriersud,Stephane Humbert, Robbbert
3 /***************************************************************************
4
5 Galaxian-derived hardware
6
7 Galaxian is the root hardware for many, many systems developed in the
8 1980-1982 timeframe. The basic design, which originated with Namco(?),
9 was replicated, tweaked, bootlegged, and used numerous times.
10
11 The basic hardware design comprises three sections on a single PCB:
12 a CPU section, a sound section, and a video section.
13
14 The CPU section is based around a Z80 (though there are modified
15 designs that changed this to an S2650). The base galaxian hardware
16 is designed to allow access to up to 16k of program ROM and 2k of
17 working RAM.
18
19 The sound section consists of three parts. The first part is
20 a programmable 8-bit down counter that clocks a 4-bit counter which
21 generates a primitive waveform whose shape is hardcoded but can be
22 controlled by a pair of variable resistors. The second part is
23 a set of three 555 timers which can be individually enabled and
24 combined to produce square waves at fixed separated pitches. A
25 fourth 555 timer is configured via a 4-bit frequency parameter to
26 control the overall pitch of the other three. Finally, two single
27 bit-triggered noise circuits are available. A 17-bit noise LFSR
28 (which also generates stars for the video circuit) feeds into both
29 circuits. A "HIT" line enables a simple on/off control of one
30 filtered output, while a "FIRE" line triggers a fixed short duration
31 pulse (controlled by another 555 timer) of modulated noise.
32
33 See video/galaxian.cpp for a description of the video section.
34
35 ****************************************************************************
36
37 Schematics are known to exist for these games:
38 * Galaxian
39 * Moon Alien Part 2
40 * King and Balloon
41
42 * Moon Cresta
43 * Moon Shuttle
44
45 * Frogger
46 * Amidar
47 * Turtles
48
49 * Scramble
50 * The End
51
52 * Super Cobra
53 * Dark Planet
54 * Lost Tomb
55
56 * Dambusters
57
58 ****************************************************************************
59
60 Main clock: XTAL = 18.432 MHz
61 Z80 Clock: XTAL/6 = 3.072 MHz
62 Horizontal video frequency: HSYNC = XTAL/3/192/2 = 16 kHz
63 Video frequency: VSYNC = HSYNC/132/2 = 60.606060 Hz
64 VBlank duration: 1/VSYNC * (20/132) = 2500 us
65
66
67 Notes:
68 -----
69
70 - The only code difference between 'galaxian' and 'galmidw' is that the
71 'BONUS SHIP' text is printed on a different line.
72
73
74
75 Moon Cresta versions supported:
76 ------------------------------
77
78 mooncrst Nichibutsu - later revision with better demo mode and
79 text for docking. Encrypted. No ROM/RAM check
80 mooncrsu Nichibutsu USA - later revision with better demo mode and
81 text for docking. Unencrypted. No ROM/RAM check
82 mooncrsa Nichibutsu - older revision with better demo mode and
83 text for docking. Encrypted. No ROM/RAM check
84 mooncrs2 Nichibutsu - probably first revision (no patches) and ROM/RAM check code.
85 This came from a bootleg board, with the logos erased
86 from the graphics
87 mooncrsg Gremlin - same docking text as mooncrst
88 mooncrsb bootleg of mooncrs2. ROM/RAM check erased.
89
90
91 Notes about 'azurian' :
92 -----------------------
93
94 bit 6 of IN1 is linked with bit 2 of IN2 (check code at 0x05b3) to set difficulty :
95
96 bit 6 bit 2 contents of
97 IN1 IN2 0x40f4 consequences difficulty
98
99 OFF OFF 2 aliens move 2 frames out of 3 easy
100 ON OFF 4 aliens move 4 frames out of 5 hard
101 OFF ON 3 aliens move 3 frames out of 4 normal
102 ON ON 5 aliens move 5 frames out of 6 very hard
103
104 aliens movements is handled by routine at 0x1d59 :
105
106 - alien 1 moves when 0x4044 != 0 else contents of 0x40f4 is stored at 0x4044
107 - alien 2 moves when 0x4054 != 0 else contents of 0x40f4 is stored at 0x4054
108 - alien 3 moves when 0x4064 != 0 else contents of 0x40f4 is stored at 0x4064
109
110
111 Notes about 'smooncrs' :
112 ------------------------
113
114 Due to code at 0x2b1c and 0x3306, the game ALWAYS checks the inputs for player 1
115 (even for player 2 when "Cabinet" Dip Switch is set to "Cocktail")
116
117
118 Notes about 'scorpnmc' :
119 -----------------------
120
121 As the START buttons are also the buttons for player 1, how should I map them ?
122 I've coded this the same way as in 'checkman', but I'm not sure this is correct.
123
124 I can't tell if it's a bug, but if you reset the game when the screen is flipped,
125 the screens remains flipped (the "flip screen" routine doesn't seem to be called) !
126
127
128 Notes about 'frogg' :
129 ---------------------
130
131 If bit 5 of IN0 or bit 5 of IN1 is HIGH, something strange occurs (check code
132 at 0x3580) : each time you press START2 a counter at 0x47da is incremented.
133 When this counter reaches 0x2f, each next time you press START2, it acts as if
134 you had pressed COIN2, so credits are added !
135 Bit 5 of IN0 is tested if "Cabinet" Dip Switch is set to "Upright" and
136 bit 5 of IN1 is tested if "Cabinet" Dip Switch is set to "Cocktail".
137
138
139 Galaxian Bootleg Single Board Layout:
140 -------------------------------------
141
142 |----------------------------------------------------------------------------------------------|
143 | |
144 A | AM27LS00 7486 7486 74163 74163 74LS393 LM324 NE555 ECG740A |
145 | |
146 B | AM27LS00 74LS00 74LS32 74LS161 74LS161 74LS74 NE555 NE555 |
147 | |
148 C | AM27LS00 7408 74LS02 74LS161 74LS161 74175 4066 NE555 NE555 |
149 | |
150 D | AM27LS00 74LS00 74LS20 74LS10 74LS74 74LS377 2114 74LS138 |
151 | |
152 E | AM27LS00 7408 74LS20 74LS283 74LS283 74LS02 2114 74LS138 DM8334 |
153 | |
154 F | 7486 74LS273 74LS?? 74LS367 74LS367 74LS273 74LS138 DM8334 |
155 | G |
156 G | F 74LS194 74LS157 74LS273 74LS367 6331-1J PRG1 74LS00 DM8334 |--|
157 | X |
158 H | 1 74LS194 74LS157 UPB8216 74161 74161 |
159 | |
160 I | G 74LS194 74LS157 UPB8216 74LS157 74LS273 |
161 | F |
162 J | X 74LS194 2114 2 2 7408 UPB8216 |
163 | 2 1 1 PRG2 |
164 K | 18.432MHZ 74LS157 2114 0 0 74LS74 UPB8216 74LS368 |
165 | 1 1 |
166 L | 74LS368 74LS157 74LS157 74LS157 74LS157 74LS04 74LS139 74LS368 |--|
167 | |
168 M | 74LS107 7474 74LS74 74LS139 74LS10 74LS02 74LS367 74LS367 74LS368 2 |
169 | | |
170 N | 7474 74LS20 74LS139 74LS74 74LS74 74LS367 74LS368 U |
171 | P |
172 O | 74LS164 74LS366 7486 7486 7486 7486 Z80 C |
173 | G |
174 P | 74LS164 74LS30 74LS161 74LS161 74LS161 74LS161 |
175 |----------------------------------------------------------------------------------------------|
176 1 2 3 4 5 6 7 8 9 1
177 0
178
179
180 Stephh's notes (based on the games Z80 code and some tests) for games based on 'scobra' MACHINE_DRIVER :
181
182 1) 'scobra' and clones
183
184 1a) 'scobra'
185
186 - Player 2 controls are used for player 2 regardless of the "Cabinet" Dip Switch.
187 - COIN1 and SERVICE1 share the same coinage while COIN2 always awards 3 credits per coin;
188 when "Coinage" is set to "99 Credits", credits are always set to 99 when pressing COIN1 (code at 0x037d).
189 - There is an unused coinage routine at 0x0159 with the following settings :
190
191 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
192 PORT_DIPSETTING( 0x00, "A 2/1 B 99" )
193 PORT_DIPSETTING( 0x06, "A 1/2 B 1/1" )
194 PORT_DIPSETTING( 0x04, "A 1/5 B 1/1" )
195 PORT_DIPSETTING( 0x02, "A 1/7 B 1/1" )
196
197 I can't tell at the moment if it's a leftover from another Konami game on similar hardware.
198 - You can have 3 or 4 lives at start, and you can only continue 4 times (code at 0x0ebf).
199
200 1b) 'scobrase'
201
202 - The only difference in main CPU with 'scobra' is not in code but in data :
203 * data at 0x1323+ and 0x1575+ displays " (c) SEGA 1981 " instead of "(c) KONAMI 1981".
204 * data from 0x3d0c to 0x3fff has an unknown effect (this area is filled with 0xff in 'scobra').
205 * data from 0x5b62 to 0x5b6f displays "SEGA" instead of "OSAKA" on the first building in the "BASE"
206 (last) level ("KONAMI" is always still displayed on other buildings).
207 As the code is the same, comments from 'scobra' also apply to this set.
208 - Audio CPU is different than the one in 'scobra'. More investigation is needed !
209
210 1c) 'scobras'
211
212 - Main CPU is different than the one in 'scobra', but audio CPU is the same as 'scobrase' !
213 - Player 2 controls are used for player 2 regardless of the "Cabinet" Dip Switch.
214 - COIN1 and SERVICE1 share the same coinage while COIN2 always awards 3 credits per coin;
215 when "Coinage" is set to "99 Credits", credits are always set to 99 when pressing COIN1 (code at 0x0bec).
216 - There is NO unused coinage routine.
217 - You can have 3 or 5 lives at start, and you can only continue 255 times (code at 0x00e3).
218 - On the first building in the "BASE" (last) level is written "STERN" instead of "OSAKA".
219
220 1d) 'scobrab'
221
222 - The only difference in main CPU with 'scobras' is not in code but in data :
223 * data from 0x0434 to 0x043e affects the addresses in ROM area of the strings to display.
224 * data from 0x0456 to 0x07a0 affects the strings which are displayed (almost all of them).
225 - Audio CPU is the same as the one in 'scobra' (with different ROM names though).
226
227 1e) 'suprheli'
228
229 - The only difference in main CPU with 'scobras' is not in code but in data :
230 * data at 0x0522+ displays "- SUPER HELI - " instead of "- SUPER COBRA -".
231 * data at 0x0547+ and 0x0799+ displays " " instead of "(c) STERN 1981 ".
232 * data from 0x5b26 to 0x5b32 displays "APPLE" instead of "STERN" on the first building in the "BASE"
233 (last) level.
234 * data from 0x5bbb to 0x5bc9 displays "ORANGE" instead of "KONAMI" on the other buildings in the "BASE"
235 (last) level.
236 As the code is the same, comments from 'scobras' also apply to this set.
237 - There is only ONE byte of difference with audio CPU in 'scobrase' :
238
239 Z:\MAME\data>fc /B epr1277.5e 9.9d
240 Comparaison des fichiers epr1277.5e et 9.9D
241 00001332: FD FF
242
243 Could it be a rotten bit ? As I have no evidence of this, I don't flag the ROM as BAD_DUMP.
244
245 2) 'moonwar' and clones
246
247 - "8255 Port C bit 4 was originally designed so when bit4=0, 1P spinner is selected, and when bit4=1,
248 2P spinner gets selected. But they forgot to change the 8255 initialization value and Port C was set
249 to input, setting the spinner select bit to HI regardless what was written to it. This bug has been
250 corrected in the newer set, but, to maintain hardware compatibility with older PCB's, they had to reverse
251 to active status of the select bit. So in the newer set, Bit4=1 selects the 1P spinner and Bit4=0 selects
252 the 2P spinner".
253
254 2a) 'moonwar'
255
256 - Press START1 when reseting the game to enter sort of inputs "test mode".
257 - "Hyperflip" button is ignored when "Cabinet" is set to "Cocktail" (code at 0x108d).
258 - When in "Free Play" mode, you only 3 lives at start.
259
260 2b) 'moonwara'
261
262 - Press START1 when reseting the game to enter sort of inputs "test mode".
263 - "Hyperflip" button is ignored when "Cabinet" is set to "Cocktail" (code at 0x107f).
264 - Besides the spinner bug, coinage is very weird in this set (no correlation between COIN1 and COIN2).
265
266 3) 'armorcar' and clones
267
268 3a) 'armorcar'
269
270 - Press P2 BUTTON2 when reseting the game to enter sort of inputs "test mode".
271 You'll notice that there is some leftover code from 'moonwar' as you can see 2 (muxed) PORT A
272 (and there are still writes to PORT C bit 4). This has no effect in the game though.
273 - After the 3 ports are read, when "Cabinet" is set to "Cocktail" and its player 2 turn, player 2 inputs
274 are "copied" into player 1 ones (code at 0x0fd2 : start reading inputs).
275
276 3b) 'armorcar2'
277
278 - When IN1 bit 2 is ON when reseting the game, you enter sort of inputs "test mode".
279 You'll notice that there is some leftover code from 'moonwar' as you can see 2 (muxed) PORT A
280 (and there are still writes to IN2 bit 4). This has no effect in the game though.
281 As this bit is marked as "unused" (see below why), you can never access to this "test mode".
282 - IN2 bit 3 has no real effect in this set : even if contents of 0x8627 is updated each time player changes,
283 screen flipping (0xa806 and 0xa807) is always set to "normal" (0x00 * 2) due to code at 0x0598, there is a
284 missing call to 0x0abf at 0x0a8c (there is even a 'ret' for call from 0x15aa), and there is no code to "copy"
285 player 2 inputs into player 1 ones (code at 0x0fb2 : start reading inputs).
286 There is still a leftover from 'armorcar' code, so this bit affects display (how ?) when IN2 bit 3 is ON
287 and it is player 2 turn (code at 0x0b66 is the same as the one at 0x0b87 in 'armorcar').
288
289 4) 'tazmania'
290
291 - Press P1 BUTTON2 when reseting the game to enter sort of inputs "test mode".
292 - After the 3 ports are read, when "Cabinet" is set to "Cocktail" and its player 2 turn, player 2 inputs
293 are "copied" into player 1 ones (code at 0x124e : start reading inputs).
294 - When "Cabinet" is set to "Upright", press any player 2 joystick direction to end current level
295 (code at 0x38dd). This trick does NOT work in bonus rooms though.
296
297 5) 'anteater'
298
299 - Press P1 BUTTON1 when reseting the game to enter sort of inputs "test mode".
300 - IN2 bit 3 has no effect in this set : even if contents of 0x86c4 is updated each time player changes,
301 screen flipping (0xa806 and 0xa807) is always reset to "normal" (0x00 * 2) after possible screen inversion
302 due to code at 0x05c7, and there is no code to "copy" player 2 inputs into player 1 ones (code at 0x0f7a :
303 start reading inputs).
304
305 6) 'calipso'
306
307 - Press P1 BUTTON1 when reseting the game to enter sort of inputs "test mode".
308 - Press P1 BUTTON1 to start a 1 player game or press P2 BUTTON1 to start a 2 players game ("Team-Play").
309 - IN2 bit 3 has no effect in this set : even if there is code to "copy" player 2 inputs into player 1 ones
310 (code at 0x1448 : start reading inputs), contents of 0x8669 is always set to 0x01 regardless of number players
311 and is NEVER updated (there is even no code for this). Furthermore, the screen flipping routine forces the
312 screen to be "normal" ([0xa806] = [0xa807] = 0x00) because of the 'jr' instruction at 0x2988.
313 It's possible that there is a cocktail version of the game, but I'm not really convinced about it.
314
315 7) 'losttomb' and clones
316
317 7a) 'losttomb'
318
319 - Press P1 right joystick UP when reseting the game to enter sort of inputs "test mode".
320 - There is no "Cabinet" Dip Switch for this game and no possible muxed input for a 2nd player.
321 Furthermore, the routine at 0x254b is NEVER called, so the screen NEVER flips !
322 - The routine that reads inputs (code at 0x0ef4) behaves differently if you are in "attract mode" or not :
323 * when playing ([0x865f] = 0x00), it reads the 3 inputs ports
324 * when in "attract mode" ([0x865f] = 0xff), it only reads IN0 (to get status of COINn and STARTn)
325 and IN1 (to get the status of the "Lives" Dip Switch), and IN2 is completely ignored
326 The side effect of such thing is that the status of the "Demo Sounds" Dip Switch will be taken into
327 consideration only after a game has been played (for example, the game will always be silenced in
328 "attract mode" after resetting the machine because 0x00 is stored at 0x8613 during initialisation).
329 - When in "Free Play" mode, you only 3 lives at start.
330
331 7b) 'losttombh'
332
333 - The only difference with 'losttomb' is not in code but in data :
334
335 Z:\MAME\data>fc /B 2h-easy lthard
336 Comparaison des fichiers 2h-easy et LTHARD
337 00000399: 0A 0B
338 0000039E: 0D 11
339 000003A3: 0F 14
340 000003A8: 13 19
341 000003AD: 15 1A
342 000003B2: 18 1B
343 000003B7: 1A 1C
344 000003BC: 1B 1D
345 000003C1: 1C 1E
346 000003C6: 1D 1F
347 000003CB: 1E 20
348 000003D0: 1F 21
349 000003D5: 20 22
350 000003D9: 03 05
351 000003E6: 0E 10
352 000003F0: 12 15
353 000003FD: 14 17
354 00000409: 0E 10
355 00000415: 0E 10
356 0000099B: AA 76 altered value to please the checksum routine
357
358 So the game is harder, but it has the same ingame bugs as 'losttomb'.
359
360 8) 'spdcoin'
361
362 - Press START1 or START2 when reseting the game to enter sort of inputs "test mode" (in fact, only IN0 is tested).
363 Press BOTH START1 and START2 to exit from it.
364 - Press START1 + START2 + P1 joystick LEFT when reseting the game to display some statistics (code at 0x0226).
365 Release BOTH START1 and START2 to exit this screen.
366
367 9) 'superbon'
368
369 - This game is heavily based on 'losttomb', so not surprisingly is the code similar.
370 - The main difference in terms of gameplay is that you only have 1 joystick to control your character
371 and that you shoot in the direction you are running unless you press the "HOLD" button.
372 - There are no tests at startup and it's not possible to enter sort of inputs "test mode" (even if code exists)
373 by pressing P1 joystick UP because of 'jump' instruction at 0x007d. If you try to check the ROMS, you'll
374 notice that they have the same name as in 'losttomb' and that they fail the checksum routines.
375 - There is no "Cabinet" Dip Switch for this game and no possible muxed input for a 2nd player.
376 Furthermore, the routine at 0x2a48 is NEVER called, so the screen NEVER flips !
377 - The routine that reads inputs (code at 0x0eb7) behaves differently if you are in "attract mode" or not :
378 * when playing ([0x8667] = 0x00), it reads the 3 inputs ports
379 * when in "attract mode" ([0x8667] = 0xff), it only reads IN0 (to get status of COINn and STARTn)
380 and IN1 (to get the status of the "Lives" Dip Switch), and IN2 is completely ignored
381 The side effect of such thing is that the status of the "Demo Sounds" Dip Switch will be taken into
382 consideration only after a game has been played (for example, the game will always be silenced in
383 "attract mode" after resetting the machine because 0x00 is stored at 0x8613 during initialisation).
384 - When in "Free Play" mode, you only 3 lives at start.
385
386
387 Stephh's additional notes (based on the games Z80 code and some tests) for "Moon Cresta" and its numerous clones :
388
389 a) 'mooncrst'
390
391 - made by Nichibutsu
392 - inputs :
393 * player 1 controls are used by player 1
394 * player 2 controls are used by player 2, even in an "upright" cabinet
395 - 2 coins slots with different settings :
396 * coin A : 1C_1C / 2C_1C / 3C_1C / 4C_1C
397 * coin B : 1C_1C / 1C_2C / 1C_3C / "Free Play"
398 - no writes to 0xa003, so no coin counters
399 - bonus life at 30000 or 50000 based on a Dip Switch
400 - possible partial Japanese text based on a Dip Switch
401 - hi-score : 11 chars (even if only 10 will be displayed), 60 seconds to enter
402 - players bullet speed : 4 pixels - lower limit : 0x04
403 - ingame bug : if you reset the game when screen is flipped, it isn't flipped back
404 - driver possible bug (which occurs for all "Moon Cresta" sets but 'mooncrgx') :
405 when the screen is flipped, sprites are too shifted (see for example player 2
406 score which misses ending '0') while bullets shall be good
407 as a consequence, square around letters is wrong when entering player name
408 for hi-score table when screen is flipped
409
410 b) 'mooncrsu'
411
412 - made by Nichibutsu
413 - very similar to 'mooncrst' with the only following differences :
414 * additional "USA" display after "Nichibutsu" (which is shifted left)
415 * writes to 0xb000 to 0xb0ff on reset ('mooncrst' only writes to 0xb000),
416 so there is no screen flipped ingame bug as in 'mooncrst'
417
418 c) 'mooncrsa'
419
420 - made by Nichibutsu
421 - additional "(c)" display before "Nichibutsu"
422 - "(c) 1980 NIHON BUSSAN CO. , LTD" display replaced with "May 1980" in yellow
423 - code at 0x1f00 has been removed ! I can't determine was is was supposed to do,
424 but it's based on number of enemies left (stored at 0x823c) and possible time
425 spent on the level (stored at 0x8226). Any hint is fully welcome !
426 - this version is easier than 'mooncrst' : look at high nibbles that are stored
427 at 0x809b and 0x809c via code at 0x0cb8 (0x01 and 0x02 instead of 0x11 and 0x12).
428 - 2 coins slots, but same settings : 1C_1C / 1C_2C / 1C_3C / "Free Play"
429 - same other infos as in 'mooncrst'
430 - same ingame bug as in 'mooncrst'
431
432 d) 'mooncrs2'
433
434 - bootleg (possibily based on a Gremlin version we don't have)
435 - heavily based on 'mooncrsa' with additional RAM/ROM check routine at 0x3ea1
436 - some "chars" have been erased from the GFX ROMS but some routines which
437 "prints" them are still there (but there are less than in 'mooncrsa')
438 - same other infos as in 'mooncrst'
439 - due to numerous writes in the RAM/ROM check routine, there is no screen flipped
440 ingame bug as in 'mooncrst'
441
442 e) 'mooncrsb'
443
444 - bootleg (possibily based on a Gremlin version we don't have)
445 - the only difference with 'mooncrs2' is that RAM/ROM check routine at 0x3ea1
446 has completely been "noped" and the jump at address 0x0004 has been changed
447 - all "chars" from the GFX ROMS haven't been erased, so you can see the top
448 of the "Gremlin" logo as copyright and hi-scores names
449 - same ingame bug as in 'mooncrst'
450
451 f) 'mooncrs3'
452
453 - bootleg
454 - very similar to 'mooncrs2' with the only following differences :
455 * checksum of ROM area 0x0000-0x3fff is computed, but the result is discarded
456 (see "xor a" operation at 0x3fc0 instead of "and a")
457 * coins stuff is different (see below)
458 - 2 coins slots with different settings (same as 'mooncrst') :
459 * coin A : 1C_1C / 2C_1C / 3C_1C / 4C_1C
460 * coin B : 1C_1C / 1C_2C / 1C_3C / "Free Play"
461 - there are writes to 0xa003 (check code at 0x1b8e and 0x1b9e) which occur
462 when you insert a coin, but I can't confirm it's related to coin counters
463 as the same value is written when you press COIN1 or COIN2
464
465 g) 'mooncrsg'
466
467 - made by Gremlin
468 - there are MANY changes and additions, and I wonder if there's such a Nichibutsu set;
469 anyway, closest set to this one seems to be 'mooncrst'
470 - Gremin "logo" on 2 lines instead of Nichibutsu copyright messages (2 lines)
471 - additional test for IN0 bit 7 (code at 0x0174) which always adds 1 credit
472 - there are writes to 0xa003 (check code at 0x0158 and 0x0160) which occur
473 when you insert a coin, but I can't confirm it's related to coin counters
474 as the same value is written when you press COIN1 or COIN2
475 - only English text (Dip Switch has no effect due to code at 0x2f77)
476 - hi-score : 3 chars, 10 seconds to enter
477 - same difficulty as in 'monncrst' (but stored at 0x809e and 0x809f)
478 - same other infos as in 'mooncrst'
479 - same ingame bug as in 'mooncrst'
480
481 h) 'fantazia'
482
483 - made by Subelectro
484 - closest set to this one seems to be 'mooncrsb'
485 - all intro texts have been changed as well as colors
486 - inputs :
487 * player 1 controls are used by player 1
488 * player 2 controls are used by player 2, only in a "cocktail" cabinet
489 look at additional routine at 0x29e0
490 - 2 coins slots with different settings (inverted coin A/B compared to 'mooncrst') :
491 * coin A : 1C_1C / 1C_2C / 1C_3C / "Free Play"
492 * coin B : 1C_1C / 2C_1C / 3C_1C / 4C_1C
493 - only English text (Dip Switch has no effect due to code at 0x2f53)
494 - hi-score : 3 chars, 60 seconds to enter
495 - same other infos as in 'mooncrst'
496 - same ingame bug as in 'mooncrst'
497
498 i) 'eagle'
499
500 - made by Centuri
501 - very similar to 'mooncrsb' with the only following differences :
502 * only 3 chars for hi-score instead of 11
503 * all other changes are modified "strings" to be displayed
504 (the intro texts but copyright remains though) as well as
505 new GFX (I can't test the sound for now to check)
506 - same ingame bug as in 'mooncrst'
507
508 j) 'eagle2'
509
510 - made by Centuri
511 - very similar to 'eagle' with the only following differences :
512 * only 20 seconds to enter hi-score instead of 60
513 * coins stuff is different (see below)
514 * one GFX ROM is slighlty different
515 - 2 coins slots, but same settings : 1C_1C / 2C_1C / 3C_1C / 4C_1C
516 - previous "Coin B" Dip Switch is now only tested to see if in "Freeplay" mode
517 - same ingame bug as in 'mooncrst'
518
519 k) 'eagle3'
520
521 - made by Centuri
522 - PRG ROMS are the same as for 'eagle' while two GFX ROMS are slighly different
523 (so the game is having 'mooncrst' ships and 'eagle' enemies)
524 - same ingame bug as in 'mooncrst'
525
526 l) 'spctbird'
527
528 - made by Fortrek
529 - very similar to 'mooncrsb' with the only following difference :
530 * coins stuff is different (same as in 'eagle2' - see below)
531 - 2 coins slots, but same settings : 1C_1C / 2C_1C / 3C_1C / 4C_1C
532 - previous "Coin B" Dip Switch is now only tested to see if in "Freeplay" mode
533 - same ingame bug as in 'mooncrst'
534
535 m) 'smooncrs'
536
537 - made par Gremlin (bootleg based on a Nichibutsu version we don't have ?)
538 - same RAM/ROM check routine as in 'mooncrs2' (so there is no screen flipped
539 ingame bug as in 'mooncrst'), but LOTS of new features !
540 - only top of the Gremlin logo is displayed and it is also used for hi-scores
541 - all intro texts have been changed
542 - "2'ST" instead of "2'ND" and "RECORD" instead of "HI-SCORE"
543 - additional "PLAYER 1/2" messages when player changes
544 - inputs : player 1 controls are used by players 1 and 2, even in a "cocktail"
545 cabinet (player 2 inputs are never read due to code at 0x2b1c and 0x3313)
546 - 2 coins slots with different settings :
547 * coin A : 1C_1C / 2C_1C / 3C_1C / 4C_1C
548 * coin B : 1C_1C / 1C_2C / 1C_3C / "Free Play"
549 additional wrong (Spanish) text displayed when "Coin B" set to 1C_1C
550 (check additional code at 0x0fae) :
551 * if "Coin A" set to 4C_1C, "1 MONEDA 1 PARTIDA" on one line
552 * if "Coin A" set to 2C_1C, "1 MONEDA 1 PARTIDA" on one line
553 and "2 MONEDAS 3 PARTIDAS" on another line below
554 when "Coin B" set to "Free Play", "CREDIT 04" instead of "FREE PLAY" string
555 (even if this number of credits is decremented when you press a START button,
556 it is put back to 04 when the game is over for all players)
557 - additional "POR" display after the number of credits
558 - bonus life always 50000 due to code at 0x2f68
559 - only English text due to code at 0x2f53
560 - hi-score : 3 chars, 60 seconds to enter
561 - players bullet speed : 9 or 12 pixels (using previous "Language" Dip Switch) -
562 lower limit : 0x0f (see additional routine at 0x0007 and call from 0x3407)
563 - game difficulty using previous "Bonus Life" Dip Switch (code at 0x2962)
564 however, even with "Easy" difficulty, the game is much harder as in 'mooncrs2'
565 as enemies as enemies move much faster and as they shoot on some levels
566 - docking stage is harder has there are gaps of 2 pixels instead of 1
567 - when you complete the 8 stages, "O.K." "FANTASTIC" messages on 2 lines
568 instead of "FAR OUT !" message on 1 line
569 - same ingame bug as in 'mooncrst'
570 - another ingame bug : when in "cocktail mode", "PLAYER 1/2" messages are
571 displayed BEFORE the screen is flipped (back)
572 - driver other bugs :
573 * when screen is flipped, player's bullets aren't displayed
574 * when screen is flipped, enemies' bullets aren't flipped
575
576 n) 'spcdrag'
577
578 - bootleg
579 - heavily based on 'smooncrs' (so there's a RAM/ROM check) but some differences though
580 - same intro texts as in 'mooncrs2'
581 - 2 coins slots with different settings :
582 * coin A : 1C_1C / 2C_1C / 3C_1C / 4C_1C
583 * coin B : 1C_2C / 1C_3C / 1C_4C / "Free Play"
584 additional wrong (Engrish) text displayed when "Coin B" set to 1C_2C
585 (check additional code at 0x0fae) :
586 * if "Coin A" set to 4C_1C, "1 COIN 1 PLAY " on one line
587 * if "Coin A" set to 2C_1C, "1 COIN 1 PLAY " on one line
588 and "2 COINS 3 PLAYES " (notice the spelling) on another line below
589 when "Coin B" set to "Free Play", "CREDIT 04" instead of "FREE PLAY" string
590 (even if this number of credits is decremented when you press a START button,
591 it is put back to 04 when the game is over for all players)
592 - "CAP 2" display instead of "POR" after the number of credits
593 - hi-score : 11 chars (even if only 10 will be displayed), 60 seconds to enter
594 (same as in 'mooncrs2')
595 - players bullet speed : 6 or 9 pixels (using previous "Language" Dip Switch) -
596 lower limit : 0x04 (instead of speed 9/12 and lower limit 0x0f)
597 - even if there's also the "Difficulty" Dip Switch, the game is a little bit easier
598 (enemies speed is slower and docking stage is back to 1 pixel to fit 'mooncrs2')
599 - when you complete the 8 stages, same "FAR OUT !" message as in 'mooncrs2'
600 - driver bug : even if player's bullets are displayed when screen is flipped as in
601 other sets, enemies' bullets are still not flipped as in 'smooncrs'
602
603 o) 'spcdraga'
604
605 - bootleg ? (there's a Nichibutsu logo which is displayed in the "title" screen
606 as well as in the hi-scores)
607 - very similar to 'spcdrag' with the only following (comestical) differences :
608 * unused routine at 0x37a8 has been "noped"
609 * no text after the number of credits
610 * all texts have been translated to Spanish
611
612 p) 'mooncrgx'
613
614 - bootleg on "Galaxian" hardware
615 - very similar to 'mooncrsb' with the only following differences :
616 * all unused routines have been "noped"
617 * settings are different (see below)
618 - 2 coins slots with different settings :
619 * coin A : 1C_1C / 2C_1C
620 * coin B : 1C_3C / 1C_5C
621 - there are writes to 0x6003 when you press COIN1 but not when you press COIN2
622 - there are also writes to (unmapped) 0x6804 when you press either COIN1 or COIN2 :
623 * when you press COIN1, 0x00 is written once
624 * when you press COIN2, 0x01 is written 5 times, then 0x00 is written once
625 - only English text (Dip Switch has no effect due to code at 0x2f4b)
626 - no ingame bug due to code at 0x2f77
627 - driver possible bug : while sprites are now correct when screen is flipped,
628 they are too shifted when screen is not flipped (again, see for example player 2
629 score which misses ending '0') while bullets shall be good
630 as a consequence, square around letters is wrong when entering player name
631 for hi-score table when screen not is flipped
632
633
634
635 TODO:
636 ----
637 - Problems with Galaxian based on the observation of a real machine:
638 - Background humming is incorrect. It's faster on a real machine
639 - Explosion sound is much softer. Filter involved?
640 - streakng/ghostmun: $4800-4bff
641 - smooncrs : fix read/writes at/to unmapped memory (when player 2, "cocktail" mode) + fix the ?#! bug with "bullets" (when player 2, "cocktail" mode)
642 - timefgtr : missing player bullets, sprite ROM extend(see later levels), sound is too slow, some sprites missing
643 - zigzag : full Dip Switches and Inputs
644 - zigzag2 : full Dip Switches and Inputs
645 - jumpbug : full Dip Switches and Inputs - missing possible discrete sounds
646 - jumpbugb : full Dip Switches and Inputs - missing possible discrete sounds
647 - levers : full Dip Switches and Inputs
648 - kingball : full Dip Switches and Inputs
649 - kingbalj : full Dip Switches and Inputs
650 - frogg : fix read/writes at/to unmapped/wrong memory
651 - scprpng : fix read/writes at/to unmapped/wrong memory
652 - scorpion : check whether konami filters are used
653 - explorer : check whether konami filters are used
654
655 ***************************************************************************/
656
657 #include "emu.h"
658 #include "includes/galaxian.h"
659 #include "audio/cclimber.h"
660 #include "audio/galaxian.h"
661
662 #include "cpu/s2650/s2650.h"
663 #include "cpu/z80/z80.h"
664 #include "machine/nvram.h"
665 #include "machine/watchdog.h"
666 #include "sound/sn76496.h"
667 #include "screen.h"
668 #include "speaker.h"
669
670 #include "audio/nl_konami.h"
671
672 /*************************************
673 *
674 * Interrupts
675 *
676 *************************************/
677
WRITE_LINE_MEMBER(galaxian_state::vblank_interrupt_w)678 WRITE_LINE_MEMBER(galaxian_state::vblank_interrupt_w)
679 {
680 /* interrupt line is clocked at VBLANK */
681 /* a flip-flop at 6F is held in the preset state based on the NMI ON signal */
682 if (state && m_irq_enabled)
683 m_maincpu->set_input_line(m_irq_line, ASSERT_LINE);
684 }
685
INPUT_CHANGED_MEMBER(galaxian_state::tenspot_fake)686 INPUT_CHANGED_MEMBER(galaxian_state::tenspot_fake)
687 {
688 if (newval)
689 {
690 m_tenspot_current_game++;
691 m_tenspot_current_game%=10;
692 tenspot_set_game_bank(m_tenspot_current_game, 1);
693 }
694 m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE);
695 }
696
irq_enable_w(uint8_t data)697 void galaxian_state::irq_enable_w(uint8_t data)
698 {
699 /* the latched D0 bit here goes to the CLEAR line on the interrupt flip-flop */
700 m_irq_enabled = data & 1;
701
702 /* if CLEAR is held low, we must make sure the interrupt signal is clear */
703 if (!m_irq_enabled)
704 m_maincpu->set_input_line(m_irq_line, CLEAR_LINE);
705 }
706
707 /*************************************
708 *
709 * DRIVER latch control
710 *
711 *************************************/
712
start_lamp_w(offs_t offset,uint8_t data)713 void galaxian_state::start_lamp_w(offs_t offset, uint8_t data)
714 {
715 /* offset 0 = 1P START LAMP */
716 /* offset 1 = 2P START LAMP */
717 m_lamps[offset] = BIT(data, 0);
718 }
719
720
coin_lock_w(uint8_t data)721 void galaxian_state::coin_lock_w(uint8_t data)
722 {
723 /* many variants and bootlegs don't have this */
724 machine().bookkeeping().coin_lockout_global_w(~data & 1);
725 }
726
727
coin_count_0_w(uint8_t data)728 void galaxian_state::coin_count_0_w(uint8_t data)
729 {
730 machine().bookkeeping().coin_counter_w(0, data & 1);
731 }
732
733
coin_count_1_w(uint8_t data)734 void galaxian_state::coin_count_1_w(uint8_t data)
735 {
736 machine().bookkeeping().coin_counter_w(1, data & 1);
737 }
738
739
740
741 /*************************************
742 *
743 * General Konami sound I/O
744 *
745 *************************************/
746
konami_ay8910_r(offs_t offset)747 uint8_t galaxian_state::konami_ay8910_r(offs_t offset)
748 {
749 /* the decoding here is very simplistic, and you can address both simultaneously */
750 uint8_t result = 0xff;
751 if (offset & 0x20) result &= m_ay8910[1]->data_r();
752 if (offset & 0x80) result &= m_ay8910[0]->data_r();
753 return result;
754 }
755
756
konami_ay8910_w(offs_t offset,uint8_t data)757 void galaxian_state::konami_ay8910_w(offs_t offset, uint8_t data)
758 {
759 /* AV 4,5 ==> AY8910 #2 */
760 /* the decoding here is very simplistic, and you can address two simultaneously */
761 if (offset & 0x10)
762 m_ay8910[1]->address_w(data);
763 else if (offset & 0x20)
764 m_ay8910[1]->data_w(data);
765 /* AV6,7 ==> AY8910 #1 */
766 if (offset & 0x40)
767 m_ay8910[0]->address_w(data);
768 else if (offset & 0x80)
769 m_ay8910[0]->data_w(data);
770 }
771
772
konami_sound_control_w(uint8_t data)773 void galaxian_state::konami_sound_control_w(uint8_t data)
774 {
775 uint8_t old = m_konami_sound_control;
776 m_konami_sound_control = data;
777
778 /* the inverse of bit 3 clocks the flip flop to signal an INT */
779 /* it is automatically cleared on the acknowledge */
780 if ((old & 0x08) && !(data & 0x08))
781 m_audiocpu->set_input_line(0, HOLD_LINE);
782
783 /* bit 4 is sound disable */
784 machine().sound().system_mute(data & 0x10);
785 }
786
787
konami_sound_timer_r()788 uint8_t galaxian_state::konami_sound_timer_r()
789 {
790 /*
791 The timer is clocked at KONAMI_SOUND_CLOCK and cascades through a
792 series of counters. It first encounters a chained pair of 4-bit
793 counters in an LS393, which produce an effective divide-by-256. Next
794 it enters the divide-by-2 counter in an LS93, followed by the
795 divide-by-8 counter. Finally, it clocks a divide-by-5 counter in an
796 LS90, followed by the divide-by-2 counter. This produces an effective
797 period of 16*16*2*8*5*2 = 40960 clocks.
798
799 The clock for the sound CPU comes from output C of the first
800 divide-by-16 counter, or KONAMI_SOUND_CLOCK/8. To recover the
801 current counter index, we use the sound cpu clock times 8 mod
802 16*16*2*8*5*2.
803 */
804 uint32_t cycles = (m_audiocpu->total_cycles() * 8) % (uint64_t)(16*16*2*8*5*2);
805 uint8_t hibit = 0;
806
807 /* separate the high bit from the others */
808 if (cycles >= 16*16*2*8*5)
809 {
810 hibit = 1;
811 cycles -= 16*16*2*8*5;
812 }
813
814 /* the top bits of the counter index map to various bits here */
815 return (hibit << 7) | /* B7 is the output of the final divide-by-2 counter */
816 (BIT(cycles,14) << 6) | /* B6 is the high bit of the divide-by-5 counter */
817 (BIT(cycles,13) << 5) | /* B5 is the 2nd highest bit of the divide-by-5 counter */
818 (BIT(cycles,11) << 4) | /* B4 is the high bit of the divide-by-8 counter */
819 0x0e; /* assume remaining bits are high, except B0 which is grounded */
820 }
821
konami_sound_filter_w(offs_t offset,uint8_t data)822 void galaxian_state::konami_sound_filter_w(offs_t offset, uint8_t data)
823 {
824 if (m_netlist != nullptr)
825 {
826 /* the offset is used as data, 6 channels * 2 bits each */
827 /* AV0 .. AV5 ==> AY8910 #2 - 3C */
828 /* AV6 .. AV11 ==> AY8910 #1 - 3D */
829 for (int which = 0; which < 2; which++)
830 {
831 if (m_ay8910[which] != nullptr)
832 {
833 for (int flt = 0; flt < 6; flt++)
834 {
835 const int fltnum = (flt + 6 * which);
836 const uint8_t bit = (offset >> (flt + 6 * (1 - which))) & 1;
837
838 /* low bit goes to 0.22uF capacitor = 220000pF */
839 /* high bit goes to 0.047uF capacitor = 47000pF */
840 m_filter_ctl[fltnum]->write(bit);
841 }
842 }
843 }
844 }
845 }
846
847
konami_portc_0_w(uint8_t data)848 void galaxian_state::konami_portc_0_w(uint8_t data)
849 {
850 logerror("%s:ppi0_portc_w = %02X\n", machine().describe_context(), data);
851 }
852
853
konami_portc_1_w(uint8_t data)854 void galaxian_state::konami_portc_1_w(uint8_t data)
855 {
856 logerror("%s:ppi1_portc_w = %02X\n", machine().describe_context(), data);
857 }
858
859
860 /*************************************
861 *
862 * The End I/O
863 *
864 *************************************/
865
theend_ppi8255_r(offs_t offset)866 uint8_t galaxian_state::theend_ppi8255_r(offs_t offset)
867 {
868 /* the decoding here is very simplistic, and you can address both simultaneously */
869 uint8_t result = 0xff;
870 if (offset & 0x0100) result &= m_ppi8255[0]->read(offset & 3);
871 if (offset & 0x0200) result &= m_ppi8255[1]->read(offset & 3);
872 return result;
873 }
874
875
theend_ppi8255_w(offs_t offset,uint8_t data)876 void galaxian_state::theend_ppi8255_w(offs_t offset, uint8_t data)
877 {
878 /* the decoding here is very simplistic, and you can address both simultaneously */
879 if (offset & 0x0100) m_ppi8255[0]->write(offset & 3, data);
880 if (offset & 0x0200) m_ppi8255[1]->write(offset & 3, data);
881 }
882
883
theend_coin_counter_w(uint8_t data)884 void galaxian_state::theend_coin_counter_w(uint8_t data)
885 {
886 machine().bookkeeping().coin_counter_w(0, data & 0x80);
887 }
888
889
theend_protection_w(uint8_t data)890 void galaxian_state::theend_protection_w(uint8_t data)
891 {
892 /*
893 Handled by a PAL16VR8(?) at 6J. Both inputs and outputs are a nibble.
894 Logic is not exactly known, but this implementation works well enough.
895 */
896 m_protection_state = (m_protection_state << 4) | (data & 0x0f);
897
898 const uint8_t num1 = (m_protection_state >> 8) & 0x0f;
899 const uint8_t num2 = (m_protection_state >> 4) & 0x0f;
900 const uint8_t op = m_protection_state & 0x0f;
901
902 /* TODO: theend writes several, other mystery sequences */
903 switch (op)
904 {
905 case 0x6:
906 /* scrambles */
907 m_protection_result ^= 0x80;
908 break;
909 case 0x9:
910 /* scramble */
911 m_protection_result = std::min(num1 + 1, 0xf) << 4; // does not want overflow
912 break;
913 case 0xb:
914 /* theend */
915 m_protection_result = std::max(num2 - num1, 0) << 4; // assume no underflow
916 break;
917 case 0xa:
918 /* theend */
919 m_protection_result = 0x00; // needs this to avoid glitches after first round
920 break;
921 case 0xf:
922 /* scrambles */
923 m_protection_result = std::max(num1 - num2, 0) << 4; // assume no underflow
924 break;
925 }
926 }
927
928
theend_protection_r()929 uint8_t galaxian_state::theend_protection_r()
930 {
931 return m_protection_result;
932 }
933
934 template <int N>
READ_LINE_MEMBER(galaxian_state::theend_protection_alt_r)935 READ_LINE_MEMBER(galaxian_state::theend_protection_alt_r)
936 {
937 /*
938 Handled by a custom IC. Holds two bits derived from the upper bit of
939 the nibble that the IC at 6J returns; scrambles reads this area and
940 expects said behavior, or else it will crash.
941 */
942 return (m_protection_result >> 7) & 1;
943 }
944
945 /*************************************
946 *
947 * Explorer I/O
948 *
949 *************************************/
950
explorer_sound_control_w(uint8_t data)951 void galaxian_state::explorer_sound_control_w(uint8_t data)
952 {
953 m_audiocpu->set_input_line(0, ASSERT_LINE);
954 }
955
956
explorer_sound_latch_r()957 uint8_t galaxian_state::explorer_sound_latch_r()
958 {
959 m_audiocpu->set_input_line(0, CLEAR_LINE);
960 return m_soundlatch->read();
961 }
962
963
964
965 /*************************************
966 *
967 * SF-X I/O
968 *
969 *************************************/
970
sfx_sample_io_r(offs_t offset)971 uint8_t galaxian_state::sfx_sample_io_r(offs_t offset)
972 {
973 /* the decoding here is very simplistic, and you can address both simultaneously */
974 uint8_t result = 0xff;
975 if (offset & 0x04) result &= m_ppi8255[2]->read(offset & 3);
976 return result;
977 }
978
979
sfx_sample_io_w(offs_t offset,uint8_t data)980 void galaxian_state::sfx_sample_io_w(offs_t offset, uint8_t data)
981 {
982 /* the decoding here is very simplistic, and you can address both simultaneously */
983 if (offset & 0x04) m_ppi8255[2]->write(offset & 3, data);
984 if (offset & 0x10) m_dac->write(data);
985 }
986
987
sfx_sample_control_w(uint8_t data)988 void galaxian_state::sfx_sample_control_w(uint8_t data)
989 {
990 uint8_t old = m_sfx_sample_control;
991 m_sfx_sample_control = data;
992
993 /* the inverse of bit 0 clocks the flip flop to signal an INT */
994 /* it is automatically cleared on the acknowledge */
995 if ((old & 0x01) && !(data & 0x01))
996 m_audio2->set_input_line(0, HOLD_LINE);
997 }
998
999
1000 /*************************************
1001 *
1002 * Monster Zero I/O
1003 *
1004 *************************************/
1005
1006 /* Preliminary protection notes (based on z80 disasm):
1007
1008 The initial protection routine is on the maincpu at $c591-$c676.
1009 It accesses the 8255, expects an irq, and reads $d800 256 times which is xored against data
1010 starting at $0100 to confirm a checksum stored in $0011-$0019. Then it reads the (presumably)same
1011 block to store it in RAM at $3800-$3fff. 9 blocks in total.
1012 It is presumed that this data comes from another ROM, and scrambled/encrypted a bit.
1013 The data(code) in the extra RAM is later jumped/called to in many parts of the game.
1014 */
1015
monsterz_protection_r()1016 uint8_t galaxian_state::monsterz_protection_r()
1017 {
1018 return m_protection_result;
1019 }
1020
1021
monsterz_set_latch()1022 void galaxian_state::monsterz_set_latch()
1023 {
1024 // read from a rom (which one?? "a-3e.k3" from audiocpu ($2700-$2fff) looks very suspicious)
1025 uint8_t *rom = memregion("audiocpu")->base();
1026 m_protection_result = rom[0x2000 | (m_protection_state & 0x1fff)]; // probably needs a bitswap<8>
1027
1028 // and an irq on the main z80 afterwards
1029 m_maincpu->set_input_line(0, HOLD_LINE );
1030 }
1031
1032
monsterz_porta_1_w(uint8_t data)1033 void galaxian_state::monsterz_porta_1_w(uint8_t data)
1034 {
1035 // d7 high: set latch + advance address high bits (and reset low bits?)
1036 if (data & 0x80)
1037 {
1038 monsterz_set_latch();
1039 m_protection_state = (m_protection_state + 0x100) & 0xff00;
1040 }
1041 }
1042
monsterz_portb_1_w(uint8_t data)1043 void galaxian_state::monsterz_portb_1_w(uint8_t data)
1044 {
1045 // d3 high: set latch + advance address low bits
1046 if (data & 0x08)
1047 {
1048 monsterz_set_latch();
1049 m_protection_state = ((m_protection_state + 1) & 0x00ff) | (m_protection_state & 0xff00);
1050 }
1051 }
1052
monsterz_portc_1_w(uint8_t data)1053 void galaxian_state::monsterz_portc_1_w(uint8_t data)
1054 {
1055 }
1056
1057 /*************************************
1058 *
1059 * Frogger I/O
1060 *
1061 *************************************/
1062
frogger_ppi8255_r(offs_t offset)1063 uint8_t galaxian_state::frogger_ppi8255_r(offs_t offset)
1064 {
1065 /* the decoding here is very simplistic, and you can address both simultaneously */
1066 uint8_t result = 0xff;
1067 if (offset & 0x1000) result &= m_ppi8255[1]->read((offset >> 1) & 3);
1068 if (offset & 0x2000) result &= m_ppi8255[0]->read((offset >> 1) & 3);
1069 return result;
1070 }
1071
1072
frogger_ppi8255_w(offs_t offset,uint8_t data)1073 void galaxian_state::frogger_ppi8255_w(offs_t offset, uint8_t data)
1074 {
1075 /* the decoding here is very simplistic, and you can address both simultaneously */
1076 if (offset & 0x1000) m_ppi8255[1]->write((offset >> 1) & 3, data);
1077 if (offset & 0x2000) m_ppi8255[0]->write((offset >> 1) & 3, data);
1078 }
1079
1080
frogger_ay8910_r(offs_t offset)1081 uint8_t galaxian_state::frogger_ay8910_r(offs_t offset)
1082 {
1083 /* the decoding here is very simplistic */
1084 uint8_t result = 0xff;
1085 if (offset & 0x40) result &= m_ay8910[0]->data_r();
1086 return result;
1087 }
1088
1089
frogger_ay8910_w(offs_t offset,uint8_t data)1090 void galaxian_state::frogger_ay8910_w(offs_t offset, uint8_t data)
1091 {
1092 /* the decoding here is very simplistic */
1093 /* AV6,7 ==> AY8910 #1 */
1094 if (offset & 0x40)
1095 m_ay8910[0]->data_w(data);
1096 else if (offset & 0x80)
1097 m_ay8910[0]->address_w(data);
1098 }
1099
1100
frogger_sound_timer_r()1101 uint8_t galaxian_state::frogger_sound_timer_r()
1102 {
1103 /* same as regular Konami sound but with bits 3,5 swapped */
1104 uint8_t konami_value = konami_sound_timer_r();
1105 return bitswap<8>(konami_value, 7,6,3,4,5,2,1,0);
1106 }
1107
1108
froggermc_sound_control_w(uint8_t data)1109 void galaxian_state::froggermc_sound_control_w(uint8_t data)
1110 {
1111 m_audiocpu->set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
1112 }
1113
IRQ_CALLBACK_MEMBER(galaxian_state::froggermc_audiocpu_irq_ack)1114 IRQ_CALLBACK_MEMBER(galaxian_state::froggermc_audiocpu_irq_ack)
1115 {
1116 // cleared when taking the interrupt using the m1 line
1117 // schematic: http://www.jrok.com/schem/FROGSND.pdf
1118 m_audiocpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
1119 return 0xff;
1120 }
1121
1122 /*************************************
1123 *
1124 * Frog (Falcon) I/O
1125 *
1126 *************************************/
1127
frogf_ppi8255_r(offs_t offset)1128 uint8_t galaxian_state::frogf_ppi8255_r(offs_t offset)
1129 {
1130 /* the decoding here is very simplistic, and you can address both simultaneously */
1131 uint8_t result = 0xff;
1132 if (offset & 0x1000) result &= m_ppi8255[0]->read((offset >> 3) & 3);
1133 if (offset & 0x2000) result &= m_ppi8255[1]->read((offset >> 3) & 3);
1134 return result;
1135 }
1136
1137
frogf_ppi8255_w(offs_t offset,uint8_t data)1138 void galaxian_state::frogf_ppi8255_w(offs_t offset, uint8_t data)
1139 {
1140 /* the decoding here is very simplistic, and you can address both simultaneously */
1141 if (offset & 0x1000) m_ppi8255[0]->write((offset >> 3) & 3, data);
1142 if (offset & 0x2000) m_ppi8255[1]->write((offset >> 3) & 3, data);
1143 }
1144
1145
1146
1147 /*************************************
1148 *
1149 * Turtles I/O
1150 *
1151 *************************************/
1152
turtles_ppi8255_0_r(offs_t offset)1153 uint8_t galaxian_state::turtles_ppi8255_0_r(offs_t offset){ return m_ppi8255[0]->read((offset >> 4) & 3); }
turtles_ppi8255_1_r(offs_t offset)1154 uint8_t galaxian_state::turtles_ppi8255_1_r(offs_t offset){ return m_ppi8255[1]->read((offset >> 4) & 3); }
turtles_ppi8255_0_w(offs_t offset,uint8_t data)1155 void galaxian_state::turtles_ppi8255_0_w(offs_t offset, uint8_t data){ m_ppi8255[0]->write((offset >> 4) & 3, data); }
turtles_ppi8255_1_w(offs_t offset,uint8_t data)1156 void galaxian_state::turtles_ppi8255_1_w(offs_t offset, uint8_t data){ m_ppi8255[1]->write((offset >> 4) & 3, data); }
1157
1158
1159
1160 /*************************************
1161 *
1162 * Scorpion sound I/O
1163 *
1164 *************************************/
1165
scorpion_ay8910_r(offs_t offset)1166 uint8_t galaxian_state::scorpion_ay8910_r(offs_t offset)
1167 {
1168 /* the decoding here is very simplistic, and you can address both simultaneously */
1169 uint8_t result = 0xff;
1170 if (offset & 0x08) result &= m_ay8910[2]->data_r();
1171 if (offset & 0x20) result &= m_ay8910[1]->data_r();
1172 if (offset & 0x80) result &= m_ay8910[0]->data_r();
1173 return result;
1174 }
1175
1176
scorpion_ay8910_w(offs_t offset,uint8_t data)1177 void galaxian_state::scorpion_ay8910_w(offs_t offset, uint8_t data)
1178 {
1179 /* the decoding here is very simplistic, and you can address all six simultaneously */
1180 if (offset & 0x04) m_ay8910[2]->address_w(data);
1181 if (offset & 0x08) m_ay8910[2]->data_w(data);
1182 if (offset & 0x10) m_ay8910[1]->address_w(data);
1183 if (offset & 0x20) m_ay8910[1]->data_w(data);
1184 if (offset & 0x40) m_ay8910[0]->address_w(data);
1185 if (offset & 0x80) m_ay8910[0]->data_w(data);
1186 }
1187
1188
scorpion_protection_r()1189 uint8_t galaxian_state::scorpion_protection_r()
1190 {
1191 uint16_t paritybits;
1192 uint8_t parity = 0;
1193
1194 /* compute parity of the current (bitmask & $CE29) */
1195 for (paritybits = m_protection_state & 0xce29; paritybits != 0; paritybits >>= 1)
1196 if (paritybits & 1)
1197 parity++;
1198
1199 /* only the low bit matters for protection, but bit 2 is also checked */
1200 return parity;
1201 }
1202
1203
scorpion_protection_w(uint8_t data)1204 void galaxian_state::scorpion_protection_w(uint8_t data)
1205 {
1206 /* bit 5 low is a reset */
1207 if (!(data & 0x20))
1208 m_protection_state = 0x0000;
1209
1210 /* bit 4 low is a clock */
1211 if (!(data & 0x10))
1212 {
1213 /* each clock shifts left one bit and ORs in the inverse of the parity */
1214 m_protection_state = (m_protection_state << 1) | (~scorpion_protection_r() & 1);
1215 }
1216 }
1217
scorpion_digitalker_intr_r()1218 uint8_t galaxian_state::scorpion_digitalker_intr_r()
1219 {
1220 return m_digitalker->digitalker_0_intr_r();
1221 }
1222
scorpion_digitalker_control_w(uint8_t data)1223 void galaxian_state::scorpion_digitalker_control_w(uint8_t data)
1224 {
1225 m_digitalker->digitalker_0_cs_w(data & 1 ? ASSERT_LINE : CLEAR_LINE);
1226 m_digitalker->digitalker_0_cms_w(data & 2 ? ASSERT_LINE : CLEAR_LINE);
1227 m_digitalker->digitalker_0_wr_w(data & 4 ? ASSERT_LINE : CLEAR_LINE);
1228 }
1229
1230 /*************************************
1231 *
1232 * Ghostmuncher Galaxian I/O
1233 *
1234 *************************************/
1235
INPUT_CHANGED_MEMBER(gmgalax_state::game_changed)1236 INPUT_CHANGED_MEMBER(gmgalax_state::game_changed)
1237 {
1238 /* new value is the selected game */
1239 m_selected_game = newval;
1240
1241 /* select the bank and graphics bank based on it */
1242 membank("bank1")->set_entry(m_selected_game);
1243 galaxian_gfxbank_w(0, m_selected_game);
1244
1245 /* reset the stars */
1246 galaxian_stars_enable_w(0);
1247
1248 /* reset the CPU */
1249 m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
1250 }
1251
1252
1253 template <int N>
CUSTOM_INPUT_MEMBER(gmgalax_state::port_r)1254 CUSTOM_INPUT_MEMBER(gmgalax_state::port_r)
1255 {
1256 return (m_selected_game != 0 ? m_glin : m_gmin)[N]->read();
1257 }
1258
1259
1260
1261 /*************************************
1262 *
1263 * Zig Zag I/O
1264 *
1265 *************************************/
1266
zigzag_bankswap_w(uint8_t data)1267 void galaxian_state::zigzag_bankswap_w(uint8_t data)
1268 {
1269 /* Zig Zag can swap ROMs 2 and 3 as a form of copy protection */
1270 membank("bank1")->set_entry(data & 1);
1271 membank("bank2")->set_entry(~data & 1);
1272 }
1273
1274
zigzag_ay8910_w(offs_t offset,uint8_t data)1275 void galaxian_state::zigzag_ay8910_w(offs_t offset, uint8_t data)
1276 {
1277 switch (offset & 0x300)
1278 {
1279 case 0x000:
1280 /* control lines */
1281 /* bit 0 = WRITE */
1282 /* bit 1 = C/D */
1283 if ((offset & 1) != 0)
1284 m_ay8910[0]->data_address_w(offset >> 1, m_zigzag_ay8910_latch);
1285 break;
1286
1287 case 0x100:
1288 /* data latch */
1289 m_zigzag_ay8910_latch = offset & 0xff;
1290 break;
1291
1292 case 0x200:
1293 /* unknown */
1294 break;
1295 }
1296 }
1297
1298
1299
1300 /*************************************
1301 *
1302 * Azurian I/O
1303 *
1304 *************************************/
1305
1306 template <int N>
READ_LINE_MEMBER(galaxian_state::azurian_port_r)1307 READ_LINE_MEMBER(galaxian_state::azurian_port_r)
1308 {
1309 return (ioport("FAKE")->read() >> N) & 1;
1310 }
1311
1312
1313
1314 /*************************************
1315 *
1316 * King & Balloon I/O
1317 *
1318 *************************************/
1319
READ_LINE_MEMBER(galaxian_state::kingball_muxbit_r)1320 READ_LINE_MEMBER(galaxian_state::kingball_muxbit_r)
1321 {
1322 /* multiplex the service mode switch with a speech DIP switch */
1323 return (ioport("FAKE")->read() >> m_kingball_speech_dip) & 1;
1324 }
1325
1326
READ_LINE_MEMBER(galaxian_state::kingball_noise_r)1327 READ_LINE_MEMBER(galaxian_state::kingball_noise_r)
1328 {
1329 /* bit 5 is the NOISE line from the sound circuit. The code just verifies
1330 that it's working, doesn't actually use return value, so we can just use
1331 machine().rand() */
1332 return machine().rand() & 1;
1333 }
1334
1335
kingball_speech_dip_w(uint8_t data)1336 void galaxian_state::kingball_speech_dip_w(uint8_t data)
1337 {
1338 m_kingball_speech_dip = data;
1339 }
1340
1341
kingball_sound1_w(uint8_t data)1342 void galaxian_state::kingball_sound1_w(uint8_t data)
1343 {
1344 m_kingball_sound = (m_kingball_sound & ~0x01) | data;
1345 }
1346
1347
kingball_sound2_w(uint8_t data)1348 void galaxian_state::kingball_sound2_w(uint8_t data)
1349 {
1350 m_kingball_sound = (m_kingball_sound & ~0x02) | (data << 1);
1351 m_soundlatch->write(m_kingball_sound | 0xf0);
1352 }
1353
1354
kingball_dac_w(uint8_t data)1355 void galaxian_state::kingball_dac_w(uint8_t data)
1356 {
1357 m_dac->write(data >> 4);
1358 }
1359
1360
1361
1362 /*************************************
1363 *
1364 * Moon Shuttle I/O
1365 *
1366 *************************************/
1367
mshuttle_ay8910_cs_w(uint8_t data)1368 void galaxian_state::mshuttle_ay8910_cs_w(uint8_t data)
1369 {
1370 m_mshuttle_ay8910_cs = data & 1;
1371 }
1372
1373
mshuttle_ay8910_control_w(uint8_t data)1374 void galaxian_state::mshuttle_ay8910_control_w(uint8_t data)
1375 {
1376 if (!m_mshuttle_ay8910_cs)
1377 m_ay8910_cclimber->address_w(data);
1378 }
1379
1380
mshuttle_ay8910_data_w(uint8_t data)1381 void galaxian_state::mshuttle_ay8910_data_w(uint8_t data)
1382 {
1383 if (!m_mshuttle_ay8910_cs)
1384 m_ay8910_cclimber->data_w(data);
1385 }
1386
1387
mshuttle_ay8910_data_r()1388 uint8_t galaxian_state::mshuttle_ay8910_data_r()
1389 {
1390 if (!m_mshuttle_ay8910_cs)
1391 return m_ay8910_cclimber->data_r();
1392 return 0xff;
1393 }
1394
1395
1396
1397 /*************************************
1398 *
1399 * Jump Bug I/O
1400 *
1401 *************************************/
1402
jumpbug_protection_r(offs_t offset)1403 uint8_t galaxian_state::jumpbug_protection_r(offs_t offset)
1404 {
1405 switch (offset)
1406 {
1407 case 0x0114: return 0x4f;
1408 case 0x0118: return 0xd3;
1409 case 0x0214: return 0xcf;
1410 case 0x0235: return 0x02;
1411 case 0x0311: return 0xff; /* not checked */
1412 }
1413 logerror("Unknown protection read. Offset: %04X PC=%04X\n",0xb000+offset,m_maincpu->pc());
1414 return 0xff;
1415 }
1416
1417
1418
1419 /*************************************
1420 *
1421 * Checkman I/O
1422 *
1423 *************************************/
1424
checkman_sound_command_w(uint8_t data)1425 void galaxian_state::checkman_sound_command_w(uint8_t data)
1426 {
1427 m_soundlatch->write(data);
1428 m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
1429 }
1430
1431
TIMER_DEVICE_CALLBACK_MEMBER(galaxian_state::checkmaj_irq0_gen)1432 TIMER_DEVICE_CALLBACK_MEMBER(galaxian_state::checkmaj_irq0_gen)
1433 {
1434 m_audiocpu->set_input_line(0, HOLD_LINE);
1435 }
1436
1437
checkmaj_protection_r()1438 uint8_t galaxian_state::checkmaj_protection_r()
1439 {
1440 switch (m_maincpu->pc())
1441 {
1442 case 0x0f15: return 0xf5;
1443 case 0x0f8f: return 0x7c;
1444 case 0x10b3: return 0x7c;
1445 case 0x10e0: return 0x00;
1446 case 0x10f1: return 0xaa;
1447 case 0x1402: return 0xaa;
1448 default:
1449 logerror("Unknown protection read. PC=%04X\n", m_maincpu->pc());
1450 }
1451
1452 return 0;
1453 }
1454
1455
1456
1457 /*************************************
1458 *
1459 * Dingo I/O
1460 *
1461 *************************************/
1462
dingo_3000_r()1463 uint8_t galaxian_state::dingo_3000_r()
1464 {
1465 return 0xaa;
1466 }
1467
1468
dingo_3035_r()1469 uint8_t galaxian_state::dingo_3035_r()
1470 {
1471 return 0x8c;
1472 }
1473
1474
dingoe_3001_r()1475 uint8_t galaxian_state::dingoe_3001_r()
1476 {
1477 return 0xaa;
1478 }
1479
1480
1481 /*************************************
1482 *
1483 * Moon War I/O
1484 *
1485 *************************************/
1486
moonwar_port_select_w(uint8_t data)1487 void galaxian_state::moonwar_port_select_w(uint8_t data)
1488 {
1489 m_moonwar_port_select = data & 0x10;
1490 }
1491
1492
1493 /*************************************
1494 *
1495 * Memory maps
1496 *
1497 *************************************/
1498
1499 /*
1500 0000-3fff
1501
1502
1503 4000-7fff
1504 4000-47ff -> RAM read/write (10 bits = 0x400)
1505 4800-4fff -> n/c
1506 5000-57ff -> /VRAM RD or /VRAM WR (10 bits = 0x400)
1507 5800-5fff -> /OBJRAM RD or /OBJRAM WR (8 bits = 0x100)
1508 6000-67ff -> /SW0 or /DRIVER
1509 6800-6fff -> /SW1 or /SOUND
1510 7000-77ff -> /DIPSW or LATCH
1511 7800-7fff -> /WDR or /PITCH
1512
1513 /DRIVER: (write 6000-67ff)
1514 D0 = data bit
1515 A0-A2 = decoder
1516 6000 -> 1P START
1517 6001 -> 2P START
1518 6002 -> COIN LOCKOUT
1519 6003 -> COIN COUNTER
1520 6004 -> 1M resistor (controls 555 timer @ 9R)
1521 6005 -> 470k resistor (controls 555 timer @ 9R)
1522 6006 -> 220k resistor (controls 555 timer @ 9R)
1523 6007 -> 100k resistor (controls 555 timer @ 9R)
1524
1525 /SOUND: (write 6800-6fff)
1526 D0 = data bit
1527 A0-A2 = decoder
1528 6800 -> FS1 (enables 555 timer at 8R)
1529 6801 -> FS2 (enables 555 timer at 8S)
1530 6802 -> FS3 (enables 555 timer at 8T)
1531 6803 -> HIT
1532 6804 -> n/c
1533 6805 -> FIRE
1534 6806 -> VOL1
1535 6807 -> VOL2
1536
1537 LATCH: (write 7000-77ff)
1538 D0 = data bit
1539 A0-A2 = decoder
1540 7000 -> n/c
1541 7001 -> NMI ON
1542 7002 -> n/c
1543 7003 -> n/c
1544 7004 -> STARS ON
1545 7005 -> n/c
1546 7006 -> HFLIP
1547 7007 -> VFLIP
1548
1549 /PITCH: (write 7800-7fff)
1550 loads latch at 9J
1551 */
1552
1553 /* map derived from schematics */
1554
galaxian_map_discrete(address_map & map)1555 void galaxian_state::galaxian_map_discrete(address_map &map)
1556 {
1557 map(0x6004, 0x6007).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::lfo_freq_w));
1558 map(0x6800, 0x6807).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::sound_w));
1559 map(0x7800, 0x7800).mirror(0x07ff).w("cust", FUNC(galaxian_sound_device::pitch_w));
1560 }
1561
galaxian_map_base(address_map & map)1562 void galaxian_state::galaxian_map_base(address_map &map)
1563 {
1564 map.unmap_value_high();
1565 map(0x0000, 0x3fff).rom();
1566 map(0x4000, 0x43ff).mirror(0x0400).ram();
1567 map(0x5000, 0x53ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1568 map(0x5800, 0x58ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1569 map(0x6000, 0x6000).mirror(0x07ff).portr("IN0");
1570 map(0x6000, 0x6001).mirror(0x07f8).w(FUNC(galaxian_state::start_lamp_w));
1571 map(0x6002, 0x6002).mirror(0x07f8).w(FUNC(galaxian_state::coin_lock_w));
1572 map(0x6003, 0x6003).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
1573 //map(0x6004, 0x6007).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::lfo_freq_w));
1574 map(0x6800, 0x6800).mirror(0x07ff).portr("IN1");
1575 //map(0x6800, 0x6807).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::sound_w));
1576 map(0x7000, 0x7000).mirror(0x07ff).portr("IN2");
1577 map(0x7001, 0x7001).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1578 map(0x7004, 0x7004).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1579 map(0x7006, 0x7006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1580 map(0x7007, 0x7007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1581 //map(0x7800, 0x7800).mirror(0x07ff).w("cust", FUNC(galaxian_sound_device::pitch_w));
1582 map(0x7800, 0x7800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1583 }
1584
galaxian_map(address_map & map)1585 void galaxian_state::galaxian_map(address_map &map)
1586 {
1587 galaxian_map_base(map);
1588 galaxian_map_discrete(map);
1589 }
1590
frogg_map(address_map & map)1591 void galaxian_state::frogg_map(address_map &map)
1592 {
1593 galaxian_map(map);
1594 map(0x4400, 0x47ff).ram(); // needs a full 2k of RAM
1595 }
1596
mandingarf_map(address_map & map)1597 void galaxian_state::mandingarf_map(address_map &map)
1598 {
1599 galaxian_map(map);
1600 map(0x4400, 0x47ff).ram(); // needs a full 2k of RAM
1601 map(0xc000, 0xc7ff).rom().region("maincpu", 0xc000); // extend ROM
1602 }
1603
victoryc_map(address_map & map)1604 void galaxian_state::victoryc_map(address_map &map)
1605 {
1606 galaxian_map(map);
1607 map(0x7004, 0x7004).mirror(0x07f8).nopw(); // disable the stars
1608 map(0x8000, 0x87ff).ram(); // needs a full 2k of RAM
1609 }
1610
highroll_map(address_map & map)1611 void galaxian_state::highroll_map(address_map &map)
1612 {
1613 galaxian_map(map);
1614 map(0x4000, 0x43ff).mirror(0x0400).ram().share("nvram");
1615 }
1616
1617 /* map derived from schematics */
1618
mooncrst_map_discrete(address_map & map)1619 void galaxian_state::mooncrst_map_discrete(address_map &map)
1620 {
1621 map(0xa004, 0xa007).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::lfo_freq_w));
1622 map(0xa800, 0xa807).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::sound_w));
1623 map(0xb800, 0xb800).mirror(0x07ff).w("cust", FUNC(galaxian_sound_device::pitch_w));
1624 }
1625
mooncrst_map_base(address_map & map)1626 void galaxian_state::mooncrst_map_base(address_map &map)
1627 {
1628 map.unmap_value_high();
1629 map(0x0000, 0x3fff).rom();
1630 map(0x8000, 0x83ff).mirror(0x0400).ram();
1631 map(0x9000, 0x93ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1632 map(0x9800, 0x98ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1633 map(0xa000, 0xa000).mirror(0x07ff).portr("IN0");
1634 map(0xa000, 0xa002).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_gfxbank_w));
1635 map(0xa003, 0xa003).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
1636 // map(0xa004, 0xa007).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::lfo_freq_w));
1637 map(0xa800, 0xa800).mirror(0x07ff).portr("IN1");
1638 // map(0xa800, 0xa807).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::sound_w));
1639 map(0xb000, 0xb000).mirror(0x07ff).portr("IN2");
1640 map(0xb000, 0xb000).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1641 map(0xb004, 0xb004).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1642 map(0xb006, 0xb006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1643 map(0xb007, 0xb007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1644 // map(0xb800, 0xb800).mirror(0x07ff).w("cust", FUNC(galaxian_sound_device::pitch_w));
1645 map(0xb800, 0xb800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1646 }
1647
moonqsr_decrypted_opcodes_map(address_map & map)1648 void galaxian_state::moonqsr_decrypted_opcodes_map(address_map &map)
1649 {
1650 map(0x0000, 0x3fff).rom().share("decrypted_opcodes");
1651 }
1652
mooncrst_map(address_map & map)1653 void galaxian_state::mooncrst_map(address_map &map)
1654 {
1655 mooncrst_map_base(map);
1656 mooncrst_map_discrete(map);
1657 }
1658
froggermc_map(address_map & map)1659 void galaxian_state::froggermc_map(address_map &map)
1660 {
1661 mooncrst_map_base(map); // no discrete sound
1662 map(0x8400, 0x87ff).ram(); // actually needs 2k of RAM
1663 map(0xa800, 0xa800).mirror(0x7ff).w(m_soundlatch, FUNC(generic_latch_8_device::write));
1664 map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::froggermc_sound_control_w));
1665 }
1666
thepitm_map(address_map & map)1667 void galaxian_state::thepitm_map(address_map &map)
1668 {
1669 mooncrst_map(map);
1670 map(0x0000, 0x47ff).rom().region("maincpu", 0); // extend ROM
1671 map(0xb000, 0xb000).mirror(0x7f8).nopw(); // interrupt enable moved
1672 map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w));
1673 map(0xb004, 0xb004).mirror(0x7f8).nopw(); // disable the stars
1674 }
1675
skybase_map(address_map & map)1676 void galaxian_state::skybase_map(address_map &map)
1677 {
1678 mooncrst_map(map);
1679 map(0x0000, 0x5fff).rom().region("maincpu", 0); // extend ROM
1680 map(0x8400, 0x87ff).ram(); // needs a full 2k of RAM
1681 map(0xa002, 0xa002).mirror(0x7f8).w(FUNC(galaxian_state::galaxian_gfxbank_w)); // coin lockout replaced by graphics bank
1682 }
1683
kong_map(address_map & map)1684 void galaxian_state::kong_map(address_map &map)
1685 {
1686 mooncrst_map(map);
1687 map(0x0000, 0x7fff).rom().region("maincpu", 0); // extend ROM
1688 map(0x8400, 0x87ff).ram(); // needs a full 2k of RAM
1689 }
1690
scorpnmc_map(address_map & map)1691 void galaxian_state::scorpnmc_map(address_map &map)
1692 {
1693 mooncrst_map(map);
1694 map(0x4000, 0x47ff).ram();
1695 map(0x5000, 0x67ff).rom().region("maincpu", 0x5000); // extra ROM
1696 map(0x8400, 0x87ff).unmaprw(); // doesn't appear to use original RAM
1697 map(0xb000, 0xb000).mirror(0x7f8).nopw(); // interrupt enable moved
1698 map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w));
1699 }
1700
1701
fantastc_map(address_map & map)1702 void galaxian_state::fantastc_map(address_map &map)
1703 {
1704 map.unmap_value_high();
1705 map(0x0000, 0x7fff).rom();
1706 map(0x8000, 0x87ff).ram();
1707 map(0x8803, 0x8803).w("8910.0", FUNC(ay8910_device::address_w));
1708 map(0x8807, 0x8807).r("8910.0", FUNC(ay8910_device::data_r));
1709 map(0x880b, 0x880b).w("8910.0", FUNC(ay8910_device::data_w));
1710 map(0x880c, 0x880c).w("8910.1", FUNC(ay8910_device::address_w));
1711 map(0x880d, 0x880d).r("8910.1", FUNC(ay8910_device::data_r));
1712 map(0x880e, 0x880e).w("8910.1", FUNC(ay8910_device::data_w));
1713 map(0x9000, 0x93ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1714 map(0x9800, 0x9bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1715 map(0xa000, 0xa000).mirror(0x07ff).portr("IN0");
1716 map(0xa800, 0xa800).mirror(0x07ff).portr("IN1");
1717 map(0xb000, 0xb000).mirror(0x07ff).portr("IN2");
1718 map(0xb000, 0xb000).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1719 map(0xb800, 0xb800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1720 map(0xfffe, 0xfffe).noprw(); // ?
1721 // map(0xb800, 0xb800).nopw(); // ?
1722 // map(0xfff8, 0xffff).nopw(); // timefgtr, sound related?
1723 }
1724
zigzag_map(address_map & map)1725 void galaxian_state::zigzag_map(address_map &map)
1726 {
1727 map.unmap_value_high();
1728 map(0x0000, 0x1fff).rom();
1729 map(0x2000, 0x2fff).bankr("bank1");
1730 map(0x3000, 0x3fff).bankr("bank2");
1731 map(0x4000, 0x47ff).ram(); // needs a full 2K of RAM
1732 map(0x4800, 0x4fff).w(FUNC(galaxian_state::zigzag_ay8910_w));
1733 map(0x5000, 0x53ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1734 map(0x5800, 0x58ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1735 map(0x6000, 0x6000).mirror(0x07ff).portr("IN0");
1736 map(0x6000, 0x6001).mirror(0x07f8).w(FUNC(galaxian_state::start_lamp_w));
1737 map(0x6003, 0x6003).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
1738 map(0x6800, 0x6800).mirror(0x07ff).portr("IN1");
1739 map(0x7000, 0x7000).mirror(0x07ff).portr("IN2");
1740 map(0x7001, 0x7001).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1741 map(0x7002, 0x7002).mirror(0x07f8).w(FUNC(galaxian_state::zigzag_bankswap_w));
1742 map(0x7004, 0x7004).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1743 map(0x7006, 0x7006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1744 map(0x7007, 0x7007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1745 map(0x7800, 0x7800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1746 }
1747
1748
1749 /* map derived from schematics */
theend_map(address_map & map)1750 void galaxian_state::theend_map(address_map &map)
1751 {
1752 map.unmap_value_high();
1753 map(0x0000, 0x3fff).rom();
1754 map(0x4000, 0x47ff).ram();
1755 map(0x4800, 0x4bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1756 map(0x5000, 0x50ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1757 map(0x6801, 0x6801).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1758 map(0x6802, 0x6802).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
1759 map(0x6803, 0x6803).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_enable_w));
1760 map(0x6804, 0x6804).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1761 map(0x6805, 0x6805).mirror(0x07f8); //POUT2
1762 map(0x6806, 0x6806).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1763 map(0x6807, 0x6807).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1764 map(0x7000, 0x7000).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1765 map(0x8000, 0xffff).rw(FUNC(galaxian_state::theend_ppi8255_r), FUNC(galaxian_state::theend_ppi8255_w));
1766 }
1767
froggervd_map(address_map & map)1768 void galaxian_state::froggervd_map(address_map &map)
1769 {
1770 theend_map(map);
1771 map(0x7800, 0x7800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1772 }
1773
1774 /* map not derived from schematics. Used by explorer and takeoff */
explorer_map(address_map & map)1775 void galaxian_state::explorer_map(address_map &map)
1776 {
1777 map.unmap_value_high();
1778 map(0x0000, 0x3fff).rom();
1779 map(0x4000, 0x47ff).ram();
1780 map(0x4800, 0x4bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1781 map(0x5000, 0x50ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1782 map(0x6800, 0x6800).mirror(0x07f8).nopw(); // ????
1783 map(0x6801, 0x6801).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1784 map(0x6802, 0x6802).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
1785 map(0x6803, 0x6803).mirror(0x07f8).nopw();
1786 map(0x6804, 0x6804).mirror(0x07f8).nopw();
1787 map(0x6805, 0x6805).mirror(0x07f8); //POUT2
1788 map(0x6806, 0x6806).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1789 map(0x6807, 0x6807).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1790 map(0x7000, 0x7000).mirror(0x07ff).rw("watchdog", FUNC(watchdog_timer_device::reset_r), FUNC(watchdog_timer_device::reset_w)); /* watchdog works for writes as well? (or is it just disabled?) */
1791 map(0x8000, 0x8000).mirror(0x0ffc).portr("IN0");
1792 map(0x8000, 0x8000).mirror(0x0fff).w(m_soundlatch, FUNC(generic_latch_8_device::write));
1793 map(0x8001, 0x8001).mirror(0x0ffc).portr("IN1");
1794 map(0x8002, 0x8002).mirror(0x0ffc).portr("IN2");
1795 map(0x8003, 0x8003).mirror(0x0ffc).portr("IN3");
1796 map(0x9000, 0x9000).mirror(0x0fff).w(FUNC(galaxian_state::explorer_sound_control_w));
1797 }
1798
1799 /* map derived from schematics */
scobra_map(address_map & map)1800 void galaxian_state::scobra_map(address_map &map)
1801 {
1802 map.unmap_value_high();
1803 map(0x0000, 0x7fff).rom();
1804 map(0x8000, 0x87ff).mirror(0x4000).ram();
1805 map(0x8800, 0x8bff).mirror(0x4400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1806 map(0x9000, 0x90ff).mirror(0x4700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1807 map(0x9800, 0x9803).mirror(0x47fc).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
1808 map(0xa000, 0xa003).mirror(0x47fc).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
1809 map(0xa801, 0xa801).mirror(0x47f8).w(FUNC(galaxian_state::irq_enable_w));
1810 map(0xa802, 0xa802).mirror(0x47f8).w(FUNC(galaxian_state::coin_count_0_w));
1811 map(0xa803, 0xa803).mirror(0x47f8).w(FUNC(galaxian_state::scramble_background_enable_w));
1812 map(0xa804, 0xa804).mirror(0x47f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1813 map(0xa805, 0xa805).mirror(0x47f8); /* POUT2 */
1814 map(0xa806, 0xa806).mirror(0x47f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1815 map(0xa807, 0xa807).mirror(0x47f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1816 map(0xb000, 0xb000).mirror(0x47ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1817 }
1818
1819
scorpion_map(address_map & map)1820 void galaxian_state::scorpion_map(address_map &map)
1821 {
1822 theend_map(map);
1823 map(0x5800, 0x67ff).rom().region("maincpu", 0x5800); // extra ROM
1824 //map(0x6803, 0x6803).nopw(); // no background related
1825 }
1826
1827
anteateruk_map(address_map & map)1828 void galaxian_state::anteateruk_map(address_map &map)
1829 {
1830 map.unmap_value_high();
1831 map(0x0000, 0x03ff).rom();
1832 map(0x0400, 0x0bff).ram();
1833 map(0x0c00, 0x0fff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1834 map(0x1001, 0x1001).mirror(0x01f8).w(FUNC(galaxian_state::irq_enable_w));
1835 map(0x1002, 0x1002).mirror(0x01f8).w(FUNC(galaxian_state::coin_count_0_w));
1836 map(0x1003, 0x1003).mirror(0x01f8).w(FUNC(galaxian_state::scramble_background_enable_w));
1837 map(0x1004, 0x1004).mirror(0x01f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1838 map(0x1005, 0x1005).mirror(0x01f8); //POUT2
1839 map(0x1006, 0x1006).mirror(0x01f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1840 map(0x1007, 0x1007).mirror(0x01f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1841 map(0x1200, 0x12ff).mirror(0x0100).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1842 map(0x1400, 0x1400).mirror(0x03ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1843 map(0x4000, 0xbfff).rom();
1844 map(0xc000, 0xc003).mirror(0x3efc).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
1845 map(0xc100, 0xc103).mirror(0x3efc).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
1846 }
1847
1848
spactrai_map(address_map & map)1849 void galaxian_state::spactrai_map(address_map &map)
1850 {
1851 map.unmap_value_high();
1852 map(0x0000, 0x01ff).rom();
1853 map(0x0200, 0x05ff).ram(); // this sits over ROM, does the 0x400 bytes of ROM underneath bank or appear elsewhere?
1854 map(0x0600, 0x11ff).rom();
1855 map(0x1200, 0x15ff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram"); // see above comment
1856 map(0x1600, 0x4fff).rom();
1857
1858 // cleared on startup
1859 // map(0x6000, 0x60ff).ram();
1860 // map(0x6800, 0x68ff).ram();
1861 // map(0x7000, 0x70ff).ram();
1862 // standard galaxian mapping?
1863 map(0x6004, 0x6007).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::lfo_freq_w));
1864 map(0x6800, 0x6807).mirror(0x07f8).w("cust", FUNC(galaxian_sound_device::sound_w));
1865 map(0x7800, 0x7800).mirror(0x07ff).w("cust", FUNC(galaxian_sound_device::pitch_w));
1866
1867 map(0x7001, 0x7001).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1868 map(0x7004, 0x7004).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1869 map(0x7006, 0x7006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1870 map(0x7007, 0x7007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1871
1872
1873 map(0x6000, 0x6000).portr("IN0");
1874 map(0x6800, 0x6800).portr("IN1");
1875
1876 map(0x7000, 0x7000).portr("IN2");
1877 map(0x7800, 0x7800).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1878
1879 map(0xfe00, 0xfeff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1880
1881 }
1882
anteaterg_map(address_map & map)1883 void galaxian_state::anteaterg_map(address_map &map)
1884 {
1885 map.unmap_value_high();
1886 map(0x0000, 0x03ff).rom();
1887 map(0x0400, 0x0bff).ram();
1888 map(0x0c00, 0x0fff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1889 map(0x2000, 0x20ff).mirror(0x0300).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1890 map(0x2400, 0x2403).mirror(0x01fc).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
1891 map(0x2601, 0x2601).mirror(0x01f8).w(FUNC(galaxian_state::irq_enable_w));
1892 map(0x2602, 0x2602).mirror(0x01f8).w(FUNC(galaxian_state::coin_count_0_w));
1893 map(0x2603, 0x2603).mirror(0x01f8).w(FUNC(galaxian_state::scramble_background_enable_w));
1894 map(0x2604, 0x2604).mirror(0x01f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1895 map(0x2605, 0x2605).mirror(0x01f8); //POUT2
1896 map(0x2606, 0x2606).mirror(0x01f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1897 map(0x2607, 0x2607).mirror(0x01f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1898 map(0x4000, 0x7bff).rom();
1899 map(0x7c00, 0x7fff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram"); /* mirror! */
1900 map(0x8000, 0xbfff).rom();
1901 map(0xf400, 0xf400).mirror(0x01ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1902 map(0xf600, 0xf603).mirror(0x01fc).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
1903 }
1904
anteatergg_map(address_map & map)1905 void galaxian_state::anteatergg_map(address_map &map)
1906 {
1907 map.unmap_value_high();
1908 galaxian_map_discrete(map);
1909 map(0x0000, 0x3fff).rom();
1910 map(0x4000, 0x4fff).ram();
1911 map(0x5000, 0x53ff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1912 map(0x5800, 0x58ff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1913 // map(0x4000, 0x43ff).mirror(0x0400).ram();
1914 map(0x6000, 0x6000).mirror(0x07ff).portr("IN0");
1915 // map(0x6000, 0x6001).mirror(0x07f8).w(FUNC(galaxian_state::start_lamp_w));
1916 // map(0x6002, 0x6002).mirror(0x07f8).w(FUNC(galaxian_state::coin_lock_w));
1917 // map(0x6003, 0x6003).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
1918 map(0x6800, 0x6800).mirror(0x07ff).portr("IN1");
1919 map(0x7000, 0x7000).mirror(0x07ff).portr("IN2");
1920 map(0x7001, 0x7001).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
1921 map(0x7004, 0x7004).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
1922 map(0x7006, 0x7006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1923 map(0x7007, 0x7007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1924 map(0x7800, 0x7800).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1925 }
1926
jungsub_map(address_map & map)1927 void galaxian_state::jungsub_map(address_map &map) // TODO: preliminary
1928 {
1929 map.unmap_value_high();
1930 map(0x0000, 0x3fff).rom();
1931 map(0x4000, 0x4fff).ram();
1932 map(0x5000, 0x53ff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1933 map(0x5800, 0x58ff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram"); // but also at 0x5900-059ff and 0x5a00-5aff?
1934 map(0x5900, 0x5aff).nopr().nopw();
1935 map(0x6000, 0x6000).mirror(0x07ff).portr("IN0"); // seems ok
1936 map(0x6003, 0x6003).nopw(); // always 0x01?
1937 map(0x6184, 0x6184).w(FUNC(galaxian_state::coin_count_0_w)); // seems ok
1938 map(0x6186, 0x6186).w(FUNC(galaxian_state::coin_count_1_w)); // seems ok
1939 map(0x6800, 0x6800).mirror(0x07ff).portr("IN1"); // seems ok
1940 map(0x7001, 0x7001).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w)); // seems ok
1941 map(0x7006, 0x7006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); // seems ok
1942 map(0x7007, 0x7007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); // seems ok
1943 map(0x7800, 0x7800).r("watchdog", FUNC(watchdog_timer_device::reset_r)); // seems ok
1944 map(0x7800, 0x7800).nopw(); // always 0xff?
1945 }
1946
jungsub_io_map(address_map & map)1947 void galaxian_state::jungsub_io_map(address_map &map) // TODO: preliminary
1948 {
1949 map.unmap_value_high();
1950 map.global_mask(0x0f);
1951 map(0x00, 0x00).mirror(0x0f).w(m_soundlatch, FUNC(generic_latch_8_device::write));
1952 }
1953
1954 /* map derived from schematics */
frogger_map(address_map & map)1955 void galaxian_state::frogger_map(address_map &map)
1956 {
1957 map.unmap_value_high();
1958 map(0x0000, 0x3fff).rom();
1959 map(0x8000, 0x87ff).ram();
1960 map(0x8800, 0x8800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1961 map(0xa800, 0xabff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1962 map(0xb000, 0xb0ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1963 map(0xb808, 0xb808).mirror(0x07e3).w(FUNC(galaxian_state::irq_enable_w));
1964 map(0xb80c, 0xb80c).mirror(0x07e3).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1965 map(0xb810, 0xb810).mirror(0x07e3).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1966 map(0xb818, 0xb818).mirror(0x07e3).w(FUNC(galaxian_state::coin_count_0_w)); /* IOPC7 */
1967 map(0xb81c, 0xb81c).mirror(0x07e3).w(FUNC(galaxian_state::coin_count_1_w)); /* POUT1 */
1968 map(0xc000, 0xffff).rw(FUNC(galaxian_state::frogger_ppi8255_r), FUNC(galaxian_state::frogger_ppi8255_w));
1969 }
1970
1971
1972 /* map derived from schematics */
turtles_map(address_map & map)1973 void galaxian_state::turtles_map(address_map &map)
1974 {
1975 map.unmap_value_high();
1976 map(0x0000, 0x7fff).rom();
1977 map(0x8000, 0x87ff).mirror(0x4000).ram();
1978 map(0x9000, 0x93ff).mirror(0x4400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
1979 map(0x9800, 0x98ff).mirror(0x4700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
1980 map(0xa000, 0xa000).mirror(0x47c7).w(FUNC(galaxian_state::scramble_background_red_w));
1981 map(0xa008, 0xa008).mirror(0x47c7).w(FUNC(galaxian_state::irq_enable_w));
1982 map(0xa010, 0xa010).mirror(0x47c7).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
1983 map(0xa018, 0xa018).mirror(0x47c7).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
1984 map(0xa020, 0xa020).mirror(0x47c7).w(FUNC(galaxian_state::scramble_background_green_w));
1985 map(0xa028, 0xa028).mirror(0x47c7).w(FUNC(galaxian_state::scramble_background_blue_w));
1986 map(0xa030, 0xa030).mirror(0x47c7).w(FUNC(galaxian_state::coin_count_0_w));
1987 map(0xa038, 0xa038).mirror(0x47c7).w(FUNC(galaxian_state::coin_count_1_w));
1988 map(0xa800, 0xa800).mirror(0x47ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
1989 map(0xb000, 0xb03f).mirror(0x47c0).rw(FUNC(galaxian_state::turtles_ppi8255_0_r), FUNC(galaxian_state::turtles_ppi8255_0_w));
1990 map(0xb800, 0xb83f).mirror(0x47c0).rw(FUNC(galaxian_state::turtles_ppi8255_1_r), FUNC(galaxian_state::turtles_ppi8255_1_w));
1991 }
1992
1993
1994 /* map NOT derived from schematics */
amigo2_map(address_map & map)1995 void galaxian_state::amigo2_map(address_map &map)
1996 {
1997 map(0x0000, 0x3fff).rom();
1998 map(0x4000, 0x4000).portr("IN0").w(m_soundlatch, FUNC(generic_latch_8_device::write));
1999 map(0x4001, 0x4001).portr("IN1");
2000 map(0x4002, 0x4002).portr("IN2");
2001 map(0x4003, 0x4003).portr("IN3");
2002 map(0x5000, 0x5000).w(FUNC(galaxian_state::konami_sound_control_w));
2003 map(0x8000, 0x87ff).ram();
2004 map(0x8800, 0x8bff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2005 map(0x9000, 0x90ff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2006 map(0xa000, 0xa000).w(FUNC(galaxian_state::scramble_background_red_w));
2007 map(0xa008, 0xa008).w(FUNC(galaxian_state::irq_enable_w));
2008 map(0xa010, 0xa010).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2009 map(0xa018, 0xa018).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2010 map(0xa020, 0xa020).w(FUNC(galaxian_state::scramble_background_green_w));
2011 map(0xa028, 0xa028).w(FUNC(galaxian_state::scramble_background_blue_w));
2012 map(0xa030, 0xa030).w(FUNC(galaxian_state::coin_count_0_w));
2013 map(0xa038, 0xa038).w(FUNC(galaxian_state::coin_count_1_w));
2014 map(0xa800, 0xa800).r("watchdog", FUNC(watchdog_timer_device::reset_r));
2015 }
2016
turpins_map(address_map & map)2017 void galaxian_state::turpins_map(address_map &map)
2018 {
2019 map(0x0000, 0x7fff).rom();
2020 map(0x8000, 0x87ff).ram();
2021 map(0x9000, 0x93ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2022 map(0x9800, 0x98ff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2023 map(0xa000, 0xa003).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
2024 map(0xa030, 0xa030).w(FUNC(galaxian_state::coin_count_0_w));
2025 map(0xa038, 0xa038).w(FUNC(galaxian_state::coin_count_1_w));
2026 map(0xa801, 0xa801).w(FUNC(galaxian_state::irq_enable_w));
2027 map(0xa806, 0xa806).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2028 map(0xa807, 0xa807).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2029 map(0xb800, 0xb800).r("watchdog", FUNC(watchdog_timer_device::reset_r));
2030 map(0xc000, 0xc003).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
2031 }
2032
2033
2034
2035 /* this is the same as theend, except for separate RGB background controls
2036 and some extra ROM space at $7000 and $C000 */
sfx_map(address_map & map)2037 void galaxian_state::sfx_map(address_map &map)
2038 {
2039 map(0x0000, 0x3fff).rom();
2040 map(0x4000, 0x47ff).ram();
2041 map(0x4800, 0x4bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2042 map(0x5000, 0x50ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2043 map(0x6800, 0x6800).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_red_w));
2044 map(0x6801, 0x6801).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
2045 map(0x6802, 0x6802).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
2046 map(0x6803, 0x6803).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_blue_w));
2047 map(0x6804, 0x6804).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
2048 map(0x6805, 0x6805).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_green_w));
2049 map(0x6806, 0x6806).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2050 map(0x6807, 0x6807).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2051 map(0x7000, 0x7fff).rom();
2052 map(0x8000, 0xbfff).rw(FUNC(galaxian_state::theend_ppi8255_r), FUNC(galaxian_state::theend_ppi8255_w));
2053 map(0xc000, 0xefff).rom();
2054 }
2055
2056
monsterz_map(address_map & map)2057 void galaxian_state::monsterz_map(address_map &map)
2058 {
2059 map(0x0000, 0x37ff).rom();
2060 map(0x3800, 0x3fff).ram(); // extra RAM used by protection
2061 map(0x4000, 0x47ff).ram();
2062 map(0x4800, 0x4bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2063 map(0x5000, 0x50ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2064 map(0x6800, 0x6800).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_red_w));
2065 map(0x6801, 0x6801).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
2066 map(0x6802, 0x6802).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
2067 map(0x6803, 0x6803).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_blue_w));
2068 map(0x6804, 0x6804).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
2069 map(0x6805, 0x6805).mirror(0x07f8).w(FUNC(galaxian_state::scramble_background_green_w));
2070 map(0x6806, 0x6806).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2071 map(0x6807, 0x6807).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2072 map(0x8000, 0xbfff).rw(FUNC(galaxian_state::theend_ppi8255_r), FUNC(galaxian_state::theend_ppi8255_w));
2073 map(0xc000, 0xd7ff).rom();
2074 map(0xd800, 0xd800).r(FUNC(galaxian_state::monsterz_protection_r));
2075 }
2076
2077
2078 /* changes from galaxian map:
2079 galaxian sound removed
2080 $4800-$57ff: contains video and object RAM (normally at $5000-$5fff)
2081 $5800-$5fff: AY-8910 access added
2082 $6002-$6006: graphics banking controls replace coin lockout, coin counter, and lfo
2083 $7002: coin counter (moved from $6003)
2084 $8000-$afff: additional ROM area
2085 $b000-$bfff: protection
2086 */
jumpbug_map(address_map & map)2087 void galaxian_state::jumpbug_map(address_map &map)
2088 {
2089 map.unmap_value_high();
2090 map(0x0000, 0x3fff).rom();
2091 map(0x4000, 0x47ff).ram();
2092 map(0x4800, 0x4bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2093 map(0x5000, 0x50ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2094 map(0x5800, 0x5800).mirror(0x00ff).w("8910.0", FUNC(ay8910_device::data_w));
2095 map(0x5900, 0x5900).mirror(0x00ff).w("8910.0", FUNC(ay8910_device::address_w));
2096 map(0x6000, 0x6000).mirror(0x07ff).portr("IN0");
2097 map(0x6002, 0x6006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_gfxbank_w));
2098 map(0x6800, 0x6800).mirror(0x07ff).portr("IN1");
2099 map(0x7000, 0x7000).mirror(0x07ff).portr("IN2");
2100 map(0x7001, 0x7001).mirror(0x07f8).w(FUNC(galaxian_state::irq_enable_w));
2101 map(0x7002, 0x7002).mirror(0x07f8).w(FUNC(galaxian_state::coin_count_0_w));
2102 map(0x7004, 0x7004).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_stars_enable_w));
2103 map(0x7006, 0x7006).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2104 map(0x7007, 0x7007).mirror(0x07f8).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2105 map(0x8000, 0xafff).rom();
2106 map(0xb000, 0xbfff).r(FUNC(galaxian_state::jumpbug_protection_r));
2107 }
2108
2109
frogf_map(address_map & map)2110 void galaxian_state::frogf_map(address_map &map)
2111 {
2112 map.unmap_value_high();
2113 map(0x0000, 0x3fff).rom();
2114 map(0x8000, 0x87ff).ram();
2115 map(0x8800, 0x8bff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2116 map(0x9000, 0x90ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2117 map(0xa802, 0xa802).mirror(0x07f1).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2118 map(0xa804, 0xa804).mirror(0x07f1).w(FUNC(galaxian_state::irq_enable_w));
2119 map(0xa806, 0xa806).mirror(0x07f1).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2120 map(0xa808, 0xa808).mirror(0x07f1).w(FUNC(galaxian_state::coin_count_1_w));
2121 map(0xa80e, 0xa80e).mirror(0x07f1).w(FUNC(galaxian_state::coin_count_0_w));
2122 map(0xb800, 0xb800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r));
2123 map(0xc000, 0xffff).rw(FUNC(galaxian_state::frogf_ppi8255_r), FUNC(galaxian_state::frogf_ppi8255_w));
2124 }
2125
2126
2127 /* mooncrst */
mshuttle_map(address_map & map)2128 void galaxian_state::mshuttle_map(address_map &map)
2129 {
2130 map.unmap_value_high();
2131 map(0x0000, 0x7fff).rom();
2132 map(0x8000, 0x83ff).ram();
2133 map(0x9000, 0x93ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2134 map(0x9800, 0x98ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2135 map(0xa000, 0xa000).portr("IN0");
2136 map(0xa000, 0xa000).w(FUNC(galaxian_state::irq_enable_w));
2137 map(0xa001, 0xa001).w(FUNC(galaxian_state::galaxian_stars_enable_w));
2138 map(0xa002, 0xa002).w(FUNC(galaxian_state::galaxian_flip_screen_xy_w));
2139 map(0xa004, 0xa004).w("cclimber_audio", FUNC(cclimber_audio_device::sample_trigger_w));
2140 map(0xa007, 0xa007).w(FUNC(galaxian_state::mshuttle_ay8910_cs_w));
2141 map(0xa800, 0xa800).portr("IN1");
2142 map(0xa800, 0xa800).w("cclimber_audio", FUNC(cclimber_audio_device::sample_rate_w));
2143 map(0xb000, 0xb000).portr("IN2");
2144 map(0xb000, 0xb000).w("cclimber_audio", FUNC(cclimber_audio_device::sample_volume_w));
2145 map(0xb800, 0xb800).r("watchdog", FUNC(watchdog_timer_device::reset_r));
2146 }
2147
mshuttle_decrypted_opcodes_map(address_map & map)2148 void galaxian_state::mshuttle_decrypted_opcodes_map(address_map &map)
2149 {
2150 map(0x0000, 0x7fff).rom().share("decrypted_opcodes");
2151 }
2152
mshuttle_portmap(address_map & map)2153 void galaxian_state::mshuttle_portmap(address_map &map)
2154 {
2155 map.unmap_value_high();
2156 map.global_mask(0x0f);
2157 map(0x08, 0x08).w(FUNC(galaxian_state::mshuttle_ay8910_control_w));
2158 map(0x09, 0x09).w(FUNC(galaxian_state::mshuttle_ay8910_data_w));
2159 map(0x0c, 0x0c).r(FUNC(galaxian_state::mshuttle_ay8910_data_r));
2160 }
2161
fourplay_map(address_map & map)2162 void galaxian_state::fourplay_map(address_map &map)
2163 {
2164 map(0x0000,0x3fff).bankr("bank1");
2165 map(0x4000,0x47ff).ram();
2166 map(0x5000,0x53ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2167 map(0x5800,0x58ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2168 map(0x6000,0x6000).portr("IN0");
2169 map(0x6800,0x6800).portr("IN1");
2170 map(0x7000,0x7000).portr("IN2");
2171 map(0x7800,0x7fff).r("watchdog",FUNC(watchdog_timer_device::reset_r));
2172 map(0x6000,0x6001).w(FUNC(galaxian_state::start_lamp_w));
2173 map(0x6002,0x6002).nopw(); // .w(FUNC(galaxian_state::coin_lock_w));
2174 map(0x6003,0x6003).w(FUNC(galaxian_state::coin_count_0_w));
2175 map(0x6004,0x6007).w("cust",FUNC(galaxian_sound_device::lfo_freq_w));
2176 map(0x6800,0x6807).w("cust",FUNC(galaxian_sound_device::sound_w));
2177 map(0x7001,0x7001).w(FUNC(galaxian_state::irq_enable_w));
2178 map(0x7002,0x7003).w(FUNC(galaxian_state::fourplay_rombank_w));
2179 map(0x7004,0x7004).w(FUNC(galaxian_state::galaxian_stars_enable_w));
2180 map(0x7005,0x7005).nopw(); /* bit 3 of rombank select - always 0 */
2181 map(0x7006,0x7006).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2182 map(0x7007,0x7007).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2183 map(0x7008,0x7008).nopw(); /* bit 4 of rombank select - always 0 */
2184 map(0x7800,0x7800).w("cust",FUNC(galaxian_sound_device::pitch_w));
2185 }
2186
videight_map(address_map & map)2187 void galaxian_state::videight_map(address_map &map)
2188 {
2189 map(0x0000,0x3fff).bankr("bank1");
2190 map(0x4000,0x47ff).ram();
2191 map(0x5000,0x53ff).mirror(0x400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2192 map(0x5800,0x58ff).mirror(0x700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2193 map(0x6000,0x6000).portr("IN0");
2194 map(0x6800,0x6800).portr("IN1");
2195 map(0x7000,0x7000).portr("IN2");
2196 map(0x7800,0x7fff).r("watchdog",FUNC(watchdog_timer_device::reset_r));
2197 map(0x6000,0x6002).w(FUNC(galaxian_state::videight_gfxbank_w));
2198 map(0x6003,0x6003).w(FUNC(galaxian_state::coin_count_0_w));
2199 map(0x6004,0x6007).w("cust",FUNC(galaxian_sound_device::lfo_freq_w));
2200 map(0x6800,0x6807).w("cust",FUNC(galaxian_sound_device::sound_w));
2201 map(0x6808,0x68ff).nopw();
2202 map(0x7001,0x7001).w(FUNC(galaxian_state::irq_enable_w));
2203 map(0x7002,0x7005).w(FUNC(galaxian_state::videight_rombank_w));
2204 map(0x7006,0x7006).w(FUNC(galaxian_state::galaxian_flip_screen_x_w));
2205 map(0x7007,0x7007).w(FUNC(galaxian_state::galaxian_flip_screen_y_w));
2206 map(0x7008,0x7008).nopw(); /* bit 4 of rombank select - always 0 */
2207 map(0x7800,0x7800).w("cust",FUNC(galaxian_sound_device::pitch_w));
2208 }
2209
2210
tenspot_unk_6000_w(uint8_t data)2211 void galaxian_state::tenspot_unk_6000_w(uint8_t data)
2212 {
2213 logerror("tenspot_unk_6000_w %02x\n",data);
2214 }
2215
tenspot_unk_8000_w(uint8_t data)2216 void galaxian_state::tenspot_unk_8000_w(uint8_t data)
2217 {
2218 logerror("tenspot_unk_8000_w %02x\n",data);
2219 }
2220
tenspot_unk_e000_w(uint8_t data)2221 void galaxian_state::tenspot_unk_e000_w(uint8_t data)
2222 {
2223 logerror("tenspot_unk_e000_w %02x\n",data);
2224 }
2225
tenspot_select_map(address_map & map)2226 void galaxian_state::tenspot_select_map(address_map &map)
2227 {
2228 map.unmap_value_high();
2229 map(0x0000, 0x07ff).rom();
2230 map(0x2000, 0x23ff).ram();
2231 map(0x4000, 0x4000).portr("SELECT2");
2232 map(0x6000, 0x6000).w(FUNC(galaxian_state::tenspot_unk_6000_w));
2233 map(0xc000, 0xc000).portr("SELECT");
2234 map(0x8000, 0x8000).w(FUNC(galaxian_state::tenspot_unk_8000_w));
2235 map(0xa000, 0xa03f).ram();
2236 map(0xe000, 0xe000).w(FUNC(galaxian_state::tenspot_unk_e000_w));
2237 }
2238
2239
froggeram_ppi8255_r(offs_t offset)2240 uint8_t galaxian_state::froggeram_ppi8255_r(offs_t offset)
2241 {
2242 // same as theend, but accesses are scrambled
2243 uint8_t result = 0xff;
2244 if (offset & 0x0100) result &= m_ppi8255[0]->read(offset & 3);
2245 if (offset & 0x0200) result &= m_ppi8255[1]->read(offset & 3);
2246 return bitswap<8>(result, 0, 1, 2, 3, 4, 5, 6, 7);
2247 }
2248
froggeram_ppi8255_w(offs_t offset,uint8_t data)2249 void galaxian_state::froggeram_ppi8255_w(offs_t offset, uint8_t data)
2250 {
2251 // same as theend, but accesses are scrambled
2252 data = bitswap<8>(data, 0, 1, 2, 3, 4, 5, 6, 7);
2253 if (offset & 0x0100) m_ppi8255[0]->write(offset & 3, data);
2254 if (offset & 0x0200) m_ppi8255[1]->write(offset & 3, data);
2255 }
2256
froggeram_map(address_map & map)2257 void galaxian_state::froggeram_map(address_map &map)
2258 {
2259 map.unmap_value_high();
2260 map(0x0000, 0x2fff).rom();
2261 map(0x4000, 0x43ff).rw(FUNC(galaxian_state::froggeram_ppi8255_r), FUNC(galaxian_state::froggeram_ppi8255_w));
2262 map(0x8000, 0x87ff).ram();
2263 map(0x8800, 0x8800).r("watchdog", FUNC(watchdog_timer_device::reset_r));
2264 map(0xa800, 0xabff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram");
2265 map(0xb000, 0xb0ff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram");
2266 map(0xb801, 0xb801).w(FUNC(galaxian_state::irq_enable_w));
2267 map(0xb802, 0xb802).w(FUNC(galaxian_state::coin_count_0_w));
2268 map(0xb806, 0xb806).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); // always set to 0?
2269 map(0xb807, 0xb807).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); // always set to 0?
2270 }
2271
2272 /*************************************
2273 *
2274 * Sound CPU memory maps
2275 *
2276 *************************************/
2277
2278 // Konami Frogger with 1 x AY-8910A
2279
frogger_sound_map(address_map & map)2280 void galaxian_state::frogger_sound_map(address_map &map)
2281 {
2282 map.global_mask(0x7fff);
2283 map(0x0000, 0x1fff).rom();
2284 map(0x4000, 0x43ff).mirror(0x1c00).ram();
2285 map(0x6000, 0x6fff).mirror(0x1000).w(FUNC(galaxian_state::konami_sound_filter_w));
2286 }
2287
frogger_sound_portmap(address_map & map)2288 void galaxian_state::frogger_sound_portmap(address_map &map)
2289 {
2290 map.global_mask(0xff);
2291 map(0x00, 0xff).rw(FUNC(galaxian_state::frogger_ay8910_r), FUNC(galaxian_state::frogger_ay8910_w));
2292 }
2293
2294
2295 // Konami generic with 2 x AY-8910A
2296
konami_sound_map(address_map & map)2297 void galaxian_state::konami_sound_map(address_map &map)
2298 {
2299 map(0x0000, 0x2fff).rom();
2300 map(0x8000, 0x83ff).mirror(0x6c00).ram();
2301 map(0x9000, 0x9fff).mirror(0x6000).w(FUNC(galaxian_state::konami_sound_filter_w));
2302 }
2303
konami_sound_portmap(address_map & map)2304 void galaxian_state::konami_sound_portmap(address_map &map)
2305 {
2306 map.global_mask(0xff);
2307 map(0x00, 0xff).rw(FUNC(galaxian_state::konami_ay8910_r), FUNC(galaxian_state::konami_ay8910_w));
2308 }
2309
2310
2311 // Checkman with 1 x AY-8910A
2312
checkman_sound_map(address_map & map)2313 void galaxian_state::checkman_sound_map(address_map &map)
2314 {
2315 map.unmap_value_high();
2316 map(0x0000, 0x0fff).rom();
2317 map(0x2000, 0x23ff).ram();
2318 }
2319
checkman_sound_portmap(address_map & map)2320 void galaxian_state::checkman_sound_portmap(address_map &map)
2321 {
2322 map.unmap_value_high();
2323 map.global_mask(0xff);
2324 map(0x03, 0x03).r(m_soundlatch, FUNC(generic_latch_8_device::read));
2325 map(0x04, 0x05).w("8910.0", FUNC(ay8910_device::address_data_w));
2326 map(0x06, 0x06).r("8910.0", FUNC(ay8910_device::data_r));
2327 }
2328
2329
2330 // Checkman alternate with 1 x AY-8910A
2331
checkmaj_sound_map(address_map & map)2332 void galaxian_state::checkmaj_sound_map(address_map &map)
2333 {
2334 map.unmap_value_high();
2335 map(0x0000, 0x0fff).rom();
2336 map(0x8000, 0x83ff).ram();
2337 map(0xa000, 0xa001).w("8910.0", FUNC(ay8910_device::address_data_w));
2338 map(0xa002, 0xa002).r("8910.0", FUNC(ay8910_device::data_r));
2339 }
2340
2341
2342 // Take Off with 1 x AY-8912
2343
takeoff_sound_map(address_map & map)2344 void galaxian_state::takeoff_sound_map(address_map &map)
2345 {
2346 map(0x0000, 0x0fff).rom();
2347 map(0x8000, 0x83ff).mirror(0x6c00).ram();
2348 }
2349
takeoff_sound_portmap(address_map & map)2350 void galaxian_state::takeoff_sound_portmap(address_map &map)
2351 {
2352 map.unmap_value_high();
2353 map.global_mask(0xff);
2354 map(0x20, 0x20).r(FUNC(galaxian_state::konami_sound_timer_r));
2355 map(0x40, 0x40).w("8912", FUNC(ay8912_device::address_w));
2356 map(0x80, 0x80).rw("8912", FUNC(ay8912_device::data_r), FUNC(ay8912_device::data_w));
2357 }
2358
2359
2360 // Scorpion with 3 x AY-8910A and Digitalker
2361
scorpion_sound_map(address_map & map)2362 void galaxian_state::scorpion_sound_map(address_map &map)
2363 {
2364 konami_sound_map(map);
2365 map(0x3000, 0x3000).r(FUNC(galaxian_state::scorpion_digitalker_intr_r));
2366 }
2367
scorpion_sound_portmap(address_map & map)2368 void galaxian_state::scorpion_sound_portmap(address_map &map)
2369 {
2370 map.global_mask(0xff);
2371 map(0x00, 0xff).rw(FUNC(galaxian_state::scorpion_ay8910_r), FUNC(galaxian_state::scorpion_ay8910_w));
2372 }
2373
2374
2375 // King and Balloon with DAC
2376
kingball_sound_map(address_map & map)2377 void galaxian_state::kingball_sound_map(address_map &map)
2378 {
2379 map.unmap_value_high();
2380 map.global_mask(0x3fff);
2381 map(0x0000, 0x03ff).mirror(0x1c00).ram();
2382 map(0x0000, 0x1fff).rom();
2383 }
2384
kingball_sound_portmap(address_map & map)2385 void galaxian_state::kingball_sound_portmap(address_map &map)
2386 {
2387 map.unmap_value_high();
2388 map.global_mask(0xff);
2389 map(0x00, 0x00).mirror(0xff).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w(FUNC(galaxian_state::kingball_dac_w));
2390 }
2391
2392
2393 // SF-X sample player
2394
sfx_sample_map(address_map & map)2395 void galaxian_state::sfx_sample_map(address_map &map)
2396 {
2397 map(0x0000, 0x5fff).rom();
2398 map(0x8000, 0x83ff).mirror(0x6c00).ram();
2399 }
2400
sfx_sample_portmap(address_map & map)2401 void galaxian_state::sfx_sample_portmap(address_map &map)
2402 {
2403 map.global_mask(0xff);
2404 map(0x00, 0xff).rw(FUNC(galaxian_state::sfx_sample_io_r), FUNC(galaxian_state::sfx_sample_io_w));
2405 }
2406
turpins_sound_map(address_map & map)2407 void galaxian_state::turpins_sound_map(address_map &map)
2408 {
2409 konami_sound_map(map);
2410 map(0x9000, 0x9000).r(FUNC(galaxian_state::konami_sound_timer_r)); // why does it read it here AND from the AY port?
2411 }
2412
2413
2414 /*************************************
2415 *
2416 * Input Ports
2417 * Galaxian-derived games
2418 *
2419 *************************************/
2420
2421 static INPUT_PORTS_START( galaxian )
2422 PORT_START("IN0")
2423 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
2424 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
2425 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
2426 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
2427 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
DEF_STR(Cabinet)2428 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
2429 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2430 PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
2431 PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
2432 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )
2433
2434 PORT_START("IN1")
2435 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
2436 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
2437 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
2438 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
2439 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
2440 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2441 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
2442 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2443 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
2444 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
2445 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
2446
2447 PORT_START("IN2")
2448 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
2449 PORT_DIPSETTING( 0x00, "7000" )
2450 PORT_DIPSETTING( 0x01, "10000" )
2451 PORT_DIPSETTING( 0x02, "12000" )
2452 PORT_DIPSETTING( 0x03, "20000" )
2453 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
2454 PORT_DIPSETTING( 0x00, "2" )
2455 PORT_DIPSETTING( 0x04, "3" )
2456 PORT_DIPUNUSED( 0x08, 0x00 )
2457 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
2458 INPUT_PORTS_END
2459
2460 static INPUT_PORTS_START( galaxianmo )
2461 PORT_INCLUDE(galaxian)
2462
2463 PORT_MODIFY("IN2")
2464 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
2465 PORT_DIPSETTING( 0x00, DEF_STR(None) )
2466 PORT_DIPSETTING( 0x01, "3000" )
2467 PORT_DIPSETTING( 0x02, "4000" )
2468 PORT_DIPSETTING( 0x03, "5000" )
2469 INPUT_PORTS_END
2470
2471 static INPUT_PORTS_START( galaxianbl )
2472 PORT_INCLUDE(galaxian)
2473
2474 PORT_MODIFY("IN2")
2475 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
2476 PORT_DIPSETTING( 0x00, DEF_STR(None) )
2477 PORT_DIPSETTING( 0x01, "10000" )
2478 PORT_DIPSETTING( 0x02, "20000" )
2479 PORT_DIPSETTING( 0x03, "30000" )
2480 INPUT_PORTS_END
2481
2482
2483 static INPUT_PORTS_START( galaxrf )
2484 PORT_INCLUDE(galaxian)
2485
2486 PORT_MODIFY("IN2")
2487 PORT_DIPNAME( 0x03, 0x01, "Bonus Life / Enemy Bullet Speed" ) // not verified this
2488 PORT_DIPSETTING( 0x00, "None, Slow" )
2489 PORT_DIPSETTING( 0x01, "12000, Medium" )
2490 PORT_DIPSETTING( 0x02, "20000, Fast" )
2491 PORT_DIPSETTING( 0x03, "30000, Fastest" )
2492 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2493 PORT_DIPSETTING( 0x00, "2" )
2494 PORT_DIPSETTING( 0x04, "3" )
2495 PORT_DIPNAME( 0x08, 0x00, "Player Bullet Speed" )
2496 PORT_DIPSETTING( 0x00, "Slow" )
2497 PORT_DIPSETTING( 0x08, "Fast" )
2498 INPUT_PORTS_END
2499
2500 static INPUT_PORTS_START( superg )
2501 PORT_INCLUDE(galaxian)
2502
2503 PORT_MODIFY("IN2")
2504 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
2505 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
2506 PORT_DIPSETTING( 0x01, "4000" )
2507 PORT_DIPSETTING( 0x02, "5000" )
2508 PORT_DIPSETTING( 0x03, "7000" )
2509 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2510 PORT_DIPSETTING( 0x00, "3" )
2511 PORT_DIPSETTING( 0x04, "5" )
2512 INPUT_PORTS_END
2513
2514
2515 static INPUT_PORTS_START( swarm )
2516 PORT_INCLUDE(galaxian)
2517
2518 PORT_MODIFY("IN2")
2519 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
2520 PORT_DIPSETTING( 0x01, "10000" )
2521 PORT_DIPSETTING( 0x02, "20000" )
2522 PORT_DIPSETTING( 0x03, "40000" )
2523 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
2524 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2525 PORT_DIPSETTING( 0x00, "3" )
2526 PORT_DIPSETTING( 0x04, "4" )
2527 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) /* aliens "flying" simultaneously */
2528 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) /* less aliens */
2529 PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) /* more aliens */
2530 INPUT_PORTS_END
2531
2532 static INPUT_PORTS_START( kamikazp )
2533 PORT_INCLUDE(galaxian)
2534
2535 PORT_MODIFY("IN1")
2536 PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Bonus_Life ) ) // turning both of these on still seems to enable Free Play but actual coinage controlled by later dips?
2537 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
2538 PORT_DIPSETTING( 0x40, "4000" )
2539 PORT_DIPSETTING( 0x80, "5000" )
2540 PORT_DIPSETTING( 0xc0, "7000 (buggy FREE PLAY message)" ) // also still causes the game to show 'FREE PLAY' which is the function of the old dips (doesn't operate in FREE PLAY tho)
2541
2542 PORT_MODIFY("IN2") // actual coinage appers to have been moved here (need to check code, wouldn't surprise me if some of these had other side-effects too) these are also some of the most ridiculous coinage setttings I've seen!
2543 PORT_DIPNAME( 0x0f, 0x08, DEF_STR( Coinage ) )
2544 PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) )
2545 PORT_DIPSETTING( 0x07, "6C / 2C" ) // first 4 coins give 1 credit, next 2 coins give 1 credit
2546 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_1C ) )
2547 PORT_DIPSETTING( 0x03, "6C / 3C" ) // first 3 coins give 1 credit, 2nd 3 coins give 2 credits
2548 PORT_DIPSETTING( 0x0b, "7C / 3C" )
2549 PORT_DIPSETTING( 0x0d, DEF_STR( 4C_2C ) ) // first 3 coins give 1 credit, next coin gives 1 credit
2550 PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) // 2
2551 PORT_DIPSETTING( 0x09, DEF_STR( 3C_2C ) ) // first 2 coins give 1 credit, next coin gives 1 credit
2552 PORT_DIPSETTING( 0x05, DEF_STR( 4C_3C ) ) // first 2 coins give 1 credit, 2nd 2 coins give 2 credits
2553 PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) )
2554 PORT_DIPSETTING( 0x06, "1C / 1C (duplicate 1)" )
2555 PORT_DIPSETTING( 0x0a, "1C / 1C (duplicate 2)" )
2556 PORT_DIPSETTING( 0x0e, "1C / 1C (duplicate 3)" )
2557 PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
2558 PORT_DIPSETTING( 0x01, DEF_STR( 2C_3C ) ) // .66
2559 PORT_DIPSETTING( 0x0f, DEF_STR( Free_Play ) ) // always shows 9 credits
2560 INPUT_PORTS_END
2561
2562
2563 static INPUT_PORTS_START( zerotime )
2564 PORT_INCLUDE(galaxian)
2565
2566 PORT_MODIFY("IN1")
2567 PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
2568 PORT_DIPSETTING( 0x40, "A 1C/1C 2C/2C B 1C/2C" )
2569 PORT_DIPSETTING( 0xc0, "A 1C/1C 2C/3C B 1C/3C" )
2570 PORT_DIPSETTING( 0x00, "A 1C/2C 2C/4C B 1C/4C" )
2571 PORT_DIPSETTING( 0x80, "A 1C/2C 2C/5C B 1C/5C" )
2572
2573 PORT_MODIFY("IN2")
2574 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Bonus_Life ) )
2575 PORT_DIPSETTING( 0x03, "6000" )
2576 PORT_DIPSETTING( 0x02, "7000" )
2577 PORT_DIPSETTING( 0x01, "9000" )
2578 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
2579 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2580 PORT_DIPSETTING( 0x00, "3" )
2581 PORT_DIPSETTING( 0x04, "5" )
2582 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) /* player's bullet speed */
2583 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) /* gap of 6 pixels */
2584 PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) /* gap of 8 pixels */
2585 INPUT_PORTS_END
2586
2587
2588 static INPUT_PORTS_START( blkhole )
2589 PORT_INCLUDE(galaxian)
2590
2591 PORT_MODIFY("IN0")
2592 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
2593 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2594 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
2595 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
2596
2597 PORT_MODIFY("IN1")
2598 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
2599 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
2600 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
2601 PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
2602 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2603
2604 PORT_MODIFY("IN2")
2605 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
2606 PORT_DIPSETTING( 0x00, "5000" )
2607 PORT_DIPSETTING( 0x01, "10000" )
2608 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
2609 PORT_DIPSETTING( 0x02, DEF_STR( Upright ) )
2610 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
2611 PORT_DIPUNUSED( 0x04, 0x00 )
2612 PORT_DIPUNUSED( 0x08, 0x00 )
2613 INPUT_PORTS_END
2614
2615
2616 static INPUT_PORTS_START( orbitron )
2617 PORT_INCLUDE(galaxian)
2618
2619 PORT_MODIFY("IN0")
2620 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2621 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2622 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2623 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2624 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2625
2626 PORT_MODIFY("IN1")
2627 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2628 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2629 PORT_DIPNAME( 0x60, 0x40, DEF_STR( Coinage ) ) /* Routine at 0x00e1 */
2630 PORT_DIPSETTING( 0x00, "A 2C/1C B 1C/3C" )
2631 PORT_DIPSETTING( 0x20, "A 2C/1C B 1C/3C (duplicate)" )
2632 PORT_DIPSETTING( 0x40, "A 1C/1C B 1C/6C" )
2633 PORT_DIPSETTING( 0x60, "A 1C/1C B 1C/6C (duplicate)" )
2634 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2635
2636 PORT_MODIFY("IN2")
2637 PORT_DIPUNUSED( 0x01, 0x00 )
2638 PORT_DIPUNUSED( 0x02, 0x00 )
2639 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2640 PORT_DIPSETTING( 0x04, "2" )
2641 PORT_DIPSETTING( 0x00, "3" )
2642 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2643 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2644 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
2645 INPUT_PORTS_END
2646
2647
2648 /* These inputs are clearly wrong, they need a full test */
2649 static INPUT_PORTS_START( luctoday )
2650 PORT_START("IN0")
2651 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
2652 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2653 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_NAME("Add Credit to Bet")
2654 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_NAME("Remove Credit from Bet")
2655 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
2656 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2657 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2658 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BILL1 )
2659
2660 PORT_START("IN1")
2661 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
2662 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
2663 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
2664 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
2665 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
2666 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2667 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
2668 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
2669
2670 PORT_START("IN2")
2671 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2672 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2673 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2674 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
2675 INPUT_PORTS_END
2676
2677
2678 static INPUT_PORTS_START( catacomb )
2679 PORT_INCLUDE(galaxian)
2680
2681 PORT_MODIFY("IN0")
2682 PORT_DIPUNKNOWN( 0x40, 0x00 )
2683 PORT_DIPUNKNOWN( 0x80, 0x00 )
2684
2685 PORT_MODIFY("IN1")
2686 PORT_DIPUNKNOWN( 0x20, 0x00 )
2687 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
2688 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
2689 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
2690 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coin_B ) )
2691 PORT_DIPSETTING( 0x00, DEF_STR( 1C_3C ) )
2692 PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) )
2693
2694 PORT_MODIFY("IN2")
2695 PORT_DIPUNKNOWN( 0x01, 0x00 )
2696 PORT_DIPUNKNOWN( 0x02, 0x00 )
2697 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
2698 PORT_DIPSETTING( 0x04, "3" )
2699 PORT_DIPSETTING( 0x00, "5" )
2700 PORT_DIPUNKNOWN( 0x08, 0x00 )
2701 INPUT_PORTS_END
2702
2703
2704 static INPUT_PORTS_START( omegab )
2705 PORT_INCLUDE(galaxian)
2706
2707 PORT_MODIFY("IN0")
2708 PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
2709
2710 PORT_MODIFY("IN1")
2711 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2712 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
2713 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
2714 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
2715 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
2716 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2717 PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
2718
2719 PORT_MODIFY("IN2")
2720 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
2721 PORT_DIPSETTING( 0x00, "10000" )
2722 PORT_DIPSETTING( 0x01, "20000" )
2723 PORT_DIPUNUSED( 0x02, 0x00 )
2724 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2725 PORT_DIPSETTING( 0x00, "3" )
2726 PORT_DIPSETTING( 0x04, "5" )
2727 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2728 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2729 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
2730 INPUT_PORTS_END
2731
2732
2733 static INPUT_PORTS_START( warofbug )
2734 PORT_INCLUDE(galaxian)
2735
2736 PORT_MODIFY("IN0")
2737 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2738 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2739 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2740 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2741 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2742
2743 PORT_MODIFY("IN1")
2744 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2745 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2746 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2747 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
2748 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2749 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
2750 // PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
2751 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
2752
2753 PORT_MODIFY("IN2")
2754 PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
2755 PORT_DIPSETTING( 0x00, "1" )
2756 PORT_DIPSETTING( 0x01, "2" )
2757 PORT_DIPSETTING( 0x02, "3" )
2758 PORT_DIPSETTING( 0x03, "4" )
2759 PORT_DIPUNUSED( 0x04, 0x00 )
2760 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )
2761 PORT_DIPSETTING( 0x08, "500000" )
2762 PORT_DIPSETTING( 0x00, "750000" )
2763 INPUT_PORTS_END
2764
2765 static INPUT_PORTS_START( spactrai )
2766 PORT_START("IN0")
2767 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
2768 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) // no coin 2?
2769 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
2770 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
2771 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
2772 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2773 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
2774 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
2775
2776 PORT_START("IN1")
2777 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
2778 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
2779 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
2780 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
2781 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
2782 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2783 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
2784 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
2785 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
2786 PORT_DIPSETTING( 0x80, "2C / 1C (duplicate" )
2787 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
2788
2789 PORT_START("IN2")
2790 PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
2791 PORT_DIPSETTING( 0x00, "1" )
2792 PORT_DIPSETTING( 0x01, "2" )
2793 PORT_DIPSETTING( 0x02, "3" )
2794 PORT_DIPSETTING( 0x03, "4" )
2795 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
2796 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
2797 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2798 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
2799 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
2800 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
2801 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
2802 INPUT_PORTS_END
2803
2804
2805 static INPUT_PORTS_START( redufo )
2806 PORT_INCLUDE(galaxian)
2807
2808 PORT_MODIFY("IN0")
2809 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2810 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) // Not tested due to code removed at 0x1901 and 0x191a
2811
2812 PORT_MODIFY("IN1")
2813 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_B ) )
2814 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
2815 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
2816 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_A ) )
2817 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2818 PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
2819
2820 PORT_MODIFY("IN2")
2821 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
2822 PORT_DIPSETTING( 0x00, "7000" )
2823 PORT_DIPSETTING( 0x01, DEF_STR( None ) )
2824 PORT_DIPUNUSED( 0x02, 0x00 ) // Not read due to code at 0x012b
2825 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2826 PORT_DIPSETTING( 0x00, "3" )
2827 PORT_DIPSETTING( 0x04, "5" )
2828 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2829 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2830 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
2831 INPUT_PORTS_END
2832
2833
2834 static INPUT_PORTS_START( redufob )
2835 PORT_INCLUDE(galaxian)
2836
2837 PORT_MODIFY("IN1")
2838 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
2839 PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" )
2840 PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" )
2841 PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/12C" )
2842 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
2843
2844 PORT_MODIFY("IN2")
2845 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
2846 PORT_DIPSETTING( 0x01, "4000" )
2847 PORT_DIPSETTING( 0x02, "5000" )
2848 PORT_DIPSETTING( 0x03, "7000" )
2849 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
2850 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2851 PORT_DIPSETTING( 0x00, "3" )
2852 PORT_DIPSETTING( 0x04, "5" )
2853 INPUT_PORTS_END
2854
2855
2856 static INPUT_PORTS_START( azurian )
2857 PORT_START("IN0")
2858 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
2859 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
2860 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2861 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
2862 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
2863 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
2864 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
2865 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
2866
2867 PORT_START("IN1")
2868 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
2869 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
2870 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
2871 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
2872 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
2873 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
2874 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, azurian_port_r<0>) /* "linked" with bit 2 of IN2 */
2875 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
2876 PORT_DIPSETTING( 0x00, "3" )
2877 PORT_DIPSETTING( 0x80, "5" )
2878
2879 PORT_START("IN2")
2880 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coinage ) )
2881 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
2882 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
2883 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) )
2884 PORT_DIPSETTING( 0x00, "5000" )
2885 PORT_DIPSETTING( 0x02, "7000" )
2886 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, azurian_port_r<1>) /* "linked" with bit 6 of IN1 */
2887 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2888 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2889 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
2890 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
2891
2892 PORT_START("FAKE") /* fake port to handle routine at 0x05b3 that stores value at 0x40f4 */
2893 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
2894 PORT_DIPSETTING( 0x03, DEF_STR( Easy ) )
2895 PORT_DIPSETTING( 0x01, DEF_STR( Normal ) )
2896 PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
2897 PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) )
2898 INPUT_PORTS_END
2899
2900
2901 static INPUT_PORTS_START( pisces )
2902 PORT_INCLUDE(galaxian)
2903
2904 PORT_MODIFY("IN0")
2905 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
2906 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
2907 PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
2908
2909 PORT_MODIFY("IN1")
2910 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )
2911 PORT_DIPSETTING( 0x00, "3" )
2912 PORT_DIPSETTING( 0x40, "4" )
2913 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
2914 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2915 PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
2916
2917 PORT_MODIFY("IN2")
2918 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
2919 PORT_DIPSETTING( 0x00, "10000" )
2920 PORT_DIPSETTING( 0x01, "20000" )
2921 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
2922 PORT_DIPSETTING( 0x02, "A 2C/1C B 1C/3C" )
2923 PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" )
2924 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) )
2925 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
2926 PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
2927 INPUT_PORTS_END
2928
2929
2930 static INPUT_PORTS_START( piscesb )
2931 PORT_INCLUDE(pisces)
2932
2933 PORT_MODIFY("IN2")
2934 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
2935 PORT_DIPSETTING( 0x02, "A 2C/1C B 1C/2C 2C/5C" )
2936 PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/5C" )
2937 INPUT_PORTS_END
2938
2939
2940 static INPUT_PORTS_START( gteikokub )
2941 PORT_INCLUDE(galaxian)
2942
2943 PORT_MODIFY("IN0")
2944 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
2945 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not tested due to code removed at 0x00ab, 0x1b26 and 0x1c97*/
2946 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not tested due to code removed at 0x1901*/
2947
2948 PORT_MODIFY("IN1")
2949 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
2950 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
2951 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
2952 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
2953 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
2954 PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
2955
2956 PORT_MODIFY("IN2")
2957 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
2958 PORT_DIPSETTING( 0x00, "7000" )
2959 PORT_DIPSETTING( 0x01, DEF_STR( None ) )
2960 PORT_DIPUNUSED( 0x02, 0x00 ) // Not read due to code at 0x012b
2961 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2962 PORT_DIPSETTING( 0x00, "3" )
2963 PORT_DIPSETTING( 0x04, "5" )
2964 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
2965 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
2966 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
2967 INPUT_PORTS_END
2968
2969
2970 static INPUT_PORTS_START( gteikokub2 )
2971 PORT_INCLUDE(gteikokub)
2972
2973 PORT_MODIFY("IN2")
2974 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
2975 PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
2976 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
2977 INPUT_PORTS_END
2978
2979 static INPUT_PORTS_START( asideral )
2980 PORT_INCLUDE(galaxian)
2981
2982 PORT_MODIFY("IN1")
2983 PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
2984 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
2985 PORT_DIPSETTING( 0x00, "1C/2C, 1C/1C" )
2986 PORT_DIPSETTING( 0x80, "1C/4C, 1C/2C" )
2987 PORT_DIPSETTING( 0xc0, "Free Play (corrupt text)" )
2988
2989 PORT_MODIFY("IN2")
2990 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
2991 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
2992 PORT_DIPSETTING( 0x01, "4000" )
2993 PORT_DIPSETTING( 0x02, "5000" )
2994 PORT_DIPSETTING( 0x03, "7000" )
2995 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
2996 PORT_DIPSETTING( 0x00, "3" )
2997 PORT_DIPSETTING( 0x04, "5" )
2998 INPUT_PORTS_END
2999
3000 static INPUT_PORTS_START( spacbatt )
3001 PORT_INCLUDE(galaxian)
3002
3003 PORT_MODIFY("IN1")
3004 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
3005 PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" )
3006 PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" )
3007 PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/6C" )
3008 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
3009
3010 PORT_MODIFY("IN2")
3011 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
3012 PORT_DIPSETTING( 0x01, "4000" )
3013 PORT_DIPSETTING( 0x02, "5000" )
3014 PORT_DIPSETTING( 0x03, "7000" )
3015 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
3016 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
3017 PORT_DIPSETTING( 0x00, "3" )
3018 PORT_DIPSETTING( 0x04, "5" )
3019 INPUT_PORTS_END
3020
3021
3022 static INPUT_PORTS_START( batman2 )
3023 PORT_INCLUDE(galaxian)
3024
3025 PORT_MODIFY("IN0")
3026 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
3027 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
3028 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 )
3029
3030 PORT_MODIFY("IN1")
3031 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
3032 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
3033 PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
3034 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
3035 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
3036 PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
3037
3038 PORT_MODIFY("IN2")
3039 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
3040 PORT_DIPSETTING( 0x00, "30000" )
3041 PORT_DIPSETTING( 0x01, "50000" )
3042 PORT_DIPUNUSED( 0x02, 0x00 )
3043 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
3044 PORT_DIPSETTING( 0x00, "3" )
3045 PORT_DIPSETTING( 0x04, "5" )
3046 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
3047 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3048 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
3049 INPUT_PORTS_END
3050
3051
3052 /* verified from Z80 code */
3053 static INPUT_PORTS_START( ladybugg )
3054 PORT_START("IN0")
3055 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
3056 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
3057 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
3058 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
3059 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
3060 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
3061 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
3062 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
3063
3064 PORT_START("IN1")
3065 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
3066 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
3067 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
3068 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
3069 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
3070 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
3071 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
3072 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3073 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3074 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3075 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
3076
3077 PORT_START("IN2")
3078 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) )
3079 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
3080 PORT_DIPSETTING( 0x01, DEF_STR( Medium ) )
3081 PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
3082 PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) )
3083 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
3084 PORT_DIPSETTING( 0x00, "3" )
3085 PORT_DIPSETTING( 0x04, "5" )
3086 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
3087 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3088 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
3089 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3090 INPUT_PORTS_END
3091
3092
3093 static INPUT_PORTS_START( streakng )
3094 PORT_START("IN0")
3095 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
3096 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
3097 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
3098 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
3099 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
3100 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
3101 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3102 PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
3103 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
3104 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
3105
3106 PORT_START("IN1")
3107 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
3108 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
3109 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
3110 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
3111 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
3112 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
3113 PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Bonus_Life ) )
3114 PORT_DIPSETTING( 0x40, "10000" )
3115 PORT_DIPSETTING( 0x80, "15000" )
3116 PORT_DIPSETTING( 0xc0, "20000" )
3117 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
3118
3119 PORT_START("IN2")
3120 PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ) )
3121 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
3122 PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
3123 PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
3124 PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) )
3125 PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )
3126 PORT_DIPSETTING( 0x0c, "1" )
3127 PORT_DIPSETTING( 0x08, "2" )
3128 PORT_DIPSETTING( 0x04, "3" )
3129 PORT_DIPSETTING( 0x00, "5" )
3130 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3131 INPUT_PORTS_END
3132
3133
3134 static INPUT_PORTS_START( articms )
3135 PORT_START("IN0")
3136 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
3137 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
3138 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
3139 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
3140 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
3141 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
3142 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
3143 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
3144
3145 PORT_START("IN1")
3146 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
3147 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
3148 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
3149 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
3150 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
3151 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
3152 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
3153 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
3154 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
3155 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
3156 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
3157 PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
3158
3159 PORT_START("IN2")
3160 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) /* Likely Bonus Life */
3161 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3162 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3163 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Difficulty ) )
3164 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
3165 PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
3166 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
3167 PORT_DIPSETTING( 0x00, "3" )
3168 PORT_DIPSETTING( 0x04, "5" )
3169 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
3170 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3171 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
3172 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3173 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3174 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3175 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
3176 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3177 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3178 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
3179 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
3180 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3181 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
3182 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
3183 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3184 INPUT_PORTS_END
3185
3186
3187 static INPUT_PORTS_START( pacmanbl )
3188 PORT_INCLUDE(articms)
3189
3190 PORT_MODIFY("IN0")
3191 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
3192 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
3193 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
3194 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
3195 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
3196 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
3197
3198 PORT_MODIFY("IN1")
3199 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
3200 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
3201 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
3202 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
3203
3204 PORT_MODIFY("IN2")
3205 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
3206 PORT_DIPSETTING( 0x00, "15000" )
3207 PORT_DIPSETTING( 0x01, "20000" )
3208 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3209 INPUT_PORTS_END
3210
3211 static INPUT_PORTS_START( pacmanblb )
3212 PORT_INCLUDE(articms)
3213
3214 PORT_MODIFY("IN0")
3215 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
3216 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
3217 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
3218 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
3219 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
3220 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
3221
3222 PORT_MODIFY("IN1")
3223 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
3224 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
3225 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
3226 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
3227
3228 PORT_MODIFY("IN2")
3229 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
3230 PORT_DIPSETTING( 0x00, "15000" )
3231 PORT_DIPSETTING( 0x01, "20000" )
3232 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3233 INPUT_PORTS_END
3234
3235 static INPUT_PORTS_START( tenspot )
3236 PORT_INCLUDE(articms)
3237
3238 PORT_START("SELECT") /* inputs? read by select CPU - unknown */
3239 PORT_DIPUNKNOWN( 0x01, 0x01 )
3240 PORT_DIPUNKNOWN( 0x02, 0x02 )
3241 PORT_DIPUNKNOWN( 0x04, 0x04 )
3242 PORT_DIPUNKNOWN( 0x08, 0x08 )
3243 PORT_DIPUNKNOWN( 0x10, 0x10 )
3244 PORT_DIPUNKNOWN( 0x20, 0x20 )
3245 PORT_DIPUNKNOWN( 0x40, 0x40 )
3246 PORT_DIPUNKNOWN( 0x80, 0x80 )
3247
3248 PORT_START("SELECT2") /* inputs? read by select CPU - unknown */
3249 PORT_DIPUNKNOWN( 0x01, 0x01 )
3250 PORT_DIPUNKNOWN( 0x02, 0x02 )
3251 PORT_DIPUNKNOWN( 0x04, 0x04 )
3252 PORT_DIPUNKNOWN( 0x08, 0x08 )
3253 PORT_DIPUNKNOWN( 0x10, 0x10 )
3254 PORT_DIPUNKNOWN( 0x20, 0x20 )
3255 PORT_DIPUNKNOWN( 0x40, 0x40 )
3256 PORT_DIPUNKNOWN( 0x80, 0x80 )
3257
3258 PORT_START("FAKE_SELECT") /* fake button to move onto next game - until select rom is understood! */
3259 PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Next Game (Fake)") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, galaxian_state, tenspot_fake, 0)
3260
3261 PORT_MODIFY("IN0")
3262 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
3263 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
3264 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
3265 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
3266 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
3267
3268 PORT_MODIFY("IN1")
3269 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
3270 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
3271 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
3272
3273
3274 PORT_MODIFY("IN2") // ignored
3275 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
3276
3277 // yes, the board has 10 banks of dipswitches...
3278 PORT_START("IN2_GAME0")
3279 PORT_DIPNAME( 0x01, 0x01, "Survivor DSW0" )
3280 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3281 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3282 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
3283 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3284 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3285 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
3286 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
3287 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3288 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
3289 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
3290 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3291 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3292 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3293 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3294 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
3295 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3296 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3297 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
3298 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
3299 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3300 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
3301 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
3302 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3303
3304 PORT_START("IN2_GAME1")
3305 PORT_DIPNAME( 0x01, 0x01, "Moon Cresta DSW0" )
3306 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3307 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3308 PORT_DIPUNKNOWN( 0x02, 0x02 )
3309 PORT_DIPUNKNOWN( 0x04, 0x04 )
3310 PORT_DIPUNKNOWN( 0x08, 0x08 )
3311 PORT_DIPUNKNOWN( 0x10, 0x10 )
3312 PORT_DIPUNKNOWN( 0x20, 0x20 )
3313 PORT_DIPUNKNOWN( 0x40, 0x40 )
3314 PORT_DIPUNKNOWN( 0x80, 0x80 )
3315
3316 PORT_START("IN2_GAME2")
3317 PORT_DIPNAME( 0x01, 0x01, "Space Cruiser DSW0" )
3318 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3319 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3320 PORT_DIPUNKNOWN( 0x02, 0x02 )
3321 PORT_DIPUNKNOWN( 0x04, 0x04 )
3322 PORT_DIPUNKNOWN( 0x08, 0x08 )
3323 PORT_DIPUNKNOWN( 0x10, 0x10 )
3324 PORT_DIPUNKNOWN( 0x20, 0x20 )
3325 PORT_DIPUNKNOWN( 0x40, 0x40 )
3326 PORT_DIPUNKNOWN( 0x80, 0x80 )
3327
3328 PORT_START("IN2_GAME3")
3329 PORT_DIPNAME( 0x01, 0x01, "Mission Rescue DSW0" )
3330 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3331 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3332 PORT_DIPUNKNOWN( 0x02, 0x02 )
3333 PORT_DIPUNKNOWN( 0x04, 0x04 )
3334 PORT_DIPUNKNOWN( 0x08, 0x08 )
3335 PORT_DIPUNKNOWN( 0x10, 0x10 )
3336 PORT_DIPUNKNOWN( 0x20, 0x20 )
3337 PORT_DIPUNKNOWN( 0x40, 0x40 )
3338 PORT_DIPUNKNOWN( 0x80, 0x80 )
3339
3340 PORT_START("IN2_GAME4")
3341 PORT_DIPNAME( 0x01, 0x01, "Uniwars DSW0" )
3342 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3343 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3344 PORT_DIPUNKNOWN( 0x02, 0x02 )
3345 PORT_DIPUNKNOWN( 0x04, 0x04 )
3346 PORT_DIPUNKNOWN( 0x08, 0x08 )
3347 PORT_DIPUNKNOWN( 0x10, 0x10 )
3348 PORT_DIPUNKNOWN( 0x20, 0x20 )
3349 PORT_DIPUNKNOWN( 0x40, 0x40 )
3350 PORT_DIPUNKNOWN( 0x80, 0x80 )
3351
3352 PORT_START("IN2_GAME5")
3353 PORT_DIPNAME( 0x01, 0x01, "Batman Pt.2 DSW0" )
3354 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3355 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3356 PORT_DIPUNKNOWN( 0x02, 0x02 )
3357 PORT_DIPUNKNOWN( 0x04, 0x04 )
3358 PORT_DIPUNKNOWN( 0x08, 0x08 )
3359 PORT_DIPUNKNOWN( 0x10, 0x10 )
3360 PORT_DIPUNKNOWN( 0x20, 0x20 )
3361 PORT_DIPUNKNOWN( 0x40, 0x40 )
3362 PORT_DIPUNKNOWN( 0x80, 0x80 )
3363
3364 PORT_START("IN2_GAME6")
3365 PORT_DIPNAME( 0x01, 0x01, "Defend UFO DSW0" )
3366 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3367 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3368 PORT_DIPUNKNOWN( 0x02, 0x02 )
3369 PORT_DIPUNKNOWN( 0x04, 0x04 )
3370 PORT_DIPUNKNOWN( 0x08, 0x08 )
3371 PORT_DIPUNKNOWN( 0x10, 0x10 )
3372 PORT_DIPUNKNOWN( 0x20, 0x20 )
3373 PORT_DIPUNKNOWN( 0x40, 0x40 )
3374 PORT_DIPUNKNOWN( 0x80, 0x80 )
3375
3376 PORT_START("IN2_GAME7")
3377 PORT_DIPNAME( 0x01, 0x01, "King and Balloon DSW0" )
3378 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3379 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3380 PORT_DIPUNKNOWN( 0x02, 0x02 )
3381 PORT_DIPUNKNOWN( 0x04, 0x04 )
3382 PORT_DIPUNKNOWN( 0x08, 0x08 )
3383 PORT_DIPUNKNOWN( 0x10, 0x10 )
3384 PORT_DIPUNKNOWN( 0x20, 0x20 )
3385 PORT_DIPUNKNOWN( 0x40, 0x40 )
3386 PORT_DIPUNKNOWN( 0x80, 0x80 )
3387
3388 PORT_START("IN2_GAME8")
3389 PORT_DIPNAME( 0x01, 0x01, "Omega DSW0" )
3390 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3391 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3392 PORT_DIPUNKNOWN( 0x02, 0x02 )
3393 PORT_DIPUNKNOWN( 0x04, 0x04 )
3394 PORT_DIPUNKNOWN( 0x08, 0x08 )
3395 PORT_DIPUNKNOWN( 0x10, 0x10 )
3396 PORT_DIPUNKNOWN( 0x20, 0x20 )
3397 PORT_DIPUNKNOWN( 0x40, 0x40 )
3398 PORT_DIPUNKNOWN( 0x80, 0x80 )
3399
3400 PORT_START("IN2_GAME9")
3401 PORT_DIPNAME( 0x01, 0x01, "Battle of Atlantis DSW0" )
3402 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3403 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3404 PORT_DIPUNKNOWN( 0x02, 0x02 )
3405 PORT_DIPUNKNOWN( 0x04, 0x04 )
3406 PORT_DIPUNKNOWN( 0x08, 0x08 )
3407 PORT_DIPUNKNOWN( 0x10, 0x10 )
3408 PORT_DIPUNKNOWN( 0x20, 0x20 )
3409 PORT_DIPUNKNOWN( 0x40, 0x40 )
3410 PORT_DIPUNKNOWN( 0x80, 0x80 )
3411 INPUT_PORTS_END
3412
3413 static INPUT_PORTS_START( phoenxp2 )
3414 PORT_INCLUDE(articms)
3415 INPUT_PORTS_END
3416
3417
3418 static INPUT_PORTS_START( atlantib )
3419 PORT_INCLUDE(articms)
3420
3421 PORT_MODIFY("IN1")
3422 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_A ) ) /* These are backwards compared to the other sets??? */
3423 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3424 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3425
3426 PORT_MODIFY("IN2")
3427 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) /* These are backwards compared to the other sets??? */
3428 PORT_DIPSETTING( 0x04, "3" )
3429 PORT_DIPSETTING( 0x00, "5" )
3430 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) ) /* These are backwards compared to the other sets??? */
3431 PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
3432 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
3433 INPUT_PORTS_END
3434
3435
3436 static INPUT_PORTS_START( devilfsg )
3437 PORT_INCLUDE(pacmanbl)
3438
3439 PORT_MODIFY("IN0")
3440 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
3441
3442 PORT_MODIFY("IN1")
3443 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
3444
3445 PORT_MODIFY("IN2")
3446 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) )
3447 PORT_DIPSETTING( 0x00, "10000" )
3448 PORT_DIPSETTING( 0x01, "15000" )
3449 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
3450 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
3451 PORT_DIPSETTING( 0x00, "4" )
3452 PORT_DIPSETTING( 0x04, "5" )
3453 INPUT_PORTS_END
3454
3455
3456 static INPUT_PORTS_START( zigzag )
3457 PORT_START("IN0")
3458 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
3459 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3460 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
3461 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
3462 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
3463 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
3464 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
3465 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
3466
3467 PORT_START("IN1")
3468 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
3469 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
3470 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
3471 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
3472 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
3473 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
3474 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
3475 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3476 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3477 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3478 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
3479
3480 PORT_START("IN2")
3481 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Lives ) )
3482 PORT_DIPSETTING( 0x00, "3" )
3483 PORT_DIPSETTING( 0x01, "4" )
3484 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) )
3485 PORT_DIPSETTING( 0x02, DEF_STR( Upright ) )
3486 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
3487 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
3488 PORT_DIPSETTING( 0x00, "10000 60000" )
3489 PORT_DIPSETTING( 0x04, "20000 60000" )
3490 PORT_DIPSETTING( 0x08, "30000 60000" )
3491 PORT_DIPSETTING( 0x0c, "40000 60000" )
3492 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3493 INPUT_PORTS_END
3494
3495
3496 static INPUT_PORTS_START( gmgalax )
3497 PORT_START("IN0")
3498 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CUSTOM_MEMBER(gmgalax_state, port_r<0>)
3499
3500 PORT_START("IN1")
3501 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CUSTOM_MEMBER(gmgalax_state, port_r<1>)
3502
3503 PORT_START("IN2")
3504 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CUSTOM_MEMBER(gmgalax_state, port_r<2>)
3505
3506 PORT_START("GMIN0") /* Ghost Muncher - IN0 */
3507 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3508 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3509 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3510 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3511 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3512 PORT_DIPNAME( 0x20, 0x00, "Ghost Muncher - Cabinet" ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3513 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3514 PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
3515 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3516 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3517
3518 PORT_START("GMIN1") /* Ghost Muncher - IN1 */
3519 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3520 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3521 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3522 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3523 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3524 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3525 PORT_DIPNAME( 0xc0, 0x40, "Ghost Muncher - Bonus Life" ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3526 PORT_DIPSETTING( 0x40, "10000" )
3527 PORT_DIPSETTING( 0x80, "15000" )
3528 PORT_DIPSETTING( 0xc0, "20000" )
3529 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
3530
3531 PORT_START("GMIN2") /* Ghost Muncher - IN2 */
3532 PORT_DIPNAME( 0x03, 0x02, "Ghost Muncher - Coinage" ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3533 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
3534 PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
3535 PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
3536 PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) )
3537 PORT_DIPNAME( 0x0c, 0x04, "Ghost Muncher - Lives" ) PORT_CONDITION("GAMESEL",0x01,NOTEQUALS,0x01)
3538 PORT_DIPSETTING( 0x0c, "1" )
3539 PORT_DIPSETTING( 0x08, "2" )
3540 PORT_DIPSETTING( 0x04, "3" )
3541 PORT_DIPSETTING( 0x00, "5" )
3542 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3543
3544 PORT_START("GLIN0") /* Galaxian - IN0 */
3545 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3546 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3547 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3548 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3549 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3550 PORT_DIPNAME( 0x20, 0x00, "Galaxian - Cabinet" ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3551 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3552 PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
3553 PORT_SERVICE( 0x40, IP_ACTIVE_HIGH ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3554 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3555
3556 PORT_START("GLIN1") /* Galaxian - IN1 */
3557 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3558 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3559 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3560 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3561 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3562 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3563 PORT_DIPNAME( 0xc0, 0x00, "Galaxian - Coinage" ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3564 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3565 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3566 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
3567 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
3568
3569 PORT_START("GLIN2") /* Galaxian - IN2 */
3570 PORT_DIPNAME( 0x03, 0x01, "Galaxian - Bonus Life" ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3571 PORT_DIPSETTING( 0x01, "4000" )
3572 PORT_DIPSETTING( 0x02, "5000" )
3573 PORT_DIPSETTING( 0x03, "7000" )
3574 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
3575 PORT_DIPNAME( 0x04, 0x00, "Galaxian - Lives" ) PORT_CONDITION("GAMESEL",0x01,EQUALS,0x01)
3576 PORT_DIPSETTING( 0x00, "3" )
3577 PORT_DIPSETTING( 0x04, "5" )
3578 PORT_DIPUNUSED( 0x08, 0x00 )
3579 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3580
3581 PORT_START("GAMESEL") /* fake - game select */
3582 PORT_DIPNAME( 0x01, 0x00, "Game Select") PORT_CODE(KEYCODE_F1) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, gmgalax_state, game_changed, 0)
3583 PORT_DIPSETTING( 0x00, "Ghost Muncher" )
3584 PORT_DIPSETTING( 0x01, "Galaxian" )
3585 INPUT_PORTS_END
3586
3587
3588
3589 /*************************************
3590 *
3591 * Input Ports
3592 * Moon Cresta-derived games
3593 *
3594 *************************************/
3595
3596 static INPUT_PORTS_START( mooncrst )
3597 PORT_START("IN0")
3598 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
3599 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
3600 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
3601 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
3602 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
3603 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
3604 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3605 PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
3606 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* "reset" on schematics */
3607 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
3608
3609 PORT_START("IN1")
3610 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
3611 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
3612 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
3613 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
3614 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
3615 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
3616 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) )
3617 PORT_DIPSETTING( 0x00, "30000" )
3618 PORT_DIPSETTING( 0x40, "50000" )
3619 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Language ) )
3620 PORT_DIPSETTING( 0x80, DEF_STR( English ) )
3621 PORT_DIPSETTING( 0x00, DEF_STR( Japanese ) )
3622
3623 PORT_START("IN2")
3624 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) )
3625 PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
3626 PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
3627 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
3628 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3629 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) )
3630 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3631 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
3632 PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
3633 PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) )
3634 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
3635 INPUT_PORTS_END
3636
3637
3638 static INPUT_PORTS_START( mooncrsa )
3639 PORT_INCLUDE(mooncrst)
3640
3641 PORT_MODIFY("IN2")
3642 PORT_DIPUNUSED( 0x03, IP_ACTIVE_HIGH ) /* Not used due to code at 0x01c0 */
3643 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
3644 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3645 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
3646 PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
3647 PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) )
3648 INPUT_PORTS_END
3649
3650
3651 static INPUT_PORTS_START( mooncrsg )
3652 PORT_INCLUDE(mooncrst)
3653
3654 PORT_MODIFY("IN1")
3655 PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH ) /* Always non-Japanese due to code at 0x2f77 */
3656 INPUT_PORTS_END
3657
3658
3659 static INPUT_PORTS_START( fantazia )
3660 PORT_INCLUDE(mooncrst)
3661
3662 PORT_MODIFY("IN1")
3663 PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH ) /* Always non-Japanese due to code at 0x2f53 */
3664
3665 PORT_MODIFY("IN2")
3666 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_B ) )
3667 PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
3668 PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
3669 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
3670 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3671 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) )
3672 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3673 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
3674 PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) )
3675 PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play ) )
3676 INPUT_PORTS_END
3677
3678
3679 static INPUT_PORTS_START( eagle2 )
3680 PORT_INCLUDE(mooncrst)
3681
3682 PORT_MODIFY("IN2")
3683 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
3684 PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
3685 PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
3686 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
3687 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3688 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Free_Play ) ) /* Not used due to code at 0x01c0, but "Free Play" is checked */
3689 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3690 // PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
3691 // PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
3692 PORT_DIPSETTING( 0x0c, DEF_STR( On ) )
3693 INPUT_PORTS_END
3694
3695
3696 static INPUT_PORTS_START( smooncrs )
3697 PORT_INCLUDE(mooncrst)
3698
3699 PORT_MODIFY("IN1")
3700 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */
3701 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */
3702 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Not read due to code at 0x2b1c and 0x3313 */
3703 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) /* code at 0x2962 (0x2f68 in spcdrag) */
3704 PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
3705 PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
3706 PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" ) /* code at 0x0007 (0x2f53 in spcdrag) */
3707 PORT_DIPSETTING( 0x00, "Slow" )
3708 PORT_DIPSETTING( 0x80, "Fast" )
3709 /* Bonus life is always '50000' due to code at 0x2f68 */
3710 /* Language is always non-Japanese due to code at 0x2f53 */
3711 INPUT_PORTS_END
3712
3713 static INPUT_PORTS_START( mooncreg )
3714 PORT_INCLUDE(mooncrst)
3715
3716 PORT_MODIFY("IN1")
3717 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
3718 PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
3719 PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
3720 PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )
3721 PORT_DIPSETTING( 0x00, "Slow" )
3722 PORT_DIPSETTING( 0x80, "Fast" )
3723
3724 PORT_MODIFY("IN2")
3725 PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coinage ) )
3726 PORT_DIPSETTING( 0x00, "1C/1C, 1C/2C" )
3727 PORT_DIPSETTING( 0x01, "2C/1C, 2C/3C" )
3728 PORT_DIPSETTING( 0x02, "3C/1C, 3C/4C" )
3729 PORT_DIPSETTING( 0x03, "4C/1C, 4C/5C" )
3730 PORT_DIPSETTING( 0x04, "1C/1C, 1C/3C" )
3731 PORT_DIPSETTING( 0x05, "2C/1C, 2C/5C" )
3732 PORT_DIPSETTING( 0x06, "3C/1C, 3C/7C" )
3733 PORT_DIPSETTING( 0x07, "4C/1C, 4C/9C" )
3734 PORT_DIPSETTING( 0x08, "1C/1C, 1C/4C" )
3735 PORT_DIPSETTING( 0x09, "2C/1C, 2C/7C" )
3736 PORT_DIPSETTING( 0x0a, "3C/1C, 3C/10C" )
3737 PORT_DIPSETTING( 0x0b, "4C/1C, 4C/13C" )
3738 PORT_DIPSETTING( 0x0c, DEF_STR( Free_Play) ) // these all force 4 credits, although the credit inputs will temporarily add different amounts
3739 PORT_DIPSETTING( 0x0d, "Free Play (duplicate 1)" )
3740 PORT_DIPSETTING( 0x0e, "Free Play (duplicate 2)" )
3741 PORT_DIPSETTING( 0x0f, "Free Play (duplicate 3)" )
3742 INPUT_PORTS_END
3743
3744 static INPUT_PORTS_START( mooncrsl )
3745 PORT_INCLUDE(mooncrst)
3746
3747 PORT_MODIFY("IN1")
3748 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) /* the game will crash at round 3 otherwise, could be protection (or a bad rom / bad hack) the same code is mostly patched out in mooncreg */
3749 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
3750 PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
3751 PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
3752 PORT_DIPNAME( 0x80, 0x80, "Player's Bullet Speed" )
3753 PORT_DIPSETTING( 0x00, "Slow" )
3754 PORT_DIPSETTING( 0x80, "Fast" )
3755 INPUT_PORTS_END
3756
3757
3758 static INPUT_PORTS_START( mooncptc )
3759 PORT_INCLUDE(smooncrs)
3760
3761 PORT_MODIFY("IN2") // no 1c/1c ?
3762 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
3763 PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
3764 PORT_DIPSETTING( 0x01, DEF_STR( 2C_3C ) )
3765 PORT_DIPSETTING( 0x02, DEF_STR( 3C_4C ) )
3766 PORT_DIPSETTING( 0x03, DEF_STR( 4C_5C ) )
3767 INPUT_PORTS_END
3768
3769
3770 static INPUT_PORTS_START( mooncrgx )
3771 PORT_INCLUDE(mooncrst)
3772
3773 PORT_MODIFY("IN0")
3774 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
3775
3776 PORT_MODIFY("IN1")
3777 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coin_A ) )
3778 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
3779 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
3780 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coin_B ) )
3781 PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) )
3782 PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
3783
3784 PORT_MODIFY("IN2")
3785 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Bonus_Life ) )
3786 PORT_DIPSETTING( 0x01, "30000" )
3787 PORT_DIPSETTING( 0x00, "50000" )
3788 PORT_DIPUNUSED( 0x02, 0x00 )
3789 PORT_DIPUNUSED( 0x04, 0x00 ) /* Always non-Japanese due to code removed at 0x2f4b */
3790 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
3791 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
3792 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
3793 INPUT_PORTS_END
3794
3795
3796 static INPUT_PORTS_START( moonqsr )
3797 PORT_INCLUDE(mooncrst)
3798
3799 PORT_MODIFY("IN1")
3800 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) )
3801 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
3802 PORT_DIPSETTING( 0x40, DEF_STR( Medium ) )
3803 PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
3804 PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) )
3805 INPUT_PORTS_END
3806
3807
3808 static INPUT_PORTS_START( moonal2 )
3809 PORT_INCLUDE(galaxian)
3810
3811 PORT_MODIFY("IN2")
3812 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
3813 PORT_DIPSETTING( 0x01, "4000" )
3814 PORT_DIPSETTING( 0x02, "5000" )
3815 PORT_DIPSETTING( 0x03, "7000" )
3816 PORT_DIPSETTING( 0x00, DEF_STR( None ) )
3817 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
3818 PORT_DIPSETTING( 0x00, "3" )
3819 PORT_DIPSETTING( 0x04, "5" )
3820 PORT_DIPUNUSED( 0x08, 0x00 )
3821 INPUT_PORTS_END
3822
3823
3824 static INPUT_PORTS_START( fantastc )
3825 PORT_START("IN0")
3826 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3827 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3828 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3829 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
3830 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY
3831 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY
3832 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
3833 PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
3834 PORT_DIPNAME( 0x40, 0x40, "Extended Bonus Life" )
3835 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3836 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
3837 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
3838 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
3839 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3840
3841 PORT_START("IN1")
3842 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
3843 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
3844 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
3845 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
3846 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3847 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
3848 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
3849 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3850 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3851 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3852 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3853 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
3854 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3855 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3856 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) ) // no effect?
3857 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3858 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3859 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
3860 PORT_DIPSETTING( 0x00, "3" )
3861 PORT_DIPSETTING( 0x80, "5" )
3862
3863 PORT_START("IN2")
3864 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
3865 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
3866 PORT_DIPSETTING( 0x01, DEF_STR( Medium ) )
3867 PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
3868 PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) )
3869 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
3870 PORT_DIPSETTING( 0x00, "20000 80000" )
3871 PORT_DIPSETTING( 0x04, "30000 80000" )
3872 PORT_DIPSETTING( 0x08, "20000 120000" )
3873 PORT_DIPSETTING( 0x0c, "30000 120000" )
3874 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3875 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3876 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3877 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
3878 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3879 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3880 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
3881 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
3882 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3883 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
3884 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
3885 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3886 INPUT_PORTS_END
3887
3888
3889 static INPUT_PORTS_START( timefgtr )
3890 PORT_START("IN0")
3891 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3892 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
3893 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
3894 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
3895 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
3896 PORT_DIPNAME( 0x20, 0x00, "255 Lives (Cheat)" )
3897 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3898 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
3899 PORT_DIPNAME( 0x40, 0x40, "Extended Bonus Life" )
3900 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3901 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
3902 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
3903
3904 PORT_START("IN1")
3905 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
3906 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
3907 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // tilt? freeze?
3908 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3909 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3910 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
3911 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
3912 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3913 PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
3914 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
3915 PORT_DIPSETTING( 0x00, "3" )
3916 PORT_DIPSETTING( 0x80, "5" )
3917
3918 PORT_START("IN2")
3919 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) // if 01 and 02 are both set, bonus life is 00
3920 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3921 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3922 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) // "
3923 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
3924 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3925 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
3926 PORT_DIPSETTING( 0x00, "10000 50000" )
3927 PORT_DIPSETTING( 0x04, "20000 50000" )
3928 PORT_DIPSETTING( 0x08, "10000 60000" )
3929 PORT_DIPSETTING( 0x0c, "20000 60000" )
3930 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3931 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3932 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3933 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
3934 INPUT_PORTS_END
3935
3936
3937 static INPUT_PORTS_START( kong )
3938 PORT_START("IN0")
3939 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
3940 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
3941 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3942 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
3943 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
3944 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
3945 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3946 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3947 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3948 PORT_SERVICE( 0x20, IP_ACTIVE_HIGH )
3949 PORT_DIPNAME( 0x40, 0x00, "99 Men/Max Timer (Cheat)" )
3950 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
3951 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
3952 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
3953
3954 PORT_START("IN1")
3955 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME ("One Player Start/Jump")
3956 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME ("Two Player Start/Jump")
3957 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
3958 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
3959 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3960 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
3961 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
3962 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3963 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3964 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3965 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3966 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
3967 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Lives ) )
3968 PORT_DIPSETTING( 0x00, "3" )
3969 PORT_DIPSETTING( 0x40, "5" )
3970 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Coinage ) )
3971 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
3972 PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
3973
3974 PORT_START("IN2")
3975 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
3976 PORT_DIPSETTING( 0x00, "10000" )
3977 PORT_DIPSETTING( 0x01, "20000" )
3978 PORT_DIPSETTING( 0x02, "30000" )
3979 PORT_DIPSETTING( 0x03, DEF_STR( None ) )
3980 PORT_DIPNAME( 0x04, 0x00, "Mode" )
3981 PORT_DIPSETTING( 0x04, "Tournament (harder)" )
3982 PORT_DIPSETTING( 0x00, "Normal" )
3983 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
3984 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
3985 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3986 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
3987 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
3988 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3989 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
3990 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
3991 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3992 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
3993 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
3994 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3995 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
3996 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
3997 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
3998 INPUT_PORTS_END
3999
4000
4001 static INPUT_PORTS_START( tdpgal )
4002 PORT_START("IN0")
4003 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4004 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
4005 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
4006 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
4007 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
4008 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
4009 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
4010 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4011 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4012 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
4013
4014 PORT_START("IN1")
4015 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4016 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4017 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
4018 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4019 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4020 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
4021 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4022 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4023 PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
4024 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4025 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4026 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
4027 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4028 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4029 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
4030 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4031 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4032 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
4033 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4034 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4035
4036 PORT_START("IN2")
4037 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
4038 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
4039 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4040 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
4041 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4042 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4043 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
4044 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4045 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4046 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
4047 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4048 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4049 PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
4050 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4051 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4052 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
4053 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4054 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4055 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
4056 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4057 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4058 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
4059 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4060 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4061 INPUT_PORTS_END
4062
4063
4064 static INPUT_PORTS_START( skybase )
4065 PORT_INCLUDE(mooncrst)
4066
4067 PORT_MODIFY("IN0")
4068 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
4069 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) )
4070 PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )
4071 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
4072
4073 PORT_MODIFY("IN1")
4074 PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
4075 PORT_DIPSETTING( 0x80, "1C/1C (2 to start)" )
4076 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
4077 PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) )
4078 PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )
4079
4080 PORT_MODIFY("IN2")
4081 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
4082 PORT_DIPSETTING( 0x00, "3" )
4083 PORT_DIPSETTING( 0x01, "4" )
4084 PORT_DIPSETTING( 0x02, "5" )
4085 PORT_DIPSETTING( 0x03, "Infinite (Cheat)")
4086 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
4087 PORT_DIPSETTING( 0x00, "10000" )
4088 PORT_DIPSETTING( 0x04, "15000" )
4089 PORT_DIPSETTING( 0x08, "20000" )
4090 PORT_DIPSETTING( 0x0c, DEF_STR( None ) )
4091 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
4092 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
4093 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
4094 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
4095 INPUT_PORTS_END
4096
4097
4098 static INPUT_PORTS_START( jumpbug )
4099 PORT_START("IN0")
4100 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4101 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
4102 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
4103 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
4104 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
4105 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
4106 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4107 PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
4108 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
4109 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
4110
4111 PORT_START("IN1")
4112 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4113 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4114 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
4115 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
4116 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
4117 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
4118 PORT_DIPNAME( 0x40, 0x00, "Difficulty ?" )
4119 PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
4120 PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
4121 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
4122
4123 PORT_START("IN2")
4124 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
4125 PORT_DIPSETTING( 0x01, "3" )
4126 PORT_DIPSETTING( 0x02, "4" )
4127 PORT_DIPSETTING( 0x03, "5" )
4128 PORT_DIPSETTING( 0x00, "Infinite (Cheat)")
4129 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
4130 PORT_DIPSETTING( 0x04, "A 2C/1C B 2C/1C" )
4131 PORT_DIPSETTING( 0x08, "A 2C/1C B 1C/3C" )
4132 PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/1C" )
4133 PORT_DIPSETTING( 0x0c, "A 1C/1C B 1C/6C" )
4134 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
4135 INPUT_PORTS_END
4136
4137
4138 static INPUT_PORTS_START( levers )
4139 PORT_START("IN0")
4140 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4141 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
4142 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1)
4143 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
4144 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
4145 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
4146 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
4147 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
4148
4149 PORT_START("IN1")
4150 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4151 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4152 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
4153 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
4154 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
4155 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
4156 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
4157 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
4158
4159 PORT_START("IN2")
4160 PORT_DIPUNKNOWN( 0x01, 0x01 ) /* probably unused */
4161 PORT_DIPUNKNOWN( 0x02, 0x02 ) /* probably unused */
4162 PORT_DIPNAME( 0x04, 0x00, "Leave On" ) /* used - MUST be ON */
4163 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4164 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4165 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Free_Play ) )
4166 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4167 PORT_DIPSETTING( 0x08, DEF_STR( On ) )
4168 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
4169 INPUT_PORTS_END
4170
4171
4172 static INPUT_PORTS_START( checkman )
4173 PORT_START("IN0")
4174 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
4175 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
4176 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
4177 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
4178 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Right")
4179 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
4180 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
4181 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
4182
4183 PORT_START("IN1")
4184 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Tiles Left")/* also p1 tiles left */
4185 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Tiles Right")/* also p1 tiles right */
4186 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
4187 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
4188 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")/* p2 tiles left */
4189 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
4190 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
4191 PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" )
4192 PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" )
4193 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
4194 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4195 PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
4196
4197 PORT_START("IN2")
4198 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
4199 PORT_DIPSETTING( 0x00, "3" )
4200 PORT_DIPSETTING( 0x01, "4" )
4201 PORT_DIPSETTING( 0x02, "5" )
4202 PORT_DIPSETTING( 0x03, "6" )
4203 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
4204 PORT_DIPSETTING( 0x00, "100000" )
4205 PORT_DIPSETTING( 0x04, "200000" )
4206 PORT_DIPNAME( 0x08, 0x00, "Difficulty Increases At Level" )
4207 PORT_DIPSETTING( 0x08, "3" )
4208 PORT_DIPSETTING( 0x00, "5" )
4209 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
4210 INPUT_PORTS_END
4211
4212
4213 static INPUT_PORTS_START( checkmaj )
4214 PORT_INCLUDE(checkman)
4215
4216 PORT_MODIFY("IN0")
4217 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4218 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
4219 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
4220 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
4221 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
4222 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_COCKTAIL PORT_NAME("P2 Tiles Right")
4223 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
4224 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
4225
4226 PORT_MODIFY("IN1")
4227 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4228 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4229 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
4230 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
4231 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
4232 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_COCKTAIL PORT_NAME("P2 Tiles Left")
4233
4234 PORT_MODIFY("IN2")
4235 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Tiles Right")
4236 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Tiles Left")
4237 PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
4238 INPUT_PORTS_END
4239
4240
4241 static INPUT_PORTS_START( dingo )
4242 PORT_START("IN0")
4243 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4244 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
4245 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
4246 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
4247 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
4248 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 1st Button 1 */
4249 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
4250 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
4251
4252 PORT_START("IN1")
4253 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4254 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4255 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
4256 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
4257 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
4258 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL /* 2nd Button 1 */
4259 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
4260 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4261 PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) )
4262 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Coinage ) )
4263 PORT_DIPSETTING( 0x80, "A 1C/1C B 1C/5C" )
4264 PORT_DIPSETTING( 0x00, "A 2C/1C B 1C/3C" )
4265
4266 PORT_START("IN2")
4267 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
4268 PORT_DIPSETTING( 0x00, DEF_STR( Easiest ) )
4269 PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
4270 PORT_DIPSETTING( 0x02, DEF_STR( Hard ) )
4271 PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) )
4272 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
4273 PORT_DIPSETTING( 0x00, "3" )
4274 PORT_DIPSETTING( 0x04, "4" )
4275 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Bonus_Life ) )
4276 PORT_DIPSETTING( 0x00, "20000" )
4277 PORT_DIPSETTING( 0x08, "40000" )
4278 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* Yes, the game reads both of these */
4279 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* Check code at 0x22e1 */
4280 INPUT_PORTS_END
4281
4282
4283 static INPUT_PORTS_START( mshuttle )
4284 PORT_START("IN0")
4285 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
4286 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
4287 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
4288 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
4289 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
4290 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
4291 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
4292 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
4293
4294 PORT_START("IN1")
4295 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4296 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4297 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
4298 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
4299 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
4300 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
4301 PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
4302 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
4303 PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
4304 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
4305
4306 PORT_START("IN2")
4307 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
4308 PORT_DIPSETTING( 0x00, "3" )
4309 PORT_DIPSETTING( 0x01, "4" )
4310 PORT_DIPSETTING( 0x02, "5" )
4311 PORT_DIPSETTING( 0x03, "6" )
4312 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
4313 PORT_DIPSETTING( 0x00, "20000" )
4314 PORT_DIPSETTING( 0x04, "30000" )
4315 PORT_DIPNAME( 0x18, 0x00, DEF_STR( Coin_A ) )
4316 PORT_DIPSETTING( 0x18, DEF_STR( 4C_1C ) )
4317 PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) )
4318 PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
4319 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
4320 PORT_DIPNAME( 0x60, 0x00, DEF_STR( Coin_B ) )
4321 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
4322 PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
4323 PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
4324 PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) )
4325 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
4326 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4327 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
4328 INPUT_PORTS_END
4329
4330
4331 static INPUT_PORTS_START( kingball )
4332 PORT_INCLUDE(galaxian)
4333
4334 PORT_MODIFY("IN0")
4335 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, kingball_muxbit_r)
4336 /* Relating to above port:Hack? - possibly multiplexed via writes to $b003 */
4337 //PORT_DIPNAME( 0x40, 0x40, "Speech" )
4338 //PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4339 //PORT_DIPSETTING( 0x40, DEF_STR( On ) )
4340
4341 PORT_MODIFY("IN1")
4342 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, kingball_noise_r) /* NOISE line */
4343 PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Coinage ) )
4344 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) )
4345 PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) )
4346 PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
4347 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
4348
4349 PORT_MODIFY("IN2")
4350 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )
4351 PORT_DIPSETTING( 0x00, "10000" )
4352 PORT_DIPSETTING( 0x01, "12000" )
4353 PORT_DIPSETTING( 0x02, "15000" )
4354 PORT_DIPSETTING( 0x03, DEF_STR( None ) )
4355
4356 PORT_START("FAKE")
4357 PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
4358 PORT_DIPNAME( 0x02, 0x02, "Speech" )
4359 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4360 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
4361 INPUT_PORTS_END
4362
4363
4364 static INPUT_PORTS_START( thepitm )
4365 PORT_START("IN0")
4366 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4367 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
4368 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
4369 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
4370 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
4371 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
4372 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL
4373 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
4374
4375 PORT_START("IN1")
4376 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4377 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4378 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL
4379 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL
4380 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL
4381 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
4382 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) // turning both of these on boots with 9 credits?
4383 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4384 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
4385 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
4386 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4387 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
4388
4389 PORT_START("IN2")
4390 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
4391 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4392 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
4393 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
4394 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4395 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
4396 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Flip_Screen ) )
4397 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4398 PORT_DIPSETTING( 0x04, DEF_STR( On ) )
4399 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
4400 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4401 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
4402 PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
4403 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4404 PORT_DIPSETTING( 0x10, DEF_STR( On ) )
4405 PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
4406 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4407 PORT_DIPSETTING( 0x20, DEF_STR( On ) )
4408 PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
4409 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4410 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
4411 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
4412 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
4413 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
4414 INPUT_PORTS_END
4415
4416
4417
4418 /*************************************
4419 *
4420 * Input Ports
4421 * Konami games
4422 *
4423 *************************************/
4424
4425 static INPUT_PORTS_START( frogger )
4426 PORT_START("IN0")
4427 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
4428 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot2 - unused */
4429 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
4430 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 1P shoot1 - unused */
4431 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
4432 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
4433 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
4434 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
4435
4436 PORT_START("IN1")
4437 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
4438 PORT_DIPSETTING( 0x00, "3" )
4439 PORT_DIPSETTING( 0x01, "5" )
4440 PORT_DIPSETTING( 0x02, "7" )
4441 PORT_DIPSETTING( 0x03, "256 (Cheat)")
4442 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot2 - unused */
4443 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* 2P shoot1 - unused */
4444 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
4445 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
4446 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
4447 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4448
4449 PORT_START("IN2")
4450 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
4451 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
4452 PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" )
4453 PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" )
4454 PORT_DIPSETTING( 0x00, "A 1/1 B 1/1 C 1/1" )
4455 PORT_DIPSETTING( 0x06, "A 1/1 B 1/6 C 1/1" )
4456 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
4457 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4458 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
4459 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
4460 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
4461 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
4462 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
4463
4464 PORT_START("IN3") /* need for some PPI accesses */
4465 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
4466 INPUT_PORTS_END
4467
4468
4469 static INPUT_PORTS_START( froggermc )
4470 PORT_START("IN0")
4471 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4472 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
4473 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
4474 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
4475 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
4476 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
4477 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
4478 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SERVICE1 )
4479
4480 PORT_START("IN1")
4481 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4482 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4483 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
4484 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
4485 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
4486 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
4487 PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Lives ) )
4488 PORT_DIPSETTING( 0xc0, "3" )
4489 PORT_DIPSETTING( 0x80, "5" )
4490 PORT_DIPSETTING( 0x40, "7" )
4491 PORT_DIPSETTING( 0x00, "256 (Cheat)")
4492
4493 PORT_START("IN2")
4494 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
4495 PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
4496 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
4497 PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
4498 PORT_DIPSETTING( 0x02, "A 2/1 B 2/1 C 2/1" )
4499 PORT_DIPSETTING( 0x04, "A 2/1 B 1/3 C 2/1" )
4500 PORT_DIPSETTING( 0x06, "A 1/1 B 1/1 C 1/1" )
4501 PORT_DIPSETTING( 0x00, "A 1/1 B 1/6 C 1/1" )
4502 PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNKNOWN )
4503
4504 PORT_START("IN3") /* need for some PPI accesses */
4505 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
4506 INPUT_PORTS_END
4507
4508
4509 static INPUT_PORTS_START( frogg )
4510 PORT_INCLUDE(froggermc)
4511
4512 PORT_MODIFY("IN0")
4513 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // See notes
4514 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
4515 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
4516
4517 PORT_MODIFY("IN1")
4518 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) // See notes
4519
4520 PORT_MODIFY("IN2")
4521 PORT_DIPUNUSED( 0x02, 0x00 ) // not tested due to code at 0x3084
4522 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coinage ) ) // when "Cabinet" Dip Switch set to "Upright"
4523 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) // "A 1/1 B 1/6" if "Cabinet" Dip Switch set to "Cocktail"
4524 PORT_DIPSETTING( 0x04, DEF_STR( 1C_1C ) ) // "A 2/1 B 1/3" if "Cabinet" Dip Switch set to "Cocktail"
4525 PORT_DIPUNUSED( 0x08, 0x00 )
4526 INPUT_PORTS_END
4527
4528 static INPUT_PORTS_START( froggeram )
4529 PORT_START("IN0")
4530 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
4531 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
4532 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
4533 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
4534 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
4535 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
4536 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
4537 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
4538
4539 PORT_START("IN1")
4540 PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
4541 PORT_DIPSETTING( 0x03, "5" )
4542 PORT_DIPSETTING( 0x01, "4" )
4543 PORT_DIPSETTING( 0x02, "3" )
4544 PORT_DIPSETTING( 0x00, "2" )
4545 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
4546 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
4547 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
4548 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
4549 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
4550 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4551
4552 PORT_START("IN2")
4553 PORT_DIPUNKNOWN( 0x01, 0x00 )
4554 PORT_DIPUNKNOWN( 0x02, 0x00 )
4555 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
4556 PORT_DIPSETTING( 0x0c, "A 1/2 B 1/1" )
4557 PORT_DIPSETTING( 0x00, "A 1/1 B 1/1" )
4558 PORT_DIPSETTING( 0x08, "A 2/1 B 2/1" )
4559 PORT_DIPSETTING( 0x04, "A 1/1 B 2/1" )
4560 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
4561
4562 PORT_START("IN3") /* need for some PPI accesses */
4563 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
4564 INPUT_PORTS_END
4565
4566 static INPUT_PORTS_START( turtles )
4567 PORT_START("IN0")
4568 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
4569 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
4570 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
4571 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
4572 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
4573 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
4574 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
4575 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
4576
4577 PORT_START("IN1")
4578 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
4579 PORT_DIPSETTING( 0x00, "3" )
4580 PORT_DIPSETTING( 0x01, "4" )
4581 PORT_DIPSETTING( 0x02, "5" )
4582 PORT_DIPSETTING( 0x03, "126 (Cheat)")
4583 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
4584 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
4585 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
4586 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
4587 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
4588 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4589
4590 PORT_START("IN2")
4591 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
4592 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
4593 PORT_DIPSETTING( 0x00, "A 1/1 B 2/1 C 1/1" )
4594 PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" )
4595 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" )
4596 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" )
4597 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
4598 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4599 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
4600 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
4601 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
4602 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
4603 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
4604
4605 PORT_START("IN3") /* need for some PPI accesses */
4606 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
4607 INPUT_PORTS_END
4608
4609
4610 static INPUT_PORTS_START( turpin )
4611 PORT_INCLUDE(turtles)
4612
4613 PORT_MODIFY("IN1")
4614 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
4615 PORT_DIPSETTING( 0x00, "3" )
4616 PORT_DIPSETTING( 0x01, "5" )
4617 PORT_DIPSETTING( 0x02, "7" )
4618 PORT_DIPSETTING( 0x03, "126 (Cheat)")
4619
4620 PORT_MODIFY("IN2")
4621 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
4622 PORT_DIPSETTING( 0x06, DEF_STR( 4C_1C ) )
4623 PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
4624 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
4625 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
4626 INPUT_PORTS_END
4627
4628
4629 static INPUT_PORTS_START( amidar )
4630 PORT_INCLUDE(turtles)
4631
4632 PORT_MODIFY("IN1")
4633 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
4634 PORT_DIPSETTING( 0x03, "3" )
4635 PORT_DIPSETTING( 0x02, "4" )
4636 PORT_DIPSETTING( 0x01, "5" )
4637 PORT_DIPSETTING( 0x00, "255 (Cheat)")
4638
4639 PORT_MODIFY("IN2")
4640 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
4641 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
4642 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4643 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
4644 PORT_DIPSETTING( 0x00, "30000 50000" )
4645 PORT_DIPSETTING( 0x04, "50000 50000" )
4646
4647 PORT_MODIFY("IN3")
4648 PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) )
4649 PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) )
4650 PORT_DIPSETTING( 0x0a, DEF_STR( 3C_1C ) )
4651 PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) )
4652 PORT_DIPSETTING( 0x02, DEF_STR( 3C_2C ) )
4653 PORT_DIPSETTING( 0x08, DEF_STR( 4C_3C ) )
4654 PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
4655 PORT_DIPSETTING( 0x0c, DEF_STR( 3C_4C ) )
4656 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_3C ) )
4657 PORT_DIPSETTING( 0x07, DEF_STR( 1C_2C ) )
4658 PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) )
4659 PORT_DIPSETTING( 0x0b, DEF_STR( 1C_3C ) )
4660 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
4661 PORT_DIPSETTING( 0x0d, DEF_STR( 1C_5C ) )
4662 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
4663 PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) )
4664 PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
4665 PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) )
4666 PORT_DIPSETTING( 0x40, DEF_STR( 4C_1C ) )
4667 PORT_DIPSETTING( 0xa0, DEF_STR( 3C_1C ) )
4668 PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
4669 PORT_DIPSETTING( 0x20, DEF_STR( 3C_2C ) )
4670 PORT_DIPSETTING( 0x80, DEF_STR( 4C_3C ) )
4671 PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) )
4672 PORT_DIPSETTING( 0xc0, DEF_STR( 3C_4C ) )
4673 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_3C ) )
4674 PORT_DIPSETTING( 0x70, DEF_STR( 1C_2C ) )
4675 PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) )
4676 PORT_DIPSETTING( 0xb0, DEF_STR( 1C_3C ) )
4677 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
4678 PORT_DIPSETTING( 0xd0, DEF_STR( 1C_5C ) )
4679 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
4680 PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) )
4681 PORT_DIPSETTING( 0x00, "Invalid" )
4682 /* Invalid = both coin slots disabled */
4683 INPUT_PORTS_END
4684
4685
4686 static INPUT_PORTS_START( amidaru )
4687 PORT_INCLUDE(amidar)
4688
4689 PORT_MODIFY("IN2")
4690 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
4691 PORT_DIPSETTING( 0x00, "30000 70000" )
4692 PORT_DIPSETTING( 0x04, "50000 80000" )
4693 INPUT_PORTS_END
4694
4695
4696 static INPUT_PORTS_START( amidaro )
4697 PORT_INCLUDE(amidar)
4698
4699 PORT_MODIFY("IN1")
4700 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
4701 PORT_DIPSETTING( 0x03, "1" )
4702 PORT_DIPSETTING( 0x02, "2" )
4703 PORT_DIPSETTING( 0x01, "3" )
4704 PORT_DIPSETTING( 0x00, "4" )
4705
4706 PORT_MODIFY("IN2")
4707 PORT_DIPNAME( 0x02, 0x00, "Level Progression" )
4708 PORT_DIPSETTING( 0x00, "Slow" )
4709 PORT_DIPSETTING( 0x02, "Fast" )
4710 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
4711 PORT_DIPSETTING( 0x00, "30000 70000" )
4712 PORT_DIPSETTING( 0x04, "50000 80000" )
4713 INPUT_PORTS_END
4714
4715
4716 static INPUT_PORTS_START( amidars )
4717 PORT_INCLUDE(turtles)
4718
4719 PORT_MODIFY("IN1")
4720 PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
4721 PORT_DIPSETTING( 0x03, "3" )
4722 PORT_DIPSETTING( 0x02, "4" )
4723 PORT_DIPSETTING( 0x01, "5" )
4724 PORT_DIPSETTING( 0x00, "255 (Cheat)")
4725
4726 PORT_MODIFY("IN2")
4727 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
4728 PORT_DIPSETTING( 0x00, "A 1/1 B 1/6" )
4729 PORT_DIPSETTING( 0x02, "A 2/1 B 1/3" )
4730 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
4731 PORT_DIPSETTING( 0x00, "30000 70000" )
4732 PORT_DIPSETTING( 0x04, "50000 80000" )
4733 INPUT_PORTS_END
4734
4735
4736 static INPUT_PORTS_START( mandingarf )
4737 PORT_START("IN0")
4738 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4739 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
4740 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
4741 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
4742 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
4743 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
4744 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) // unused?
4745 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4746 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4747 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
4748
4749 PORT_START("IN1")
4750 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4751 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4752 /* the rest appear to be unused, except for Lives? */
4753 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
4754 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4755 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4756 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
4757 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4758 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4759 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
4760 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4761 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4762 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
4763 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4764 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4765 PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) )
4766 PORT_DIPSETTING( 0xc0, "2" )
4767 PORT_DIPSETTING( 0x40, "3" ) // skips the self test checks?
4768 PORT_DIPSETTING( 0x80, "4" )
4769 PORT_DIPSETTING( 0x00, "255 (Cheat)" ) // skips the self test checks?
4770
4771 /* these two are reversed for some reason... */
4772 PORT_START("IN2")
4773 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) )
4774 PORT_DIPSETTING( 0x00, "30000 70000" )
4775 PORT_DIPSETTING( 0x02, "50000 80000" )
4776 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coinage ) )
4777 PORT_DIPSETTING( 0x00, "A 1/1 B 1/6" )
4778 PORT_DIPSETTING( 0x04, "A 2/1 B 1/3" )
4779 /* the rest appear to be unused? */
4780 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
4781 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4782 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4783 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
4784 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4785 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4786 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
4787 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4788 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4789 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
4790 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4791 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4792 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
4793 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4794 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4795 INPUT_PORTS_END
4796
4797
4798 static INPUT_PORTS_START( olmandingo )
4799 PORT_START("IN0")
4800 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
4801 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
4802 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
4803 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
4804 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
4805 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_4WAY
4806 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) // unused?
4807 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4808 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4809 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
4810
4811 PORT_START("IN1")
4812 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4813 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4814 // the rest appear to be unused, except for Lives?
4815 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
4816 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
4817 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4818 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
4819 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4820 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4821 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
4822 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4823 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4824 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
4825 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4826 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4827 PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) )
4828 PORT_DIPSETTING( 0xc0, "3" )
4829 PORT_DIPSETTING( 0x40, "4" )
4830 PORT_DIPSETTING( 0x80, "5" )
4831 PORT_DIPSETTING( 0x00, "255 (Cheat)" )
4832
4833 PORT_START("IN2")
4834 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Bonus_Life ) )
4835 PORT_DIPSETTING( 0x00, "30000 70000" )
4836 PORT_DIPSETTING( 0x02, "50000 80000" )
4837 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coinage ) )
4838 PORT_DIPSETTING( 0x00, "A 1/1 B 1/6" )
4839 PORT_DIPSETTING( 0x04, "A 2/1 B 1/3" )
4840 // the rest appear to be unused?
4841 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
4842 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
4843 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4844 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
4845 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
4846 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4847 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
4848 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
4849 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4850 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
4851 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
4852 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4853 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
4854 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
4855 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
4856 INPUT_PORTS_END
4857
4858
4859 static INPUT_PORTS_START( theend )
4860 PORT_START("IN0")
4861 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
4862 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
4863 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
4864 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
4865 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
4866 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
4867 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
4868 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
4869
4870 PORT_START("IN1")
4871 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
4872 PORT_DIPSETTING( 0x00, "3" )
4873 PORT_DIPSETTING( 0x01, "4" )
4874 PORT_DIPSETTING( 0x02, "5" )
4875 PORT_DIPSETTING( 0x03, "256 (Cheat)")
4876 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
4877 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
4878 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
4879 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
4880 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
4881 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4882
4883 PORT_START("IN2")
4884 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
4885 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
4886 PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) )
4887 PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
4888 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
4889 PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) )
4890 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
4891 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4892 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
4893 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
4894 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, theend_protection_alt_r<0>) /* protection bit */
4895 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
4896 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, theend_protection_alt_r<1>) /* protection bit */
4897
4898 PORT_START("IN3") /* need for some PPI accesses */
4899 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
4900 INPUT_PORTS_END
4901
4902
4903 static INPUT_PORTS_START( scramble )
4904 PORT_START("IN0")
4905 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
4906 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
4907 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
4908 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
4909 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
4910 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
4911 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
4912 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
4913
4914 PORT_START("IN1")
4915 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
4916 PORT_DIPSETTING( 0x00, "3" )
4917 PORT_DIPSETTING( 0x01, "4" )
4918 PORT_DIPSETTING( 0x02, "5" )
4919 PORT_DIPSETTING( 0x03, "255 (Cheat)")
4920 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
4921 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
4922 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
4923 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
4924 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
4925 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
4926
4927 PORT_START("IN2")
4928 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
4929 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
4930 PORT_DIPSETTING( 0x00, "A 1/1 B 2/1 C 1/1" )
4931 PORT_DIPSETTING( 0x02, "A 1/2 B 1/1 C 1/2" )
4932 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1 C 1/3" )
4933 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1 C 1/4" )
4934 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
4935 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
4936 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
4937 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
4938 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, theend_protection_alt_r<0>) /* protection bit */
4939 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
4940 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(galaxian_state, theend_protection_alt_r<1>) /* protection bit */
4941
4942 PORT_START("IN3") /* need for some PPI accesses */
4943 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
4944 INPUT_PORTS_END
4945
4946 static INPUT_PORTS_START( jungsub ) // TODO: are there more dip-switches?
4947 PORT_START("IN0")
4948 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
4949 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
4950 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
4951 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
4952 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
4953 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
4954 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
4955 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
4956
4957 PORT_START("IN1")
4958 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
4959 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
4960 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
4961 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
4962 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
4963 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
4964 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) )
4965 PORT_DIPSETTING( 0x00, "20P 1 play, 50P 3 plays" )
4966 PORT_DIPSETTING( 0x40, "10P 1 play, 50P 6 plays" )
4967 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
4968 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
4969 PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
4970 INPUT_PORTS_END
4971
4972 static INPUT_PORTS_START( strfbomb )
4973 PORT_INCLUDE(scramble)
4974
4975 PORT_MODIFY("IN2")
4976 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
4977 PORT_DIPSETTING( 0x00, "A 1/2 B 4/1 C 1/2" )
4978 PORT_DIPSETTING( 0x02, "A 1/3 B 2/1 C 1/3" )
4979 PORT_DIPSETTING( 0x04, "A 1/4 B 3/1 C 1/4" )
4980 PORT_DIPSETTING( 0x06, "A 1/5 B 1/1 C 1/5" )
4981 INPUT_PORTS_END
4982
4983
4984 static INPUT_PORTS_START( explorer )
4985 PORT_START("IN0")
4986 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
4987 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
4988 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
4989 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
4990 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
4991 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
4992 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 )
4993 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 )
4994
4995 PORT_START("IN1")
4996 PORT_DIPUNKNOWN( 0x01, 0x00 )
4997 PORT_DIPUNKNOWN( 0x02, 0x00 )
4998 PORT_DIPUNKNOWN( 0x04, 0x00 )
4999 PORT_DIPUNKNOWN( 0x08, 0x00 )
5000 PORT_DIPUNKNOWN( 0x10, 0x00 )
5001 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* pressing this disables the coins */
5002 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
5003 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
5004
5005 PORT_START("IN2")
5006 PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Coin_A ) )
5007 PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) )
5008 PORT_DIPSETTING( 0x09, DEF_STR( 2C_2C ) )
5009 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
5010 PORT_DIPSETTING( 0x0a, DEF_STR( 2C_3C ) )
5011 PORT_DIPSETTING( 0x0b, DEF_STR( 2C_4C ) )
5012 PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
5013 PORT_DIPSETTING( 0x0c, DEF_STR( 2C_5C ) )
5014 PORT_DIPSETTING( 0x0d, DEF_STR( 2C_6C ) )
5015 PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
5016 PORT_DIPSETTING( 0x0e, DEF_STR( 2C_7C ) )
5017 PORT_DIPSETTING( 0x0f, DEF_STR( 2C_8C ) )
5018 PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) )
5019 PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
5020 PORT_DIPSETTING( 0x05, DEF_STR( 1C_6C ) )
5021 PORT_DIPSETTING( 0x06, DEF_STR( 1C_7C ) )
5022 PORT_DIPSETTING( 0x07, DEF_STR( 1C_8C ) )
5023 PORT_DIPNAME( 0xf0, 0x00, DEF_STR( Coin_B ) )
5024 PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
5025 PORT_DIPSETTING( 0x90, DEF_STR( 2C_2C ) )
5026 PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
5027 PORT_DIPSETTING( 0xa0, DEF_STR( 2C_3C ) )
5028 PORT_DIPSETTING( 0xb0, DEF_STR( 2C_4C ) )
5029 PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) )
5030 PORT_DIPSETTING( 0xc0, DEF_STR( 2C_5C ) )
5031 PORT_DIPSETTING( 0xd0, DEF_STR( 2C_6C ) )
5032 PORT_DIPSETTING( 0x20, DEF_STR( 1C_3C ) )
5033 PORT_DIPSETTING( 0xe0, DEF_STR( 2C_7C ) )
5034 PORT_DIPSETTING( 0xf0, DEF_STR( 2C_8C ) )
5035 PORT_DIPSETTING( 0x30, DEF_STR( 1C_4C ) )
5036 PORT_DIPSETTING( 0x40, DEF_STR( 1C_5C ) )
5037 PORT_DIPSETTING( 0x50, DEF_STR( 1C_6C ) )
5038 PORT_DIPSETTING( 0x60, DEF_STR( 1C_7C ) )
5039 PORT_DIPSETTING( 0x70, DEF_STR( 1C_8C ) )
5040
5041 PORT_START("IN3")
5042 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) )
5043 PORT_DIPSETTING( 0x00, "2" )
5044 PORT_DIPSETTING( 0x01, "3" )
5045 PORT_DIPSETTING( 0x02, "4" )
5046 PORT_DIPSETTING( 0x03, "5" )
5047 PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Bonus_Life ) )
5048 PORT_DIPSETTING( 0x04, "10000" )
5049 PORT_DIPSETTING( 0x0c, "15000" )
5050 PORT_DIPSETTING( 0x14, "20000" )
5051 PORT_DIPSETTING( 0x1c, "25000" )
5052 PORT_DIPSETTING( 0x00, "30000" )
5053 PORT_DIPSETTING( 0x08, "50000" )
5054 PORT_DIPSETTING( 0x10, "70000" )
5055 PORT_DIPSETTING( 0x18, "90000" )
5056 PORT_DIPUNKNOWN( 0x20, 0x00 )
5057 PORT_DIPUNKNOWN( 0x40, 0x00 )
5058 PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
5059 INPUT_PORTS_END
5060
5061
5062 static INPUT_PORTS_START( atlantis )
5063 PORT_START("IN0")
5064 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
5065 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
5066 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
5067 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
5068 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5069 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
5070 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5071 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5072
5073 PORT_START("IN1")
5074 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
5075 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5076 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
5077 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Lives ) )
5078 PORT_DIPSETTING( 0x02, "3" )
5079 PORT_DIPSETTING( 0x00, "5" )
5080 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
5081 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
5082 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
5083 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
5084 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5085 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
5086
5087 PORT_START("IN2")
5088 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
5089 PORT_DIPNAME( 0x0e, 0x00, DEF_STR( Coinage ) )
5090 PORT_DIPSETTING( 0x02, "A 1/3 B 2/1" )
5091 PORT_DIPSETTING( 0x00, "A 1/6 B 1/1" )
5092 PORT_DIPSETTING( 0x04, "A 1/99 B 1/99")
5093 /* all the other combos give 99 credits */
5094 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
5095 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
5096 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
5097 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
5098
5099 PORT_START("IN3") /* need for some PPI accesses */
5100 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
5101 INPUT_PORTS_END
5102
5103
5104 static INPUT_PORTS_START( scorpion )
5105 PORT_START("IN0")
5106 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
5107 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
5108 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
5109 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
5110 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5111 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
5112 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5113 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5114
5115 PORT_START("IN1")
5116 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
5117 PORT_DIPSETTING( 0x03, "3")
5118 PORT_DIPSETTING( 0x02, "4" )
5119 PORT_DIPSETTING( 0x01, "5" )
5120 PORT_DIPSETTING( 0x00, "255" )
5121 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
5122 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
5123 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
5124 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
5125 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5126 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
5127
5128 PORT_START("IN2")
5129 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
5130 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
5131 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5132 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5133 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) )
5134 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5135 PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
5136 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) )
5137 PORT_DIPSETTING( 0x08, "A 1/1 B 1/1" )
5138 PORT_DIPSETTING( 0x00, "A 1/1 B 1/3" )
5139 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
5140 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
5141 PORT_DIPNAME( 0xa0, 0xa0, DEF_STR( Difficulty ) )
5142 PORT_DIPSETTING( 0xa0, DEF_STR( Normal ) )
5143 PORT_DIPSETTING( 0x80, DEF_STR( Medium ) )
5144 PORT_DIPSETTING( 0x20, DEF_STR( Hard ) )
5145 PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) )
5146
5147 PORT_START("IN3") /* need for some PPI accesses */
5148 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
5149 INPUT_PORTS_END
5150
5151
5152 static INPUT_PORTS_START( scorpnmc )
5153 PORT_START("IN0") /* 0xa000 */
5154 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // COIN2? (it ALWAYS adds 1 credit)
5155 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
5156 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
5157 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5158 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
5159 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
5160 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
5161 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
5162
5163 PORT_START("IN1") /* 0xa800 */
5164 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1") /* also P1 Button 1 */
5165 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2") /* also P1 Button 2 */
5166 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
5167 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
5168 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
5169 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL
5170 PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ) ) // Check code at 0x0118
5171 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
5172 PORT_DIPSETTING( 0x40, DEF_STR( Normal ) )
5173 PORT_DIPSETTING( 0x80, DEF_STR( Hard ) )
5174 PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) )
5175
5176 PORT_START("IN2") /* 0xb001 */
5177 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
5178 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
5179 PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) // Check code at 0x00eb
5180 PORT_DIPSETTING( 0x00, "2" )
5181 PORT_DIPSETTING( 0x04, "3" )
5182 PORT_DIPSETTING( 0x08, "4" )
5183 PORT_DIPSETTING( 0x0c, "5" )
5184 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
5185
5186 PORT_START("IN3") /* 0xb002 */
5187 PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) // Check code at 0x00fe
5188 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5189 PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
5190 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
5191 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
5192 PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
5193 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
5194 PORT_DIPSETTING( 0x06, DEF_STR( 1C_3C ) )
5195 PORT_BIT( 0xf8, IP_ACTIVE_HIGH, IPT_UNUSED )
5196 INPUT_PORTS_END
5197
5198
5199 static INPUT_PORTS_START( aracnis )
5200 PORT_START("IN0") /* 0xa000 */
5201 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // COIN2? (it ALWAYS adds 1 credit)
5202 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
5203 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
5204 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5205 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_8WAY
5206 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
5207 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
5208 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5209 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
5210 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
5211
5212 PORT_START("IN1") /* 0xa800 - needs verifying */
5213 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start 1 / P1 Button 1") /* also P1 Button 1 */
5214 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start 2 / P1 Button 2") /* also P1 Button 2 */
5215 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
5216 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
5217 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
5218 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5219 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
5220 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
5221 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5222 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
5223 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
5224 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5225 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
5226 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
5227 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5228 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
5229 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
5230 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5231
5232
5233 PORT_START("IN2") /* 0xb001 */
5234 PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
5235 PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
5236 PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
5237 PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
5238 PORT_DIPSETTING( 0x03, DEF_STR( 1C_3C ) )
5239 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
5240 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
5241 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5242 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
5243 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
5244 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5245 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
5246 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
5247 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5248 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
5249 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
5250 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5251 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
5252 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
5253 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5254 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
5255 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
5256 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5257
5258 PORT_START("IN3") /* 0xb002 */
5259 PORT_DIPNAME( 0x01, 0x01, "0xb002" )
5260 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
5261 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5262 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
5263 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5264 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5265 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
5266 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
5267 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5268 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
5269 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
5270 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5271 PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
5272 PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
5273 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5274 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
5275 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
5276 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5277 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
5278 PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
5279 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5280 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
5281 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
5282 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5283 INPUT_PORTS_END
5284
5285
5286 static INPUT_PORTS_START( sfx )
5287 PORT_START("IN0")
5288 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
5289 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // "Fire" left
5290 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
5291 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // "Fire" right
5292 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
5293 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
5294 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5295 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5296
5297 PORT_START("IN1")
5298 PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
5299 PORT_DIPSETTING( 0x02, "3" )
5300 PORT_DIPSETTING( 0x01, "4" )
5301 PORT_DIPSETTING( 0x00, "5" )
5302 PORT_DIPSETTING( 0x03, "Invulnerability (Cheat)")
5303 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // "Fire" left
5304 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // "Fire" right
5305 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
5306 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
5307 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5308 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
5309
5310 PORT_START("IN2")
5311 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
5312 PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coinage ) )
5313 PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
5314 PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
5315 PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
5316 PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
5317 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
5318 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5319 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
5320 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
5321 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused */
5322 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
5323 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused */
5324
5325 PORT_START("IN3") /* need for some PPI accesses */
5326 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
5327 INPUT_PORTS_END
5328
5329
5330 /* verified from Z80 code */
5331 static INPUT_PORTS_START( scobra )
5332 PORT_START("IN0")
5333 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
5334 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
5335 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* see notes */
5336 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
5337 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5338 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
5339 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5340 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5341
5342 PORT_START("IN1")
5343 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("H2:2")
5344 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
5345 PORT_DIPSETTING( 0x01, "4 Times" )
5346 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1")
5347 PORT_DIPSETTING( 0x00, "3" )
5348 PORT_DIPSETTING( 0x02, "4" )
5349 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
5350 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
5351 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
5352 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
5353 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5354 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
5355
5356 PORT_START("IN2")
5357 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
5358 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("H2:4,5") /* see notes */
5359 PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
5360 PORT_DIPSETTING( 0x06, DEF_STR( 4C_3C ) )
5361 PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) )
5362 PORT_DIPSETTING( 0x00, "99 Credits" )
5363 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("H2:3")
5364 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5365 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
5366 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
5367 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
5368 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
5369 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
5370
5371 PORT_START("IN3") /* need for some PPI accesses */
5372 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
5373 INPUT_PORTS_END
5374
5375 /* verified from Z80 code */
5376 static INPUT_PORTS_START( scobras )
5377 PORT_INCLUDE(scobra)
5378
5379 PORT_MODIFY("IN1")
5380 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("H2:2")
5381 PORT_DIPSETTING( 0x00, DEF_STR( No ) )
5382 PORT_DIPSETTING( 0x01, "255 Times" )
5383 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1")
5384 PORT_DIPSETTING( 0x00, "3" )
5385 PORT_DIPSETTING( 0x02, "5" )
5386 INPUT_PORTS_END
5387
5388
5389 CUSTOM_INPUT_MEMBER(galaxian_state::moonwar_dial_r)
5390 {
5391 static const char *const dialname[2] = { "P1_DIAL", "P2_DIAL" };
5392 int p = (~m_moonwar_port_select >> 4) & 1;
5393
5394 // see http://www.cityofberwyn.com/schematics/stern/MoonWar_opto.tiff for schematic
5395 // I.e. a 74ls161 counts from 0 to 15 which is the absolute number of bars passed on the quadrature
5396
5397 signed char dialread = ioport(dialname[p])->read();
5398
5399 uint8_t ret;
5400
5401 if (dialread < 0) m_direction[p] = 0x00;
5402 else if (dialread > 0) m_direction[p] = 0x10;
5403
5404 m_counter_74ls161[p] += abs(dialread);
5405 m_counter_74ls161[p] &= 0xf;
5406
5407 ret = m_counter_74ls161[p] | m_direction[p];
5408 //fprintf(stderr, "dialread1: %02x, counter_74ls161: %02x, spinner ret is %02x\n", dialread, m_counter_74ls161[p], ret);
5409
5410 return ret;
5411 }
5412
5413 /* verified from Z80 code */
5414 static INPUT_PORTS_START( moonwar )
5415 PORT_START("IN0")
5416 PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(galaxian_state, moonwar_dial_r)
5417 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL // cocktail: p2 shield
5418 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5419 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5420
5421 PORT_START("IN1")
5422 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
5423 PORT_DIPSETTING( 0x00, "3" )
5424 PORT_DIPSETTING( 0x01, "4" )
5425 PORT_DIPSETTING( 0x02, "5" )
5426 PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) ) /* see notes */
5427 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
5428 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
5429 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL PORT_CONDITION("IN2", 0x08, EQUALS, 0x08) // cocktail: p2 thrust
5430 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CONDITION("IN2", 0x08, EQUALS, 0x00) // upright: p1&p2 hyperflip
5431 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) // both: p1(upright: &p2) shield
5432 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) // both: p1(upright: &p2) thrust
5433 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) // both: p1(upright: &p2) fire
5434
5435 PORT_START("IN2")
5436 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL // cocktail: p2 fire
5437 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
5438 PORT_DIPSETTING( 0x02, "A 1/1 B 1/1" )
5439 PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
5440 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
5441 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
5442 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
5443 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5444 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
5445 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) /* output bits */
5446
5447 PORT_START("IN3") /* need for some PPI accesses */
5448 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
5449
5450 PORT_START("P1_DIAL")
5451 PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_REVERSE PORT_RESET PORT_CONDITION("IN2", 0x08, EQUALS, 0x08) // cocktail: dial is reversed
5452 PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_CONDITION("IN2", 0x08, EQUALS, 0x00) // upright: dial works normally
5453
5454 PORT_START("P2_DIAL")
5455 PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_COCKTAIL PORT_REVERSE // cocktail: dial is reversed
5456 INPUT_PORTS_END
5457
5458 /* verified from Z80 code */
5459 static INPUT_PORTS_START( moonwara )
5460 PORT_INCLUDE(moonwar)
5461
5462 PORT_MODIFY("IN2")
5463 PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
5464 PORT_DIPSETTING( 0x00, "A 1/1 B 4/1" )
5465 PORT_DIPSETTING( 0x02, "A 1/2 B 3/1" )
5466 PORT_DIPSETTING( 0x04, "A 1/3 B 1/1" )
5467 PORT_DIPSETTING( 0x06, "A 1/4 B 2/1" )
5468
5469 PORT_MODIFY("P1_DIAL")
5470 PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET // both: p1 dial works normally, p2 dial is reversed, both share same port
5471
5472 PORT_MODIFY("P2_DIAL") /* doesn't actually work due to bug in game code */
5473 PORT_BIT( 0xff, 0x00, IPT_DIAL ) PORT_SENSITIVITY(25) PORT_KEYDELTA(4) PORT_RESET PORT_COCKTAIL
5474 INPUT_PORTS_END
5475
5476
5477 /* verified from Z80 code */
5478 static INPUT_PORTS_START( armorcar )
5479 PORT_START("IN0")
5480 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
5481 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
5482 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
5483 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
5484 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
5485 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
5486 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5487 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5488
5489 PORT_START("IN1")
5490 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
5491 PORT_DIPSETTING( 0x01, "3" )
5492 PORT_DIPSETTING( 0x00, "5" )
5493 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
5494 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5495 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5496 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
5497 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
5498 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
5499 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
5500 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5501 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
5502
5503 PORT_START("IN2")
5504 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
5505 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
5506 PORT_DIPSETTING( 0x02, "A 1/1 B 1/1" )
5507 PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
5508 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
5509 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
5510 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
5511 PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
5512 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
5513 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
5514 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
5515 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
5516 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
5517
5518 PORT_START("IN3") /* need for some PPI accesses */
5519 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
5520 INPUT_PORTS_END
5521
5522 /* verified from Z80 code */
5523 static INPUT_PORTS_START( armorcar2 )
5524 PORT_INCLUDE(armorcar)
5525
5526 PORT_MODIFY("IN0")
5527 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* see notes */
5528
5529 PORT_MODIFY("IN1")
5530 PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED ) /* see notes */
5531
5532 PORT_MODIFY("IN2")
5533 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* see notes */
5534 PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
5535 INPUT_PORTS_END
5536
5537
5538 /* verified from Z80 code */
5539 static INPUT_PORTS_START( tazmania )
5540 PORT_START("IN0")
5541 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
5542 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
5543 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
5544 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
5545 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5546 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
5547 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5548 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5549
5550 PORT_START("IN1")
5551 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
5552 PORT_DIPSETTING( 0x01, "3" )
5553 PORT_DIPSETTING( 0x00, "5" )
5554 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
5555 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5556 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5557 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
5558 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
5559 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
5560 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
5561 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
5562 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
5563
5564 PORT_START("IN2")
5565 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
5566 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
5567 PORT_DIPSETTING( 0x02, "A 1/1 B 1/1" )
5568 PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
5569 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
5570 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
5571 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
5572 PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
5573 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
5574 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
5575 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
5576 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5577 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
5578
5579 PORT_START("IN3") /* need for some PPI accesses */
5580 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
5581 INPUT_PORTS_END
5582
5583
5584 /* verified from Z80 code */
5585 static INPUT_PORTS_START( anteater )
5586 PORT_START("IN0")
5587 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
5588 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
5589 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
5590 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
5591 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
5592 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
5593 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5594 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5595
5596 PORT_START("IN1")
5597 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
5598 PORT_DIPSETTING( 0x01, "3" )
5599 PORT_DIPSETTING( 0x00, "5" )
5600 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
5601 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5602 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5603 // PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
5604 // PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
5605 // PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
5606 // PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
5607 // PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
5608 PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNUSED ) /* see notes */
5609 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
5610
5611 PORT_START("IN2")
5612 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
5613 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
5614 PORT_DIPSETTING( 0x02, "A 1/1 B 1/1" )
5615 PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
5616 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
5617 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
5618 // PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
5619 // PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
5620 // PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
5621 PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
5622 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5623 PORT_BIT( 0xb0, IP_ACTIVE_LOW, IPT_UNUSED )
5624
5625 PORT_START("IN3") /* need for some PPI accesses */
5626 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
5627 INPUT_PORTS_END
5628
5629
5630 static INPUT_PORTS_START( anteateruk )
5631 PORT_START("IN0")
5632 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
5633 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
5634 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5635 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5636 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
5637 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
5638 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5639 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
5640 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
5641 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
5642 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5643 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5644
5645 PORT_START("IN1")
5646 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
5647 PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
5648 PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
5649 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
5650 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5651 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5652 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
5653 PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
5654 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5655 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
5656 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
5657 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
5658 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
5659 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
5660
5661 PORT_START("IN2")
5662 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
5663 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coinage ) )
5664 PORT_DIPSETTING( 0x02, "A 1/1 B 1/5" )
5665 PORT_DIPSETTING( 0x00, "A 2/1 B 1/3" )
5666 PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
5667 PORT_DIPSETTING( 0x0c, "3" )
5668 PORT_DIPSETTING( 0x08, "4" )
5669 PORT_DIPSETTING( 0x04, "5" )
5670 PORT_DIPSETTING( 0x00, "6" )
5671 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
5672 PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
5673 PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
5674 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5675 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
5676 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
5677 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
5678 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5679
5680 PORT_START("IN3") /* need for some PPI accesses */
5681 PORT_BIT( 0xff, 0x00, IPT_UNUSED )
5682 INPUT_PORTS_END
5683
5684 static INPUT_PORTS_START( anteatergg )
5685 PORT_START("IN0")
5686 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
5687 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
5688 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
5689 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
5690 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
5691 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
5692 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
5693 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
5694
5695 PORT_START("IN1")
5696 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
5697 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
5698 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
5699 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
5700 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
5701 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
5702 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
5703 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
5704 PORT_DIPSETTING( 0x40, DEF_STR( On ) )
5705 PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
5706 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5707 PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) )
5708
5709 PORT_START("IN2")
5710 PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
5711 PORT_DIPSETTING( 0x00, "3" )
5712 PORT_DIPSETTING( 0x01, "4" )
5713 PORT_DIPSETTING( 0x02, "5" )
5714 PORT_DIPSETTING( 0x03, "6" )
5715 PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coinage ) )
5716 PORT_DIPSETTING( 0x04, "A 2/1 B 1/3" )
5717 PORT_DIPSETTING( 0x00, "A 1/1 B 1/5" )
5718 PORT_DIPSETTING( 0x08, "A 1/5 B 1/1" )
5719 PORT_DIPSETTING( 0x0c, "A 1/3 B 2/1" )
5720 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED ) // probably
5721 INPUT_PORTS_END
5722
5723
5724 /* verified from Z80 code */
5725 static INPUT_PORTS_START( calipso )
5726 PORT_START("IN0")
5727 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) /* also START2 - see notes */
5728 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
5729 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
5730 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
5731 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
5732 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
5733 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5734 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5735
5736 PORT_START("IN1")
5737 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
5738 PORT_DIPSETTING( 0x01, "3" )
5739 PORT_DIPSETTING( 0x00, "5" )
5740 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
5741 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5742 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5743 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
5744 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
5745 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
5746 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
5747 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
5748 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
5749
5750 PORT_START("IN2")
5751 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) /* also START1 - see notes */
5752 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) )
5753 PORT_DIPSETTING( 0x02, "A 1/1 B 1/1" )
5754 PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
5755 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
5756 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
5757 // PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
5758 // PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
5759 // PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
5760 PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
5761 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
5762
5763 PORT_START("IN3") /* need for some PPI accesses */
5764 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
5765 INPUT_PORTS_END
5766
5767
5768 /* verified from Z80 code */
5769 static INPUT_PORTS_START( losttomb )
5770 PORT_START("IN0")
5771 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
5772 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
5773 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY
5774 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY
5775 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_8WAY
5776 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY
5777 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5778 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5779
5780 PORT_START("IN1")
5781 PORT_DIPNAME( 0x03, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("H2:1,2")
5782 PORT_DIPSETTING( 0x01, "3" )
5783 PORT_DIPSETTING( 0x02, "5" )
5784 PORT_DIPSETTING( 0x03, DEF_STR( Free_Play ) ) /* see notes */
5785 PORT_DIPSETTING( 0x00, "Invulnerability (Cheat)")
5786 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_8WAY
5787 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY
5788 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY
5789 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY
5790 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* "WHIP" */
5791 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
5792
5793 PORT_START("IN2")
5794 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
5795 PORT_DIPNAME( 0x06, 0x02, DEF_STR( Coinage ) ) PORT_DIPLOCATION("H2:4,5")
5796 PORT_DIPSETTING( 0x02, "A 1/1 B 1/1" )
5797 PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
5798 PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
5799 PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
5800 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("H2:3") /* see notes */
5801 PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
5802 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5803 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
5804
5805 PORT_START("IN3") /* need for some PPI accesses */
5806 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
5807 INPUT_PORTS_END
5808
5809
5810 /* verified from Z80 code - IN2 bit 1 still needs to be understood */
5811 static INPUT_PORTS_START( spdcoin )
5812 PORT_START("IN0")
5813 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
5814 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
5815 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
5816 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
5817 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
5818 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
5819 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
5820 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
5821
5822 PORT_START("IN1")
5823 PORT_DIPNAME( 0x01, 0x00, "Freeze" ) /* Dip Sw #2 */
5824 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
5825 PORT_DIPSETTING( 0x01, DEF_STR( On ) )
5826 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Free_Play ) ) /* Dip Sw #1 */
5827 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
5828 PORT_DIPSETTING( 0x02, DEF_STR( On ) )
5829 PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
5830
5831 PORT_START("IN2")
5832 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
5833 PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) /* Dip Sw #5 - Check code at 0x0569 */
5834 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5835 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5836 PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) ) /* Dip Sw #4 */
5837 PORT_DIPSETTING( 0x00, DEF_STR( Easy ) )
5838 PORT_DIPSETTING( 0x04, DEF_STR( Hard ) )
5839 PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) ) /* Dip Sw #3 */
5840 PORT_DIPSETTING( 0x08, "3" )
5841 PORT_DIPSETTING( 0x00, "5" )
5842 PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
5843
5844 PORT_START("IN3") /* need for some PPI accesses */
5845 PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
5846 INPUT_PORTS_END
5847
5848 /* verified from Z80 code */
5849 static INPUT_PORTS_START( superbon )
5850 PORT_INCLUDE(losttomb)
5851
5852 PORT_MODIFY("IN0")
5853 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
5854 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
5855 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5856 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
5857
5858 PORT_MODIFY("IN1")
5859 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* "HOLD" */
5860 PORT_BIT( 0x34, IP_ACTIVE_LOW, IPT_UNUSED )
5861 INPUT_PORTS_END
5862
5863
5864 static INPUT_PORTS_START( victoryc )
5865 PORT_START("IN0")
5866 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
5867 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
5868 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
5869 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
5870 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
5871 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
5872 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
5873 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY
5874
5875 PORT_START("IN1")
5876 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
5877 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
5878 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
5879 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
5880 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
5881 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
5882 PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) )
5883 PORT_DIPSETTING( 0x00, "A: 2C/1C B: 1C/3C" )
5884 PORT_DIPSETTING( 0x40, "A: 1C/1C B: 1C/6C" )
5885 PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
5886 PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
5887 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5888
5889 PORT_START("IN2")
5890 PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
5891 PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
5892 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5893 PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
5894 PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
5895 PORT_DIPSETTING( 0x00, DEF_STR( On ) )
5896 PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
5897 PORT_DIPSETTING( 0x04, "2" )
5898 PORT_DIPSETTING( 0x00, "3" )
5899 PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
5900 PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
5901 PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) )
5902 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
5903 INPUT_PORTS_END
5904
5905 static INPUT_PORTS_START( highroll )
5906 PORT_START("IN0")
5907 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
5908 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 1") PORT_CODE(KEYCODE_0_PAD) // this and the others are just for testing and should be removed when the game works correctly and all inputs can be tested
5909 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
5910 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
5911 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Bet / Hold")
5912 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 2") PORT_CODE(KEYCODE_1_PAD)
5913 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 3") PORT_CODE(KEYCODE_2_PAD)
5914 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 4") PORT_CODE(KEYCODE_3_PAD)
5915
5916 PORT_START("IN1")
5917 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_GAMBLE_DEAL )
5918 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 5") PORT_CODE(KEYCODE_4_PAD)
5919 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 6") PORT_CODE(KEYCODE_5_PAD)
5920 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 7") PORT_CODE(KEYCODE_6_PAD)
5921 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 8") PORT_CODE(KEYCODE_7_PAD)
5922 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 9") PORT_CODE(KEYCODE_8_PAD)
5923 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Unknown 10") PORT_CODE(KEYCODE_9_PAD)
5924 PORT_DIPNAME( 0x80, 0x00, "Bookkeeping" ) // at first boot, without default NVRAM, this needs to be on, or the games gives error 99, then needs to be switched off to exit bookkeeping
5925 PORT_DIPSETTING( 0x80, DEF_STR( On ) )
5926 PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
5927
5928 PORT_START("IN2")
5929 PORT_DIPNAME( 0x07, 0x07, "House" )
5930 PORT_DIPSETTING( 0x00, "5 Percent" )
5931 PORT_DIPSETTING( 0x01, "10 Percent" )
5932 PORT_DIPSETTING( 0x02, "15 Percent" )
5933 PORT_DIPSETTING( 0x03, "20 Percent" )
5934 PORT_DIPSETTING( 0x04, "25 Percent" )
5935 PORT_DIPSETTING( 0x05, "30 Percent" )
5936 PORT_DIPSETTING( 0x06, "35 Percent" )
5937 PORT_DIPSETTING( 0x07, "40 Percent" )
5938 PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4")
5939 PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW1:5")
5940 PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW1:6")
5941 PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW1:7")
5942 PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8")
5943 INPUT_PORTS_END
5944
5945 /*************************************
5946 *
5947 * Graphics layouts
5948 *
5949 *************************************/
5950
5951 static const gfx_layout galaxian_charlayout =
5952 {
5953 8,8,
5954 RGN_FRAC(1,2),
5955 2,
5956 { RGN_FRAC(0,2), RGN_FRAC(1,2) },
5957 { STEP8(0,1) },
5958 { STEP8(0,8) },
5959 8*8
5960 };
5961
5962 static const gfx_layout galaxian_spritelayout =
5963 {
5964 16,16,
5965 RGN_FRAC(1,2),
5966 2,
5967 { RGN_FRAC(0,2), RGN_FRAC(1,2) },
5968 { STEP8(0,1), STEP8(8*8,1) },
5969 { STEP8(0,8), STEP8(16*8,8) },
5970 16*16
5971 };
5972
5973 static const gfx_layout galaxian_charlayout_0x200 =
5974 {
5975 8,8,
5976 0x200,
5977 2,
5978 { RGN_FRAC(0,2), RGN_FRAC(1,2) },
5979 { STEP8(0,1) },
5980 { STEP8(0,8) },
5981 8*8
5982 };
5983
5984 static const gfx_layout galaxian_spritelayout_0x80 =
5985 {
5986 16,16,
5987 0x80,
5988 2,
5989 { RGN_FRAC(0,2), RGN_FRAC(1,2) },
5990 { STEP8(0,1), STEP8(8*8,1) },
5991 { STEP8(0,8), STEP8(16*8,8) },
5992 16*16
5993 };
5994
5995 /*************************************
5996 *
5997 * Graphics decoding
5998 *
5999 *************************************/
6000
6001 static GFXDECODE_START(gfx_galaxian)
6002 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_charlayout, 0, 8, GALAXIAN_XSCALE,1)
6003 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_spritelayout, 0, 8, GALAXIAN_XSCALE,1)
6004 GFXDECODE_END
6005
GFXDECODE_START(gfx_sidam)6006 static GFXDECODE_START(gfx_sidam)
6007 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_charlayout, 0, 8, SIDAM_XSCALE,1)
6008 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_spritelayout, 0, 8, SIDAM_XSCALE,1)
6009 GFXDECODE_END
6010
6011 static GFXDECODE_START(gfx_gmgalax)
6012 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_charlayout, 0, 16, GALAXIAN_XSCALE,1)
6013 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_spritelayout, 0, 16, GALAXIAN_XSCALE,1)
6014 GFXDECODE_END
6015
6016 /* separate character and sprite ROMs */
6017 static GFXDECODE_START(gfx_pacmanbl)
6018 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_charlayout, 0, 8, GALAXIAN_XSCALE,1)
6019 GFXDECODE_SCALE("gfx2", 0x0000, galaxian_spritelayout, 0, 8, GALAXIAN_XSCALE,1)
6020 GFXDECODE_END
6021
6022 static GFXDECODE_START(gfx_tenspot)
6023 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_charlayout_0x200, 0, 8, GALAXIAN_XSCALE,1)
6024 GFXDECODE_SCALE("gfx2", 0x0000, galaxian_spritelayout_0x80, 0, 8, GALAXIAN_XSCALE,1)
6025 GFXDECODE_END
6026
6027 static GFXDECODE_START(gfx_videight)
6028 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_charlayout, 0, 8*32, GALAXIAN_XSCALE,1)
6029 GFXDECODE_SCALE("gfx1", 0x0000, galaxian_spritelayout, 0, 8*32, GALAXIAN_XSCALE,1)
6030 GFXDECODE_END
6031
6032
6033
6034 /*************************************
6035 *
6036 * Core machine driver pieces
6037 *
6038 *************************************/
6039
6040 void galaxian_state::galaxian_base(machine_config &config)
6041 {
6042 // basic machine hardware
6043 Z80(config, m_maincpu, GALAXIAN_PIXEL_CLOCK/3/2);
6044 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::galaxian_map);
6045
6046 WATCHDOG_TIMER(config, "watchdog").set_vblank_count("screen", 8);
6047
6048 // video hardware
6049 GFXDECODE(config, m_gfxdecode, m_palette, gfx_galaxian);
6050 PALETTE(config, m_palette, FUNC(galaxian_state::galaxian_palette), 32);
6051
6052 SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
6053 m_screen->set_raw(GALAXIAN_PIXEL_CLOCK, GALAXIAN_HTOTAL, GALAXIAN_HBEND, GALAXIAN_HBSTART, GALAXIAN_VTOTAL, GALAXIAN_VBEND, GALAXIAN_VBSTART);
6054 m_screen->set_screen_update(FUNC(galaxian_state::screen_update_galaxian));
6055 m_screen->screen_vblank().set(FUNC(galaxian_state::vblank_interrupt_w));
6056
6057 // sound hardware
6058 SPEAKER(config, "speaker").front_center();
6059 }
6060
6061
sidam_bootleg_base(machine_config & config)6062 void galaxian_state::sidam_bootleg_base(machine_config &config)
6063 {
6064 galaxian_base(config);
6065
6066 /* basic machine hardware */
6067 m_maincpu->set_clock(12_MHz_XTAL / 2 / 2);
6068
6069 /* video hardware */
6070 m_gfxdecode->set_info(gfx_sidam);
6071
6072 m_screen->set_raw(12_MHz_XTAL, SIDAM_HTOTAL, SIDAM_HBEND, SIDAM_HBSTART, GALAXIAN_VTOTAL, GALAXIAN_VBEND, GALAXIAN_VBSTART);
6073 }
6074
6075
konami_base(machine_config & config)6076 void galaxian_state::konami_base(machine_config &config)
6077 {
6078 galaxian_base(config);
6079
6080 I8255A(config, m_ppi8255[0]);
6081 m_ppi8255[0]->in_pa_callback().set_ioport("IN0");
6082 m_ppi8255[0]->in_pb_callback().set_ioport("IN1");
6083 m_ppi8255[0]->in_pc_callback().set_ioport("IN2");
6084 m_ppi8255[0]->out_pc_callback().set(FUNC(galaxian_state::konami_portc_0_w));
6085
6086 I8255A(config, m_ppi8255[1]);
6087 m_ppi8255[1]->out_pa_callback().set(m_soundlatch, FUNC(generic_latch_8_device::write));
6088 m_ppi8255[1]->out_pb_callback().set(FUNC(galaxian_state::konami_sound_control_w));
6089 m_ppi8255[1]->in_pc_callback().set_ioport("IN3");
6090 m_ppi8255[1]->out_pc_callback().set(FUNC(galaxian_state::konami_portc_1_w));
6091
6092 }
6093
6094
konami_sound_1x_ay8910(machine_config & config)6095 void galaxian_state::konami_sound_1x_ay8910(machine_config &config)
6096 {
6097 /* 2nd CPU to drive sound */
6098 Z80(config, m_audiocpu, KONAMI_SOUND_CLOCK/8);
6099 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::frogger_sound_map);
6100 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::frogger_sound_portmap);
6101
6102 GENERIC_LATCH_8(config, m_soundlatch);
6103
6104 /* sound hardware */
6105 AY8910(config, m_ay8910[0], KONAMI_SOUND_CLOCK/8);
6106 m_ay8910[0]->set_flags(AY8910_RESISTOR_OUTPUT);
6107 m_ay8910[0]->set_resistors_load(1000.0, 1000.0, 1000.0);
6108 m_ay8910[0]->port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read));
6109 m_ay8910[0]->port_b_read_callback().set(FUNC(galaxian_state::frogger_sound_timer_r));
6110 m_ay8910[0]->add_route(0, "konami", 1.0, 0);
6111 m_ay8910[0]->add_route(1, "konami", 1.0, 1);
6112 m_ay8910[0]->add_route(2, "konami", 1.0, 2);
6113
6114 NETLIST_SOUND(config, "konami", 48000)
6115 .set_source(netlist_konami1x)
6116 .add_route(ALL_OUTPUTS, "speaker", 1.0);
6117
6118 // Filter
6119 NETLIST_LOGIC_INPUT(config, "konami:ctl0", "CTL0.IN", 0);
6120 NETLIST_LOGIC_INPUT(config, "konami:ctl1", "CTL1.IN", 0);
6121 NETLIST_LOGIC_INPUT(config, "konami:ctl2", "CTL2.IN", 0);
6122 NETLIST_LOGIC_INPUT(config, "konami:ctl3", "CTL3.IN", 0);
6123 NETLIST_LOGIC_INPUT(config, "konami:ctl4", "CTL4.IN", 0);
6124 NETLIST_LOGIC_INPUT(config, "konami:ctl5", "CTL5.IN", 0);
6125
6126 // CHA1 - 3D
6127 NETLIST_STREAM_INPUT(config, "konami:cin0", 0, "R_AY3D_A.R");
6128 NETLIST_STREAM_INPUT(config, "konami:cin1", 1, "R_AY3D_B.R");
6129 NETLIST_STREAM_INPUT(config, "konami:cin2", 2, "R_AY3D_C.R");
6130
6131 NETLIST_STREAM_OUTPUT(config, "konami:cout0", 0, "OUT").set_mult_offset(1.0 / 0.05, 0.0);
6132 }
6133
6134
konami_sound_2x_ay8910(machine_config & config)6135 void galaxian_state::konami_sound_2x_ay8910(machine_config &config)
6136 {
6137 /* 2nd CPU to drive sound */
6138 Z80(config, m_audiocpu, KONAMI_SOUND_CLOCK/8);
6139 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::konami_sound_map);
6140 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::konami_sound_portmap);
6141
6142 GENERIC_LATCH_8(config, m_soundlatch);
6143
6144 /* sound hardware */
6145 AY8910(config, m_ay8910[0], KONAMI_SOUND_CLOCK/8);
6146 m_ay8910[0]->set_flags(AY8910_RESISTOR_OUTPUT);
6147 m_ay8910[0]->set_resistors_load(1000.0, 1000.0, 1000.0);
6148 m_ay8910[0]->port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read));
6149 m_ay8910[0]->port_b_read_callback().set(FUNC(galaxian_state::konami_sound_timer_r));
6150 m_ay8910[0]->add_route(0, "konami", 1.0, 0);
6151 m_ay8910[0]->add_route(1, "konami", 1.0, 1);
6152 m_ay8910[0]->add_route(2, "konami", 1.0, 2);
6153
6154 AY8910(config, m_ay8910[1], KONAMI_SOUND_CLOCK/8);
6155 m_ay8910[1]->set_flags(AY8910_RESISTOR_OUTPUT);
6156 m_ay8910[1]->set_resistors_load(1000.0, 1000.0, 1000.0);
6157 m_ay8910[1]->add_route(0, "konami", 1.0, 3);
6158 m_ay8910[1]->add_route(1, "konami", 1.0, 4);
6159 m_ay8910[1]->add_route(2, "konami", 1.0, 5);
6160
6161 NETLIST_SOUND(config, "konami", 48000)
6162 .set_source(netlist_konami2x)
6163 .add_route(ALL_OUTPUTS, "speaker", 1.0);
6164
6165 // Filter
6166 NETLIST_LOGIC_INPUT(config, "konami:ctl0", "CTL0.IN", 0);
6167 NETLIST_LOGIC_INPUT(config, "konami:ctl1", "CTL1.IN", 0);
6168 NETLIST_LOGIC_INPUT(config, "konami:ctl2", "CTL2.IN", 0);
6169 NETLIST_LOGIC_INPUT(config, "konami:ctl3", "CTL3.IN", 0);
6170 NETLIST_LOGIC_INPUT(config, "konami:ctl4", "CTL4.IN", 0);
6171 NETLIST_LOGIC_INPUT(config, "konami:ctl5", "CTL5.IN", 0);
6172 NETLIST_LOGIC_INPUT(config, "konami:ctl6", "CTL6.IN", 0);
6173 NETLIST_LOGIC_INPUT(config, "konami:ctl7", "CTL7.IN", 0);
6174 NETLIST_LOGIC_INPUT(config, "konami:ctl8", "CTL8.IN", 0);
6175 NETLIST_LOGIC_INPUT(config, "konami:ctl9", "CTL9.IN", 0);
6176 NETLIST_LOGIC_INPUT(config, "konami:ctl10", "CTL10.IN", 0);
6177 NETLIST_LOGIC_INPUT(config, "konami:ctl11", "CTL11.IN", 0);
6178
6179 // CHA1 - 3D
6180 NETLIST_STREAM_INPUT(config, "konami:cin0", 0, "R_AY3D_A.R");
6181 NETLIST_STREAM_INPUT(config, "konami:cin1", 1, "R_AY3D_B.R");
6182 NETLIST_STREAM_INPUT(config, "konami:cin2", 2, "R_AY3D_C.R");
6183
6184 // CHA2 - 3C
6185 NETLIST_STREAM_INPUT(config, "konami:cin3", 3, "R_AY3C_A.R");
6186 NETLIST_STREAM_INPUT(config, "konami:cin4", 4, "R_AY3C_B.R");
6187 NETLIST_STREAM_INPUT(config, "konami:cin5", 5, "R_AY3C_C.R");
6188 NETLIST_STREAM_OUTPUT(config, "konami:cout0", 0, "OUT").set_mult_offset(1.0 / 0.05, 0.0);
6189 }
6190
6191
scramble_base(machine_config & config)6192 void galaxian_state::scramble_base(machine_config &config)
6193 {
6194 konami_base(config);
6195 konami_sound_2x_ay8910(config);
6196
6197 /* blinking frequency is determined by 555 counter with Ra=100k, Rb=10k, C=10uF */
6198 TIMER(config, "stars").configure_periodic(FUNC(galaxian_state::scramble_stars_blink_timer), PERIOD_OF_555_ASTABLE(100000, 10000, 0.00001));
6199 }
6200
6201
6202
6203 /*************************************
6204 *
6205 * Machine drivers
6206 *
6207 *************************************/
6208
galaxian(machine_config & config)6209 void galaxian_state::galaxian(machine_config &config)
6210 {
6211 galaxian_base(config);
6212
6213 GALAXIAN_SOUND(config, "cust", 0);
6214 }
6215
victoryc(machine_config & config)6216 void galaxian_state::victoryc(machine_config &config)
6217 {
6218 galaxian(config);
6219 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::victoryc_map);
6220 }
6221
spactrai(machine_config & config)6222 void galaxian_state::spactrai(machine_config &config)
6223 {
6224 galaxian(config);
6225 // strange memory map with RAM in the middle of ROM, there's a large block on the ROM board
6226 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::spactrai_map);
6227 }
6228
frogg(machine_config & config)6229 void galaxian_state::frogg(machine_config &config)
6230 {
6231 galaxian(config);
6232 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::frogg_map);
6233 }
6234
mandingarf(machine_config & config)6235 void galaxian_state::mandingarf(machine_config &config)
6236 {
6237 galaxian(config);
6238 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::mandingarf_map);
6239 }
6240
pacmanbl(machine_config & config)6241 void galaxian_state::pacmanbl(machine_config &config)
6242 {
6243 galaxian(config);
6244
6245 /* separate tile/sprite ROMs */
6246 m_gfxdecode->set_info(gfx_pacmanbl);
6247 }
6248
tenspot(machine_config & config)6249 void galaxian_state::tenspot(machine_config &config)
6250 {
6251 galaxian(config);
6252
6253 /* basic machine hardware */
6254 z80_device &selectcpu(Z80(config, "selectcpu", GALAXIAN_PIXEL_CLOCK/3/2)); // ?? mhz
6255 selectcpu.set_addrmap(AS_PROGRAM, &galaxian_state::tenspot_select_map);
6256 //selectcpu.set_vblank_int("screen", FUNC(galaxian_state::nmi_line_pulse));
6257
6258 /* separate tile/sprite ROMs */
6259 m_gfxdecode->set_info(gfx_tenspot);
6260 }
6261
zigzag(machine_config & config)6262 void galaxian_state::zigzag(machine_config &config)
6263 {
6264 galaxian_base(config);
6265
6266 /* separate tile/sprite ROMs */
6267 m_gfxdecode->set_info(gfx_pacmanbl);
6268
6269 /* basic machine hardware */
6270 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::zigzag_map);
6271
6272 /* sound hardware */
6273 AY8910(config, m_ay8910[0], GALAXIAN_PIXEL_CLOCK/3/2).add_route(ALL_OUTPUTS, "speaker", 0.5); /* matches PCB video - unconfirmed */
6274 }
6275
6276
gmgalax(machine_config & config)6277 void gmgalax_state::gmgalax(machine_config &config)
6278 {
6279 galaxian(config);
6280
6281 /* banked video hardware */
6282 m_gfxdecode->set_info(gfx_gmgalax);
6283 m_palette->set_entries(64);
6284 m_palette->set_init(FUNC(gmgalax_state::galaxian_palette));
6285 }
6286
highroll(machine_config & config)6287 void galaxian_state::highroll(machine_config &config)
6288 {
6289 galaxian(config);
6290
6291 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::highroll_map);
6292 m_maincpu->set_addrmap(AS_OPCODES, &galaxian_state::moonqsr_decrypted_opcodes_map);
6293
6294 NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
6295 }
6296
mooncrst(machine_config & config)6297 void galaxian_state::mooncrst(machine_config &config)
6298 {
6299 galaxian_base(config);
6300
6301 // alternate memory map
6302 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::mooncrst_map);
6303
6304 MOONCRST_SOUND(config, "cust", 0);
6305 }
6306
eagle(machine_config & config)6307 void galaxian_state::eagle(machine_config &config)
6308 {
6309 mooncrst(config);
6310 m_palette->set_init(FUNC(galaxian_state::eagle_palette));
6311 }
6312
moonqsr(machine_config & config)6313 void galaxian_state::moonqsr(machine_config &config)
6314 {
6315 mooncrst(config);
6316 m_maincpu->set_addrmap(AS_OPCODES, &galaxian_state::moonqsr_decrypted_opcodes_map);
6317 }
6318
thepitm(machine_config & config)6319 void galaxian_state::thepitm(machine_config &config)
6320 {
6321 mooncrst(config);
6322 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::thepitm_map);
6323 }
6324
skybase(machine_config & config)6325 void galaxian_state::skybase(machine_config &config)
6326 {
6327 mooncrst(config);
6328 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::skybase_map);
6329 }
6330
kong(machine_config & config)6331 void galaxian_state::kong(machine_config &config)
6332 {
6333 mooncrst(config);
6334 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::kong_map);
6335 }
6336
scorpnmc(machine_config & config)6337 void galaxian_state::scorpnmc(machine_config &config)
6338 {
6339 mooncrst(config);
6340 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::scorpnmc_map);
6341 }
6342
6343
fantastc(machine_config & config)6344 void galaxian_state::fantastc(machine_config &config)
6345 {
6346 galaxian_base(config);
6347
6348 // alternate memory map
6349 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::fantastc_map);
6350
6351 // sound hardware
6352 AY8910(config, m_ay8910[0], GALAXIAN_PIXEL_CLOCK/3/2).add_route(ALL_OUTPUTS, "speaker", 0.25); // 3.072MHz
6353 AY8910(config, m_ay8910[1], GALAXIAN_PIXEL_CLOCK/3/2).add_route(ALL_OUTPUTS, "speaker", 0.25); // 3.072MHz
6354 }
6355
6356
TIMER_DEVICE_CALLBACK_MEMBER(galaxian_state::timefgtr_scanline)6357 TIMER_DEVICE_CALLBACK_MEMBER(galaxian_state::timefgtr_scanline)
6358 {
6359 uint8_t split = param + 16;
6360
6361 // change spriteram base per each 64-line part of the screen
6362 if ((split & 0x3f) == 0)
6363 {
6364 // m_screen->update_now();
6365 m_screen->update_partial(m_screen->vpos());
6366 m_sprites_base = 0x40 | (split << 2 & 0x300);
6367 }
6368 }
6369
timefgtr(machine_config & config)6370 void galaxian_state::timefgtr(machine_config &config)
6371 {
6372 fantastc(config);
6373
6374 TIMER(config, "scantimer").configure_scanline(FUNC(galaxian_state::timefgtr_scanline), "screen", 0, 1);
6375 }
6376
6377
jumpbug(machine_config & config)6378 void galaxian_state::jumpbug(machine_config &config)
6379 {
6380 galaxian_base(config);
6381
6382 config.device_remove("watchdog");
6383
6384 // basic machine hardware
6385 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::jumpbug_map);
6386
6387 // sound hardware
6388 AY8910(config, m_ay8910[0], GALAXIAN_PIXEL_CLOCK/3/2/2).add_route(ALL_OUTPUTS, "speaker", 0.5); // matches PCB video - unconfirmed
6389 }
6390
6391
checkman(machine_config & config)6392 void galaxian_state::checkman(machine_config &config)
6393 {
6394 mooncrst(config);
6395
6396 /* basic machine hardware */
6397 Z80(config, m_audiocpu, 1620000); /* 1.62 MHz */
6398 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::checkman_sound_map);
6399 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::checkman_sound_portmap);
6400 m_audiocpu->set_vblank_int("screen", FUNC(galaxian_state::irq0_line_hold)); /* NMIs are triggered by the main CPU */
6401
6402 GENERIC_LATCH_8(config, m_soundlatch);
6403
6404 /* sound hardware */
6405 AY8910(config, m_ay8910[0], 1789750).add_route(ALL_OUTPUTS, "speaker", 0.5);
6406 }
6407
6408
checkmaj(machine_config & config)6409 void galaxian_state::checkmaj(machine_config &config)
6410 {
6411 galaxian_base(config);
6412
6413 // basic machine hardware
6414 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::galaxian_map_base); // no discrete sound
6415
6416 Z80(config, m_audiocpu, 1620000);
6417 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::checkmaj_sound_map);
6418
6419 TIMER(config, "irq0").configure_scanline(FUNC(galaxian_state::checkmaj_irq0_gen), "screen", 0, 8);
6420
6421 GENERIC_LATCH_8(config, m_soundlatch);
6422
6423 // sound hardware
6424 AY8910(config, m_ay8910[0], 1620000);
6425 m_ay8910[0]->port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read));
6426 m_ay8910[0]->add_route(ALL_OUTPUTS, "speaker", 2);
6427 }
6428
6429
mshuttle(machine_config & config)6430 void galaxian_state::mshuttle(machine_config &config)
6431 {
6432 galaxian_base(config);
6433
6434 // basic machine hardware
6435 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::mshuttle_map);
6436 m_maincpu->set_addrmap(AS_OPCODES, &galaxian_state::mshuttle_decrypted_opcodes_map);
6437 m_maincpu->set_addrmap(AS_IO, &galaxian_state::mshuttle_portmap);
6438
6439 // sound hardware
6440 CCLIMBER_AUDIO(config, "cclimber_audio", 0);
6441 }
6442
6443
kingball(machine_config & config)6444 void galaxian_state::kingball(machine_config &config)
6445 {
6446 mooncrst(config);
6447
6448 /* basic machine hardware */
6449 Z80(config, m_audiocpu, 5000000/2);
6450 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::kingball_sound_map);
6451 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::kingball_sound_portmap);
6452
6453 GENERIC_LATCH_8(config, m_soundlatch);
6454
6455 /* sound hardware */
6456 DAC_4BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.53); // unknown DAC
6457 }
6458
6459
frogger(machine_config & config)6460 void galaxian_state::frogger(machine_config &config)
6461 {
6462 konami_base(config);
6463 konami_sound_1x_ay8910(config);
6464
6465 // alternate memory map
6466 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::frogger_map);
6467 }
6468
6469
froggermc(machine_config & config)6470 void galaxian_state::froggermc(machine_config &config)
6471 {
6472 galaxian_base(config);
6473
6474 konami_sound_1x_ay8910(config);
6475
6476 // alternate memory map
6477 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::froggermc_map);
6478
6479 m_audiocpu->set_irq_acknowledge_callback(FUNC(galaxian_state::froggermc_audiocpu_irq_ack));
6480 }
6481
6482
froggers(machine_config & config)6483 void galaxian_state::froggers(machine_config &config)
6484 {
6485 konami_base(config);
6486 konami_sound_1x_ay8910(config);
6487
6488 // alternate memory map
6489 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::theend_map);
6490 }
6491
6492
froggervd(machine_config & config)6493 void galaxian_state::froggervd(machine_config &config)
6494 {
6495 konami_base(config);
6496 konami_sound_1x_ay8910(config);
6497
6498 // alternate memory map
6499 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::froggervd_map);
6500 }
6501
6502
frogf(machine_config & config)6503 void galaxian_state::frogf(machine_config &config)
6504 {
6505 konami_base(config);
6506 konami_sound_1x_ay8910(config);
6507
6508 // alternate memory map
6509 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::frogf_map);
6510 }
6511
6512
turtles(machine_config & config)6513 void galaxian_state::turtles(machine_config &config)
6514 {
6515 konami_base(config);
6516 konami_sound_2x_ay8910(config);
6517
6518 // alternate memory map
6519 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::turtles_map);
6520 }
6521
6522
theend(machine_config & config)6523 void galaxian_state::theend(machine_config &config)
6524 {
6525 konami_base(config);
6526 konami_sound_2x_ay8910(config);
6527
6528 // alternate memory map
6529 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::theend_map);
6530
6531 m_ppi8255[0]->out_pc_callback().set(FUNC(galaxian_state::theend_coin_counter_w));
6532
6533 m_ppi8255[1]->in_pc_callback().set(FUNC(galaxian_state::theend_protection_r));
6534 m_ppi8255[1]->out_pc_callback().set(FUNC(galaxian_state::theend_protection_w));
6535 }
6536
6537
6538 // TODO: should be derived from theend, re-sort machine configs later
scramble(machine_config & config)6539 void galaxian_state::scramble(machine_config &config)
6540 {
6541 scramble_base(config);
6542
6543 // alternate memory map
6544 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::theend_map);
6545
6546 m_ppi8255[1]->in_pc_callback().set(FUNC(galaxian_state::theend_protection_r));
6547 m_ppi8255[1]->out_pc_callback().set(FUNC(galaxian_state::theend_protection_w));
6548 }
6549
jungsub(machine_config & config)6550 void galaxian_state::jungsub(machine_config &config)
6551 {
6552 galaxian_base(config);
6553
6554 // alternate memory map
6555 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::jungsub_map);
6556 m_maincpu->set_addrmap(AS_IO, &galaxian_state::jungsub_io_map);
6557
6558 Z80(config, m_audiocpu, GALAXIAN_PIXEL_CLOCK / 3 / 2); // clock not verified
6559 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::checkman_sound_map);
6560 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::checkman_sound_portmap);
6561 m_audiocpu->set_vblank_int("screen", FUNC(galaxian_state::irq0_line_hold));
6562
6563 GENERIC_LATCH_8(config, m_soundlatch);
6564 m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
6565
6566 /* sound hardware */
6567 AY8910(config, m_ay8910[0], GALAXIAN_PIXEL_CLOCK / 3 / 2 / 2).add_route(ALL_OUTPUTS, "speaker", 0.5); // clock not verified
6568 }
6569
explorer(machine_config & config)6570 void galaxian_state::explorer(machine_config &config) // Sidam 10800
6571 {
6572 sidam_bootleg_base(config);
6573
6574 // alternate memory map
6575 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::explorer_map);
6576
6577 /* 2nd CPU to drive sound */
6578 Z80(config, m_audiocpu, 12_MHz_XTAL / 2 / 2 / 2); /* clock not verified */
6579 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::konami_sound_map);
6580 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::konami_sound_portmap);
6581
6582 GENERIC_LATCH_8(config, m_soundlatch);
6583
6584 /* sound hardware is a pair of AY-3-8912 */
6585 AY8912(config, m_ay8910[0], 12_MHz_XTAL / 2 / 2 / 2); /* matches PCB, needs verification */
6586 m_ay8910[0]->port_a_read_callback().set(FUNC(galaxian_state::explorer_sound_latch_r));
6587 m_ay8910[0]->add_route(ALL_OUTPUTS, "speaker", 0.25);
6588
6589 AY8912(config, m_ay8910[1], 12_MHz_XTAL / 2 / 2 / 2); /* matches PCB, needs verification */
6590 m_ay8910[0]->port_a_read_callback().set(FUNC(galaxian_state::konami_sound_timer_r));
6591 m_ay8910[0]->add_route(ALL_OUTPUTS, "speaker", 0.25);
6592 }
6593
takeoff(machine_config & config)6594 void galaxian_state::takeoff(machine_config &config) // Sidam 10900, with 1 x AY-3-8912
6595 {
6596 explorer(config);
6597
6598 /* 2nd CPU to drive sound */
6599 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::takeoff_sound_map);
6600 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::takeoff_sound_portmap);
6601
6602 /* sound hardware */
6603 config.device_remove("8910.0");
6604 config.device_remove("8910.1");
6605
6606 ay8912_device &ay8912(AY8912(config, "8912", XTAL(12'000'000) / 8));
6607 ay8912.port_a_read_callback().set(FUNC(galaxian_state::explorer_sound_latch_r));
6608 ay8912.add_route(ALL_OUTPUTS, "speaker", 0.25);
6609 }
6610
amigo2(machine_config & config)6611 void galaxian_state::amigo2(machine_config &config) // marked "AMI", but similar to above
6612 {
6613 sidam_bootleg_base(config);
6614
6615 // alternate memory map
6616 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::amigo2_map);
6617
6618 // 2nd CPU to drive sound
6619 Z80(config, m_audiocpu, 12_MHz_XTAL / 2 / 2 / 2); // clock not verified
6620 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::konami_sound_map);
6621 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::konami_sound_portmap);
6622
6623 GENERIC_LATCH_8(config, m_soundlatch);
6624
6625 /* sound hardware */
6626 AY8910(config, m_ay8910[0], 12_MHz_XTAL / 2 / 2 / 2); /* matches PCB, needs verification */
6627 m_ay8910[0]->port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read));
6628 m_ay8910[0]->port_b_read_callback().set(FUNC(galaxian_state::konami_sound_timer_r));
6629 m_ay8910[0]->add_route(ALL_OUTPUTS, "speaker", 0.25);
6630
6631 AY8910(config, m_ay8910[1], 12_MHz_XTAL / 2 / 2 / 2).add_route(ALL_OUTPUTS, "speaker", 0.25); /* matches PCB, needs verification */
6632 }
6633
scorpion(machine_config & config)6634 void galaxian_state::scorpion(machine_config &config)
6635 {
6636 scramble_base(config);
6637
6638 // alternate memory map
6639 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::scorpion_map);
6640
6641 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::scorpion_sound_map);
6642 m_audiocpu->set_addrmap(AS_IO, &galaxian_state::scorpion_sound_portmap);
6643
6644 m_ppi8255[1]->in_pc_callback().set(FUNC(galaxian_state::scorpion_protection_r));
6645 m_ppi8255[1]->out_pc_callback().set(FUNC(galaxian_state::scorpion_protection_w));
6646
6647 /* extra AY8910 with I/O ports */
6648 AY8910(config, m_ay8910[2], KONAMI_SOUND_CLOCK/8);
6649 m_ay8910[2]->port_a_write_callback().set(m_digitalker, FUNC(digitalker_device::digitalker_data_w));
6650 m_ay8910[2]->port_b_write_callback().set(FUNC(galaxian_state::scorpion_digitalker_control_w));
6651 m_ay8910[2]->add_route(ALL_OUTPUTS, "speaker", 0.25);
6652
6653 DIGITALKER(config, m_digitalker, 4_MHz_XTAL).add_route(ALL_OUTPUTS, "speaker", 0.16);
6654 }
6655
6656
sfx(machine_config & config)6657 void galaxian_state::sfx(machine_config &config)
6658 {
6659 scramble_base(config);
6660
6661 config.device_remove("watchdog");
6662
6663 // alternate memory map
6664 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::sfx_map);
6665
6666 /* 3rd CPU for the sample player */
6667 Z80(config, m_audio2, KONAMI_SOUND_CLOCK/8);
6668 m_audio2->set_addrmap(AS_PROGRAM, &galaxian_state::sfx_sample_map);
6669 m_audio2->set_addrmap(AS_IO, &galaxian_state::sfx_sample_portmap);
6670
6671 I8255A(config, m_ppi8255[2]);
6672 m_ppi8255[2]->in_pa_callback().set("soundlatch2", FUNC(generic_latch_8_device::read));
6673
6674 GENERIC_LATCH_8(config, "soundlatch2");
6675
6676 /* port on 2nd 8910 is used for communication */
6677 m_ay8910[1]->port_a_write_callback().set("soundlatch2", FUNC(generic_latch_8_device::write));
6678 m_ay8910[1]->port_b_write_callback().set(FUNC(galaxian_state::sfx_sample_control_w));
6679
6680 /* DAC for the sample player */
6681 DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // 16-pin IC (not identified by schematics)
6682 }
6683
6684
monsterz(machine_config & config)6685 void galaxian_state::monsterz(machine_config &config)
6686 {
6687 sfx(config);
6688
6689 // alternate memory map
6690 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::monsterz_map);
6691
6692 m_ppi8255[1]->out_pa_callback().set(FUNC(galaxian_state::monsterz_porta_1_w));
6693 m_ppi8255[1]->out_pb_callback().set(FUNC(galaxian_state::monsterz_portb_1_w));
6694 m_ppi8255[1]->out_pc_callback().set(FUNC(galaxian_state::monsterz_portc_1_w));
6695
6696 // there are likely other differences too, but those can wait until after protection is sorted out
6697 }
6698
6699
scobra(machine_config & config)6700 void galaxian_state::scobra(machine_config &config)
6701 {
6702 scramble_base(config);
6703
6704 // alternate memory map
6705 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::scobra_map);
6706 }
6707
anteatergg(machine_config & config)6708 void galaxian_state::anteatergg(machine_config &config)
6709 {
6710 galaxian(config);
6711
6712 // alternate memory map
6713 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::anteatergg_map);
6714 }
6715
6716 /*
6717
6718 Quaak (Frogger bootleg)
6719 =======================
6720
6721 Dumper: Martin Ponweiser / m.ponweiser@gmail.com
6722
6723 Top Board (Sound)
6724 -----------------
6725
6726 Silkscreened label: "09041"
6727
6728 18-Pin Connector, Frogger Pinout (https://www.mikesarcade.com/cgi-bin/spies.cgi?action=url&type=pinout&page=Frogger.txt)
6729 Note the difference to the Sega Pinout: B18 is 12V, NOT -5V.
6730
6731 1 x 6-DIP Switch (https://www.mikesarcade.com/cgi-bin/spies.cgi?action=url&type=dip&page=Frogger.txt)
6732
6733 1 x Z8400, Z80 CPU
6734 1 x XTAL 14.31818 Mhz
6735 2 x P8255A Intel
6736 2 x AY-3-8910
6737 3 x D2716-6 EPROMs labelled: "A", "B", "C"
6738 2 x MM2114N-15L
6739 1 x LM377N
6740
6741
6742 Bottom Board (Main)
6743 -------------------
6744
6745 Silkscreened label: "10041"
6746
6747 1 x Z8400, Z80 CPU
6748 8 x MM2114N-15L
6749 6 x D2716-6 ("1F"..."6F"), 2 empty sockets
6750 2 x D2716-6 ("7H","8H")
6751 1 x N82S123N 7920 (socketed, yet undumped)
6752 1 x XTAL 18.4320 Mhz
6753 1 x 555
6754 5 x D2115A
6755
6756
6757 2014-05-08: ROMS dumped with EETools MegaMax
6758
6759 (note 2x AY even if one is unused by the game, board was probably made for Super Cobra?)
6760
6761 */
6762
6763
quaak(machine_config & config)6764 void galaxian_state::quaak(machine_config &config)
6765 {
6766 konami_base(config);
6767 konami_sound_2x_ay8910(config);
6768
6769 m_ay8910[0]->port_b_read_callback().set(FUNC(galaxian_state::frogger_sound_timer_r));
6770
6771 // alternate memory map
6772 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::scobra_map);
6773 }
6774
froggeram(machine_config & config)6775 void galaxian_state::froggeram(machine_config &config)
6776 {
6777 quaak(config);
6778
6779 // alternate memory map
6780 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::froggeram_map);
6781 }
6782
6783
turpins(machine_config & config)6784 void galaxian_state::turpins(machine_config &config) // the ROMs came from a blister, so there aren't PCB infos available. Chip types and clocks are guessed.
6785 {
6786 scobra(config);
6787
6788 // alternate memory map
6789 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::turpins_map);
6790
6791 m_audiocpu->set_addrmap(AS_PROGRAM, &galaxian_state::turpins_sound_map);
6792 }
6793
6794
anteater(machine_config & config)6795 void galaxian_state::anteater(machine_config &config)
6796 {
6797 scobra(config);
6798 }
6799
6800
anteateruk(machine_config & config)6801 void galaxian_state::anteateruk(machine_config &config)
6802 {
6803 anteater(config);
6804
6805 // strange memory map, maybe a kind of protection
6806 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::anteateruk_map);
6807 }
6808
6809
anteaterg(machine_config & config)6810 void galaxian_state::anteaterg(machine_config &config)
6811 {
6812 anteater(config);
6813
6814 // strange memory map, maybe a kind of protection
6815 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::anteaterg_map);
6816 }
6817
6818
moonwar(machine_config & config)6819 void galaxian_state::moonwar(machine_config &config)
6820 {
6821 scobra(config);
6822
6823 m_ppi8255[0]->out_pc_callback().set(FUNC(galaxian_state::moonwar_port_select_w));
6824
6825 m_palette->set_init(FUNC(galaxian_state::moonwar_palette)); // bullets are less yellow
6826 }
6827
fourplay(machine_config & config)6828 void galaxian_state::fourplay(machine_config &config)
6829 {
6830 galaxian(config);
6831
6832 // basic machine hardware
6833 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::fourplay_map);
6834
6835 /* video hardware */
6836 m_gfxdecode->set_info(gfx_gmgalax);
6837 m_palette->set_entries(64);
6838 }
6839
videight(machine_config & config)6840 void galaxian_state::videight(machine_config &config)
6841 {
6842 galaxian(config);
6843
6844 // basic machine hardware
6845 m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::videight_map);
6846
6847 /* video hardware */
6848 m_gfxdecode->set_info(gfx_videight);
6849 m_palette->set_entries(8 * 32);
6850 }
6851
6852
6853 /*************************************
6854 *
6855 * Decryption helpers
6856 *
6857 *************************************/
6858
decode_mooncrst(int length,uint8_t * dest)6859 void galaxian_state::decode_mooncrst(int length, uint8_t *dest)
6860 {
6861 uint8_t const *const rom = memregion("maincpu")->base();
6862
6863 for (int offs = 0; offs < length; offs++)
6864 {
6865 uint8_t const data = rom[offs];
6866 uint8_t res = data;
6867 if (BIT(data, 1)) res ^= 0x40;
6868 if (BIT(data, 5)) res ^= 0x04;
6869 if (!BIT(offs, 0)) res = bitswap<8>(res,7,2,5,4,3,6,1,0);
6870 dest[offs] = res;
6871 }
6872 }
6873
6874
decode_checkman()6875 void galaxian_state::decode_checkman()
6876 {
6877 /*
6878 Encryption Table
6879 ----------------
6880 +---+---+---+------+------+------+------+------+------+------+------+
6881 |A2 |A1 |A0 |D7 |D6 |D5 |D4 |D3 |D2 |D1 |D0 |
6882 +---+---+---+------+------+------+------+------+------+------+------+
6883 | 0 | 0 | 0 |D7 |D6 |D5 |D4 |D3 |D2 |D1 |D0^^D6|
6884 | 0 | 0 | 1 |D7 |D6 |D5 |D4 |D3 |D2 |D1^^D5|D0 |
6885 | 0 | 1 | 0 |D7 |D6 |D5 |D4 |D3 |D2^^D4|D1^^D6|D0 |
6886 | 0 | 1 | 1 |D7 |D6 |D5 |D4^^D2|D3 |D2 |D1 |D0^^D5|
6887 | 1 | 0 | 0 |D7 |D6^^D4|D5^^D1|D4 |D3 |D2 |D1 |D0 |
6888 | 1 | 0 | 1 |D7 |D6^^D0|D5^^D2|D4 |D3 |D2 |D1 |D0 |
6889 | 1 | 1 | 0 |D7 |D6 |D5 |D4 |D3 |D2^^D0|D1 |D0 |
6890 | 1 | 1 | 1 |D7 |D6 |D5 |D4^^D1|D3 |D2 |D1 |D0 |
6891 +---+---+---+------+------+------+------+------+------+------+------+
6892
6893 For example if A2=1, A1=1 and A0=0 then D2 to the CPU would be an XOR of
6894 D2 and D0 from the ROM's. Note that D7 and D3 are not encrypted.
6895
6896 Encryption PAL 16L8 on cardridge
6897 +--- ---+
6898 OE --| U |-- VCC
6899 ROMD0 --| |-- D0
6900 ROMD1 --| |-- D1
6901 ROMD2 --|VER 5.2|-- D2
6902 A0 --| |-- NOT USED
6903 A1 --| |-- A2
6904 ROMD4 --| |-- D4
6905 ROMD5 --| |-- D5
6906 ROMD6 --| |-- D6
6907 GND --| |-- M1 (NOT USED)
6908 +-------+
6909 Pin layout is such that links can replace the PAL if encryption is not used.
6910 */
6911 static const uint8_t xortable[8][4] =
6912 {
6913 { 6,0,6,0 },
6914 { 5,1,5,1 },
6915 { 4,2,6,1 },
6916 { 2,4,5,0 },
6917 { 4,6,1,5 },
6918 { 0,6,2,5 },
6919 { 0,2,0,2 },
6920 { 1,4,1,4 }
6921 };
6922 uint8_t *rombase = memregion("maincpu")->base();
6923 uint32_t romlength = memregion("maincpu")->bytes();
6924 uint32_t offs;
6925
6926 for (offs = 0; offs < romlength; offs++)
6927 {
6928 uint8_t data = rombase[offs];
6929 uint32_t line = offs & 0x07;
6930
6931 data ^= (BIT(data,xortable[line][0]) << xortable[line][1]) | (BIT(data,xortable[line][2]) << xortable[line][3]);
6932 rombase[offs] = data;
6933 }
6934 }
6935
6936
decode_dingoe()6937 void galaxian_state::decode_dingoe()
6938 {
6939 uint8_t *rombase = memregion("maincpu")->base();
6940 uint32_t romlength = memregion("maincpu")->bytes();
6941 uint32_t offs;
6942
6943 for (offs = 0; offs < romlength; offs++)
6944 {
6945 uint8_t data = rombase[offs];
6946
6947 /* XOR bit 4 with bit 2, and bit 0 with bit 5, and invert bit 1 */
6948 data ^= BIT(data, 2) << 4;
6949 data ^= BIT(data, 5) << 0;
6950 data ^= 0x02;
6951
6952 /* Swap bit0 with bit4 */
6953 if (offs & 0x02)
6954 data = bitswap<8>(data, 7,6,5,0,3,2,1,4);
6955 rombase[offs] = data;
6956 }
6957 }
6958
6959
decode_frogger_sound()6960 void galaxian_state::decode_frogger_sound()
6961 {
6962 uint8_t *rombase = memregion("audiocpu")->base();
6963 uint32_t offs;
6964
6965 /* the first ROM of the sound CPU has data lines D0 and D1 swapped */
6966 for (offs = 0; offs < 0x800; offs++)
6967 rombase[offs] = bitswap<8>(rombase[offs], 7,6,5,4,3,2,0,1);
6968 }
6969
6970 // froggermc has a bigger first ROM of the sound CPU, thus a different decode
decode_froggermc_sound()6971 void galaxian_state::decode_froggermc_sound()
6972 {
6973 uint8_t *rombase = memregion("audiocpu")->base();
6974 uint32_t offs;
6975
6976 /* the first ROM of the sound CPU has data lines D0 and D1 swapped */
6977 for (offs = 0; offs < 0x1000; offs++)
6978 rombase[offs] = bitswap<8>(rombase[offs], 7,6,5,4,3,2,0,1);
6979 }
6980
6981
decode_frogger_gfx()6982 void galaxian_state::decode_frogger_gfx()
6983 {
6984 uint8_t *rombase = memregion("gfx1")->base();
6985 uint32_t offs;
6986
6987 /* the 2nd gfx ROM has data lines D0 and D1 swapped */
6988 for (offs = 0x0800; offs < 0x1000; offs++)
6989 rombase[offs] = bitswap<8>(rombase[offs], 7,6,5,4,3,2,0,1);
6990 }
6991
6992
decode_anteater_gfx()6993 void galaxian_state::decode_anteater_gfx()
6994 {
6995 uint32_t romlength = memregion("gfx1")->bytes();
6996 uint8_t *rombase = memregion("gfx1")->base();
6997 std::vector<uint8_t> scratch(romlength);
6998 uint32_t offs;
6999
7000 memcpy(&scratch[0], rombase, romlength);
7001 for (offs = 0; offs < romlength; offs++)
7002 {
7003 uint32_t srcoffs = offs & 0x9bf;
7004 srcoffs |= (BIT(offs,4) ^ BIT(offs,9) ^ (BIT(offs,2) & BIT(offs,10))) << 6;
7005 srcoffs |= (BIT(offs,2) ^ BIT(offs,10)) << 9;
7006 srcoffs |= (BIT(offs,0) ^ BIT(offs,6) ^ 1) << 10;
7007 rombase[offs] = scratch[srcoffs];
7008 }
7009 }
7010
7011
decode_losttomb_gfx()7012 void galaxian_state::decode_losttomb_gfx()
7013 {
7014 uint32_t romlength = memregion("gfx1")->bytes();
7015 uint8_t *rombase = memregion("gfx1")->base();
7016 std::vector<uint8_t> scratch(romlength);
7017 uint32_t offs;
7018
7019 memcpy(&scratch[0], rombase, romlength);
7020 for (offs = 0; offs < romlength; offs++)
7021 {
7022 uint32_t srcoffs = offs & 0xa7f;
7023 srcoffs |= ((BIT(offs,1) & BIT(offs,8)) | ((1 ^ BIT(offs,1)) & (BIT(offs,10)))) << 7;
7024 srcoffs |= (BIT(offs,7) ^ (BIT(offs,1) & (BIT(offs,7) ^ BIT(offs,10)))) << 8;
7025 srcoffs |= ((BIT(offs,1) & BIT(offs,7)) | ((1 ^ BIT(offs,1)) & (BIT(offs,8)))) << 10;
7026 rombase[offs] = scratch[srcoffs];
7027 }
7028 }
7029
7030
decode_superbon()7031 void galaxian_state::decode_superbon()
7032 {
7033 offs_t i;
7034 uint8_t *RAM;
7035
7036 /* Decryption worked out by hand by Chris Hardy. */
7037
7038 RAM = memregion("maincpu")->base();
7039
7040 for (i = 0;i < 0x1000;i++)
7041 {
7042 /* Code is encrypted depending on bit 7 and 9 of the address */
7043 switch (i & 0x0280)
7044 {
7045 case 0x0000:
7046 RAM[i] ^= 0x92;
7047 break;
7048 case 0x0080:
7049 RAM[i] ^= 0x82;
7050 break;
7051 case 0x0200:
7052 RAM[i] ^= 0x12;
7053 break;
7054 case 0x0280:
7055 RAM[i] ^= 0x10;
7056 break;
7057 }
7058 }
7059 }
7060
7061
decode_victoryc()7062 void galaxian_state::decode_victoryc()
7063 {
7064 uint8_t *src = memregion("maincpu")->base();
7065 size_t length = memregion("maincpu")->bytes();
7066
7067 for (int i = 0;i < length;i++)
7068 {
7069 if (i & 0x80) src[i] ^= 0x80;
7070 if (i & 0x20) src[i] ^= 0x04;
7071 if (i & 0x04) src[i] ^= 0x40;
7072 if (i & 0x01) src[i] ^= 0x08;
7073
7074 src[i] = bitswap<8>(src[i], 6, 3, 5, 4, 2, 7, 1, 0);
7075 }
7076 }
7077
7078
7079
7080 /*************************************
7081 *
7082 * Driver configuration
7083 *
7084 *************************************/
7085
common_init(galaxian_draw_bullet_func draw_bullet,galaxian_draw_background_func draw_background,galaxian_extend_tile_info_func extend_tile_info,galaxian_extend_sprite_info_func extend_sprite_info)7086 void galaxian_state::common_init(galaxian_draw_bullet_func draw_bullet,galaxian_draw_background_func draw_background,
7087 galaxian_extend_tile_info_func extend_tile_info,galaxian_extend_sprite_info_func extend_sprite_info)
7088 {
7089 m_x_scale = GALAXIAN_XSCALE;
7090 m_h0_start = GALAXIAN_H0START;
7091 m_irq_enabled = 0;
7092 m_irq_line = INPUT_LINE_NMI;
7093 m_numspritegens = 1;
7094 m_bullets_base = 0x60;
7095 m_sprites_base = 0x40;
7096 m_frogger_adjust = false;
7097 m_sfx_tilemap = false;
7098 m_draw_bullet_ptr = (draw_bullet != nullptr) ? draw_bullet : &galaxian_state::galaxian_draw_bullet;
7099 m_draw_background_ptr = (draw_background != nullptr) ? draw_background : &galaxian_state::galaxian_draw_background;
7100 m_extend_tile_info_ptr = extend_tile_info;
7101 m_extend_sprite_info_ptr = extend_sprite_info;
7102 }
7103
7104
7105
7106 /*************************************
7107 *
7108 * Galaxian-derived games
7109 *
7110 *************************************/
7111
init_galaxian()7112 void galaxian_state::init_galaxian()
7113 {
7114 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7115 }
7116
init_highroll()7117 void galaxian_state::init_highroll()
7118 {
7119 init_galaxian();
7120
7121 uint8_t *rom = memregion("maincpu")->base();
7122
7123 for (int i = 0; i < 0x4000; i++)
7124 {
7125 uint8_t x = rom[i];
7126
7127 switch(i & 0x03)
7128 {
7129 case 0x000: x = bitswap<8>(x, 1, 6, 7, 4, 5, 2, 3, 0); break;
7130 case 0x001: x = bitswap<8>(x, 5, 6, 3, 4, 1, 2, 7, 0); break;
7131 case 0x002: x = bitswap<8>(x, 3, 6, 1, 4, 7, 2, 5, 0); break;
7132 case 0x003: x = bitswap<8>(x, 1, 6, 3, 4, 5, 2, 7, 0); break;
7133 }
7134
7135 m_decrypted_opcodes[i] = x;
7136 }
7137
7138 for (int i = 0; i < 0x4000; i++)
7139 {
7140 uint8_t x = rom[i];
7141
7142 switch(i & 0x01)
7143 {
7144 case 0x000: x = bitswap<8>(x, 3, 6, 1, 4, 5, 2, 7, 0); break;
7145 case 0x001: x = bitswap<8>(x, 1, 6, 7, 4, 3, 2, 5, 0); break;
7146 }
7147
7148 rom[i] = x;
7149 }
7150 }
7151
init_nolock()7152 void galaxian_state::init_nolock()
7153 {
7154 address_space &space = m_maincpu->space(AS_PROGRAM);
7155
7156 /* same as galaxian... */
7157 init_galaxian();
7158
7159 /* ...but coin lockout disabled/disconnected */
7160 space.unmap_write(0x6002, 0x6002, 0x7f8);
7161 }
7162
7163 // The first rom loads at 0800, then 1800, 2800?, 3800 and 4800.
7164 // Unfortunately the 3rd rom appears to be total garbage.
7165 // Each block of 256 bytes is in reverse order. Some code
7166 // is missing: 00xx, 4Axx, 10xx, 11xx at least. The game
7167 // uses 0200-05FF as RAM. It also accesses 6000, 6800, 700x, 7800.
7168 // Perhaps the missing code was stored in battery-backed RAM?
init_warofbugg()7169 void galaxian_state::init_warofbugg()
7170 {
7171 uint8_t* romdata = memregion("maincpu")->base();
7172 assert(memregion("maincpu")->bytes() == 0x4000);
7173 uint8_t buf[0x4000];
7174 memcpy(buf, romdata, 0x4000);
7175
7176 // unscramble each block
7177 for (int i = 0; i < 0x40; i++)
7178 for (int j = 0; j < 0x100; j++)
7179 romdata[i*256+j] = buf[i*256+(j^0xff)];
7180
7181 init_nolock();
7182
7183 }
7184
7185
init_azurian()7186 void galaxian_state::init_azurian()
7187 {
7188 address_space &space = m_maincpu->space(AS_PROGRAM);
7189
7190 /* yellow bullets instead of white ones */
7191 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7192
7193 /* coin lockout disabled */
7194 space.unmap_write(0x6002, 0x6002, 0x7f8);
7195 }
7196
7197
init_gmgalax()7198 void gmgalax_state::init_gmgalax()
7199 {
7200 address_space &space = m_maincpu->space(AS_PROGRAM);
7201
7202 /* video extensions */
7203 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &gmgalax_state::gmgalax_extend_tile_info, &gmgalax_state::gmgalax_extend_sprite_info);
7204
7205 /* ROM is banked */
7206 space.install_read_bank(0x0000, 0x3fff, "bank1");
7207 membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x4000);
7208
7209 /* callback when the game select is toggled */
7210 game_changed(*machine().ioport().ports().begin()->second->fields().first(), 0, 0, 0);
7211 save_item(NAME(m_selected_game));
7212 }
7213
7214
init_pisces()7215 void galaxian_state::init_pisces()
7216 {
7217 address_space &space = m_maincpu->space(AS_PROGRAM);
7218
7219 /* video extensions */
7220 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::pisces_extend_tile_info, &galaxian_state::pisces_extend_sprite_info);
7221
7222 /* coin lockout replaced by graphics bank */
7223 space.install_write_handler(0x6002, 0x6002, 0, 0x7f8, 0, write8sm_delegate(*this, FUNC(galaxian_state::galaxian_gfxbank_w)));
7224 }
7225
7226
init_batman2()7227 void galaxian_state::init_batman2()
7228 {
7229 address_space &space = m_maincpu->space(AS_PROGRAM);
7230
7231 /* video extensions */
7232 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::batman2_extend_tile_info, &galaxian_state::upper_extend_sprite_info);
7233
7234 /* coin lockout replaced by graphics bank */
7235 space.install_write_handler(0x6002, 0x6002, 0, 0x7f8, 0, write8sm_delegate(*this, FUNC(galaxian_state::galaxian_gfxbank_w)));
7236 }
7237
7238
init_frogg()7239 void galaxian_state::init_frogg()
7240 {
7241 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info);
7242 }
7243
7244
init_victoryc()7245 void galaxian_state::init_victoryc()
7246 {
7247 init_galaxian();
7248
7249 decode_victoryc();
7250 }
7251
7252
init_fourplay()7253 void galaxian_state::init_fourplay()
7254 {
7255 membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000);
7256 membank("bank1")->set_entry(0);
7257
7258 /* video extensions */
7259 common_init(NULL, NULL, &galaxian_state::pisces_extend_tile_info, &galaxian_state::pisces_extend_sprite_info);
7260 }
7261
init_videight()7262 void galaxian_state::init_videight()
7263 {
7264 membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
7265 membank("bank1")->set_entry(0);
7266
7267 /* video extensions */
7268 common_init(NULL, NULL, &galaxian_state::videight_extend_tile_info, &galaxian_state::videight_extend_sprite_info);
7269 }
7270
7271
7272 /*************************************
7273 *
7274 * Moon Cresta-derived games
7275 *
7276 *************************************/
7277
init_mooncrst()7278 void galaxian_state::init_mooncrst()
7279 {
7280 /* video extensions */
7281 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mooncrst_extend_tile_info, &galaxian_state::mooncrst_extend_sprite_info);
7282
7283 /* decrypt program code */
7284 decode_mooncrst(0x4000, memregion("maincpu")->base());
7285 }
7286
7287
init_mooncrsu()7288 void galaxian_state::init_mooncrsu()
7289 {
7290 /* video extensions */
7291 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mooncrst_extend_tile_info, &galaxian_state::mooncrst_extend_sprite_info);
7292 }
7293
7294
init_mooncrgx()7295 void galaxian_state::init_mooncrgx()
7296 {
7297 address_space &space = m_maincpu->space(AS_PROGRAM);
7298
7299 /* video extensions */
7300 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mooncrst_extend_tile_info, &galaxian_state::mooncrst_extend_sprite_info);
7301
7302 /* LEDs and coin lockout replaced by graphics banking */
7303 space.install_write_handler(0x6000, 0x6002, 0, 0x7f8, 0, write8sm_delegate(*this, FUNC(galaxian_state::galaxian_gfxbank_w)));
7304 }
7305
7306
init_moonqsr()7307 void galaxian_state::init_moonqsr()
7308 {
7309 /* video extensions */
7310 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::moonqsr_extend_tile_info, &galaxian_state::moonqsr_extend_sprite_info);
7311
7312 /* decrypt program code */
7313 decode_mooncrst(0x4000, m_decrypted_opcodes);
7314 }
7315
artic_gfxbank_w(uint8_t data)7316 void galaxian_state::artic_gfxbank_w(uint8_t data)
7317 {
7318 // printf("artic_gfxbank_w %02x\n",data);
7319 }
7320
init_pacmanbl()7321 void galaxian_state::init_pacmanbl()
7322 {
7323 address_space &space = m_maincpu->space(AS_PROGRAM);
7324
7325 /* same as galaxian... */
7326 init_galaxian();
7327
7328 /* ...but coin lockout disabled/disconnected */
7329 space.install_write_handler(0x6002, 0x6002, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::artic_gfxbank_w)));
7330 }
7331
tenspot_dsw_read()7332 uint8_t galaxian_state::tenspot_dsw_read()
7333 {
7334 if (m_tenspot_current_game >= 0 && m_tenspot_current_game < 10)
7335 return m_tenspot_game_dsw[m_tenspot_current_game]->read();
7336 else
7337 return 0x00;
7338 }
7339
7340
tenspot_set_game_bank(int bank,int from_game)7341 void galaxian_state::tenspot_set_game_bank(int bank, int from_game)
7342 {
7343 char tmp[64];
7344 uint8_t* srcregion;
7345 uint8_t* dstregion;
7346 int x;
7347
7348 sprintf(tmp,"game_%d_cpu", bank);
7349 srcregion = memregion(tmp)->base();
7350 dstregion = memregion("maincpu")->base();
7351 memcpy(dstregion, srcregion, 0x4000);
7352
7353 sprintf(tmp,"game_%d_temp", bank);
7354 srcregion = memregion(tmp)->base();
7355 dstregion = memregion("gfx1")->base();
7356 memcpy(dstregion, srcregion, 0x2000);
7357 dstregion = memregion("gfx2")->base();
7358 memcpy(dstregion, srcregion, 0x2000);
7359
7360 if (from_game)
7361 {
7362 for (x=0;x<0x200;x++)
7363 {
7364 m_gfxdecode->gfx(0)->mark_dirty(x);
7365 }
7366
7367 for (x=0;x<0x80;x++)
7368 {
7369 m_gfxdecode->gfx(1)->mark_dirty(x);
7370 }
7371 }
7372
7373 sprintf(tmp,"game_%d_prom", bank);
7374 srcregion = memregion(tmp)->base();
7375 dstregion = memregion("proms")->base();
7376 memcpy(dstregion, srcregion, 0x20);
7377
7378 galaxian_palette(*m_palette);
7379 }
7380
init_tenspot()7381 void galaxian_state::init_tenspot()
7382 {
7383 address_space &space = m_maincpu->space(AS_PROGRAM);
7384
7385 /* these are needed for batman part 2 to work properly, this banking is probably a property of the artic board,
7386 which tenspot appears to have copied */
7387
7388 /* video extensions */
7389 //common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::batman2_extend_tile_info, &galaxian_state::upper_extend_sprite_info);
7390
7391 /* coin lockout replaced by graphics bank */
7392 //space.install_write_handler(0x6002, 0x6002, 0, 0x7f8, 0, write8sm_delegate(*this, FUNC(galaxian_state::galaxian_gfxbank_w)));
7393
7394
7395 init_galaxian();
7396
7397 space.install_write_handler(0x6002, 0x6002, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::artic_gfxbank_w)));
7398
7399 m_tenspot_current_game = 0;
7400
7401 tenspot_set_game_bank(m_tenspot_current_game, 0);
7402
7403 space.install_read_handler(0x7000, 0x7000, read8smo_delegate(*this, FUNC(galaxian_state::tenspot_dsw_read)));
7404 }
7405
7406
7407
init_devilfsg()7408 void galaxian_state::init_devilfsg()
7409 {
7410 /* video extensions */
7411 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7412
7413 /* IRQ line is INT, not NMI */
7414 m_irq_line = 0;
7415 }
7416
7417
init_zigzag()7418 void galaxian_state::init_zigzag()
7419 {
7420 /* video extensions */
7421 common_init(nullptr, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7422 m_draw_bullet_ptr = nullptr;
7423
7424 /* two sprite generators */
7425 m_numspritegens = 2;
7426
7427 /* make ROMs 2 & 3 swappable */
7428 membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x2000, 0x1000);
7429 membank("bank2")->configure_entries(0, 2, memregion("maincpu")->base() + 0x2000, 0x1000);
7430
7431 /* handler for doing the swaps */
7432 zigzag_bankswap_w(0);
7433 }
7434
7435
init_jumpbug()7436 void galaxian_state::init_jumpbug()
7437 {
7438 /* video extensions */
7439 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::jumpbug_draw_background, &galaxian_state::jumpbug_extend_tile_info, &galaxian_state::jumpbug_extend_sprite_info);
7440 }
7441
7442
init_checkman()7443 void galaxian_state::init_checkman()
7444 {
7445 address_space &space = m_maincpu->space(AS_PROGRAM);
7446 address_space &iospace = m_maincpu->space(AS_IO);
7447
7448 /* video extensions */
7449 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mooncrst_extend_tile_info, &galaxian_state::mooncrst_extend_sprite_info);
7450
7451 /* move the interrupt enable from $b000 to $b001 */
7452 space.unmap_write(0xb000, 0xb000, 0x7f8);
7453 space.install_write_handler(0xb001, 0xb001, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::irq_enable_w)));
7454
7455 /* attach the sound command handler */
7456 iospace.install_write_handler(0x00, 0x00, 0, 0xffff, 0, write8smo_delegate(*this, FUNC(galaxian_state::checkman_sound_command_w)));
7457
7458 /* decrypt program code */
7459 decode_checkman();
7460 }
7461
7462
init_checkmaj()7463 void galaxian_state::init_checkmaj()
7464 {
7465 address_space &space = m_maincpu->space(AS_PROGRAM);
7466
7467 /* video extensions */
7468 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7469
7470 /* attach the sound command handler */
7471 space.install_write_handler(0x7800, 0x7800, 0, 0x7ff, 0, write8smo_delegate(*this, FUNC(galaxian_state::checkman_sound_command_w)));
7472
7473 /* for the title screen */
7474 space.install_read_handler(0x3800, 0x3800, read8smo_delegate(*this, FUNC(galaxian_state::checkmaj_protection_r)));
7475 }
7476
7477
init_dingo()7478 void galaxian_state::init_dingo()
7479 {
7480 address_space &space = m_maincpu->space(AS_PROGRAM);
7481
7482 /* video extensions */
7483 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7484
7485 /* attach the sound command handler */
7486 space.install_write_handler(0x7800, 0x7800, 0, 0x7ff, 0, write8smo_delegate(*this, FUNC(galaxian_state::checkman_sound_command_w)));
7487
7488 space.install_read_handler(0x3000, 0x3000, read8smo_delegate(*this, FUNC(galaxian_state::dingo_3000_r)));
7489 space.install_read_handler(0x3035, 0x3035, read8smo_delegate(*this, FUNC(galaxian_state::dingo_3035_r)));
7490 }
7491
7492
init_dingoe()7493 void galaxian_state::init_dingoe()
7494 {
7495 address_space &space = m_maincpu->space(AS_PROGRAM);
7496 address_space &iospace = m_maincpu->space(AS_IO);
7497
7498 /* video extensions */
7499 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mooncrst_extend_tile_info, &galaxian_state::mooncrst_extend_sprite_info);
7500
7501 /* move the interrupt enable from $b000 to $b001 */
7502 space.unmap_write(0xb000, 0xb000, 0x7f8);
7503 space.install_write_handler(0xb001, 0xb001, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::irq_enable_w)));
7504
7505 /* attach the sound command handler */
7506 iospace.install_write_handler(0x00, 0x00, 0, 0xffff, 0, write8smo_delegate(*this, FUNC(galaxian_state::checkman_sound_command_w)));
7507
7508 space.install_read_handler(0x3001, 0x3001, read8smo_delegate(*this, FUNC(galaxian_state::dingoe_3001_r))); // Protection check
7509
7510 /* decrypt program code */
7511 decode_dingoe();
7512 }
7513
7514
init_skybase()7515 void galaxian_state::init_skybase()
7516 {
7517 /* video extensions */
7518 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::pisces_extend_tile_info, &galaxian_state::pisces_extend_sprite_info);
7519 }
7520
7521
init_kong()7522 void galaxian_state::init_kong()
7523 {
7524 /* video extensions */
7525 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, &galaxian_state::upper_extend_sprite_info);
7526 }
7527
7528
mshuttle_decode(const uint8_t convtable[8][16])7529 void galaxian_state::mshuttle_decode(const uint8_t convtable[8][16])
7530 {
7531 uint8_t *rom = memregion("maincpu")->base();
7532
7533 for (int A = 0x0000;A < 0x8000;A++)
7534 {
7535 int i,j;
7536 uint8_t src = rom[A];
7537
7538 /* pick the translation table from bit 0 of the address */
7539 /* and from bits 1 7 of the source data */
7540 i = (A & 1) | (src & 0x02) | ((src & 0x80) >> 5);
7541
7542 /* pick the offset in the table from bits 0 2 4 6 of the source data */
7543 j = (src & 0x01) | ((src & 0x04) >> 1) | ((src & 0x10) >> 2) | ((src & 0x40) >> 3);
7544
7545 /* decode the opcodes */
7546 m_decrypted_opcodes[A] = (src & 0xaa) | convtable[i][j];
7547 }
7548 }
7549
7550
init_mshuttle()7551 void galaxian_state::init_mshuttle()
7552 {
7553 static const uint8_t convtable[8][16] =
7554 {
7555 /* 0xff marks spots which are unused and therefore unknown */
7556 { 0x40,0x41,0x44,0x15,0x05,0x51,0x54,0x55,0x50,0x00,0x01,0x04,0xff,0x10,0x11,0x14 },
7557 { 0x45,0x51,0x55,0x44,0x40,0x11,0x05,0x41,0x10,0x14,0x54,0x50,0x15,0x04,0x00,0x01 },
7558 { 0x11,0x14,0x10,0x00,0x44,0x05,0xff,0x04,0x45,0x15,0x55,0x50,0xff,0x01,0x54,0x51 },
7559 { 0x14,0x01,0x11,0x10,0x50,0x15,0x00,0x40,0x04,0x51,0x45,0x05,0x55,0x54,0xff,0x44 },
7560 { 0x04,0x10,0xff,0x40,0x15,0x41,0x50,0x50,0x11,0xff,0x14,0x00,0x51,0x45,0x55,0x01 },
7561 { 0x44,0x45,0x00,0x51,0xff,0xff,0x15,0x11,0x01,0x10,0x04,0x55,0x05,0x40,0x50,0x41 },
7562 { 0x51,0x00,0x01,0x05,0x04,0x55,0x54,0x50,0x41,0xff,0x11,0x15,0x14,0x10,0x44,0x40 },
7563 { 0x05,0x04,0x51,0x01,0xff,0xff,0x55,0xff,0x00,0x50,0x15,0x14,0x44,0x41,0x40,0x54 },
7564 };
7565
7566 /* video extensions */
7567 common_init(&galaxian_state::mshuttle_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mshuttle_extend_tile_info, &galaxian_state::mshuttle_extend_sprite_info);
7568
7569 /* IRQ line is INT, not NMI */
7570 m_irq_line = 0;
7571
7572 /* decrypt the code */
7573 mshuttle_decode(convtable);
7574 }
7575
7576
init_mshuttlj()7577 void galaxian_state::init_mshuttlj()
7578 {
7579 static const uint8_t convtable[8][16] =
7580 {
7581 { 0x41,0x54,0x51,0x14,0x05,0x10,0x01,0x55,0x44,0x11,0x00,0x50,0x15,0x40,0x04,0x45 },
7582 { 0x50,0x11,0x40,0x55,0x51,0x14,0x45,0x04,0x54,0x15,0x10,0x05,0x44,0x01,0x00,0x41 },
7583 { 0x44,0x11,0x00,0x50,0x41,0x54,0x04,0x14,0x15,0x40,0x51,0x55,0x05,0x10,0x01,0x45 },
7584 { 0x10,0x50,0x54,0x55,0x01,0x44,0x40,0x04,0x14,0x11,0x00,0x41,0x45,0x15,0x51,0x05 },
7585 { 0x14,0x41,0x01,0x44,0x04,0x50,0x51,0x45,0x11,0x40,0x54,0x15,0x10,0x00,0x55,0x05 },
7586 { 0x01,0x05,0x41,0x45,0x54,0x50,0x55,0x10,0x11,0x15,0x51,0x14,0x44,0x40,0x04,0x00 },
7587 { 0x05,0x55,0x00,0x50,0x11,0x40,0x54,0x14,0x45,0x51,0x10,0x04,0x44,0x01,0x41,0x15 },
7588 { 0x55,0x50,0x15,0x10,0x01,0x04,0x41,0x44,0x45,0x40,0x05,0x00,0x11,0x14,0x51,0x54 },
7589 };
7590
7591 /* video extensions */
7592 common_init(&galaxian_state::mshuttle_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::mshuttle_extend_tile_info, &galaxian_state::mshuttle_extend_sprite_info);
7593
7594 /* IRQ line is INT, not NMI */
7595 m_irq_line = 0;
7596
7597 /* decrypt the code */
7598 mshuttle_decode(convtable);
7599 }
7600
7601
init_fantastc()7602 void galaxian_state::init_fantastc()
7603 {
7604 /* video extensions */
7605 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, &galaxian_state::upper_extend_sprite_info);
7606
7607 /* two sprite generators */
7608 m_numspritegens = 2;
7609
7610 /* bullets moved from $60 to $c0 */
7611 m_bullets_base = 0xc0;
7612
7613 /* decode code */
7614 static const uint16_t lut_am_unscramble[32] = {
7615 0, 2, 4, 6, // ok!
7616 7, 3, 5, 1, // ok!
7617 6, 0, 2, 4, // ok!
7618 1, 5, 3, 0, // ok!
7619 2, 4, 6, 3, // good, good?, guess, guess
7620 5, 6, 0, 2, // good, good?, good?, guess
7621 4, 1, 1, 5, // good, good, guess, good
7622 3, 7, 7, 7 // ok!
7623 };
7624
7625 uint8_t* romdata = memregion("maincpu")->base();
7626 assert(memregion("maincpu")->bytes() == 0x8000);
7627 uint8_t buf[0x8000];
7628 memcpy(buf, romdata, 0x8000);
7629
7630 for (int i = 0; i < 32; i++)
7631 memcpy(romdata + i * 0x400, buf + lut_am_unscramble[i] * 0x1000 + (i & 3) * 0x400, 0x400);
7632 }
7633
7634
init_timefgtr()7635 void galaxian_state::init_timefgtr()
7636 {
7637 /* two sprite generators */
7638 m_numspritegens = 2;
7639
7640 /* bullets moved from $60 to $c0 */
7641 m_bullets_base = 0xc0;
7642
7643 /* video extensions */
7644 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, &galaxian_state::upper_extend_sprite_info);
7645 }
7646
7647
init_kingball()7648 void galaxian_state::init_kingball()
7649 {
7650 address_space &space = m_maincpu->space(AS_PROGRAM);
7651
7652 /* video extensions */
7653 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7654
7655 /* disable the stars */
7656 space.unmap_write(0xb004, 0xb004, 0x7f8);
7657
7658 space.install_write_handler(0xb000, 0xb000, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::kingball_sound1_w)));
7659 space.install_write_handler(0xb001, 0xb001, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::irq_enable_w)));
7660 space.install_write_handler(0xb002, 0xb002, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::kingball_sound2_w)));
7661 space.install_write_handler(0xb003, 0xb003, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::kingball_speech_dip_w)));
7662
7663 save_item(NAME(m_kingball_speech_dip));
7664 save_item(NAME(m_kingball_sound));
7665 }
7666
7667
init_scorpnmc()7668 void galaxian_state::init_scorpnmc()
7669 {
7670 /* video extensions */
7671 common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, &galaxian_state::batman2_extend_tile_info, &galaxian_state::upper_extend_sprite_info);
7672 }
7673
7674 /*************************************
7675 *
7676 * Konami games
7677 *
7678 *************************************/
7679
init_theend()7680 void galaxian_state::init_theend()
7681 {
7682 address_space &space = m_maincpu->space(AS_PROGRAM);
7683
7684 /* video extensions */
7685 common_init(&galaxian_state::theend_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr);
7686
7687 /* coin counter on the upper bit of port C */
7688 space.unmap_write(0x6802, 0x6802, 0x7f8);
7689 }
7690
7691
init_scramble()7692 void galaxian_state::init_scramble()
7693 {
7694 /* video extensions */
7695 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7696 }
7697
init_mandingaeg()7698 void galaxian_state::init_mandingaeg()
7699 {
7700 init_scramble();
7701
7702 /* watchdog is in a different location */
7703 address_space &space = m_maincpu->space(AS_PROGRAM);
7704 watchdog_timer_device *wdog = subdevice<watchdog_timer_device>("watchdog");
7705 space.install_read_handler(0x6800, 0x6800, 0, 0x7ff, 0, read8mo_delegate(*wdog, FUNC(watchdog_timer_device::reset_r)));
7706 }
7707
init_mandinga()7708 void galaxian_state::init_mandinga()
7709 {
7710 init_mandingaeg();
7711
7712 address_space &space = m_maincpu->space(AS_PROGRAM);
7713 space.unmap_read(0x7000, 0x7000, 0x7ff);
7714 }
7715
init_sfx()7716 void galaxian_state::init_sfx()
7717 {
7718 /* basic configuration */
7719 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::sfx_draw_background, &galaxian_state::upper_extend_tile_info, nullptr);
7720 m_sfx_tilemap = true;
7721
7722 /* sound board has space for extra ROM */
7723 m_audiocpu->space(AS_PROGRAM).install_read_bank(0x0000, 0x3fff, "bank1");
7724 membank("bank1")->set_base(memregion("audiocpu")->base());
7725 }
7726
7727
init_atlantis()7728 void galaxian_state::init_atlantis()
7729 {
7730 address_space &space = m_maincpu->space(AS_PROGRAM);
7731
7732 /* video extensions */
7733 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7734
7735 /* watchdog is at $7800? (or is it just disabled?) */
7736 watchdog_timer_device *wdog = subdevice<watchdog_timer_device>("watchdog");
7737 space.unmap_read(0x7000, 0x77ff);
7738 space.install_read_handler(0x7800, 0x7800, 0, 0x7ff, 0, read8mo_delegate(*wdog, FUNC(watchdog_timer_device::reset_r)));
7739 }
7740
7741
init_sidam()7742 void galaxian_state::init_sidam()
7743 {
7744 /* adjust for 12 MHz pixel clock */
7745 m_x_scale = SIDAM_XSCALE;
7746 m_h0_start = SIDAM_H0START;
7747 }
7748
init_explorer()7749 void galaxian_state::init_explorer()
7750 {
7751 /* video extensions */
7752 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::null_draw_background, nullptr, nullptr); // no 555 timer; there might be no stars at all
7753 init_sidam();
7754 }
7755
init_amigo2()7756 void galaxian_state::init_amigo2()
7757 {
7758 /* video extensions */
7759 init_turtles();
7760 init_sidam();
7761 }
7762
7763
init_scobra()7764 void galaxian_state::init_scobra()
7765 {
7766 /* video extensions */
7767 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7768 }
7769
7770
7771
init_scobrae()7772 void galaxian_state::init_scobrae()
7773 {
7774 uint8_t *rom = memregion("maincpu")->base();
7775 for (int offs = 0; offs < 0x6000; offs++)
7776 {
7777 int i = offs & 0x7f;
7778 int x = rom[offs];
7779
7780 if (offs & 0x80) i ^= 0x7f;
7781
7782 if (i & 0x01) x ^= 0x49;
7783 if (i & 0x02) x ^= 0x21;
7784 if (i & 0x04) x ^= 0x18;
7785 if (i & 0x08) x ^= 0x12;
7786 if (i & 0x10) x ^= 0x84;
7787 if (i & 0x20) x ^= 0x24;
7788 if (i & 0x40) x ^= 0x40;
7789
7790 rom[offs] = x ^ 0xff;
7791 }
7792
7793 /* video extensions */
7794 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7795 }
7796
7797
init_losttomb()7798 void galaxian_state::init_losttomb()
7799 {
7800 /* video extensions */
7801 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7802
7803 /* decrypt */
7804 decode_losttomb_gfx();
7805 }
7806
7807
init_frogger()7808 void galaxian_state::init_frogger()
7809 {
7810 /* video extensions */
7811 common_init(nullptr, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info);
7812 m_frogger_adjust = true;
7813
7814 /* decrypt */
7815 decode_frogger_sound();
7816 decode_frogger_gfx();
7817 }
7818
7819
init_quaak()7820 void galaxian_state::init_quaak()
7821 {
7822 /* video extensions */
7823 common_init(nullptr, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info);
7824 }
7825
7826
init_froggermc()7827 void galaxian_state::init_froggermc()
7828 {
7829 /* video extensions */
7830 common_init(nullptr, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info);
7831
7832 /* decrypt */
7833 decode_froggermc_sound();
7834 }
7835
7836
init_froggers()7837 void galaxian_state::init_froggers()
7838 {
7839 /* video extensions */
7840 common_init(nullptr, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info);
7841
7842 /* decrypt */
7843 decode_frogger_sound();
7844 }
7845
7846
init_turtles()7847 void galaxian_state::init_turtles()
7848 {
7849 /* video extensions */
7850 common_init(nullptr, &galaxian_state::turtles_draw_background, nullptr, nullptr);
7851 }
7852
7853
7854 #ifdef UNUSED_FUNCTION
init_amidar()7855 void galaxian_state::init_amidar()
7856 {
7857 /* no existing amidar sets run on Amidar hardware as described by Amidar schematics! */
7858 /* video extensions */
7859 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::amidar_draw_background, nullptr, nullptr);
7860 }
7861 #endif
7862
7863
init_scorpion()7864 void galaxian_state::init_scorpion()
7865 {
7866 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, &galaxian_state::batman2_extend_tile_info, &galaxian_state::upper_extend_sprite_info);
7867
7868 save_item(NAME(m_protection_state));
7869 /*
7870 {
7871 const uint8_t *rom = memregion("speech")->base();
7872 int i;
7873
7874 for (i = 0; i < 0x2c; i++)
7875 {
7876 uint16_t addr = (rom[2*i] << 8) | rom[2*i+1];
7877 uint16_t endaddr = (rom[2*i+2] << 8) | rom[2*i+3];
7878 int j;
7879 printf("Cmd %02X -> %04X-%04X:", i, addr, endaddr - 1);
7880 for (j = 0; j < 32 && addr < endaddr; j++)
7881 printf(" %02X", rom[addr++]);
7882 printf("\n");
7883 }
7884 }
7885 */
7886 }
7887
7888
init_anteater()7889 void galaxian_state::init_anteater()
7890 {
7891 /* video extensions */
7892 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::anteater_draw_background, nullptr, nullptr);
7893
7894 /* decode graphics */
7895 decode_anteater_gfx();
7896 }
7897
7898
init_anteateruk()7899 void galaxian_state::init_anteateruk()
7900 {
7901 /* video extensions */
7902 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::anteater_draw_background, nullptr, nullptr);
7903 }
7904
7905
init_superbon()7906 void galaxian_state::init_superbon()
7907 {
7908 /* video extensions */
7909 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7910
7911 /* decode code */
7912 decode_superbon();
7913 }
7914
7915
init_calipso()7916 void galaxian_state::init_calipso()
7917 {
7918 /* video extensions */
7919 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, &galaxian_state::calipso_extend_sprite_info);
7920 }
7921
7922
init_moonwar()7923 void galaxian_state::init_moonwar()
7924 {
7925 /* video extensions */
7926 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7927
7928 save_item(NAME(m_moonwar_port_select));
7929 }
7930
7931
init_ghostmun()7932 void galaxian_state::init_ghostmun()
7933 {
7934 /* same as Pacmanbl... */
7935 init_pacmanbl();
7936
7937 /* ...but sprite clip limits need to be adjusted */
7938 //galaxian_sprite_clip_start = 12; // this adjustment no longer exists
7939 //galaxian_sprite_clip_end = 250;
7940 }
7941
init_froggrs()7942 void galaxian_state::init_froggrs()
7943 {
7944 /* video extensions */
7945 common_init(nullptr, &galaxian_state::frogger_draw_background, &galaxian_state::frogger_extend_tile_info, &galaxian_state::frogger_extend_sprite_info);
7946
7947 /* decrypt */
7948 decode_frogger_sound();
7949 decode_frogger_gfx();
7950 }
7951
7952
7953
init_jungsub()7954 void galaxian_state::init_jungsub()
7955 {
7956 decode_mooncrst(0x4000, memregion("maincpu")->base());
7957
7958 /* video extensions */
7959 common_init(&galaxian_state::scramble_draw_bullet, &galaxian_state::scramble_draw_background, nullptr, nullptr);
7960 }
7961
7962 /*************************************
7963 *
7964 * ROM definitions
7965 * Galaxian-derived games
7966 *
7967 *************************************/
7968
7969 ROM_START( galaxian )
7970 ROM_REGION( 0x4000, "maincpu", 0 )
7971 ROM_LOAD( "galmidw.u", 0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) )
7972 ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
7973 ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
7974 ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
7975 ROM_LOAD( "7l", 0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) )
7976
7977 ROM_REGION( 0x1000, "gfx1", 0 )
7978 ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
7979 ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
7980
7981 ROM_REGION( 0x0020, "proms", 0 )
7982 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
7983 ROM_END
7984
7985 ROM_START( galaxiana )
7986 ROM_REGION( 0x4000, "maincpu", 0 )
7987 ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
7988 ROM_LOAD( "7j.bin", 0x1000, 0x1000, CRC(4e6f66a1) SHA1(ee2a675ab34485c0f58c51be7630a51e27a7a8f3) )
7989 ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
7990
7991 ROM_REGION( 0x1000, "gfx1", 0 )
7992 ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
7993 ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
7994
7995 ROM_REGION( 0x0020, "proms", 0 )
7996 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
7997 ROM_END
7998
7999 ROM_START( galaxianm )
8000 ROM_REGION( 0x4000, "maincpu", 0 )
8001 ROM_LOAD( "galmidw.u", 0x0000, 0x0800, CRC(745e2d61) SHA1(e65f74e35b1bfaccd407e168ea55678ae9b68edf) )
8002 ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
8003 ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
8004 ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
8005 ROM_LOAD( "galmidw.z", 0x2000, 0x0800, CRC(cb24f797) SHA1(e6bb977ded0654c2c7388aad188059e1e0647908) )
8006
8007 ROM_REGION( 0x1000, "gfx1", 0 )
8008 ROM_LOAD( "galaxian.j1", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
8009 ROM_LOAD( "galaxian.l1", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
8010
8011 ROM_REGION( 0x0020, "proms", 0 )
8012 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8013 ROM_END
8014
8015 ROM_START( galaxianmo )
8016 ROM_REGION( 0x4000, "maincpu", 0 )
8017 ROM_LOAD( "galaxian.u", 0x0000, 0x0800, CRC(fac42d34) SHA1(0b96d9f1c6bf0e0b7f757dcbaeacfbfafefc54d1) )
8018 ROM_LOAD( "galaxian.v", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
8019 ROM_LOAD( "galaxian.w", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
8020 ROM_LOAD( "galaxian.y", 0x1800, 0x0800, CRC(96a7ac94) SHA1(c3c7a43117c8b9fd8621823c872889f8e31bf935) )
8021 ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
8022
8023 ROM_REGION( 0x1000, "gfx1", 0 )
8024 ROM_LOAD( "galaxian.j1", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
8025 ROM_LOAD( "galaxian.l1", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
8026
8027 ROM_REGION( 0x0020, "proms", 0 )
8028 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8029 ROM_END
8030
8031 ROM_START( galaxiant )
8032 ROM_REGION( 0x4000, "maincpu", 0 )
8033 ROM_LOAD( "gl-03.8g", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) /* All eprom are HN462716 eproms */
8034 ROM_LOAD( "gl-04.8f", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
8035 ROM_LOAD( "gl-05.8e", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
8036 ROM_LOAD( "gl-06.8d", 0x1800, 0x0800, CRC(097d92a2) SHA1(63ef86657286a4e1fae4f795e0e6b410ca2ef06b) )
8037 ROM_LOAD( "gl-07.8c", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
8038
8039 ROM_REGION( 0x1000, "gfx1", 0 )
8040 ROM_LOAD( "gl-02.1k", 0x0000, 0x0800, CRC(d14f7510) SHA1(cd09e6ee0a3890d01b2415f5b8346c42c02d15a3) ) /* This arrangement produces the correct colors */
8041 ROM_LOAD( "gl-01.1j", 0x0800, 0x0800, CRC(968b6016) SHA1(f13e4a8d0fdeb121d39ca76120acdc6c7e7f377c) ) /* Are the PCB locations reversed for these two? */
8042
8043 ROM_REGION( 0x0020, "proms", 0 )
8044 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8045 ROM_END
8046
8047 ROM_START( galaxiani )
8048 ROM_REGION( 0x4000, "maincpu", 0 )
8049 ROM_LOAD( "cp-1.8g", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) /* All eprom are MBM2716 eproms */
8050 ROM_LOAD( "cp-2.8f", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
8051 ROM_LOAD( "cp-3.8e", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
8052 ROM_LOAD( "cp-4.8d", 0x1800, 0x0800, CRC(097d92a2) SHA1(63ef86657286a4e1fae4f795e0e6b410ca2ef06b) )
8053 ROM_LOAD( "cp-5.8c", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
8054
8055 ROM_REGION( 0x1000, "gfx1", 0 )
8056 ROM_LOAD( "cp-7.1k", 0x0000, 0x0800, CRC(287159b7) SHA1(a0bcdac1f133d4386dababba36177b99a21c5872) )
8057 ROM_LOAD( "cp-6.1j", 0x0800, 0x0800, CRC(6fb54cb1) SHA1(485f05203d9c4b4d24ecba699c8d8cdff3eb021a) )
8058
8059 ROM_REGION( 0x0020, "proms", 0 )
8060 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8061 ROM_END
8062
8063 ROM_START( galaxrf )
8064 ROM_REGION( 0x4000, "maincpu", 0 )
8065 ROM_LOAD( "princip1.u", 0x0000, 0x0800, CRC(3d5d9bae) SHA1(36ef85b42c361e70cd6f31351d6f4b0ef3f3492f) )
8066 ROM_LOAD( "princip2.v", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
8067 ROM_LOAD( "princip3.w", 0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
8068 ROM_LOAD( "princip4.y", 0x1800, 0x0800, CRC(d74bdd2a) SHA1(68917489b90e7fc3dd1fe9f18d7ef25e12c8d823) )
8069 ROM_LOAD( "princip5.z", 0x2000, 0x0800, CRC(7eeb9e63) SHA1(c05da0f8a3c06aff441f3f9bda891f3e173dc7b7) )
8070
8071 ROM_REGION( 0x1000, "gfx1", 0 )
8072 ROM_LOAD( "graphhj.j1", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
8073 ROM_LOAD( "graphkl.l1", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
8074
8075 ROM_REGION( 0x0020, "proms", 0 ) // assumed to be the same
8076 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8077 ROM_END
8078
8079 ROM_START( galaxianrp )
8080 ROM_REGION( 0x4000, "maincpu", 0 )
8081 ROM_LOAD( "4.7k", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) ) // All eproms are Fujitsu MB8516 eproms
8082 ROM_LOAD( "5.7j", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
8083 ROM_LOAD( "6.7h", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
8084 ROM_LOAD( "7.7f", 0x1800, 0x0800, CRC(097d92a2) SHA1(63ef86657286a4e1fae4f795e0e6b410ca2ef06b) )
8085 ROM_LOAD( "3.7l", 0x2000, 0x0800, CRC(5341d75a) SHA1(40bc8fcc598f58c6ff944e2a4a9288463e75a09d) )
8086
8087 ROM_REGION( 0x1000, "gfx1", 0 )
8088 ROM_LOAD( "2.1j", 0x0000, 0x0800, CRC(b8629cc6) SHA1(d529e9434f497a80953fe3768d34c805d072f88b) )
8089 ROM_LOAD( "1.1l", 0x0800, 0x0800, CRC(6d42351c) SHA1(2193deadcbee109c5c14b0c31d1e113f747744a3) )
8090
8091 ROM_REGION( 0x0020, "proms", 0 )
8092 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, BAD_DUMP CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) // Taken from the parent set
8093 ROM_END
8094
8095 // PCB is a bootleg Galaxian, with ROMs 1-4 on a large daughterboard mounted on PCB stilts. The game plays just like regular Galaxian, but the PCB
8096 // has no on-board audio amplifier. The markings 'SGx' were all written in pencil on the ceramic body of the EPROMs. This is of European origin.
8097 ROM_START( galaxyx )
8098 ROM_REGION( 0x4000, "maincpu", 0 )
8099 ROM_LOAD( "sg1", 0x0000, 0x0800, CRC(d493cfd1) SHA1(a93e2aa7e179fb8adbc26f19f3319236b22f882f) )
8100 ROM_LOAD( "sg2", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
8101 ROM_LOAD( "sg3", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
8102 ROM_LOAD( "sg4", 0x1800, 0x0800, CRC(04329e33) SHA1(a85256a7fcfb84d8fdc4830171092c6061f8a979) )
8103 ROM_LOAD( "sg5.7l", 0x2000, 0x0800, CRC(878de26d) SHA1(baf6a1cec80596453f8fef4d24d6985d9d859412) )
8104
8105 ROM_REGION( 0x1000, "gfx1", 0 )
8106 ROM_LOAD( "sg6.1h", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
8107 ROM_LOAD( "sg7.1k", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
8108
8109 ROM_REGION( 0x0020, "proms", 0 )
8110 ROM_LOAD( "sgprom.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8111 ROM_END
8112
8113 ROM_START( galaxrfgg )
8114 ROM_REGION( 0x4000, "maincpu", 0 )
8115 ROM_LOAD( "gxrf.7f", 0x0000, 0x1000, CRC(c06eeb10) SHA1(cf1006a7ff02fe8b04a096d802fb8d8937dd913d) )
8116 ROM_LOAD( "gxrf.7j", 0x1000, 0x1000, CRC(182ff334) SHA1(11e84aa887679e3fa977f00dd0b57a7df8ca7d88) )
8117 ROM_LOAD( "gxrf.7l", 0x2000, 0x0800, CRC(ee827e75) SHA1(67306fdfa54aa4e3e9ccaa7f518e58711b6759fe) )
8118
8119 ROM_REGION( 0x1000, "gfx1", 0 )
8120 ROM_LOAD( "gxrf.1jh", 0x0000, 0x0800, CRC(23e627ff) SHA1(11f8f50fcaa29f757f27d77ea2b977f65dc87e38) )
8121 ROM_LOAD( "gxrf.1lk", 0x0800, 0x0800, CRC(0dbcee5b) SHA1(b169c6e539a583a99e1e3ef5982d4c1ab395551f) )
8122
8123 ROM_REGION( 0x0020, "proms", 0 )
8124 ROM_LOAD( "gxrf.6l", 0x0000, 0x0020, CRC(992350e5) SHA1(e901b1abd11cc0f02dd6d87b429d8997f762c15d) )
8125 ROM_END
8126
8127 ROM_START( galaxrcgg )
8128 ROM_REGION( 0x4000, "maincpu", 0 )
8129 ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(c06eeb10) SHA1(cf1006a7ff02fe8b04a096d802fb8d8937dd913d) )
8130 ROM_LOAD( "7j.bin", 0x1000, 0x1000, CRC(182ff334) SHA1(11e84aa887679e3fa977f00dd0b57a7df8ca7d88) )
8131 ROM_LOAD( "7l.bin", 0x2000, 0x1000, CRC(420dbbf6) SHA1(678563afd091528ef358a8deaae4ac3cee62e8f4) )
8132
8133 ROM_REGION( 0x1000, "gfx1", 0 )
8134 ROM_LOAD( "1hj.bin", 0x0000, 0x0800, CRC(23e627ff) SHA1(11f8f50fcaa29f757f27d77ea2b977f65dc87e38) )
8135 ROM_LOAD( "1kl.bin", 0x0800, 0x0800, CRC(0dbcee5b) SHA1(b169c6e539a583a99e1e3ef5982d4c1ab395551f) )
8136
8137 ROM_REGION( 0x0020, "proms", 0 ) // not dumped from this board, supposed to be the same
8138 ROM_LOAD( "gxrf.6l", 0x0000, 0x0020, CRC(992350e5) SHA1(e901b1abd11cc0f02dd6d87b429d8997f762c15d) )
8139 ROM_END
8140
8141 ROM_START( astrians )
8142 ROM_REGION( 0x10000, "maincpu", 0 )
8143 ROM_LOAD( "astrians.7h", 0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) )
8144 ROM_LOAD( "astrians.7j", 0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) )
8145 ROM_LOAD( "astrians.7k", 0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) )
8146 ROM_LOAD( "astrians.7l", 0x1800, 0x0800, CRC(2db56b2f) SHA1(b15ce010560f3692d4254a93bff234b409697bac) )
8147 ROM_LOAD( "astrians.7m", 0x2000, 0x0800, CRC(41075efb) SHA1(2839981d9aab87167a6c8c3e9854028e3e11daaa) )
8148
8149 ROM_REGION( 0x1000, "gfx1", 0 )
8150 ROM_LOAD( "astrians.1h", 0x0000, 0x0800, CRC(77c074b4) SHA1(a33f8826ffd593454b72b21cf6d7be084d095a87) )
8151 ROM_LOAD( "astrians.1k", 0x0800, 0x0800, CRC(c30fcc46) SHA1(e99998271c750ffa436d83277bea9f07b840c880) )
8152
8153 ROM_REGION( 0x0020, "proms", 0 )
8154 ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8155 ROM_END
8156
8157 ROM_START( moonaln )
8158 ROM_REGION( 0x4000, "maincpu", 0 )
8159 ROM_LOAD( "galx.u", 0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) ) // prg1.bin
8160 ROM_LOAD( "prg2.bin", 0x0800, 0x0800, CRC(59580b30) SHA1(e659426ad8c4e5e10a7cdd07d8b4fea93f875026) )
8161 ROM_LOAD( "prg3.bin", 0x1000, 0x0800, CRC(b64e9d12) SHA1(3b07902ea61388f54c03d65082e78dfc0fa8d3d2) )
8162 ROM_LOAD( "superg.y", 0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) ) // prg4.bin
8163 ROM_LOAD( "prg5.bin", 0x2000, 0x0800, CRC(8bb78987) SHA1(5f24dba0bb31fc8bda5bf570d568472befc4d740) )
8164
8165 ROM_REGION( 0x1000, "gfx1", 0 )
8166 ROM_LOAD( "ca1.bin", 0x0000, 0x0800, CRC(074271dd) SHA1(cd6a40b493bc51c5340d7083f83c51834b95b5fe) )
8167 ROM_LOAD( "ca2.bin", 0x0800, 0x0800, CRC(84d90397) SHA1(93e6ded079c9721d3f9c003e378e8121584671c9) )
8168
8169 ROM_REGION( 0x0020, "proms", 0 )
8170 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8171 ROM_END
8172
8173 ROM_START( kamikazp )
8174 ROM_REGION( 0x4000, "maincpu", 0 )
8175 ROM_LOAD( "kk1pmc.bin", 0x0000, 0x0800, CRC(4a29bbe4) SHA1(731e77d76420ab946fb3963681770c81f79c705d) )
8176 ROM_LOAD( "kk2pmc.bin", 0x0800, 0x0800, CRC(65c57131) SHA1(6884421b1ee74e6913ceb519b29979cf764ee3f7) )
8177 ROM_LOAD( "kk3pmc.bin", 0x1000, 0x0800, CRC(24cf6da0) SHA1(1d6c6d3e8af4f3da449b363eb710c3a42f1dfb64) )
8178 ROM_LOAD( "kk4pmc.bin", 0x1800, 0x0800, CRC(5e5ebca8) SHA1(f4f1c4f180a46fed67bb05d9b61c98a556645e7a) )
8179 ROM_LOAD( "kk5pmc.bin", 0x2000, 0x0800, CRC(6d325b14) SHA1(2f67db374976cfa1dee3d6136a4b0404db7870f6) )
8180 ROM_LOAD( "kk6pmc.bin", 0x2800, 0x0800, CRC(05883c29) SHA1(22a4e6ce5e35d4ddea4d1b583a36b4a64a899159) )
8181
8182 ROM_REGION( 0x1000, "gfx1", 0 )
8183 ROM_LOAD( "kk8pmc.bin", 0x0000, 0x0800, CRC(96b268b1) SHA1(3ad1fa972f8f841e26acd7e3363f42df898d01c6) )
8184 ROM_LOAD( "kk7pmc.bin", 0x0800, 0x0800, CRC(58673a07) SHA1(4e51f803718f39436e43d3bceda836215a98cc37) )
8185
8186 ROM_REGION( 0x0020, "proms", 0 )
8187 ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8188 ROM_END
8189
8190 ROM_START( superg )
8191 ROM_REGION( 0x4000, "maincpu", 0 )
8192 ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
8193 ROM_LOAD( "superg.w", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
8194 ROM_LOAD( "superg.y", 0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) )
8195 ROM_LOAD( "superg.z", 0x2000, 0x0800, CRC(e6312e35) SHA1(c4010459379d7fe00f605aaf288928b2deffb8b2) )
8196
8197 ROM_REGION( 0x1000, "gfx1", 0 )
8198 ROM_LOAD( "galmidw.1j", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
8199 ROM_LOAD( "galmidw.1k", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
8200
8201 ROM_REGION( 0x0020, "proms", 0 )
8202 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8203 ROM_END
8204
8205 ROM_START( supergs ) // rom names are from HBMAME; real names yet to be found
8206 ROM_REGION( 0x10000, "maincpu", 0 )
8207 ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
8208 ROM_LOAD( "superg.w", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
8209 ROM_LOAD( "superg.y", 0x1800, 0x0800, CRC(9463f753) SHA1(d9cb35c19aafec43d08b048bbe2337a790f6ba9d) )
8210 ROM_LOAD( "supergs.z", 0x2000, 0x0800, CRC(95e9005c) SHA1(cb4c556f00ec2ae9876d235224a7eb7816c06f60) )
8211
8212 ROM_REGION( 0x1000, "gfx1", 0 )
8213 ROM_LOAD( "galmidw.1j", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
8214 ROM_LOAD( "galmidw.1k", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
8215
8216 ROM_REGION( 0x0020, "proms", 0 )
8217 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8218 ROM_END
8219
8220 ROM_START( galturbo )
8221 ROM_REGION( 0x4000, "maincpu", 0 )
8222 ROM_LOAD( "galturbo.u", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) )
8223 ROM_LOAD( "galx.v", 0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) )
8224 ROM_LOAD( "superg.w", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
8225 ROM_LOAD( "galturbo.y", 0x1800, 0x0800, CRC(a44f450f) SHA1(4009834afb45e9b23c7cf058bcd3378ef8601872) )
8226 ROM_LOAD( "galturbo.z", 0x2000, 0x0800, CRC(3247f3d4) SHA1(5754dedc2d06736629d85514b2e7c262ce27bf2d) )
8227
8228 ROM_REGION( 0x1000, "gfx1", 0 )
8229 ROM_LOAD( "galturbo.1h", 0x0000, 0x0800, CRC(a713fd1a) SHA1(abf86fe5cb7243a1a36d7ac0a868577a3360dcca) )
8230 ROM_LOAD( "galturbo.1k", 0x0800, 0x0800, CRC(28511790) SHA1(dec2e183a753295d033a56184c973bbc810abf55) )
8231
8232 ROM_REGION( 0x0020, "proms", 0 )
8233 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8234 ROM_END
8235
8236 ROM_START( galapx )
8237 ROM_REGION( 0x4000, "maincpu", 0 )
8238 ROM_LOAD( "galx.u", 0x0000, 0x0800, CRC(79e4007d) SHA1(d55050498a670d1c022ba3caad34f8fcaccf4a30) )
8239 ROM_LOAD( "galx.v", 0x0800, 0x0800, CRC(bc16064e) SHA1(4e3220fd63c8184bf9581a89dffb6944d8fae3bb) )
8240 ROM_LOAD( "galx.w", 0x1000, 0x0800, CRC(72d2d3ee) SHA1(96e0c5824e46d7398c7e58dd6b75a9f4ead6f3f5) )
8241 ROM_LOAD( "galx.y", 0x1800, 0x0800, CRC(afe397f3) SHA1(283c6f3b3f07581d88f7a6e11fc36947a9d90e2e) )
8242 ROM_LOAD( "galx.z", 0x2000, 0x0800, CRC(778c0d3c) SHA1(6a81875abfea515d379c6212cb57f8e54573e943) )
8243
8244 ROM_REGION( 0x1000, "gfx1", 0 )
8245 ROM_LOAD( "galx.1h", 0x0000, 0x0800, CRC(e8810654) SHA1(b6924c7ad765c32714e6abd5bb56b2732edd5855) )
8246 ROM_LOAD( "galx.1k", 0x0800, 0x0800, CRC(cbe84a76) SHA1(c6d72fb452e8213dd40a2eb5dcca726d7cdca658) )
8247
8248 ROM_REGION( 0x0020, "proms", 0 )
8249 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8250 ROM_END
8251
8252 ROM_START( galap1 )
8253 ROM_REGION( 0x4000, "maincpu", 0 )
8254 ROM_LOAD( "7f.bin", 0x0000, 0x1000, CRC(4335b1de) SHA1(e41e3d90dac738cf71377f3b476ec67b14dee27a) )
8255 ROM_LOAD( "galaxian.w", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) )
8256 ROM_LOAD( "galx_1_4.rom", 0x1800, 0x0800, CRC(e71e1d9e) SHA1(32bf22b06c84d36de7c1280740b9c11e8d6a12b6) )
8257 ROM_LOAD( "galx_1_5.rom", 0x2000, 0x0800, CRC(6e65a3b2) SHA1(c9f20645ad2882e937245a9e90504423bb492158) )
8258
8259 ROM_REGION( 0x1000, "gfx1", 0 )
8260 ROM_LOAD( "galmidw.1j", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
8261 ROM_LOAD( "galmidw.1k", 0x0800, 0x0800, CRC(c31ada9e) SHA1(237ebb48549b34ca59a13cc2706512d957413ec4) )
8262
8263 ROM_REGION( 0x0020, "proms", 0 )
8264 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8265 ROM_END
8266
8267 ROM_START( galap4 )
8268 ROM_REGION( 0x4000, "maincpu", 0 )
8269 ROM_LOAD( "galnamco.u", 0x0000, 0x0800, CRC(acfde501) SHA1(4b72c1ffecaccadc541da2367f3ef70a2a9aed64) )
8270 ROM_LOAD( "galnamco.v", 0x0800, 0x0800, CRC(65cf3c77) SHA1(1c5249815816b395e1e04bf6a7dbb63e40faa0e3) )
8271 ROM_LOAD( "galnamco.w", 0x1000, 0x0800, CRC(9eef9ae6) SHA1(b2282e4edb8911e6aabfa936c3526f90381e1320) )
8272 ROM_LOAD( "galnamco.y", 0x1800, 0x0800, CRC(56a5ddd1) SHA1(1f87f647ebdffba28d5957f195448f6bce17f4d5) )
8273 ROM_LOAD( "galnamco.z", 0x2000, 0x0800, CRC(f4bc7262) SHA1(c4b70e474d49f45cec96f7c250bd77e01e18601a) )
8274
8275 ROM_REGION( 0x1000, "gfx1", 0 )
8276 ROM_LOAD( "galx_4c1.rom", 0x0000, 0x0800, CRC(d5e88ab4) SHA1(737a22e406fd0a97d10e93a2c91c3aa61aebbdef) )
8277 ROM_LOAD( "galx_4c2.rom", 0x0800, 0x0800, CRC(a57b83e4) SHA1(335d8674df1d237a4b83da00eb9aee346bc2e901) )
8278
8279 ROM_REGION( 0x0020, "proms", 0 )
8280 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8281 ROM_END
8282
8283 ROM_START( swarm )
8284 ROM_REGION( 0x4000, "maincpu", 0 )
8285 ROM_LOAD( "swarm1.bin", 0x0000, 0x0800, CRC(21eba3d0) SHA1(d07f141d785c86faca8c40af034c26f2789e9346) )
8286 ROM_LOAD( "swarm2.bin", 0x0800, 0x0800, CRC(f3a436cd) SHA1(8d64e61b823e22f17cb79bf9e0c7b3c80c76413f) )
8287 ROM_LOAD( "swarm3.bin", 0x1000, 0x0800, CRC(2915e38b) SHA1(045d4cc2c363b9ba8d066f902f03b7eacbeb1f5e) )
8288 ROM_LOAD( "swarm4.bin", 0x1800, 0x0800, CRC(8bbbf486) SHA1(84c975562c9c359069fb70f7f416420c74d40622) )
8289 ROM_LOAD( "swarm5.bin", 0x2000, 0x0800, CRC(f1b1987e) SHA1(0c8b57cb156fdd1a81a5e4535464cafab737185b) )
8290
8291 ROM_REGION( 0x1000, "gfx1", 0 )
8292 ROM_LOAD( "swarma.bin", 0x0000, 0x0800, CRC(ef8657bb) SHA1(c942db83231b04041e2794a08ce779331613edcf) )
8293 ROM_LOAD( "swarmb.bin", 0x0800, 0x0800, CRC(60c4bd31) SHA1(a8f22f8d7a9fca2c29091888e243dfa10211e138) )
8294
8295 ROM_REGION( 0x0020, "proms", 0 )
8296 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8297 ROM_END
8298
8299 ROM_START( zerotime )
8300 ROM_REGION( 0x4000, "maincpu", 0 )
8301 ROM_LOAD( "zt-p01c.016", 0x0000, 0x0800, CRC(90a2bc61) SHA1(9d23dfcf5310cf1d4aa1b473ec84279585e1a876) )
8302 ROM_LOAD( "zt-2.016", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
8303 ROM_LOAD( "zt-3.016", 0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
8304 ROM_LOAD( "zt-4.016", 0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) )
8305 ROM_LOAD( "zt-5.016", 0x2000, 0x0800, CRC(af9260d7) SHA1(955e466a8989993351dc69d73ca322c1c9af7b63) )
8306
8307 ROM_REGION( 0x1000, "gfx1", 0 )
8308 ROM_LOAD( "ztc-2.016", 0x0000, 0x0800, CRC(1b13ca05) SHA1(6999068771dacc6bf6c17eb858af593a929d09af) )
8309 ROM_LOAD( "ztc-1.016", 0x0800, 0x0800, CRC(5cd7df03) SHA1(77873408c89546a17b1da3f64b7e96e314fadb17) )
8310
8311 ROM_REGION( 0x0020, "proms", 0 )
8312 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8313 ROM_END
8314
8315 ROM_START( galaktron )
8316 ROM_REGION( 0x4000, "maincpu", 0 )
8317 ROM_LOAD( "galaktron_g1.bin", 0x0000, 0x0800, CRC(ac64aabe) SHA1(1cd834bf8b387428639dffd5e4b0ee72fa8aafdf) )
8318 ROM_LOAD( "galaktron_g2.bin", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
8319 ROM_LOAD( "galaktron_g3.bin", 0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
8320 ROM_LOAD( "galaktron_g4.bin", 0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) )
8321 ROM_LOAD( "galaktron_g5.bin", 0x2000, 0x0800, CRC(9c1821bb) SHA1(618602c2376be1077ae59bef8dda0f528c9665c3) )
8322
8323 ROM_REGION( 0x1000, "gfx1", 0 )
8324 ROM_LOAD( "galaktron_c2.bin", 0x0000, 0x0800, CRC(1b13ca05) SHA1(6999068771dacc6bf6c17eb858af593a929d09af) )
8325 ROM_LOAD( "galaktron_c1.bin", 0x0800, 0x0800, CRC(5cd7df03) SHA1(77873408c89546a17b1da3f64b7e96e314fadb17) )
8326
8327 ROM_REGION( 0x0020, "proms", 0 )
8328 ROM_LOAD( "galaktron_pr.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8329 ROM_END
8330
8331 // Late-to-market bootleg with PCB mods to use a single program rom
8332 // Datamat is the old name of Datasat, a technical service and distributor of arcade PCB's from the 80's and 90's.
8333 // A lot of the bootleg PCB's around Spain have Datamat stickers on the roms. It was one of the most important PCB sellers/distributors in the country from the era.
8334 // Datamat still operate today as Datasat http://datasat.info/
8335 ROM_START( zerotimed )
8336 ROM_REGION( 0x4000, "maincpu", 0 )
8337 ROM_LOAD( "zerotime_datamat.bin", 0x0000, 0x4000, CRC(be60834b) SHA1(426cb27a38fd99485481cb74c7372df8b7c8832a) )
8338
8339 ROM_REGION( 0x1000, "gfx1", 0 )
8340 ROM_LOAD( "ztc-2.016", 0x0000, 0x0800, CRC(1b13ca05) SHA1(6999068771dacc6bf6c17eb858af593a929d09af) )
8341 ROM_LOAD( "ztc-1.016", 0x0800, 0x0800, CRC(5cd7df03) SHA1(77873408c89546a17b1da3f64b7e96e314fadb17) )
8342
8343 ROM_REGION( 0x0020, "proms", 0 )
8344 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8345 ROM_END
8346
8347 // Marti Colls (Falgas) bootleg
8348 ROM_START( zerotimemc )
8349 ROM_REGION( 0x4000, "maincpu", 0 )
8350 ROM_LOAD( "4_7k.bin", 0x0000, 0x0800, CRC(ac64aabe) SHA1(1cd834bf8b387428639dffd5e4b0ee72fa8aafdf) )
8351 ROM_LOAD( "5_7j.bin", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
8352 ROM_LOAD( "6_7h.bin", 0x1000, 0x0800, CRC(7c86fc8a) SHA1(ea7e16cfd765fb992bd476796e2e3a5f87e8360c) )
8353 ROM_LOAD( "7_7f.bin", 0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) )
8354 ROM_LOAD( "3_7l.bin", 0x2000, 0x0800, CRC(af9260d7) SHA1(955e466a8989993351dc69d73ca322c1c9af7b63) )
8355
8356 ROM_REGION( 0x1000, "gfx1", 0 )
8357 ROM_LOAD( "2_1hj.bin", 0x0000, 0x0800, CRC(bc7d0985) SHA1(550a44c9ddc8da66a29405591a590f91d2675cdf) )
8358 ROM_LOAD( "1_1kl.bin", 0x0800, 0x0800, CRC(c48b88d0) SHA1(dc79f596395af0f3137eb932fe224ab8307d8771) )
8359
8360 /* Not dumped on the Marti Colls PCB, taken from the parent set */
8361 ROM_REGION( 0x0020, "proms", 0 )
8362 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8363 ROM_END
8364
8365 // Unknown manufacturer / bootleger
8366 ROM_START( zerotimeu )
8367 ROM_REGION( 0x4000, "maincpu", 0 )
8368 ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(ac64aabe) SHA1(1cd834bf8b387428639dffd5e4b0ee72fa8aafdf) )
8369 ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
8370 ROM_LOAD( "3.bin", 0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
8371 ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) )
8372 ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(af9260d7) SHA1(955e466a8989993351dc69d73ca322c1c9af7b63) )
8373
8374 ROM_REGION( 0x1000, "gfx1", 0 )
8375 ROM_LOAD( "hj.bin", 0x0000, 0x0800, CRC(84decf98) SHA1(2e565cb6057b1816a6b4541e6dfadd3c3762fa36) )
8376 ROM_LOAD( "kl.bin", 0x0800, 0x0800, CRC(18df5c90) SHA1(6d6151c95c4f0da24e21934a360a40c5526f0be2) )
8377
8378 ROM_REGION( 0x0020, "proms", 0 )
8379 ROM_LOAD( "82s123.bin", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8380 ROM_END
8381
8382 // Cirsa bootleg
8383 ROM_START( galaxcirsa )
8384 ROM_REGION( 0x4000, "maincpu", 0 )
8385 ROM_LOAD( "cirsagal.1", 0x0000, 0x0800, CRC(ac64aabe) SHA1(1cd834bf8b387428639dffd5e4b0ee72fa8aafdf) )
8386 ROM_LOAD( "cirsagal.2", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
8387 ROM_LOAD( "cirsagal.3", 0x1000, 0x0800, CRC(7c86fc8a) SHA1(ea7e16cfd765fb992bd476796e2e3a5f87e8360c) )
8388 ROM_LOAD( "cirsagal.4", 0x1800, 0x0800, CRC(786d690a) SHA1(50c5c07941006e3b71afbf057d27daa2f2274925) )
8389 ROM_LOAD( "cirsagal.5", 0x2000, 0x0800, CRC(863a688f) SHA1(fa1f92476e10af9a63290ed30359bc88e7721528) )
8390
8391 ROM_REGION( 0x1000, "gfx1", 0 )
8392 ROM_LOAD( "cirsagal.h", 0x0000, 0x0800, CRC(6babd14e) SHA1(c8601803bc74c1089f767c4672376d4788dc4f49) )
8393 ROM_LOAD( "cirsagal.i", 0x0800, 0x0800, CRC(0997e81b) SHA1(a5c6b2b59f7a807b44e5d49c54c42d1abf2fc71a) )
8394
8395 ROM_REGION( 0x0020, "proms", 0 )
8396 ROM_LOAD( "6113_1.bin", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8397 ROM_END
8398
8399 ROM_START( starfght )
8400 ROM_REGION( 0x4000, "maincpu", 0 )
8401 ROM_LOAD( "ja.1", 0x0000, 0x0400, CRC(c6ab558b) SHA1(2b707e332c57b9ec6a61220ab2b79ed5076d0628) )
8402 ROM_LOAD( "jb.2", 0x0400, 0x0400, CRC(34b99fed) SHA1(03d12b19c9aee75313cae6af602c93205d2fd4a8) )
8403 ROM_LOAD( "jc.3", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
8404 ROM_LOAD( "jd.4", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
8405 ROM_LOAD( "je.5", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
8406 ROM_LOAD( "jf.6", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
8407 ROM_LOAD( "jg.7", 0x1800, 0x0400, CRC(707c0f02) SHA1(4cfb18b8161ec6a74663b54120bdc6371ee9dbff) )
8408 ROM_LOAD( "jh.8", 0x1c00, 0x0400, CRC(5dd26461) SHA1(173b939287d0261ff069c277a1afd724133f4c88) )
8409 ROM_LOAD( "ji.9", 0x2000, 0x0400, CRC(6651fe93) SHA1(eb1d9466090ef723ae20003e5be27059f5bea57b) )
8410 ROM_LOAD( "jj.10", 0x2400, 0x0400, CRC(12c721b9) SHA1(1944cd5129115d245ced44da7f1eb4574561c457) )
8411
8412 ROM_REGION( 0x1000, "gfx1", 0 )
8413 ROM_LOAD( "k1.7a", 0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
8414 ROM_LOAD( "k2.9a", 0x0800, 0x0800, CRC(15e387ce) SHA1(d804b1391de5a15c336aa53c812b4a885f830191) )
8415
8416 ROM_REGION( 0x0020, "proms", 0 )
8417 ROM_LOAD( "mmi6331.7f", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* Compatible with 82s123 prom */
8418 ROM_END
8419
8420 /* was marked 'star fighter' but doesn't appear to be the above game */
8421 ROM_START( galaxbsf )
8422 ROM_REGION( 0x4000, "maincpu", 0 )
8423 ROM_LOAD( "1.bn", 0x0000, 0x0400, CRC(cc37b774) SHA1(5b7d9e3c896a1f5b0353732806568d4ffead3ead) )
8424 ROM_LOAD( "2.bn", 0x0400, 0x0400, CRC(c6d21f03) SHA1(64784915bf988fd2a3eea5f219c95c8498175018) )
8425 ROM_LOAD( "3.bn", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
8426 ROM_LOAD( "4.bn", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
8427 ROM_LOAD( "5.bn", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
8428 ROM_LOAD( "6.bn", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
8429 ROM_LOAD( "7.bn", 0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) )
8430 ROM_LOAD( "8.bn", 0x1c00, 0x0400, CRC(78c53607) SHA1(780acff57b594185eb5f4b24ae7d8b4992d96611) )
8431 ROM_LOAD( "9.bn", 0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) )
8432 ROM_LOAD( "10.bn", 0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) )
8433
8434 ROM_REGION( 0x1000, "gfx1", 0 )
8435 ROM_LOAD( "11.bn", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
8436 ROM_LOAD( "12.bn", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
8437
8438 ROM_REGION( 0x0020, "proms", 0 )
8439 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8440 ROM_END
8441
8442 ROM_START( galaxbsf2 )
8443 ROM_REGION( 0x4000, "maincpu", 0 )
8444 ROM_LOAD( "gal00eg.ic41", 0x0000, 0x0400, CRC(7c44510c) SHA1(76b0831cb42cae0d56176d549f223b75e8275308) )
8445 ROM_LOAD( "gal01eg.ic5", 0x0400, 0x0400, CRC(2a426500) SHA1(c6507a289833a751da7d6907c14bc6fcd4aafda6) )
8446 ROM_LOAD( "gal02.ic6", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
8447 ROM_LOAD( "gal03.ic7", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
8448 ROM_LOAD( "gal04.ic8", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
8449 ROM_LOAD( "gal05.ic9", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
8450 ROM_LOAD( "gal06.ic10", 0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) )
8451 ROM_LOAD( "gal07eg.ic11", 0x1c00, 0x0400, CRC(16144658) SHA1(2195814579d511c290b9d0cfe7386e2c24827627) )
8452 ROM_LOAD( "gal08.ic12", 0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) )
8453 ROM_LOAD( "gal09.ic13", 0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) )
8454
8455 ROM_REGION( 0x0400, "unknown", 0 )
8456 ROM_LOAD( "gal00eg.ic4", 0x0000, 0x0400, CRC(1038467f) SHA1(e34cc53a1203335cf9c9a94c3f96cab5a444a34a) ) // sldh - the first 0x100 bytes of this is ic41, the rest is different? should it bank in somehow to give extra features??
8457
8458 ROM_REGION( 0x1000, "gfx1", 0 )
8459 ROM_LOAD( "galaxian.1h", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
8460 ROM_LOAD( "galaxian.1k", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
8461
8462 ROM_REGION( 0x0020, "proms", 0 )
8463 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8464 ROM_END
8465
8466
8467 ROM_START( galaxianbl ) // looks to be a fairly plain set with modified bonus lives etc.
8468 ROM_REGION( 0x4000, "maincpu", 0 )
8469 ROM_LOAD( "gal00eg.ic4", 0x0000, 0x0400, CRC(7c44510c) SHA1(76b0831cb42cae0d56176d549f223b75e8275308) )
8470 ROM_LOAD( "gal01eg.ic5", 0x0400, 0x0400, CRC(2a426500) SHA1(c6507a289833a751da7d6907c14bc6fcd4aafda6) )
8471 ROM_LOAD( "gal02.ic6", 0x0800, 0x0400, CRC(30e28016) SHA1(07a621e5061d85a9559a920d76716ea4db61b674) )
8472 ROM_LOAD( "gal03.ic7", 0x0c00, 0x0400, CRC(de7e7770) SHA1(b06043a1d898eb323ddabffd3d2a3b1f63df0e5e) )
8473 ROM_LOAD( "gal04.ic8", 0x1000, 0x0400, CRC(a916c919) SHA1(b3e264ff92687022a0f2f551d5df36db848b48eb) )
8474 ROM_LOAD( "gal05.ic9", 0x1400, 0x0400, CRC(9175882b) SHA1(d9943efcb9245af7f01aecc533a699bdefc7d283) )
8475 ROM_LOAD( "gal06.ic10", 0x1800, 0x0400, CRC(1237b9da) SHA1(00e11532c599fca452a816683b361a24476b7100) )
8476 ROM_LOAD( "gal07eg.ic11", 0x1c00, 0x0400, CRC(16144658) SHA1(2195814579d511c290b9d0cfe7386e2c24827627) )
8477 ROM_LOAD( "gal08.ic12", 0x2000, 0x0400, CRC(901894cc) SHA1(a189a8ab0068e9acc3be7b8e87adc1eadfd6b708) )
8478 ROM_LOAD( "gal09.ic13", 0x2400, 0x0400, CRC(5876f695) SHA1(e8c0d13066cfe4a409293b9e1380513099b35330) )
8479
8480 ROM_REGION( 0x1000, "gfx1", 0 )
8481 ROM_LOAD( "galaxian.1h", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
8482 ROM_LOAD( "galaxian.1k", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
8483
8484 ROM_REGION( 0x0020, "proms", 0 )
8485 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8486 ROM_END
8487
8488 ROM_START( galaxianbl2 ) // same program as galaxianbl, but double sized ROMs. GFX ROMs are the same as kamakazi3's.
8489 ROM_REGION( 0x4000, "maincpu", 0 )
8490 ROM_LOAD( "h7.7h", 0x0000, 0x0800, CRC(d09b9f1a) SHA1(9799dcd6780a6916bbd63e0ef93e4d2035414108) ) // ic4 + ic5
8491 ROM_LOAD( "j7.7j", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) ) // ic6 + ic7
8492 ROM_LOAD( "k7.7k", 0x1000, 0x0800, CRC(4c7031c0) SHA1(97f7ab0cedcd8eba1c8f6f516d84d672a2108258) ) // 1c8 + ic9
8493 ROM_LOAD( "l7.7l", 0x1800, 0x0800, CRC(9471cdd3) SHA1(d35e396b8ba39bf8229567035088037fae5effbb) ) // ic10 + ic11
8494 ROM_LOAD( "m7.7m", 0x2000, 0x0800, CRC(5766c95b) SHA1(cf6c226df0cc9d088b04ade43d6db87d278f8b09) ) // ic12 + ic13
8495
8496 ROM_REGION( 0x1000, "gfx1", 0 )
8497 ROM_LOAD( "kl1.1kl", 0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
8498 ROM_LOAD( "hj1.1hj", 0x0800, 0x0800, CRC(d0ba22c9) SHA1(678b22d10e1ae7dcea068da838bf6bd648e9ee28) )
8499
8500 ROM_REGION( 0x0020, "proms", 0 )
8501 ROM_LOAD( "6331-1j.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8502 ROM_END
8503
8504 ROM_START( galaxianbl3 ) // many similarities with zerotimemc
8505 ROM_REGION( 0x4000, "maincpu", 0 )
8506 ROM_LOAD( "1r.bin", 0x0000, 0x0800, CRC(ac64aabe) SHA1(1cd834bf8b387428639dffd5e4b0ee72fa8aafdf) )
8507 ROM_LOAD( "2r.bin", 0x0800, 0x0800, CRC(a433067e) SHA1(1aed1a2153c4a32a9996fc709e544f2063885599) )
8508 ROM_LOAD( "3r.bin", 0x1000, 0x0800, CRC(aaf038d4) SHA1(2d070fe7c4e9b26092f0f12a9db3392f7d8a65f1) )
8509 ROM_LOAD( "4r.bin", 0x1800, 0x0800, CRC(89b76ca0) SHA1(0190bce5e25fb2ccd904c9f35cf5f9d139056cb2) )
8510 ROM_LOAD( "5r.bin", 0x2000, 0x0800, CRC(863a688f) SHA1(fa1f92476e10af9a63290ed30359bc88e7721528) )
8511
8512 ROM_REGION( 0x1000, "gfx1", 0 )
8513 ROM_LOAD( "1kl.bin", 0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
8514 ROM_LOAD( "2hj.bin", 0x0800, 0x0800, CRC(d0ba22c9) SHA1(678b22d10e1ae7dcea068da838bf6bd648e9ee28) )
8515
8516 ROM_REGION( 0x0020, "proms", 0 )
8517 ROM_LOAD( "im8610.6l", 0x0000, 0x0020, CRC(4a3c88a5) SHA1(a7730b287c3f7b198722438db40722c78cccf845) )
8518 ROM_END
8519
8520 ROM_START( kamakazi3 ) /* Hack of Video Games (UK) Ltd. version???? flyer spells it Kamakaze III, also no year or (c) */
8521 ROM_REGION( 0x4000, "maincpu", 0 )
8522 ROM_LOAD( "f_r_a.bin", 0x0000, 0x0800, CRC(e8f3aa67) SHA1(a0e9576784dbe602dd9780e667f01f31defd7c00) )
8523 ROM_LOAD( "f_a.bin", 0x0800, 0x0800, CRC(f58283e3) SHA1(edc6e72516c50fd3402281d9936574d276581ce9) )
8524 ROM_LOAD( "f_b.bin", 0x1000, 0x0800, CRC(ddeabdae) SHA1(daa5109a32c7c9a80bdb212dc3e4e3e3c104a731) )
8525 ROM_LOAD( "f_r_c.bin", 0x1800, 0x0800, CRC(c8530a88) SHA1(b8856af80cdae7430c05239875bffdc5d67aab98) )
8526 ROM_LOAD( "f_r_d.bin", 0x2000, 0x0800, CRC(da2d77e0) SHA1(aa96fb8c6401c443b7e767f6d08713bf9e1af103) )
8527
8528 ROM_REGION( 0x1000, "gfx1", 0 )
8529 ROM_LOAD( "r_b.bin", 0x0000, 0x0800, CRC(977e37cf) SHA1(88ff1e4edadf5cfc83413a1fe999aecf4ba72232) )
8530 ROM_LOAD( "r_a.bin", 0x0800, 0x0800, CRC(d0ba22c9) SHA1(678b22d10e1ae7dcea068da838bf6bd648e9ee28) )
8531
8532 ROM_REGION( 0x0020, "proms", 0 )
8533 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8534 ROM_END
8535
8536 ROM_START( supergx )
8537 ROM_REGION( 0x10000, "maincpu", 0 )
8538 ROM_LOAD( "sg1", 0x0000, 0x0800, CRC(b83f4578) SHA1(9a5d5fc291839f7f1e0a52cca7bea29e99c13315) )
8539 ROM_LOAD( "sg2", 0x0800, 0x0800, CRC(d12ca054) SHA1(8eb7f6904c3c650bfa80908a5988622d5e693bd1) )
8540 ROM_LOAD( "sg3", 0x1000, 0x0800, CRC(53714cb1) SHA1(7dffcd3ced1c3354339bb69477f8aa4c708708db) )
8541 ROM_LOAD( "sg4", 0x1800, 0x0800, CRC(2f36fc69) SHA1(d310dcb0a79b03ee26b0575db9cba6d920cb9273) )
8542 ROM_LOAD( "sg5", 0x2000, 0x0800, CRC(1e0ed4fd) SHA1(183d8990dbff1954921f8c5b67cec09f2d380794) )
8543 ROM_LOAD( "sg6", 0x2800, 0x0800, BAD_DUMP CRC(4f3d97a8) SHA1(b9fcab182ab57e8374fef93f7fd314a155a8d04d) )
8544
8545 ROM_REGION( 0x2000, "gfx1", 0 )
8546 ROM_LOAD( "sgg1", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
8547 ROM_RELOAD( 0x0800, 0x0800 )
8548 ROM_LOAD( "sgg2", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
8549 ROM_RELOAD( 0x1800, 0x0800 )
8550
8551 ROM_REGION( 0x0020, "proms", 0 )
8552 ROM_LOAD( "supergx.prm", 0x0000, 0x0020, NO_DUMP )
8553 ROM_END
8554
8555 ROM_START( tst_galx )
8556 ROM_REGION( 0x4000, "maincpu", 0 )
8557 ROM_LOAD( "test.u", 0x0000, 0x0800, CRC(0614cd7f) SHA1(12440678be8a27a6c3032b6e43c45e27905ffa83) ) /* The Test ROM */
8558 ROM_LOAD( "galmidw.v", 0x0800, 0x0800, CRC(9c999a40) SHA1(02fdcd95d8511e64c0d2b007b874112d53e41045) )
8559 ROM_LOAD( "galmidw.w", 0x1000, 0x0800, CRC(b5894925) SHA1(0046b9ed697a34d088de1aead8bd7cbe526a2396) )
8560 ROM_LOAD( "galmidw.y", 0x1800, 0x0800, CRC(6b3ca10b) SHA1(18d8714e5ef52f63ba8888ecc5a25b17b3bf17d1) )
8561
8562 ROM_LOAD( "7l", 0x2000, 0x0800, CRC(1b933207) SHA1(8b44b0f74420871454e27894d0f004859f9e59a9) )
8563
8564 ROM_REGION( 0x1000, "gfx1", 0 )
8565 ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(39fb43a4) SHA1(4755609bd974976f04855d51e08ec0d62ab4bc07) )
8566 ROM_LOAD( "1k.bin", 0x0800, 0x0800, CRC(7e3f56a2) SHA1(a9795d8b7388f404f3b0e2c6ce15d713a4c5bafa) )
8567
8568 ROM_REGION( 0x0020, "proms", 0 )
8569 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8570 ROM_END
8571
8572 /*
8573 Dumper's notes for High Roller
8574
8575 Sub - Sub-board
8576 CPU - Main PCB Sega 96753-P (79.12.20 0758A)
8577 Hardware is very much like Galaxian
8578 The CPU is a custom (potted) processor. A little like the
8579 Sega Customs used on system 18 PCBs, etc (except it is not
8580 based on a 68000).
8581
8582 Due to poor potting, I was able to expose the custom. The
8583 battery in the custom on my PCB is flat and as a result my
8584 PCB does not work. Hence the unknown label of this archive.
8585
8586 Custom CPU contains: Z80 CPU
8587 HM4334P-4 SRAMs (x2)
8588 PAL16L88CN
8589 HCF4040
8590 LM393
8591 misc TTLs, LS00, LS32, LS138
8592 misc discrete components
8593 battery (for the SRAMs)
8594 */
8595 ROM_START( highroll ) // even if the PCB is by Sega, copyright in game is 'Kne Wla'?
8596 ROM_REGION( 0x4000, "maincpu", 0 )
8597 ROM_LOAD( "epr66", 0x0000, 0x1000, CRC(508ace44) SHA1(c7d830cf2ca0011c6e218240c46aa094c29ae083) )
8598 ROM_LOAD( "epr63", 0x1000, 0x1000, CRC(b0d2ec11) SHA1(1c226684fd869781a67bc533519c1db25d313fa3) )
8599 ROM_LOAD( "epr64", 0x2000, 0x1000, CRC(f70ded8f) SHA1(a41f2b96f3ab93d1c22f09caa21c22258f12bc6b) )
8600 ROM_LOAD( "epr65", 0x3000, 0x1000, CRC(727129c3) SHA1(d4c92690b8f4f280f78eadd9290b2a349c4f9d0d) )
8601
8602 ROM_REGION( 0x2000, "gfx1", 0 )
8603 ROM_LOAD( "epra", 0x0000, 0x1000, CRC(7033c767) SHA1(df0adceb067ed158b9fa182b110e85e58ea851c5) )
8604 ROM_LOAD( "eprb", 0x1000, 0x1000, CRC(82cf2863) SHA1(4f7e94b43ee529b3ad7fd52f9adb742ca8690385) )
8605
8606 ROM_REGION( 0x0020, "proms", 0 )
8607 ROM_LOAD( "pr50", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8608
8609 ROM_REGION( 0x0400, "nvram", 0 )
8610 ROM_LOAD( "nvram", 0x0000, 0x0400, CRC(51fd843a) SHA1(67291750a98248964d2e8bcdef5a082c230d829f) )
8611 ROM_END
8612
8613 ROM_START( blkhole )
8614 ROM_REGION( 0x10000, "maincpu", 0 )
8615 ROM_LOAD( "bh1", 0x0000, 0x0800, CRC(64998819) SHA1(69fe5dfbe6cde18ef4cae62da12b5c692c2c72b9) )
8616 ROM_LOAD( "bh2", 0x0800, 0x0800, CRC(26f26ce4) SHA1(720ce7af05ef596fb9a109591534c74d282955e8) )
8617 ROM_LOAD( "bh3", 0x1000, 0x0800, CRC(3418bc45) SHA1(088bbbde66b7b5c36fa48cf14c22146e1444e67c) )
8618 ROM_LOAD( "bh4", 0x1800, 0x0800, CRC(735ff481) SHA1(d9b32db048a0e2a1195cd6f7326005e6622242a9) )
8619 ROM_LOAD( "bh5", 0x2000, 0x0800, CRC(3f657be9) SHA1(3ed1ee0bc199c1625156d2771eecd18a57a0e6ed) )
8620 ROM_LOAD( "bh6", 0x2800, 0x0800, CRC(a057ab35) SHA1(430261bafe20fc182e6e6659019cf42643e95d54) )
8621
8622 ROM_REGION( 0x1000, "gfx1", 0 )
8623 ROM_LOAD( "bh7", 0x0000, 0x0800, CRC(975ba821) SHA1(c50d55f6ab81b803d67f5e18c1243ef85a1a2df1) )
8624 ROM_LOAD( "bh8", 0x0800, 0x0800, CRC(03d11020) SHA1(5768b573fac9aac168db2723462cca76d4d80552) )
8625
8626 ROM_REGION( 0x0020, "proms", 0 )
8627 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8628 ROM_END
8629
8630 ROM_START( orbitron )
8631 ROM_REGION( 0x10000, "maincpu", 0 )
8632 ROM_LOAD( "orbitron.3", 0x0600, 0x0200, CRC(419f9c9b) SHA1(788a3920f4270b886b3a578f8c2df33e6314a1c3) )
8633 ROM_CONTINUE( 0x0400, 0x0200)
8634 ROM_CONTINUE( 0x0200, 0x0200)
8635 ROM_CONTINUE( 0x0000, 0x0200)
8636 ROM_LOAD( "orbitron.4", 0x0e00, 0x0200, CRC(44ad56ac) SHA1(3a8339cdee50912a16ac0fb448e6659e32542c0c) )
8637 ROM_CONTINUE( 0x0c00, 0x0200)
8638 ROM_CONTINUE( 0x0a00, 0x0200)
8639 ROM_CONTINUE( 0x0800, 0x0200)
8640 ROM_LOAD( "orbitron.1", 0x1600, 0x0200, CRC(da3f5168) SHA1(1927cc7cd3b9d15b629e09781557f4c75d684182) )
8641 ROM_CONTINUE( 0x1400, 0x0200)
8642 ROM_CONTINUE( 0x1200, 0x0200)
8643 ROM_CONTINUE( 0x1000, 0x0200)
8644 ROM_LOAD( "orbitron.2", 0x1e00, 0x0200, CRC(a3b813fc) SHA1(7f0f22667bee897b474fb485d65a74d74a36991a) )
8645 ROM_CONTINUE( 0x1c00, 0x0200)
8646 ROM_CONTINUE( 0x1a00, 0x0200)
8647 ROM_CONTINUE( 0x1800, 0x0200)
8648 ROM_LOAD( "orbitron.5", 0x2000, 0x0800, CRC(20cd8bb8) SHA1(a5309cb04a656c6e1e18bb19910474af8ef814a5) )
8649
8650 ROM_REGION( 0x1000, "gfx1", 0 )
8651 ROM_LOAD( "orbitron.6", 0x0000, 0x0800, CRC(2c91b83f) SHA1(29c73b7ad0dc5a3ba739492c902ad9201eae6ef2) )
8652 ROM_LOAD( "orbitron.7", 0x0800, 0x0800, CRC(46f4cca4) SHA1(e5fb616b1d17b5b5167f05f7840638840deb2d13) )
8653
8654 ROM_REGION( 0x0020, "proms", 0 )
8655 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8656 ROM_END
8657
8658 ROM_START( luctoday )
8659 ROM_REGION( 0x10000, "maincpu", 0 )
8660 ROM_LOAD( "ltprog1.bin", 0x0000, 0x0800, CRC(59c389b9) SHA1(1e158ced3b56db2c51e422fb4c0b8893565f1956))
8661 ROM_LOAD( "ltprog2.bin", 0x2000, 0x0800, CRC(ac3893b1) SHA1(f6b9cd8111b367ff7030cba52fe965959d92568f))
8662
8663 ROM_REGION( 0x1000, "gfx1", 0 )
8664 ROM_LOAD( "ltchar2.bin", 0x0000, 0x0800, CRC(8cd73bdc) SHA1(6174f7347d2c96f9c5074bc0da5a370c9b07461b))
8665 ROM_LOAD( "ltchar1.bin", 0x0800, 0x0800, CRC(b5ba9946) SHA1(7222cbe8c41ca74b214f4dd5439bf69d90f4644e))
8666
8667 ROM_REGION( 0x0020, "proms", 0 )//This may not be the correct prom
8668 ROM_LOAD( "74s288.ch", 0x0000, 0x0020, BAD_DUMP CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d))
8669 ROM_END
8670
8671 ROM_START( chewing )
8672 ROM_REGION( 0x10000, "maincpu", 0 )
8673 ROM_LOAD( "1.bin", 0x0000, 0x1000, CRC(7470b347) SHA1(315d2631b50a6e469b9538318d95452e8d2e1f69) )
8674 ROM_LOAD( "7l.bin", 0x2000, 0x0800, CRC(78ebed36) SHA1(e80185737c8ac448901cf0e60ca50d967c323b34) )
8675
8676 ROM_REGION( 0x1000, "gfx1", 0 )
8677 ROM_LOAD( "2.bin", 0x0000, 0x0800, CRC(88c605f3) SHA1(938a9fadfa0994a1d2fc9b3266ec4ccdb5ec6d3a) )
8678 ROM_LOAD( "3.bin", 0x0800, 0x0800, CRC(77ac016a) SHA1(fa5b1e79603ca8d2ee7b3d0a78f12d9ffeec3fd4) )
8679
8680 ROM_REGION( 0x0020, "proms", 0 )
8681 ROM_LOAD( "74s288.ch", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
8682 ROM_END
8683
8684 ROM_START( catacomb )
8685 ROM_REGION( 0x10000, "maincpu", 0 )
8686 ROM_LOAD( "catacomb.u", 0x0000, 0x0800, CRC(35cc28d2) SHA1(e1dbd75fc21ec88b8119bf9508c87d78e1d5c4f6) )
8687 ROM_LOAD( "catacomb.v", 0x0800, 0x0800, CRC(1d1ce133) SHA1(e22a169003a2238004bdf6c2558198216c2353b7) )
8688 ROM_LOAD( "catacomb.w", 0x1000, 0x0800, CRC(479bbde7) SHA1(9981662cb6351de7c1730de45f645fb0e26ea467) )
8689 /* no .x */
8690 ROM_LOAD( "catacomb.y", 0x2000, 0x0800, CRC(5e3da534) SHA1(a9b960ae96c8ef0b2d590bc58b711aad949025e2) )
8691
8692 ROM_REGION( 0x1000, "gfx1", 0 )
8693 ROM_LOAD( "cat-gfx1", 0x0000, 0x0800, CRC(e871e65c) SHA1(0b528dfab0f57153db9406798848cdedee0323a0) )
8694 ROM_LOAD( "cat-gfx2", 0x0800, 0x0800, CRC(b14dafaa) SHA1(592d5931a76563b3565f22ac4c0120b9a120193f) )
8695
8696 ROM_REGION( 0x0020, "proms", 0 )
8697 /* No color PROM came with the conversion - the Moon Cresta one seems more appropriate than Galaxian,
8698 (the game is unplayable with a Galaxian PROM) but which was intended for use with the kit is unclear */
8699 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, BAD_DUMP CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8700 ROM_END
8701
8702 ROM_START( omegab )
8703 ROM_REGION( 0x10000, "maincpu", 0 )
8704 ROM_LOAD( "omega1.bin", 0x0000, 0x0800, CRC(fc2a096b) SHA1(071ff30060a1aa0a47ae6e88140b80caed00fc4e) )
8705 ROM_LOAD( "omega2.bin", 0x0800, 0x0800, CRC(ad100357) SHA1(7c5e82c25e65b4a390cf5607f15bf4df407f7f11) )
8706 ROM_LOAD( "omega3.bin", 0x1000, 0x0800, CRC(d7e3be79) SHA1(ffa228043c6c717bee8bbec16432dcfe2e348aef) )
8707 ROM_LOAD( "omega4.bin", 0x1800, 0x0800, CRC(42068171) SHA1(940ca30a5772940b8a437498d22c6121482b38e6) )
8708 ROM_LOAD( "omega5.bin", 0x2000, 0x0800, CRC(d8a93383) SHA1(5f60f127360b14206d4df638e528bf961049e37d) )
8709 ROM_LOAD( "omega6.bin", 0x2800, 0x0800, CRC(32a42f44) SHA1(94f458997ec279dce218a17b665fa8c46067e646) )
8710
8711 ROM_REGION( 0x1000, "gfx1", 0 )
8712 ROM_LOAD( "omega1h.bin", 0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
8713 ROM_LOAD( "omega1k.bin", 0x0800, 0x0800, CRC(36de42c6) SHA1(6fd93d439e3b8eab62049f925d9e8f8deeda2ae3) )
8714
8715 ROM_REGION( 0x0020, "proms", 0 )
8716 ROM_LOAD( "mmi6331-1j.86", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8717 ROM_END
8718
8719
8720 ROM_START( warofbug ) /* Shows 20c as the base of currency. I know of no US games that used dimes - unless it's another country? */
8721 ROM_REGION( 0x4000, "maincpu", 0 )
8722 ROM_LOAD( "warofbug.u", 0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) )
8723 ROM_LOAD( "warofbug.v", 0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) )
8724 ROM_LOAD( "warofbug.w", 0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) )
8725 ROM_LOAD( "warofbug.y", 0x1800, 0x0800, CRC(c14a541f) SHA1(d32e89fd18d9e1db2e4a545186eac728c0b02255) )
8726 ROM_LOAD( "warofbug.z", 0x2000, 0x0800, CRC(c167fe55) SHA1(d85c4d1bd7aa5e14eb2f11dfa14979e5dbc084a8) )
8727
8728 ROM_REGION( 0x1000, "gfx1", 0 )
8729 ROM_LOAD( "warofbug.1k", 0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) )
8730 ROM_LOAD( "warofbug.1j", 0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) )
8731
8732 ROM_REGION( 0x0020, "proms", 0 )
8733 ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
8734 ROM_END
8735
8736
8737 ROM_START( warofbugg )
8738 ROM_REGION( 0x4000, "maincpu", 0 )
8739 ROM_LOAD( "wotbg-u-1.bin", 0x0000, 0x0800, CRC(f43ff0a8) SHA1(b87abeb8af9105fa8fba78f9a68363bd89066e7f) ) // -> 0800
8740 ROM_LOAD( "wotbg-v-2.bin", 0x0800, 0x0800, CRC(eb7a028b) SHA1(8c822ae11d3cc04f749a7cd639d15b9fc830ab35) ) // -> 1800
8741 ROM_LOAD( "wotbg-w-3.bin", 0x1000, 0x0800, CRC(693e0e50) SHA1(00b19969cee0f95bfb8251c2df133ff2c9ae3b00) ) // -> ???? garbage
8742 ROM_LOAD( "wotbg-y-4.bin", 0x1800, 0x0800, CRC(885d4982) SHA1(4aeaf514a9413a9cb9a971fd258c6cf46ca66fc4) ) // -> 3800
8743 ROM_LOAD( "wotbg-z-5.bin", 0x2000, 0x0800, CRC(60041ef2) SHA1(cced5837a037ac5cd8fa6260d69d8e33de5ecd48) ) // -> 4800
8744
8745 ROM_REGION( 0x1000, "gfx1", 0 )
8746 ROM_LOAD( "warofbug.1k", 0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) )
8747 ROM_LOAD( "warofbug.1j", 0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) )
8748
8749 ROM_REGION( 0x0020, "proms", 0 )
8750 ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
8751 ROM_END
8752
8753 // has a large custom block on the ROM board
8754 ROM_START( spactrai )
8755 ROM_REGION( 0x10000, "maincpu", 0 )
8756 ROM_LOAD( "1cen.bin", 0x0000, 0x1000, CRC(fabc7fd8) SHA1(88c42dda38cc79ab4f180c4818cfb928c1cc0661) )
8757 ROM_LOAD( "2cen.bin", 0x1000, 0x1000, CRC(44ddacfa) SHA1(50a9f5f3e4ec12fd3742dcf7cf141e52300a10db) )
8758 ROM_LOAD( "3cen.bin", 0x2000, 0x1000, CRC(822749cb) SHA1(92e617088d462911118842f3f68b7ff8ac77fcf5) )
8759 ROM_LOAD( "4cen.bin", 0x3000, 0x1000, CRC(f9dda0ed) SHA1(a77f6d8ec7b3df7f308354489954c3d9b4f61b0d) )
8760 ROM_LOAD( "5cen.bin", 0x4000, 0x1000, CRC(b8c76675) SHA1(acdda20adf62d1e2eadcc097ecde6a3126231415) )
8761
8762 ROM_REGION( 0x1000, "gfx1", 0 )
8763 ROM_LOAD( "6cen.bin", 0x0000, 0x0800, CRC(a59a9f3f) SHA1(9564f1d013d566dc0b19762aec66119e2ece0b49) ) // MK2716J
8764 ROM_LOAD( "7cen.bin", 0x0800, 0x0800, CRC(9b75b40a) SHA1(4ad94db3f1d6b45a3de1ed9b51d361f20c6706e4) ) // marked MM2758Q (which is meant to be a 1Kx8 EPROM, but in reality is a 2Kx8 EPROM ?!)
8765
8766 ROM_REGION( 0x0020, "proms", 0 )
8767 ROM_LOAD( "stk.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8768 ROM_END
8769
8770
8771 /* Galaxian hardware mods for War of the Bugs warofbug/warofbugg
8772
8773 (WotB using daughterboard that plugs into Z80 socket - has a socketed PAL, two other 20-pin ICs,
8774 a 16-pin IC (all with their markings sanded off) and five EPROMs)
8775
8776 On the Galaxian board:
8777
8778 2B, 74LS366 - cut pin 15 OR pin 1 (this disables the stars)
8779 8E, 74LS139 - cut pin 11 only, join the stub left ON THE CHIP to pin 13 on the chip
8780
8781 Cut the track on the bottom of the board going to pin 21 of IC 1K
8782 (2716 eprom).
8783
8784 Cut the track on the bottom of the board going to pin 21 of IC 1H
8785 (2716 eprom).
8786
8787 Join pins 21 of IC's 1H and 1K together and connect both to +5 volts
8788 (although I've seen one set of docs saying to connect to pin 1 of
8789 ic 2N (7408) instead) */
8790
8791
8792 ROM_START( warofbugu )
8793 ROM_REGION( 0x4000, "maincpu", 0 )
8794 ROM_LOAD( "wb-prog-1.7d", 0x0000, 0x0800, CRC(b8dfb7e3) SHA1(c7c675b2638869a9cd7dbd554e6131d8c71b567a) )
8795 ROM_LOAD( "wb-prog-2.7e", 0x0800, 0x0800, CRC(fd8854e0) SHA1(b39ab41b834f18341968dd780f0a3cd07d70c16c) )
8796 ROM_LOAD( "wb-prog-3.7j", 0x1000, 0x0800, CRC(4495aa14) SHA1(f1be281db1d831770efa9cc41ea87eb348e70108) )
8797 ROM_LOAD( "wb-prog-4.7n", 0x1800, 0x0800, CRC(e4bd257c) SHA1(e9a26a50cbc76bb339dfbf3d2817229fe9ff7fc4) )
8798 ROM_LOAD( "wb-prog-5.7p", 0x2000, 0x0800, CRC(71257bb4) SHA1(3624becfda4e080795a15428a51dcda261f91210) )
8799
8800 ROM_REGION( 0x1000, "gfx1", 0 )
8801 ROM_LOAD( "warofbug.1k", 0x0000, 0x0800, CRC(8100fa85) SHA1(06641c431cace36dec98b87555f62e72f3e53a31) ) // wb-vid-1.1j
8802 ROM_LOAD( "warofbug.1j", 0x0800, 0x0800, CRC(d1220ae9) SHA1(e892bc8b0b71d8b07503e474e9c30e6cab460682) ) // wb-vid-2.1l
8803
8804 ROM_REGION( 0x0020, "proms", 0 )
8805 ROM_LOAD( "warofbug.clr", 0x0000, 0x0020, CRC(8688e64b) SHA1(ed13414257f580b98b50c9892a14159c55e7838d) )
8806 ROM_END
8807
8808
8809 ROM_START( redufo ) /* Galaxian bootleg hardware known as Artic Multi-System */
8810 ROM_REGION( 0x4000, "maincpu", 0 )
8811 ROM_LOAD( "redufo.1", 0x0000, 0x0800, CRC(6a3b873c) SHA1(82f07921d8f1da3ed8b4f99b8052bd7e2cefcb6a) )
8812 ROM_LOAD( "redufo.2", 0x0800, 0x0800, CRC(202eda3b) SHA1(5ca7b50fc510950cd6cce6f27573b5c491171bf0) )
8813 ROM_LOAD( "redufo.3", 0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) )
8814 ROM_LOAD( "redufo.4", 0x1800, 0x0800, CRC(8c1c2ef9) SHA1(3beec82c67d8e26ecd988be77efb8599a4741d4d) )
8815 ROM_LOAD( "redufo.5", 0x2000, 0x0800, CRC(ef965b24) SHA1(2e2e0ef2b2940660092c27f46ae76c9320136f17) )
8816 ROM_LOAD( "redufo.6", 0x2800, 0x0800, CRC(58b3e39b) SHA1(9b081154c90f22c17315c8bc2a47993468367768) )
8817 ROM_LOAD( "redufo.7", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) )
8818
8819 ROM_REGION( 0x1000, "gfx1", 0 )
8820 ROM_LOAD( "redufo.8", 0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) )
8821 ROM_LOAD( "redufo.9", 0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) )
8822
8823 ROM_REGION( 0x0020, "proms", 0 )
8824 ROM_LOAD( "tbp18s030n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8825 ROM_END
8826
8827 ROM_START( redufob )
8828 ROM_REGION( 0x4000, "maincpu", 0 )
8829 ROM_LOAD( "ru1a", 0x0000, 0x0800, CRC(5a8e4f37) SHA1(c0957ede91e2dc3f80e4912b877843aed5d15779) )
8830 ROM_LOAD( "ru2a", 0x0800, 0x0800, CRC(c624f52d) SHA1(119a660513ad33e35c9bdaecd588219bf8026d82) )
8831 ROM_LOAD( "ru3a", 0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) )
8832 ROM_LOAD( "ru4a", 0x1800, 0x0800, CRC(7692069e) SHA1(5130d61c857c3b85eadabcf10f3a6771c72f0f56) )
8833 ROM_LOAD( "ru5a", 0x2000, 0x0800, CRC(cb648ff3) SHA1(e0042251ca7f4a31b5bd9f8cca35278a1e152899) )
8834 ROM_LOAD( "ru6a", 0x2800, 0x0800, CRC(e1a9f58e) SHA1(4fc7489fca057156a7cf5efcb01058ce4f0db69e) )
8835
8836 ROM_REGION( 0x1000, "gfx1", 0 )
8837 ROM_LOAD( "ruhja", 0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) )
8838 ROM_LOAD( "rukla", 0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) )
8839
8840 ROM_REGION( 0x0020, "proms", 0 )
8841 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8842 ROM_END
8843
8844 ROM_START( redufob2 )
8845 ROM_REGION( 0x4000, "maincpu", 0 )
8846 ROM_LOAD( "5049.7f", 0x0000, 0x0800, CRC(ad9930d3) SHA1(63a892670e40257539a79e12caabe341509dc73e) )
8847 ROM_LOAD( "5049.7h", 0x0800, 0x0800, CRC(9ad86f24) SHA1(8da49ddc931c4771cbe8654a7f4400e2ec6f29a2) )
8848 ROM_LOAD( "5049.7k", 0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) )
8849 ROM_LOAD( "5049.7m", 0x1800, 0x0800, CRC(75db0aea) SHA1(316e5cbf6c68b67dacc309b9942590751fd0055b) )
8850 ROM_LOAD( "5049.5", 0x2000, 0x0800, CRC(f1e46275) SHA1(9e08dbaae4f0f944cc9613090c60000bf2eeb869) )
8851 ROM_LOAD( "5049.6", 0x2800, 0x0800, CRC(e1a9f58e) SHA1(4fc7489fca057156a7cf5efcb01058ce4f0db69e) )
8852
8853 ROM_REGION( 0x1000, "gfx1", 0 )
8854 ROM_LOAD( "5049.1h", 0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) )
8855 ROM_LOAD( "5049.1k", 0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) )
8856
8857 ROM_REGION( 0x0020, "proms", 0 )
8858 ROM_LOAD( "5049.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
8859 ROM_END
8860
8861 ROM_START( exodus )
8862 ROM_REGION( 0x4000, "maincpu", 0 )
8863 ROM_LOAD( "exodus1.bin", 0x0000, 0x0800, CRC(5dfe65e1) SHA1(5f1ce289b3c98a89d61d4dea952b4b8888d92ed7) )
8864 ROM_LOAD( "exodus2.bin", 0x0800, 0x0800, CRC(6559222f) SHA1(520497f6fb2b0c76be8419702e8af894283ebf0b) )
8865 ROM_LOAD( "exodus3.bin", 0x1000, 0x0800, CRC(bf7030e8) SHA1(59b0624dd91527a916ee6a27d61def82c3c14f49) )
8866 ROM_LOAD( "exodus4.bin", 0x1800, 0x0800, CRC(3607909e) SHA1(93d074fe4b258d496a0998acb3fc47f0a762227a) )
8867 ROM_LOAD( "exodus9.bin", 0x2000, 0x0800, CRC(994a90c4) SHA1(a07e3ce8f69042c45ebe00ab1d40dbb85602a7a2) )
8868 ROM_LOAD( "exodus10.bin", 0x2800, 0x0800, CRC(fbd11187) SHA1(a3bd49c4a79e76b08e6b343b94689159dc239458) )
8869 ROM_LOAD( "exodus11.bin", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) )
8870
8871 ROM_REGION( 0x1000, "gfx1", 0 )
8872 ROM_LOAD( "exodus5.bin", 0x0000, 0x0800, CRC(b34c7cb4) SHA1(146ed4a02d7540378f4a27a6643055216ad403f7) )
8873 ROM_LOAD( "exodus6.bin", 0x0800, 0x0800, CRC(50a2d447) SHA1(1f97d1096ad2a3a43a480cb1f040f4534fada3c3) )
8874
8875 ROM_REGION( 0x0020, "proms", 0 )
8876 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8877 ROM_END
8878
8879 ROM_START( tdpgal )
8880 ROM_REGION( 0x10000, "maincpu", 0 )
8881 ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(7be819fe) SHA1(ab5a332914546692f9976e243daf3040f0d9952e) )
8882 ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(70c83a5e) SHA1(7b781b027c73d6c3901c6d27901f97fae61a352d) )
8883 ROM_LOAD( "3.bin", 0x1000, 0x0800, CRC(475eb5a0) SHA1(b7436873fd74aff3577540474420a1abaa2babcb) )
8884 ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(20a71943) SHA1(e196eea20bd0518545dcde61f2697a1d6f61568b) )
8885 ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(72c4f2dc) SHA1(30a9c69afd2c4da4a14363fc0b17b1e0da188927) )
8886 ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(fa4e2be4) SHA1(a30d43189660f8a1437faf87064fce28c9c760ad) )
8887
8888 ROM_REGION( 0x1000, "gfx1", 0 )
8889 ROM_LOAD( "8.bin", 0x0000, 0x0800, CRC(d701b1d4) SHA1(8f23ba3c9f42fedd8b8f38d321118a86889f00dc) )
8890 ROM_LOAD( "7.bin", 0x0800, 0x0800, CRC(3113bcfd) SHA1(e2792e5fe7d7f27bb329e3104dee3ca29d72ef48) )
8891
8892 ROM_REGION( 0x0020, "proms", 0 )
8893 ROM_LOAD( "bprom.bin", 0x0000, 0x0020, CRC(2b4cf53f) SHA1(8d7eb0453173b9821eea32419b67559bfb4578d0) )
8894 ROM_END
8895
8896
8897 ROM_START( azurian )
8898 ROM_REGION( 0x10000, "maincpu", 0 )
8899 ROM_LOAD( "pgm.1", 0x0000, 0x1000, CRC(17a0fca7) SHA1(0ffb80d433fbaa0631d0d982a453f9e6cccab297) )
8900 ROM_LOAD( "pgm.2", 0x1000, 0x1000, CRC(14659848) SHA1(bb9d9c01b074bf7ed7a1c29379bbef41728dd27a) )
8901 ROM_LOAD( "pgm.3", 0x2000, 0x1000, CRC(8f60fb97) SHA1(d0f4d65e568ac1a5d41e550f2f626cbf72884959) )
8902
8903 ROM_REGION( 0x1000, "gfx1", 0 )
8904 ROM_LOAD( "gfx.1", 0x0000, 0x0800, CRC(f5afb803) SHA1(ffc8f86a35179d7715ef618004b79003e0236a93) )
8905 ROM_LOAD( "gfx.2", 0x0800, 0x0800, CRC(ae96e5d1) SHA1(df667fb96d7353ccf9ce0acf788371ef2221e97d) )
8906
8907 ROM_REGION( 0x0020, "proms", 0 )
8908 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
8909 ROM_END
8910
8911 ROM_START( pisces )
8912 ROM_REGION( 0x4000, "maincpu", 0 )
8913 ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(40c5b0e4) SHA1(6c18e6f4719eb0d7eb13b778d7ea58e4b87ac35c) )
8914 ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) )
8915 ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(3073dd04) SHA1(b93913a988f412d565abd19dc668976585cc8066) )
8916 ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) )
8917 ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) )
8918 ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) )
8919
8920 ROM_REGION( 0x2000, "gfx1", 0 )
8921 // ROM_LOAD( "pisces.1j", 0x0000, 0x1000, CRC(2dba9e0e) )
8922 // ROM_LOAD( "pisces.1k", 0x1000, 0x1000, CRC(cdc5aa26) )
8923 ROM_LOAD( "g09.bin", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
8924 ROM_LOAD( "g11.bin", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
8925 ROM_LOAD( "g10.bin", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
8926 ROM_LOAD( "g12.bin", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
8927
8928 ROM_REGION( 0x0020, "proms", 0 )
8929 ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) // same as checkman.clr
8930 ROM_END
8931
8932 ROM_START( piscesb )
8933 ROM_REGION( 0x4000, "maincpu", 0 )
8934 ROM_LOAD( "pisces.a1", 0x0000, 0x0800, CRC(856b8e1f) SHA1(24d468b5f06f54c3fa1cb54ceec8a0c8e285430e) )
8935 ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(055f9762) SHA1(9d821874dd48a80651adc58a2f7fe5d2b3ed67bc) )
8936 ROM_LOAD( "pisces.b2", 0x1000, 0x0800, CRC(5540f2e4) SHA1(b069a7e46fa2c1f732371ef056caaf8f343e11a8) )
8937 ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(44aaf525) SHA1(667bf4c3a36169c3ddddd22b2f1f90bcc9308548) )
8938 ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(fade512b) SHA1(ccef2650f1d9dc3fdde2d441774246d47febc2cc) )
8939 ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(5ab2822f) SHA1(bbcac3aab943dd9b173de11ddf02ff75d16b1582) )
8940
8941 ROM_REGION( 0x2000, "gfx1", 0 )
8942 // ROM_LOAD( "pisces.1j", 0x0000, 0x1000, CRC(2dba9e0e) )
8943 // ROM_LOAD( "pisces.1k", 0x1000, 0x1000, CRC(cdc5aa26) )
8944 ROM_LOAD( "g09.bin", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
8945 ROM_LOAD( "g11.bin", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
8946 ROM_LOAD( "g10.bin", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
8947 ROM_LOAD( "g12.bin", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
8948
8949 ROM_REGION( 0x0020, "proms", 0 )
8950 // ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* very close to Galaxian */
8951 ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) ) // same as checkman.clr
8952 ROM_END
8953
8954 ROM_START( omni )
8955 ROM_REGION( 0x4000, "maincpu", 0 )
8956 ROM_LOAD( "omni1.7f", 0x0000, 0x1000, CRC(a9b7acc6) SHA1(0c6319957b760fea3cfa6c29b37c25f5a89a6d77) )
8957 ROM_LOAD( "omni2.7j", 0x1000, 0x1000, CRC(6ade29b7) SHA1(64f1ce82c761db11d26c385299a7063f5971c99a) )
8958 ROM_LOAD( "omni3.7f", 0x2000, 0x1000, CRC(9e37bb24) SHA1(d90b2ff0297d87687561e1e9b29510b6c051760b) )
8959
8960 ROM_REGION( 0x2000, "gfx1", 0 )
8961 ROM_LOAD( "omni5b.l1", 0x0000, 0x0800, CRC(9503a23a) SHA1(23848de56841dd1de9ef74d5a9c981c784098175) )
8962 ROM_LOAD( "omni6c.j22", 0x0800, 0x0800, CRC(0adfc3fe) SHA1(a4da488632d9906066db45ae62747caf5ffbf2d8) )
8963 ROM_LOAD( "omni4a.j1", 0x1000, 0x0800, CRC(3e61f849) SHA1(efa0059bc843af0c3bb94f4bc0a8286ca5069179) )
8964 ROM_LOAD( "omni7d.l2", 0x1800, 0x0800, CRC(7130e9eb) SHA1(e6bb7a9b4f2fc001296e1060d0671b7a88599c8b) )
8965
8966 ROM_REGION( 0x0020, "proms", 0 )
8967 ROM_LOAD( "colour.bin", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
8968 ROM_END
8969
8970 ROM_START( uniwars )
8971 ROM_REGION( 0x4000, "maincpu", 0 )
8972 ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
8973 ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
8974 ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
8975 ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
8976 ROM_LOAD( "d08p_5a.bin", 0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) )
8977 ROM_LOAD( "gg6", 0x2800, 0x0800, CRC(270a3f4d) SHA1(20f5097033fca515d70fe47178cbd341a1d07443) )
8978 ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
8979 ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
8980
8981 ROM_REGION( 0x2000, "gfx1", 0 )
8982 ROM_LOAD( "egg10", 0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
8983 ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
8984 ROM_LOAD( "egg9", 0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
8985 ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
8986
8987 ROM_REGION( 0x0020, "proms", 0 )
8988 ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
8989 ROM_END
8990
8991 ROM_START( uniwarsa )
8992 ROM_REGION( 0x4000, "maincpu", 0 )
8993 ROM_LOAD( "u1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
8994 ROM_LOAD( "u2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
8995 ROM_LOAD( "u3", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
8996 ROM_LOAD( "u4", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
8997 ROM_LOAD( "u5", 0x2000, 0x0800, CRC(a0847fe4) SHA1(cc5861909bb3d008f0def8bda8792d44f655da16) )
8998 ROM_LOAD( "u6", 0x2800, 0x0800, CRC(270a3f4d) SHA1(20f5097033fca515d70fe47178cbd341a1d07443) )
8999 ROM_LOAD( "u7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9000 ROM_LOAD( "u8", 0x3800, 0x0800, CRC(5760b65c) SHA1(0e109b1e89dc4f32b238e8f2ad92f41ea52d9941) )
9001
9002 ROM_REGION( 0x2000, "gfx1", 0 )
9003 ROM_LOAD( "u10", 0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
9004 ROM_LOAD( "u12", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9005 ROM_LOAD( "u9", 0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
9006 ROM_LOAD( "u11", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9007
9008 ROM_REGION( 0x0020, "proms", 0 )
9009 ROM_LOAD( "kareteco.clr", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9010 ROM_END
9011
9012 ROM_START( mltiwars )
9013 ROM_REGION( 0x4000, "maincpu", 0 )
9014 ROM_LOAD( "g1.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
9015 ROM_LOAD( "g2.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
9016 ROM_LOAD( "g3.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9017 ROM_LOAD( "g4.bin", 0x1800, 0x0800, CRC(ef28ec00) SHA1(f57fc2fd38b0ef7ee206f70f161a5f6963de1e94) )
9018 ROM_LOAD( "g5.bin", 0x2000, 0x0800, CRC(855ab0dd) SHA1(50aae48726f092d1815f5534e041673bad2b50ac) )
9019 ROM_LOAD( "g6.bin", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
9020 ROM_LOAD( "g7.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9021 ROM_LOAD( "g8.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
9022
9023 ROM_REGION( 0x2000, "gfx1", 0 )
9024 ROM_LOAD( "g14.bin", 0x0000, 0x1000, CRC(227f9e8e) SHA1(6316ad92053b22df0d9621738507883c55003d3b) )
9025 ROM_LOAD( "g15.bin", 0x1000, 0x1000, CRC(3f8b6a24) SHA1(00b8434c0de32af301137f9370f991e5e7192980) )
9026
9027 ROM_REGION( 0x0020, "proms", 0 )
9028 ROM_LOAD( "prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9029 ROM_END
9030
9031 ROM_START( spacempr )
9032 ROM_REGION( 0x4000, "maincpu", 0 )
9033 ROM_LOAD( "uw01", 0x0000, 0x0800, CRC(7c64fb92) SHA1(69f0923870cb8cbb7ae7a2a056c67a1da9b5588d) )
9034 ROM_LOAD( "uw02", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
9035 ROM_LOAD( "uw03", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9036 ROM_LOAD( "uw04", 0x1800, 0x0800, CRC(84885060) SHA1(a6ea3e272b426e86ff87e95c765362b44506228e) )
9037 ROM_LOAD( "uw05", 0x2000, 0x0800, CRC(e342371d) SHA1(f53caf7793df5788237d5e2f35242c0dd7a3085b) )
9038 ROM_LOAD( "uw06", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
9039 ROM_LOAD( "uw07", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9040 ROM_LOAD( "uw08", 0x3800, 0x0800, CRC(a237c394) SHA1(66dfa2aa39bd19f1f6ddb267d8f8bdbdba750d46) )
9041
9042 ROM_REGION( 0x2000, "gfx1", 0 )
9043 ROM_LOAD( "uw10", 0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) )
9044 ROM_LOAD( "uw12", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9045 ROM_LOAD( "uw09", 0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) )
9046 ROM_LOAD( "uw11", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9047
9048 ROM_REGION( 0x0020, "proms", 0 )
9049 ROM_LOAD( "mmi6331", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9050 ROM_END
9051
9052 ROM_START( gteikoku )
9053 ROM_REGION( 0x4000, "maincpu", 0 )
9054 ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
9055 ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
9056 ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9057 ROM_LOAD( "m07_4a.bin", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
9058 ROM_LOAD( "d08p_5a.bin", 0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) )
9059 ROM_LOAD( "e08p_6a.bin", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
9060 ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9061 ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
9062
9063 ROM_REGION( 0x2000, "gfx1", 0 )
9064 ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
9065 ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9066 ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
9067 ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9068
9069 ROM_REGION( 0x0020, "proms", 0 )
9070 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9071 ROM_END
9072
9073 ROM_START( gteikokub )
9074 ROM_REGION( 0x4000, "maincpu", 0 )
9075 ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(bf00252f) SHA1(a4ec48c6b9468f52bcf8b01d1bdb908dcf81d42d) )
9076 ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(f712b7d5) SHA1(c269db2e9984a3fbd33888bd426c53d319cad36f) )
9077 ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9078 ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(808a39a8) SHA1(f3db5175d0c2d10e9e3ded400888f6541490597e) )
9079 ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) )
9080 ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(c5ea67e8) SHA1(0157eb2ef5ab56cd00e5f4fafd618271d2d4862b) )
9081 ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9082 ROM_LOAD( "8.bin", 0x3800, 0x0800, CRC(28df3229) SHA1(fd307c6a7de4fcddce1c2f36a957a31b9a6aaa21) )
9083
9084 ROM_REGION( 0x2000, "gfx1", 0 )
9085 ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
9086 ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9087 ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
9088 ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9089
9090 ROM_REGION( 0x0020, "proms", 0 )
9091 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9092 ROM_END
9093
9094 ROM_START( gteikokub2 )
9095 ROM_REGION( 0x4000, "maincpu", 0 )
9096 ROM_LOAD( "94gnog.bin", 0x0000, 0x0800, CRC(67ec3235) SHA1(f250db867257f474f693012c11008bf92f038cc7) )
9097 ROM_LOAD( "92gnog.bin", 0x0800, 0x0800, CRC(813c41f2) SHA1(bd92e0b53e3c8874d63f3444bca02246cd74b1c6) )
9098 ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9099 ROM_LOAD( "1gnog.bin", 0x1800, 0x0800, CRC(49ff9658) SHA1(3b7f3dc40b3fbc7d4abe5f5d534951c70409148c) )
9100 ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(36fe6e67) SHA1(e54a19ad6611fefcdfcf74019a63cc6cea6cf433) )
9101 ROM_LOAD( "e08p_6a.bin", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
9102 ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9103 ROM_LOAD( "98gnog.bin", 0x3800, 0x0800, CRC(e9d4ad3c) SHA1(b32b96bebbf59e23b06958f6b16790e9f9f334e2) )
9104
9105 ROM_REGION( 0x2000, "gfx1", 0 )
9106 ROM_LOAD( "h01_1.bin", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
9107 ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9108 ROM_LOAD( "k01_1.bin", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
9109 ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9110
9111 ROM_REGION( 0x0020, "proms", 0 )
9112 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9113 ROM_END
9114
9115 ROM_START( gteikokub3 ) // still has the IREM copyright, but the PCB is a bootleg with ROMs labeled "Honly Electronics"
9116 ROM_REGION( 0x4000, "maincpu", 0 )
9117 ROM_LOAD( "g1.a3", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
9118 ROM_LOAD( "g0.a2", 0x0800, 0x0800, CRC(378aba50) SHA1(713c98e76e386fe47adde79955ab15f04c1a0ab5) )
9119 ROM_LOAD( "xx.a1", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9120 ROM_LOAD( "g2.a4", 0x1800, 0x0800, CRC(ddc80bc5) SHA1(18c3920198baf87267bc7f12db6b23b090d3577a) )
9121 ROM_LOAD( "g5.b1", 0x2000, 0x0800, CRC(62354351) SHA1(85bf18942f73023b8be0c3659a0dcd3dfcccfc2c) )
9122 ROM_LOAD( "g6.b2", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
9123 ROM_LOAD( "g7.b3", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9124 ROM_LOAD( "xx.b4", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
9125
9126 ROM_REGION( 0x2000, "gfx1", 0 )
9127 ROM_LOAD( "g10.2", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) )
9128 ROM_LOAD( "g12.4", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9129 ROM_LOAD( "g9.1", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) )
9130 ROM_LOAD( "g11.3", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9131
9132 ROM_REGION( 0x0020, "proms", 0 )
9133 ROM_LOAD( "colprom.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9134 ROM_END
9135
9136 ROM_START( galemp )
9137 ROM_REGION( 0x4000, "maincpu", 0 )
9138 ROM_LOAD( "1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
9139 ROM_LOAD( "2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
9140 ROM_LOAD( "3", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9141 ROM_LOAD( "4", 0x1800, 0x0800, CRC(df7a13ea) SHA1(9d07cdfde84c9243719092234cfa362bf2878a95) )
9142 ROM_LOAD( "5", 0x2000, 0x0800, CRC(ff6128a2) SHA1(64cc17b6cab8d8fd8358840beb13baa76262c6aa) )
9143 ROM_LOAD( "6", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
9144 ROM_LOAD( "7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9145 ROM_LOAD( "8", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
9146
9147 ROM_REGION( 0x2000, "gfx1", 0 )
9148 ROM_LOAD( "10", 0x0000, 0x0800, CRC(30177b93) SHA1(b91740b573eadb9a0df23f55594d22b10ea93555) )
9149 ROM_LOAD( "12", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9150 ROM_LOAD( "9", 0x1000, 0x0800, CRC(7e8dcc13) SHA1(56450cb3a9c77a578a12f664d07dbfbbcb82bc07) )
9151 ROM_LOAD( "11", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9152
9153 ROM_REGION( 0x0020, "proms", 0 )
9154 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9155 ROM_END
9156
9157 ROM_START( asideral )
9158 ROM_REGION( 0x4000, "maincpu", 0 )
9159 ROM_LOAD( "1401.7f", 0x0000, 0x0800, CRC(82a9da91) SHA1(864127f73b4a78435766ff70010663c4d789c472) )
9160 ROM_LOAD( "1302.7h", 0x0800, 0x0800, CRC(cc59b49c) SHA1(13f6cb3a979f1b9baa4fd07c3e36c17ad8e69b5f) )
9161 ROM_LOAD( "1203.7k", 0x1000, 0x0800, CRC(3bc5a165) SHA1(0ad0247f6499170a828bf343f7710c1036b241a7) )
9162 ROM_LOAD( "1104.7m", 0x1800, 0x0800, CRC(c50149d0) SHA1(4007d7c07fe2742d67d2041b4b3c2f3fcaedbc8b) )
9163 ROM_LOAD( "5.8f", 0x2000, 0x0800, CRC(17720c9e) SHA1(c2b59b95c3936e46202e5512a8d117ac86d1be2d) )
9164 ROM_LOAD( "6.8f", 0x2800, 0x0800, CRC(f157a8db) SHA1(75fa76d5dad149502c25d191053041a52dd1562e) )
9165 ROM_LOAD( "7.8f", 0x3000, 0x0800, CRC(75085cb6) SHA1(92c4f375352685ec670b0aa96becce064c5d9bce) )
9166 ROM_LOAD( "8.8f", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
9167
9168 ROM_REGION( 0x2000, "gfx1", 0 )
9169 ROM_LOAD( "u10.j2", 0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
9170 ROM_LOAD( "u12.j2", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9171 ROM_LOAD( "u9.l2", 0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
9172 ROM_LOAD( "u11.l2", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9173
9174 ROM_REGION( 0x0020, "proms", 0 )
9175 ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
9176 ROM_END
9177
9178 ROM_START( pajaroes ) // VERY similar to the asideral set
9179 ROM_REGION( 0x4000, "maincpu", 0 )
9180 ROM_LOAD( "pea.rom", 0x0000, 0x0800, CRC(82a9da91) SHA1(864127f73b4a78435766ff70010663c4d789c472) )
9181 ROM_LOAD( "peb.rom", 0x0800, 0x0800, CRC(cc59b49c) SHA1(13f6cb3a979f1b9baa4fd07c3e36c17ad8e69b5f) )
9182 ROM_LOAD( "pec.rom", 0x1000, 0x0800, CRC(3bc5a165) SHA1(0ad0247f6499170a828bf343f7710c1036b241a7) )
9183 ROM_LOAD( "ped.rom", 0x1800, 0x0800, CRC(c50149d0) SHA1(4007d7c07fe2742d67d2041b4b3c2f3fcaedbc8b) )
9184 ROM_LOAD( "pe05.rom", 0x2000, 0x0800, CRC(cb461871) SHA1(3865f3b7f47f314a097dddfcc49929bb63afd4fc) )
9185 ROM_LOAD( "pe04.rom", 0x2800, 0x0800, CRC(f157a8db) SHA1(75fa76d5dad149502c25d191053041a52dd1562e) )
9186 ROM_LOAD( "pe03.rom", 0x3000, 0x0800, CRC(75085cb6) SHA1(92c4f375352685ec670b0aa96becce064c5d9bce) )
9187 ROM_LOAD( "pe02.rom", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
9188
9189 ROM_REGION( 0x2000, "gfx1", 0 )
9190 ROM_LOAD( "pe07.rom", 0x0000, 0x0800, CRC(012941e0) SHA1(4f7ec4d95939cb7c4086bb7df43759ac504ae47c) )
9191 ROM_LOAD( "pe09.rom", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9192 ROM_LOAD( "pe06.rom", 0x1000, 0x0800, CRC(fc8b58fd) SHA1(72553e2735b0dcc2dcfce9698d49566732492588) )
9193 ROM_LOAD( "pe08.rom", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9194
9195 ROM_REGION( 0x0020, "proms", 0 ) // wasn't in the set
9196 ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
9197 ROM_END
9198
9199
9200
9201 ROM_START( spacbatt )
9202 ROM_REGION( 0x4000, "maincpu", 0 )
9203 ROM_LOAD( "sb1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */
9204 ROM_LOAD( "sb2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */
9205 ROM_LOAD( "sb3", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) ) /* Same as k07_3a.bin above */
9206 ROM_LOAD( "sb4", 0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) )
9207 ROM_LOAD( "sb5", 0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) )
9208 ROM_LOAD( "sb6", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */
9209 ROM_LOAD( "sb7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */
9210 ROM_LOAD( "sb8", 0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) )
9211
9212 ROM_REGION( 0x2000, "gfx1", 0 )
9213 ROM_LOAD( "sb12", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */
9214 ROM_LOAD( "sb14", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */
9215 ROM_LOAD( "sb11", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */
9216 ROM_LOAD( "sb13", 0x1800, 0x0800, CRC(92454380) SHA1(f0cd67b39c760c2b5ac549b27b0a5f83fbb3a86b) )
9217
9218 ROM_REGION( 0x0020, "proms", 0 )
9219 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) /* MMI 6331 bp-prom, compatible with 82s123 */
9220 ROM_END
9221
9222 ROM_START( spacbat2 )
9223 ROM_REGION( 0x4000, "maincpu", 0 )
9224 ROM_LOAD( "sb1", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) /* Same as f07_1a.bin above */
9225 ROM_LOAD( "sb2", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) ) /* Same as h07_2a.bin above */
9226 ROM_LOAD( "sb.3", 0x1000, 0x0800, CRC(c25ce4c1) SHA1(d7a5d435df7868155523d2fb90f331d4b6d9eaa1) )
9227 ROM_LOAD( "sb4", 0x1800, 0x0800, CRC(8229835c) SHA1(8cfd8f6cab6f80ca69645a184f7e841fc69f47f6) )
9228 ROM_LOAD( "sb5", 0x2000, 0x0800, CRC(f51ef930) SHA1(213e68571a0c7d5ba33a7170d5fa4aea898ea0b9) )
9229 ROM_LOAD( "sb6", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) ) /* Same as e08p_6a.bin above */
9230 ROM_LOAD( "sb7", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) ) /* Same as m08p_7a.bin above */
9231 ROM_LOAD( "sb8", 0x3800, 0x0800, CRC(e59ff1ae) SHA1(fef22885cbd3273882f8c7755dd04c28e843b9ea) )
9232
9233 ROM_REGION( 0x2000, "gfx1", 0 )
9234 ROM_LOAD( "sb12", 0x0000, 0x0800, CRC(8313c959) SHA1(b09157c6f824d6e94647728cbb329877fcb4e502) ) /* Same as h01_1.bin above */
9235 ROM_LOAD( "sb14", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) ) /* Same as h01_2.bin above */
9236 ROM_LOAD( "sb11", 0x1000, 0x0800, CRC(c9d4537e) SHA1(65d27066ffec04b755d2f5d3f36f5ec6792e8d6c) ) /* Same as k01_1.bin above */
9237 ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9238
9239 ROM_REGION( 0x0020, "proms", 0 )
9240 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9241 ROM_END
9242
9243 ROM_START( skyraidr )
9244 ROM_REGION( 0x4000, "maincpu", 0 )
9245 ROM_LOAD( "f07_1a.bin", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) )
9246 ROM_LOAD( "h07_2a.bin", 0x0800, 0x0800, CRC(b2ed14c3) SHA1(7668df11f64b8e296eedfee53437777dc53a56d5) )
9247 ROM_LOAD( "k07_3a.bin", 0x1000, 0x0800, CRC(945f4160) SHA1(5fbe879f51e14c4c7ae551e5b3089f8e148770a4) )
9248 ROM_LOAD( "sr.04", 0x1800, 0x0800, CRC(9f61d1f8) SHA1(389b0a0d1a577b302907b2ea4c119aa18a6120d9) )
9249 ROM_LOAD( "sr.05", 0x2000, 0x0800, CRC(4352af0a) SHA1(1b31846ea7025aaf3a79141dfa5a089b8d12d982) )
9250 ROM_LOAD( "sr.06", 0x2800, 0x0800, CRC(d915a389) SHA1(0e2ff6eec9453856a1276889946b463cfae58eba) )
9251 ROM_LOAD( "m08p_7a.bin", 0x3000, 0x0800, CRC(c9245346) SHA1(239bad3fe64eaab2dfc3febd06d1124103a10504) )
9252 ROM_LOAD( "n08p_8a.bin", 0x3800, 0x0800, CRC(797d45c7) SHA1(76fb8b45fcce3622c59c04af32cfa001ef7bf71d) )
9253
9254 ROM_REGION( 0x2000, "gfx1", 0 )
9255 ROM_LOAD( "sr.10", 0x0000, 0x0800, CRC(af069cba) SHA1(12b7d0a57f43613c80afd51c417628090740aabe) )
9256 ROM_LOAD( "h01_2.bin", 0x0800, 0x0800, CRC(c26132af) SHA1(7ae125a911dfd47aeca4f129f580762ce4d8d91a) )
9257 ROM_LOAD( "sr.09", 0x1000, 0x0800, CRC(ff2c20d5) SHA1(48668dc4f008f44f5c15bdcc331cfe133da99cd4) )
9258 ROM_LOAD( "k01_2.bin", 0x1800, 0x0800, CRC(dcc2b33b) SHA1(c3a5ac935c519400dfabb28909f7e460769d1837) )
9259
9260 ROM_REGION( 0x0020, "proms", 0 )
9261 ROM_LOAD( "uniwars.clr", 0x0000, 0x0020, CRC(25c79518) SHA1(e8f7e8b3d0cf1ed9d723948548f58abf0e2c6d1f) )
9262 ROM_END
9263
9264
9265 ROM_START( devilfsg )
9266 ROM_REGION( 0x10000, "maincpu", 0 )
9267 ROM_LOAD( "dfish1.7f", 0x2000, 0x0800, CRC(2ab19698) SHA1(8450981d3cf3fa8abf2fb5487aa98b03a4cf03a1) )
9268 ROM_CONTINUE( 0x0000, 0x0800 )
9269 ROM_LOAD( "dfish2.7h", 0x2800, 0x0800, CRC(4e77f097) SHA1(aeaa5ff210ccbbe77114edf5dee992d2720636ae) )
9270 ROM_CONTINUE( 0x0800, 0x0800 )
9271 ROM_LOAD( "dfish3.7k", 0x3000, 0x0800, CRC(3f16a4c6) SHA1(cc30b27070a12c250cdc2f7289bae7c7a4c05c2c) )
9272 ROM_CONTINUE( 0x1000, 0x0800 )
9273 ROM_LOAD( "dfish4.7m", 0x3800, 0x0800, CRC(11fc7e59) SHA1(2c0182a75bfca085e67483b421f40b3bc9b8ef24) )
9274 ROM_CONTINUE( 0x1800, 0x0800 )
9275
9276 ROM_REGION( 0x1000, "gfx1", 0 )
9277 ROM_LOAD( "dfish5.1h", 0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) )
9278 ROM_CONTINUE( 0x0000, 0x0800 )
9279 ROM_LOAD( "dfish6.1k", 0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) )
9280 ROM_CONTINUE( 0x0800, 0x0800 )
9281
9282 ROM_REGION( 0x1000, "gfx2", 0 )
9283 ROM_LOAD( "dfish5.1h", 0x0000, 0x0800, CRC(ace6e31f) SHA1(23df890fdf8ef275af79e10c8e43ff3a617b28ac) )
9284 ROM_IGNORE( 0x0800 )
9285 ROM_LOAD( "dfish6.1k", 0x0800, 0x0800, CRC(d7a6c4c4) SHA1(ec5f9182657edb11884ab93f868f1bb3569461ae) )
9286 ROM_IGNORE( 0x0800 )
9287
9288 ROM_REGION( 0x0020, "proms", 0 )
9289 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9290 ROM_END
9291
9292
9293 ROM_START( zigzagb )
9294 ROM_REGION( 0x10000, "maincpu", 0 )
9295 ROM_LOAD( "zz_d1.7l", 0x0000, 0x1000, CRC(8cc08d81) SHA1(be671192ef06dc3ed6963dc39e6bdce3275300e9) )
9296 ROM_LOAD( "zz_d2.7k", 0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) )
9297 ROM_LOAD( "zz_d4.7f", 0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) )
9298 ROM_LOAD( "zz_d3.7h", 0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) )
9299
9300 ROM_REGION( 0x1000, "gfx1", 0 )
9301 ROM_LOAD( "zz_6.1h", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
9302 ROM_IGNORE( 0x0800 )
9303 ROM_LOAD( "zz_5.1k", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
9304 ROM_IGNORE( 0x0800 )
9305
9306 ROM_REGION( 0x1000, "gfx2", 0 )
9307 ROM_LOAD( "zz_6.1h", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
9308 ROM_CONTINUE( 0x0000, 0x0800 )
9309 ROM_LOAD( "zz_5.1k", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
9310 ROM_CONTINUE( 0x0800, 0x0800 )
9311
9312 ROM_REGION( 0x0020, "proms", 0 )
9313 ROM_LOAD( "zzbpr_e9.bin",0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) )
9314 ROM_END
9315
9316 ROM_START( zigzagb2 )
9317 ROM_REGION( 0x10000, "maincpu", 0 )
9318 ROM_LOAD( "z1.7l", 0x0000, 0x1000, CRC(4c28349a) SHA1(646134ce506deaee88cc2ec5a973f8fedaddb66b) )
9319 ROM_LOAD( "zz_d2.7k", 0x1000, 0x1000, CRC(326d8d45) SHA1(563b9fc64c34e36cfadffb107ce30d3a04d62d9c) )
9320 ROM_LOAD( "zz_d4.7f", 0x2000, 0x1000, CRC(a94ed92a) SHA1(d56f32fc2b3f0f7affe658b7726682c60d09bc16) )
9321 ROM_LOAD( "zz_d3.7h", 0x3000, 0x1000, CRC(ce5e7a00) SHA1(93c47d22698a016cb0f0b654ade9ccab0cd1c88b) )
9322
9323 ROM_REGION( 0x1000, "gfx1", 0 )
9324 ROM_LOAD( "zz_6.1h", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
9325 ROM_IGNORE( 0x0800 )
9326 ROM_LOAD( "zz_5.1k", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
9327 ROM_IGNORE( 0x0800 )
9328
9329 ROM_REGION( 0x1000, "gfx2", 0 )
9330 ROM_LOAD( "zz_6.1h", 0x0000, 0x0800, CRC(780c162a) SHA1(b0cac68258281917bcada52ce26e0ce38721d633) )
9331 ROM_CONTINUE( 0x0000, 0x0800 )
9332 ROM_LOAD( "zz_5.1k", 0x0800, 0x0800, CRC(f3cdfec5) SHA1(798d631c72d8e6b2e372b4b3ab0c10d8365a1359) )
9333 ROM_CONTINUE( 0x0800, 0x0800 )
9334
9335 ROM_REGION( 0x0020, "proms", 0 )
9336 ROM_LOAD( "zzbpr_e9.bin",0x0000, 0x0020, CRC(aa486dd0) SHA1(b845b52715bf6361ceee8c1ac541733963bd47af) )
9337 ROM_END
9338
9339
9340 ROM_START( gmgalax )
9341 ROM_REGION( 0x18000, "maincpu", 0 ) /* 64k for code + 32k for banked code */
9342 ROM_LOAD( "pcb1_pm1.bin", 0x10000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) )
9343 ROM_LOAD( "pcb1_pm2.bin", 0x11000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) )
9344 ROM_LOAD( "pcb1_pm3.bin", 0x12000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) )
9345 ROM_LOAD( "pcb1_pm4.bin", 0x13000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) )
9346 ROM_LOAD( "pcb1_gx1.bin", 0x14000, 0x1000, CRC(2faa9f53) SHA1(1e7010d407601c5da1adc68bc9f4742c79d57286) )
9347 ROM_LOAD( "pcb1_gx2.bin", 0x15000, 0x1000, CRC(121c5f16) SHA1(cb1806fa984870133fd883969838dca85f992515) )
9348 ROM_LOAD( "pcb1_gx3.bin", 0x16000, 0x1000, CRC(02d81a21) SHA1(39209cfb7cf142a65e157544d93803ea542a8efb) )
9349
9350 ROM_REGION( 0x4000, "gfx1", 0 )
9351 ROM_LOAD( "pcb2gfx1.bin", 0x0000, 0x0800, CRC(7021bbc0) SHA1(52d2983d74e722fccb31eb02ca56255850c4f41c) )
9352 ROM_CONTINUE( 0x1000, 0x0800 )
9353 ROM_LOAD( "pcb2gfx3.bin", 0x0800, 0x0800, CRC(089c922b) SHA1(f1b81999f63677d4cd58cd547353170e348a1423) )
9354 ROM_CONTINUE( 0x1800, 0x0800 )
9355 ROM_LOAD( "pcb2gfx2.bin", 0x2000, 0x0800, CRC(51bf58ee) SHA1(3546ff03c76a6422b0515bd5c695674bfb032089) )
9356 ROM_CONTINUE( 0x3000, 0x0800 )
9357 ROM_LOAD( "pcb2gfx4.bin", 0x2800, 0x0800, CRC(908fd0dc) SHA1(ac278bd82730e92ff312793244340748b93fa9bb) )
9358 ROM_CONTINUE( 0x3800, 0x0800 )
9359
9360 ROM_REGION( 0x0040, "proms", 0 )
9361 ROM_LOAD( "gmgalax2.clr", 0x0000, 0x0020, CRC(499f4440) SHA1(66d6463a145087041934bdab8bfa6c3db6375317) )
9362 ROM_LOAD( "l06_prom.bin", 0x0020, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9363 ROM_END
9364
9365
9366 /*************************************
9367 *
9368 * ROM definitions
9369 * Artic Multi-System (Galaxian bootleg hardware)
9370 * About 20 games were available on this system, some unique!
9371 *
9372 *************************************/
9373
9374 ROM_START( streakng )
9375 ROM_REGION( 0x10000, "maincpu", 0 )
9376 ROM_LOAD( "sk1", 0x0000, 0x1000, CRC(c8866ccb) SHA1(1fc8bc643ecbfa86a50448d79b299f5a3dd586c5) )
9377 ROM_LOAD( "sk2", 0x1000, 0x1000, CRC(7caea29b) SHA1(5b3946ee914b1637db9046abf92d66ceaeb4fc5f) )
9378 ROM_LOAD( "sk3", 0x2000, 0x1000, CRC(7b4bfa76) SHA1(9223bec0c1cc39bc84670869b2a4fab0d0167c6e) )
9379 ROM_LOAD( "sk4", 0x3000, 0x1000, CRC(056fc921) SHA1(de8525571e5a82ddf74dd57b1a6c5bc9f2d2c0fe) )
9380
9381 ROM_REGION( 0x1000, "gfx1", 0 )
9382 ROM_LOAD( "sk5", 0x0000, 0x1000, CRC(d27f1e0c) SHA1(c3b4ae55a93516b034a16c9f943b360b24c933d6) )
9383
9384 ROM_REGION( 0x1000, "gfx2", 0 )
9385 ROM_LOAD( "sk6", 0x0000, 0x1000, CRC(a7089588) SHA1(e76242b043b1d8f060f669da3ddeee3d10122cdb) )
9386
9387 ROM_REGION( 0x0020, "proms", 0 )
9388 ROM_LOAD( "sk.bpr", 0x0000, 0x0020, CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) )
9389 ROM_END
9390
9391 /*
9392 sk2 [1/2] st3.BIN IDENTICAL
9393 sk3 [1/2] 5st.BIN IDENTICAL
9394 sk6 [1/2] 9.BIN IDENTICAL
9395 sk5 [1/2] 11.BIN IDENTICAL
9396 sk1 [2/2] st2.BIN IDENTICAL
9397 sk2 [2/2] st4.BIN IDENTICAL
9398 sk3 [2/2] 6st.BIN IDENTICAL
9399 sk4 [2/2] 8st.BIN IDENTICAL
9400 sk5 [2/2] 12.BIN IDENTICAL
9401 sk6 [2/2] 10.BIN IDENTICAL
9402 sk1 [1/2] st1.BIN 99.951172%
9403 sk4 [1/2] 7st.BIN 99.951172%
9404 sk.bpr NO MATCH
9405 */
9406
9407 ROM_START( streaknga )
9408 ROM_REGION( 0x10000, "maincpu", 0 )
9409 ROM_LOAD( "st1.bin", 0x0000, 0x0800, CRC(c827e124) SHA1(85d84bb678cb80e7ca4a591b6c30a247e9aac213) )
9410 ROM_LOAD( "st2.bin", 0x0800, 0x0800, CRC(b01d4f8f) SHA1(1116374b5e90c7e525319c92d6dd9ba6641ca231) )
9411 ROM_LOAD( "st3.bin", 0x1000, 0x0800, CRC(c7a9c493) SHA1(58c25bdf68807ecfe6fcaf90137a5f8701696d1d) )
9412 ROM_LOAD( "st4.bin", 0x1800, 0x0800, CRC(12487c75) SHA1(12796dab558ab13b42ee87181d60c3fa290c64e4) )
9413 ROM_LOAD( "5st.bin", 0x2000, 0x0800, CRC(f9f9e2be) SHA1(3efa850361137f50a42de9dcd868519fbc4680b4) )
9414 ROM_LOAD( "6st.bin", 0x2800, 0x0800, CRC(c22fe6c2) SHA1(fb8bf579f6bd413ae5ef49facf1d21125da52833) )
9415 ROM_LOAD( "7st.bin", 0x3000, 0x0800, CRC(9cd7869a) SHA1(5edccf4a1dff184ebbec8748216353805abff29d) )
9416 ROM_LOAD( "8st.bin", 0x3800, 0x0800, CRC(5e750ad3) SHA1(55f77564a9bb07d66c2f13ee1a4ff39c8029a383) )
9417
9418 ROM_REGION( 0x1000, "gfx1", 0 )
9419 ROM_LOAD( "11.bin", 0x0000, 0x0800, CRC(cddd8924) SHA1(340ed1d4da62388d49838db25f09a569a0e17dee) )
9420 ROM_LOAD( "12.bin", 0x0800, 0x0800, CRC(10cda095) SHA1(488def62d52296c7482b349c1aeaeaa1d45bad77) )
9421
9422 ROM_REGION( 0x1000, "gfx2", 0 )
9423 ROM_LOAD( "9.bin", 0x0000, 0x0800, CRC(6a2a8a0f) SHA1(1822c2f4c48740fee2d4e048410db5e846c8a2db) )
9424 ROM_LOAD( "10.bin", 0x0800, 0x0800, CRC(3563dfbe) SHA1(9056b618e19a40cc96d90f393c1c40a573497ca7) )
9425
9426 ROM_REGION( 0x0020, "proms", 0 ) /* from parent set */
9427 ROM_LOAD( "sk.bpr", 0x0000, 0x0020, BAD_DUMP CRC(bce79607) SHA1(49d60fde149240bcd025f721b0fbbbdbc549a42f) )
9428 ROM_END
9429
9430 ROM_START( pacmanbl ) /* Artic Multi-System */
9431 ROM_REGION( 0x10000, "maincpu", 0 )
9432 ROM_LOAD( "1", 0x0000, 0x0800, CRC(6718df42) SHA1(ee15c3f583d381fba4878f824f83d04479a0cee5) )
9433 ROM_LOAD( "2", 0x0800, 0x0800, CRC(33be3648) SHA1(50175889cf37fe8a81c931e009b55d10f8d0444a) )
9434 ROM_LOAD( "3", 0x1000, 0x0800, CRC(f98c0ceb) SHA1(4faf8b2fb3f109d1196a9ea256328485074a31b9) )
9435 ROM_LOAD( "4", 0x1800, 0x0800, CRC(a9cd0082) SHA1(f44ff1ad15d5ee3096f8f44f9c605f32ae2737d9) )
9436 ROM_LOAD( "5", 0x2000, 0x0800, CRC(6d475afc) SHA1(4fe6bde352c7dd9572fefaae4b59640b4f4eb8ba) )
9437 ROM_LOAD( "6", 0x2800, 0x0800, CRC(cbe863d3) SHA1(97a2ffa6ab33e6061c664dcd1ee57c86a456782f) )
9438 ROM_LOAD( "7", 0x3000, 0x0800, CRC(7daef758) SHA1(4dc8ec0ea8fc04d5bffc1c1335407729309c17f0) )
9439 /* 0x3800, 0x0800 not populated */
9440
9441 /* note from f205v: on the PCB I have, 10b and 11b have been joined into one single 2732 EPROM labeled "pmc31"
9442 The same goes for 9b and 12b, joined into one single 2732 EPROM labeled "pmc42" */
9443 ROM_REGION( 0x1000, "gfx1", 0 )
9444 ROM_LOAD( "12", 0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
9445 ROM_LOAD( "11", 0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
9446
9447 ROM_REGION( 0x1000, "gfx2", 0 )
9448 ROM_LOAD( "10", 0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
9449 ROM_LOAD( "9", 0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) )
9450
9451 ROM_REGION( 0x0020, "proms", 0 )
9452 ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */
9453 ROM_END
9454
9455 ROM_START( pacmanblb )
9456 ROM_REGION( 0x10000, "maincpu", 0 )
9457 ROM_LOAD( "moon2", 0x0000, 0x0800, CRC(06b60bca) SHA1(8860e8b42ef8131b358d75f711f3b33d1f864562) )
9458 ROM_LOAD( "moon4", 0x0800, 0x0800, CRC(88eca6fb) SHA1(c46dcd672f30de14e582cce3ff37b26d089d221b) )
9459 ROM_LOAD( "moon5", 0x1000, 0x0800, CRC(cf25a673) SHA1(d221a7d7ff11dea5d5c3ecf1d44d4182a9eeca61) )
9460 ROM_LOAD( "moon6", 0x1800, 0x0800, CRC(86230500) SHA1(27327c3e446cca36c224877de08d9ded590d3c6c) )
9461 ROM_LOAD( "moon7", 0x2000, 0x0800, CRC(287fcbe0) SHA1(9c9459909332691624a044bf7a1c71f9fdc5bb16) )
9462 ROM_LOAD( "moon1", 0x2800, 0x0800, CRC(d1542234) SHA1(3b4675d280fb86ca694636e23bbed35aa9b1243b) )
9463 ROM_LOAD( "moon3", 0x3000, 0x0800, CRC(93d22cee) SHA1(91cb5e3902d0eeb76d10ffb26daadf38858a76f8) )
9464 /* 0x3800, 0x0800 not populated */
9465
9466 ROM_REGION( 0x2000, "tempgfx", 0 )
9467 ROM_LOAD( "moon_4l.bin", 0x0000, 0x1000, CRC(f2d8c01e) SHA1(d4a5789476fa7859bb936df10590775e97e87578) )
9468 ROM_LOAD( "moon_h5.bin", 0x1000, 0x1000, CRC(346a1720) SHA1(e152c9161f4e8ef53153b9c4a8ecef9fdbbe2463) )
9469
9470 ROM_REGION( 0x1000, "gfx1", 0 )
9471 ROM_COPY( "tempgfx", 0x0800, 0x0000, 0x0800 )
9472 ROM_COPY( "tempgfx", 0x1800, 0x0800, 0x0800 )
9473
9474 ROM_REGION( 0x1000, "gfx2", 0 )
9475 ROM_COPY( "tempgfx", 0x0000, 0x0000, 0x0800 )
9476 ROM_COPY( "tempgfx", 0x1000, 0x0800, 0x0800 )
9477
9478 ROM_REGION( 0x0020, "proms", 0 )
9479 ROM_LOAD( "mb7051.6l", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9480 ROM_END
9481
9482
9483
9484 ROM_START( pacmanbla ) /* content is the same as the above bootleg, but arranged differently in the roms */
9485 ROM_REGION( 0x10000, "maincpu", 0 )
9486 ROM_LOAD( "rom1.bin", 0x0000, 0x0800, CRC(75e4f967) SHA1(8bdb5ab2b3f978c578f1498b64bb16d2cb292ef2) )
9487 ROM_CONTINUE(0x2000,0x800)
9488 ROM_LOAD( "rom2.bin", 0x0800, 0x0800, CRC(5b2e4293) SHA1(bb925491e315d2e6bb9e756bdf664d173f83cd58) )
9489 ROM_CONTINUE(0x2800,0x800)
9490 ROM_LOAD( "rom3.bin", 0x1000, 0x0800, CRC(c06e30a4) SHA1(00d8d114bd4e0b689e75e312c93f6c7b8492426e) )
9491 ROM_CONTINUE(0x3000,0x800)
9492 ROM_LOAD( "rom4.bin", 0x1800, 0x0800, CRC(592b4ba8) SHA1(52a559344f70cd8a3a87de71de2bae57c885641a) )
9493 ROM_CONTINUE(0x3800,0x800)
9494
9495 ROM_REGION( 0x2000, "tempgfx", 0 )
9496 ROM_LOAD( "rom5.bin", 0x0000, 0x1000, CRC(f2d8c01e) SHA1(d4a5789476fa7859bb936df10590775e97e87578) )
9497 ROM_LOAD( "rom6.bin", 0x1000, 0x1000, CRC(346a1720) SHA1(e152c9161f4e8ef53153b9c4a8ecef9fdbbe2463) )
9498
9499 ROM_REGION( 0x1000, "gfx1", 0 )
9500 ROM_COPY( "tempgfx", 0x0800, 0x0000, 0x0800 )
9501 ROM_COPY( "tempgfx", 0x1800, 0x0800, 0x0800 )
9502
9503 ROM_REGION( 0x1000, "gfx2", 0 )
9504 ROM_COPY( "tempgfx", 0x0000, 0x0000, 0x0800 )
9505 ROM_COPY( "tempgfx", 0x1000, 0x0800, 0x0800 )
9506
9507 ROM_REGION( 0x0020, "proms", 0 )
9508 ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* same as pisces */
9509 ROM_END
9510
9511 ROM_START( pacmanblv ) /* Video Dens */
9512 ROM_REGION( 0x10000, "maincpu", 0 )
9513 ROM_LOAD( "pacvideodens-1-2516.bin", 0x0000, 0x0800, CRC(590de3f3) SHA1(99cf9711d9bd4f5750533cdf9c88a9c88c6e531a) ) // Dumped as Intel 2716
9514 ROM_LOAD( "pacvideodens-2-2516.bin", 0x0800, 0x0800, CRC(3954e41c) SHA1(4b3f838d55ab4b5b93e1bcb26b3661f090a9124f) ) // Dumped as Intel 2716
9515 ROM_LOAD( "pacvideodens-3-2516.bin", 0x1000, 0x0800, CRC(f98c0ceb) SHA1(4faf8b2fb3f109d1196a9ea256328485074a31b9) ) // Dumped as Intel 2716
9516 ROM_LOAD( "pacvideodens-4-2516.bin", 0x1800, 0x0800, CRC(a9cd0082) SHA1(f44ff1ad15d5ee3096f8f44f9c605f32ae2737d9) ) // Dumped as Intel 2716
9517 ROM_LOAD( "pacvideodens-9-2516.bin", 0x2000, 0x0800, CRC(42f08538) SHA1(a5ce713921771c7b253fc01b6dd6aa1f1af38fc0) ) // Dumped as Intel 2716
9518 ROM_LOAD( "pacvideodens-10-2516.bin", 0x2800, 0x0800, CRC(7aa90d69) SHA1(2271ea03d1d98415bf5121ada4daa0f829f969b1) ) // Dumped as Intel 2716
9519 ROM_LOAD( "pacvideodens-11-2716.bin", 0x3000, 0x0800, CRC(2bbed46e) SHA1(96648411af4ab7c43a9b91f7d0bc25f772fb5177) )
9520 /* 0x3800, 0x0800 not populated */
9521
9522 ROM_REGION( 0x1000, "gfx1", 0 )
9523 ROM_LOAD( "pacvideodens-15-2716.bin", 0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
9524 ROM_LOAD( "pacvideodens-14-2716.bin", 0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
9525
9526 ROM_REGION( 0x1000, "gfx2", 0 )
9527 ROM_LOAD( "pacvideodens-17-2716.bin", 0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
9528 ROM_LOAD( "pacvideodens-16-2716.bin", 0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) )
9529
9530 ROM_REGION( 0x0020, "proms", 0 )
9531 ROM_LOAD( "pacvideodens-im5610cpe.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) // Dumped as 82s123
9532 ROM_END
9533
9534 ROM_START( pacmanblc ) // Calfesa bootleg?
9535 ROM_REGION( 0x10000, "maincpu", 0 )
9536 ROM_LOAD( "pr_1.bin", 0x0000, 0x0800, CRC(032dc67e) SHA1(97df85e2faf0d68bb62bf5dcfa905e150bebe09c) ) // unique
9537 ROM_LOAD( "pr_2.bin", 0x0800, 0x0800, CRC(3954e41c) SHA1(4b3f838d55ab4b5b93e1bcb26b3661f090a9124f) )
9538 ROM_LOAD( "pr_3.bin", 0x1000, 0x0800, CRC(f98c0ceb) SHA1(4faf8b2fb3f109d1196a9ea256328485074a31b9) )
9539 ROM_LOAD( "pr_4.bin", 0x1800, 0x0800, CRC(a9cd0082) SHA1(f44ff1ad15d5ee3096f8f44f9c605f32ae2737d9) )
9540 ROM_LOAD( "pr_5.bin", 0x2000, 0x0800, CRC(6d475afc) SHA1(4fe6bde352c7dd9572fefaae4b59640b4f4eb8ba) )
9541 ROM_LOAD( "pr_6.bin", 0x2800, 0x0800, CRC(cbe863d3) SHA1(97a2ffa6ab33e6061c664dcd1ee57c86a456782f) )
9542 ROM_LOAD( "pr_7.bin", 0x3000, 0x0800, CRC(2bbed46e) SHA1(96648411af4ab7c43a9b91f7d0bc25f772fb5177) )
9543 // 0x3800, 0x0800 not populated
9544
9545 ROM_REGION( 0x1000, "gfx1", 0 )
9546 ROM_LOAD( "p_13.bin", 0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
9547 ROM_LOAD( "p_14.bin", 0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
9548
9549 ROM_REGION( 0x1000, "gfx2", 0 )
9550 ROM_LOAD( "p_11.bin", 0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
9551 ROM_LOAD( "p_12.bin", 0x0800, 0x0800, CRC(03ba0eae) SHA1(dce051362bfdf978dcc034de0180bb2ced8419d3) ) // unique
9552
9553 ROM_REGION( 0x0020, "proms", 0 )
9554 ROM_LOAD( "im5610.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) // same PROM as Moon Cresta, gives very strange colors
9555 ROM_END
9556
9557 ROM_START( ghostmun )
9558 ROM_REGION( 0x10000, "maincpu", 0 )
9559 ROM_LOAD( "pac1.bin", 0x0000, 0x1000, CRC(19338c70) SHA1(cc2665b7d534d324627d12025ee099ff415d4214) )
9560 ROM_LOAD( "pac2.bin", 0x1000, 0x1000, CRC(18db074d) SHA1(a70ed18f632e947493e648e6fc057dfb7a2a3322) )
9561 ROM_LOAD( "pac3.bin", 0x2000, 0x1000, CRC(abb98b1d) SHA1(bb0109d353359bb192a3e6856a857c2f842838cb) )
9562 ROM_LOAD( "pac4.bin", 0x3000, 0x1000, CRC(2403c78e) SHA1(52d8c8a4efcf47871485080ab217098a019e6579) )
9563
9564 ROM_REGION( 0x1000, "gfx1", 0 )
9565 ROM_LOAD( "blpac12b", 0x0000, 0x0800, CRC(b2ed320b) SHA1(680a6fdcb65cc2d88d10bc85e0b2628f43375c5c) )
9566 ROM_LOAD( "blpac11b", 0x0800, 0x0800, CRC(ab88b2c4) SHA1(d0c829ea8021eae81a2b82d36c35ad8258b115e0) )
9567
9568 ROM_REGION( 0x1000, "gfx2", 0 )
9569 ROM_LOAD( "blpac10b", 0x0000, 0x0800, CRC(44a45b72) SHA1(8abd0684a01d6c23ef5cf5f0765458f982316acf) )
9570 ROM_LOAD( "blpac9b", 0x0800, 0x0800, CRC(fa84659f) SHA1(20c212723f9062f052539190dfe3fc41577543eb) )
9571
9572 ROM_REGION( 0x0020, "proms", 0 )
9573 ROM_LOAD( "ghostmun.clr", 0x0000, 0x0020, CRC(759647e3) SHA1(9e21e12f4be007265851a5a1676b7e9facf7109b) )
9574 ROM_END
9575
9576 ROM_START( phoenxp2 ) /* Artic Multi-System */
9577 ROM_REGION( 0x10000, "maincpu", 0 )
9578 ROM_LOAD( "1", 0x0000, 0x0800, CRC(f6dcfd51) SHA1(8475726dbbf0dd13581f457a5379956424dc2862) )
9579 ROM_LOAD( "2", 0x0800, 0x0800, CRC(de951936) SHA1(657d2c595a5864d8c9a51926ab7bfa0a7068e2b2) )
9580 ROM_LOAD( "3", 0x1000, 0x0800, CRC(7a3af2da) SHA1(49e9ad7115e71839d1d027552d08c7831a617b4a) )
9581 ROM_LOAD( "4", 0x1800, 0x0800, CRC(c820ad32) SHA1(b5286d49f6578dfeffdf429e7d52321f4813e03c) )
9582 ROM_LOAD( "5", 0x2000, 0x0800, CRC(08e83233) SHA1(44159e0f3fb717b726b6b5c77da32391c1cdd04d) )
9583 ROM_LOAD( "6", 0x2800, 0x0800, CRC(f31fb9d6) SHA1(bdfb5427869940ed6b8e2667a6c1f410a9a41b87) )
9584 ROM_LOAD( "7", 0x3000, 0x0800, CRC(d3a480c1) SHA1(d1e4fe83b49f918285009f09df38c6555a686823) )
9585 ROM_LOAD( "8", 0x3800, 0x0800, CRC(edf9779e) SHA1(c1e7307c59f15bebac3e29b41135fe9f18fc9a06) )
9586
9587 ROM_REGION( 0x2000, "gfx1", 0 )
9588 ROM_LOAD( "09", 0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) )
9589 ROM_LOAD( "11", 0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) )
9590 ROM_LOAD( "10", 0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) )
9591 ROM_LOAD( "12", 0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) )
9592
9593 ROM_REGION( 0x0020, "proms", 0 )
9594 ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* same as 'Omega' */
9595 ROM_END
9596
9597 ROM_START( batman2 ) /* wasn't marked as artic multi-system, but it's basically the same as the above phoenixp2 */
9598 ROM_REGION( 0x4000, "maincpu", 0 )
9599 ROM_LOAD( "01.bin", 0x0000, 0x0800, CRC(150fbca5) SHA1(a5dc104169eb3225c6200e7e07102f8a9bee6861) )
9600 ROM_LOAD( "02.bin", 0x0800, 0x0800, CRC(b1624fd0) SHA1(ca4678cf7a8b935be2f68d6e342c1f961bf6f1a2) )
9601 ROM_LOAD( "03.bin", 0x1000, 0x0800, CRC(93774188) SHA1(8bdd3290db43459c56b932b582f555d89df30bd1) )
9602 ROM_LOAD( "04.bin", 0x1800, 0x0800, CRC(8a94ec6c) SHA1(dacadab9a05ddee2de188b368f795d74213e020d) )
9603 ROM_LOAD( "05.bin", 0x2000, 0x0800, CRC(a3669461) SHA1(11ea7aa9b55f5790cc2451d80d0eb84388cf47eb) )
9604 ROM_LOAD( "06.bin", 0x2800, 0x0800, CRC(fa1efbfe) SHA1(f7222dd21e0810d0c8c32919ebb6e0e7bbb4c68e) )
9605 ROM_LOAD( "07.bin", 0x3000, 0x0800, CRC(9b77debd) SHA1(1f5521bc0f701d86e61219ad3b9516aaa71a68da) )
9606 ROM_LOAD( "08.bin", 0x3800, 0x0800, CRC(6466177e) SHA1(fc359eadee34586576c557ff7c1dd2c8d49bdf3f) )
9607
9608 ROM_REGION( 0x2000, "gfx1", 0 )
9609 ROM_LOAD( "09.bin", 0x0000, 0x0800, CRC(1a657b1f) SHA1(42149dafdde7d9104f0bddda2223bfc211d0154a) )
9610 ROM_LOAD( "11.bin", 0x0800, 0x0800, CRC(7a2b48e5) SHA1(f559799c685dd2cb9de06a356bee95b7d6ffadfc) )
9611 ROM_LOAD( "10.bin", 0x1000, 0x0800, CRC(9b570016) SHA1(44fd2b1caeecdc5200d63c35636f0a605943d30c) )
9612 ROM_LOAD( "12.bin", 0x1800, 0x0800, CRC(73956244) SHA1(e464b587b5ed636816cc9688593f5b6005cb5216) )
9613
9614 ROM_REGION( 0x0020, "proms", 0 )
9615 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9616 ROM_END
9617
9618 ROM_START( ladybugg ) /* Arctic Multi-System? */
9619 ROM_REGION( 0x10000, "maincpu", 0 )
9620 ROM_LOAD( "lbuggx.1", 0x0000, 0x0800, CRC(e67e241d) SHA1(42b8eaca71c6b346ab54bc722850d6e6d169c517) )
9621 ROM_LOAD( "lbuggx.2", 0x0800, 0x0800, CRC(3cb1fb9a) SHA1(ee76758c94329dfcc740571195a74d9242aaf49f) )
9622 ROM_LOAD( "lbuggx.3", 0x1000, 0x0800, CRC(0937009e) SHA1(ef57ebf3d6ab3d6ac0e1faa10c3109d2c80a1248) )
9623 ROM_LOAD( "lbuggx.4", 0x1800, 0x0800, CRC(3e773f62) SHA1(6348e61f48e5d1f04289098c4c0395335ea5e2a5) )
9624 ROM_LOAD( "lbuggx.5", 0x2000, 0x0800, CRC(2b0d42e5) SHA1(1547b8127f964eb10862b566f5779f8011c3441d) )
9625 ROM_LOAD( "lbuggx.6", 0x2800, 0x0800, CRC(159f9433) SHA1(93341a4de1e1e4a3fb004019fc1edba73db6a4c8) )
9626 ROM_LOAD( "lbuggx.7", 0x3000, 0x0800, CRC(f2be06d5) SHA1(1354332d2d107ad810aa2e261b595285394dfb49) )
9627 ROM_LOAD( "lbuggx.8", 0x3800, 0x0800, CRC(646fe79f) SHA1(03223d6c4f9050fd6c1c313f0e366ab4989feca4) )
9628
9629 ROM_REGION( 0x2000, "gfx1", 0 )
9630 ROM_LOAD( "lbuggx.a", 0x0800, 0x0800, CRC(7efb9dc5) SHA1(5e02ea8cd1a1c8efa6708a8615cc2dc9da65a455) )
9631 ROM_CONTINUE ( 0x0000, 0x0800)
9632 ROM_LOAD( "lbuggx.b", 0x1800, 0x0800, CRC(351d4ddc) SHA1(048e8a60e57c6eb0a4d7c2175ddd46c4273756c5) )
9633 ROM_CONTINUE ( 0x1000, 0x0800)
9634
9635 ROM_REGION( 0x0020, "proms", 0 )
9636 ROM_LOAD( "lbuggx.clr", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9637 ROM_END
9638
9639 ROM_START( atlantisb ) /* Artic Multi-System */
9640 ROM_REGION( 0x10000, "maincpu", 0 )
9641 ROM_LOAD( "1", 0x0000, 0x0800, CRC(2b612351) SHA1(cfd244946190c062146716c0417c35be216943e4) ) /* aka "subfury" */
9642 ROM_LOAD( "2", 0x0800, 0x0800, CRC(b1c970e9) SHA1(1e12a1d34453b01ff5ef4d9530a90f476fc34631) )
9643 /* 0x1000, 0x0800 not populated */
9644 ROM_LOAD( "3", 0x1800, 0x0800, CRC(63c3783e) SHA1(e3a7a8bb2c108d3e1e1403017c72963afcd23813) )
9645 ROM_LOAD( "4", 0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
9646 ROM_LOAD( "5", 0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) )
9647 ROM_LOAD( "6", 0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) )
9648 /* 0x3800, 0x0800 not populated */
9649
9650 ROM_REGION( 0x1000, "gfx1", 0 )
9651 ROM_LOAD( "8", 0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) )
9652 ROM_LOAD( "7", 0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) )
9653
9654 ROM_REGION( 0x1000, "gfx2", ROMREGION_ERASEFF )
9655 /* 0x000, 0x0800 not populated */
9656 /* 0x000, 0x0800 not populated */
9657
9658 ROM_REGION( 0x0020, "proms", 0 )
9659 ROM_LOAD( "sn74s288n.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9660 ROM_END
9661
9662 ROM_START( tenspot )
9663 /* Game A - Survivor */
9664 ROM_REGION( 0x4000, "game_0_cpu", 0 )
9665 ROM_LOAD( "svt1-a.a1", 0x0000, 0x1000, CRC(5806d0e6) SHA1(887ff2985578faa9535387a5ce3953452e7a3171) )
9666 ROM_LOAD( "svt2-a.a2", 0x1000, 0x1000, CRC(847c16d0) SHA1(7ac65e5f47153f7e1e70c701b16d537774f60982) )
9667 ROM_LOAD( "svt3-a.a3", 0x2000, 0x1000, CRC(63a6990b) SHA1(901772e2ed8536c3031a66204889e1cac60011c5) )
9668
9669 ROM_REGION( 0x2000, "game_0_temp", 0 )
9670 ROM_LOAD( "syt5-a.a5", 0x0000, 0x1000, CRC(7f804605) SHA1(898f7de488ca79b5b29dbdb93233c63ed20df354) )
9671 ROM_LOAD( "svt5-a.a6", 0x1000, 0x1000, CRC(fff07c86) SHA1(a37034fb7fcf60ee5f098d405ee3277616c8aceb) )
9672
9673 ROM_REGION( 0x0020, "game_0_prom", 0 )
9674 ROM_LOAD( "clr3.a7", 0x0000, 0x0020, CRC(aefcf6b1) SHA1(10cde93e23fe8720f5af9039c4f68999f7cfce67) )
9675
9676 /* Game B - Moon Cresta */
9677 ROM_REGION( 0x4000, "game_1_cpu", 0 )
9678 ROM_LOAD( "mct1-a.b1", 0x0000, 0x1000, CRC(90a74a0b) SHA1(a1fb24aa621611c18bf6188f380640e5576ac248) )
9679 ROM_LOAD( "mct2-a.b2", 0x1000, 0x1000, CRC(9bb1e8e8) SHA1(0a8567c7efb6511360a786c18a09966966c253a2) )
9680 ROM_LOAD( "mct3-a.b3", 0x2000, 0x1000, CRC(6d19c439) SHA1(39a5d78c7d42981e1fa12bc6c794b915f738faf7) )
9681 ROM_LOAD( "mct4-a.b4", 0x3000, 0x1000, CRC(dd029a6e) SHA1(e6035a6981e22565a2af3a3ecac16676cb3b3500) )
9682
9683 ROM_REGION( 0x2000, "game_1_temp", 0 )
9684 ROM_LOAD( "mct5-a.b5", 0x0000, 0x1000, CRC(ac1a6a62) SHA1(febfcdbf1afe9a5352d8d96b454a6c8fc7818ef0) )
9685 ROM_LOAD( "mct6-a.b6", 0x1000, 0x1000, CRC(dc19ec73) SHA1(19a3295597a8eff2587ff838a3b8f7e3817f22f0) )
9686
9687 ROM_REGION( 0x0020, "game_1_prom", 0 )
9688 ROM_LOAD( "clr2.b7", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
9689
9690 /* Game C - Space Cruiser */
9691 ROM_REGION( 0x4000, "game_2_cpu", 0 )
9692 ROM_LOAD( "sct1-a.c1", 0x0000, 0x1000, CRC(5068e89c) SHA1(539fe47ec846ec038ee6ffd2d3578d7cf25d4219) )
9693 ROM_LOAD( "sct2-a.c2", 0x1000, 0x1000, CRC(96013308) SHA1(756ad5592acbe68c923a810eba2ff4eda4a9a51c) )
9694 ROM_LOAD( "sct3-a.c3", 0x2000, 0x1000, CRC(3c6ef851) SHA1(a2c5dd8cca60b7340c9c3973137415621f5b1a11) )
9695
9696 ROM_REGION( 0x2000, "game_2_temp", 0 )
9697 ROM_LOAD( "sct5-a.c5", 0x0000, 0x1000, CRC(272a0037) SHA1(48dcb9da66db75721668c3708ed1a55a0ee65238) )
9698 ROM_LOAD( "sct6-a.c6", 0x1000, 0x1000, CRC(d6b35f01) SHA1(e16a7400901e2b0ad4ce70dce8092741d85b6a43) )
9699
9700 ROM_REGION( 0x0020, "game_2_prom", 0 )
9701 ROM_LOAD( "clr1.c7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9702
9703 /* Game D - Mission Rescue (Black Hole) */
9704 ROM_REGION( 0x4000, "game_3_cpu", 0 )
9705 ROM_LOAD( "mrt1-a.d1", 0x0000, 0x1000, CRC(eb63c4e0) SHA1(29a59fa8616e36dd098ff9f6e520128db3b66ed9) )
9706 ROM_LOAD( "mrt2-a.d2", 0x1000, 0x1000, CRC(e4ba463a) SHA1(b5370bc33275f6aa52c96304db4be086b5f6d18c) )
9707 ROM_LOAD( "mrt3-a.d3", 0x2000, 0x1000, CRC(62d7b1ce) SHA1(5243d053ea53dcfe4110fdf04077e818237121c8) )
9708
9709 ROM_REGION( 0x2000, "game_3_temp", 0 )
9710 ROM_LOAD( "mrt5-a.d5", 0x0000, 0x1000, CRC(cc6bb4bc) SHA1(f81f671d2865a43849f10a48c0cc9f6c5bbe0f9e) )
9711 ROM_LOAD( "mrt6-a.d6", 0x1000, 0x1000, CRC(4b4e6c62) SHA1(86ea8436d631a30461f0ba708c0b597f15ebdd47) )
9712
9713 ROM_REGION( 0x0020, "game_3_prom", 0 )
9714 ROM_LOAD( "clr1.d7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9715
9716 /* Game E - Uniwars */
9717 ROM_REGION( 0x4000, "game_4_cpu", 0 )
9718 ROM_LOAD( "uwt1-a.e1", 0x0000, 0x1000, CRC(1379be84) SHA1(e280e0402c7cfa52f2a04801634f8c3aa85bf02f) )
9719 ROM_LOAD( "uwt2-a.e2", 0x1000, 0x1000, CRC(ed8e5260) SHA1(a2ebc8aa9b5da6ff689847de8973a512f9d96128) )
9720 ROM_LOAD( "uwt3-a.e3", 0x2000, 0x1000, CRC(9abd1570) SHA1(74f82ac2c3a1822f1e5575e7e72c017d24c43dc1) )
9721 ROM_LOAD( "uwt4-b.e4", 0x3000, 0x1000, CRC(daea5232) SHA1(cdb2a1a14188e971e2c98c625e0b577f688a753a) )
9722
9723 ROM_REGION( 0x2000, "game_4_temp", 0 )
9724 ROM_LOAD( "uwt5-a.e5", 0x0000, 0x1000, CRC(49a1c892) SHA1(b6b1be0d8fa6909ed8e6f36d3f75dadd8f5cafbe) )
9725 ROM_LOAD( "uwt6-a.e6", 0x1000, 0x1000, CRC(9d27e53d) SHA1(ef41c8b586545207a0e2021c8634df4ffe4b7b8a) )
9726
9727 ROM_REGION( 0x0020, "game_4_prom", 0 )
9728 ROM_LOAD( "clr1.e7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9729
9730 /* Game F - Batman Pt.2 (Phoenix) - this needs custom video banking like the standalone version.... */
9731 ROM_REGION( 0x4000, "game_5_cpu", 0 )
9732 ROM_LOAD( "bmt1-a.f1", 0x0000, 0x1000, CRC(2aecaaa0) SHA1(07c35f34eebbe65247a412c828328a558936d03c) )
9733 ROM_LOAD( "bmt2-a.f2", 0x1000, 0x1000, CRC(1972ff4c) SHA1(262db6caba201fa1f2f7b04f36f4d6084283d841) )
9734 ROM_LOAD( "bmt3-a.f3", 0x2000, 0x1000, CRC(34c0728d) SHA1(54f76368a387b42010258fa549465a430dd6ecf7) )
9735 ROM_LOAD( "bmt4-a.f4", 0x3000, 0x1000, CRC(fc2e8de1) SHA1(683815035054669a845ce440d66c023cf54dbdcc) )
9736
9737 ROM_REGION( 0x2000, "game_5_temp", 0 )
9738 ROM_LOAD( "bmt5-a.f5", 0x0000, 0x1000, CRC(ee71a2de) SHA1(c41b8c705ec697ab2a37fbde0fc2bbcd3259ec98) )
9739 ROM_LOAD( "bmt6-a.f6", 0x1000, 0x1000, CRC(ea538ab9) SHA1(310052358fca96bba5b69366f7bd47c446287783) )
9740
9741 ROM_REGION( 0x0020, "game_5_prom", 0 )
9742 ROM_LOAD( "clr1.f7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9743
9744 /* Game H - Defend UFO */
9745 ROM_REGION( 0x4000, "game_6_cpu", 0 )
9746 ROM_LOAD( "rut1-a.h1", 0x0000, 0x1000, CRC(364b0689) SHA1(d39c1ca5774b21c9e045f2234c2256f56ff36a2a) )
9747 ROM_LOAD( "rut2-a.h2", 0x1000, 0x1000, CRC(ed448821) SHA1(33c983b8cfa17299728363870f906477bce14dbf) )
9748 ROM_LOAD( "rut3-a.h3", 0x2000, 0x1000, CRC(312d5d37) SHA1(772a5e7ea94dd6b9744f4eef7d7ac26cb58d58ab) )
9749 ROM_LOAD( "rut4-a.h4", 0x3000, 0x1000, CRC(2281b279) SHA1(c6cfb14b6656de185f38a5c73cf042f2f8b4cc6e) )
9750
9751 ROM_REGION( 0x2000, "game_6_temp", 0 )
9752 ROM_LOAD( "rut5-a.h5", 0x0000, 0x1000, CRC(6fb16866) SHA1(e1a1ac17ef9c08ac2f4c7b15a13932f542aed95d) )
9753 ROM_LOAD( "rut6-a.h6", 0x1000, 0x1000, CRC(5ae0dc50) SHA1(d4ec2179d5181b71171bac5098a6f7f1c96e63b3) )
9754
9755 ROM_REGION( 0x0020, "game_6_prom", 0 )
9756 ROM_LOAD( "clr1.h7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9757
9758 /* Game J - King and Balloon */
9759 ROM_REGION( 0x4000, "game_7_cpu", 0 )
9760 ROM_LOAD( "kbt1-a.j1", 0x0000, 0x1000, CRC(6bcdfaef) SHA1(5f3d57a91d57c8758f1fa39a44be6082fff52406) )
9761 ROM_LOAD( "kbt2-a.j2", 0x1000, 0x1000, CRC(3652c64b) SHA1(7cb2a51e1830d48d5d3a62d521dfef1779dd5222) )
9762 ROM_LOAD( "kbt3-a.j3", 0x2000, 0x1000, CRC(946447c6) SHA1(0759f7d8b538d5e489a85bc6551cde76e6b3ed71) )
9763
9764 ROM_REGION( 0x2000, "game_7_temp", 0 )
9765 ROM_LOAD( "kbt5-a.j5", 0x0000, 0x1000, CRC(ea36f825) SHA1(20e26c97d780fb1fd15ad4c33c097a5b3539d43d) )
9766 ROM_LOAD( "kbt6-a.j6", 0x1000, 0x1000, CRC(2b8b46bc) SHA1(48a7a65fc5c174d0cc654557b3a1166df7fea4da) )
9767
9768 ROM_REGION( 0x0020, "game_7_prom", 0 )
9769 ROM_LOAD( "clr1.j7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9770
9771 /* Game K - Omega (The End) */
9772 ROM_REGION( 0x4000, "game_8_cpu", 0 )
9773 ROM_LOAD( "omt1-a.k1", 0x0000, 0x1000, CRC(8fc41a53) SHA1(c1bb4018bad12b83954cf8da8eba49f23618139a) )
9774 ROM_LOAD( "omt2-a.k2", 0x1000, 0x1000, CRC(a3073430) SHA1(200b15c572d7cff9be39439a247c9be742f17a61) )
9775 ROM_LOAD( "omt3-a.k3", 0x2000, 0x1000, CRC(b0de1fa2) SHA1(71cf8303b7ddc5813d6b92a71bd53f83272f5f22) )
9776
9777 ROM_REGION( 0x2000, "game_8_temp", 0 )
9778 ROM_LOAD( "omt5-a.k5", 0x0000, 0x1000, CRC(5ab402c8) SHA1(c0640d9907d7dcd34cd7105d21b99fc15fcbac6e) )
9779 ROM_LOAD( "omt6-a.k6", 0x1000, 0x1000, CRC(2552e470) SHA1(ba5fba8047e4bb23442b0c2d45c858ec9da63945) )
9780
9781 ROM_REGION( 0x0020, "game_8_prom", 0 )
9782 ROM_LOAD( "clr1.k7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9783
9784 /* Game L - Battle of Atlantis */
9785 ROM_REGION( 0x4000, "game_9_cpu", 0 )
9786 ROM_LOAD( "bat1-a.l1", 0x0000, 0x1000, CRC(5849dd36) SHA1(c69bf6119ae63a3c855d58bbadb5b358f7b25ad0) )
9787 ROM_LOAD( "bat2-a.l2", 0x1000, 0x1000, CRC(adc2ce4b) SHA1(36f477a48b3df9cb2456460048b2fdd0d3e8b73e) )
9788 ROM_LOAD( "bat3-a.l3", 0x2000, 0x1000, CRC(81270ace) SHA1(0385fedacbbda4ed750c5a64d51a60ed98c3ed65) )
9789 ROM_LOAD( "bat4-a.l4", 0x3000, 0x1000, CRC(bd751ba9) SHA1(dbdc8972b0236755d5a8ea90e2de2d16585f5e02) )
9790
9791 ROM_REGION( 0x2000, "game_9_temp", 0 )
9792 ROM_LOAD( "bat5-a.l5", 0x0000, 0x1000, CRC(b9701513) SHA1(d8bc7b36a6d0b1e73aa7b6a5dab7b36ce111a04c) )
9793 ROM_LOAD( "bat6-a.l6", 0x1000, 0x1000, CRC(54b423b7) SHA1(31eec49b4e9c8b56668b9037dd47e66659ce64cb) )
9794
9795 ROM_REGION( 0x0020, "game_9_prom", 0 )
9796 ROM_LOAD( "clr1.l7", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
9797
9798
9799 ROM_REGION( 0x4000, "selectcpu", 0 ) // probably related to game selection
9800 ROM_LOAD( "tenu2-d.u2", 0x0000, 0x800, CRC(58c7fe3b) SHA1(a4faa8e669a81fe01696d6df9c8ebd5c17be0f00) )
9801
9802 ROM_REGION( 0x4000, "unknown", 0 ) // ?? no idea
9803 ROM_LOAD( "u1.u1", 0x0000, 0x100, CRC(f18006f7) SHA1(f9a3541cd7f2b75816227d8befc03d2e33eeebac) )
9804
9805
9806 /* temporary - replace game_x with the game number you want to test. */
9807 ROM_REGION( 0x4000, "maincpu", ROMREGION_ERASEFF )
9808 ROM_REGION( 0x2000, "gfx1", ROMREGION_ERASEFF )
9809 ROM_REGION( 0x2000, "gfx2", ROMREGION_ERASEFF )
9810 ROM_REGION( 0x0020, "proms", ROMREGION_ERASEFF )
9811 ROM_END
9812
9813
9814 ROM_START( fourplay )
9815 ROM_REGION( 0x20000, "maincpu", 0 )
9816 ROM_LOAD( "fourplay.bin", 0x10000, 0x10000, CRC(b42b2c2c) SHA1(f3b6f136b39e7a6adadecb9acf906fcfe649f398) )
9817
9818 ROM_REGION( 0x2000, "gfx1", 0 )
9819 ROM_LOAD( "graph1.bin", 0x0000, 0x1000, CRC(359c0c1f) SHA1(9e39baae4ab5763db236d0a49a6665d2e69cba11) )
9820 ROM_LOAD( "graph2.bin", 0x1000, 0x1000, CRC(b22a51c9) SHA1(cccfbab0c92dba81e3451de72d1f1899226e30e2) )
9821
9822 ROM_REGION( 0x0020, "proms", 0 )
9823 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
9824 ROM_END
9825
9826 ROM_START( videight )
9827 ROM_REGION( 0x30000, "maincpu", 0 )
9828 ROM_LOAD( "videight.bin", 0x10000, 0x20000, CRC(0601db09) SHA1(0c9cd1afb0034946261219bf42b2f9b1ed5bdb17) )
9829
9830 ROM_REGION( 0x10000, "gfx1", 0 )
9831 ROM_LOAD( "v8g1.bin", 0x0000, 0x8000, CRC(af771e33) SHA1(cdc960c5f548e19da4eabdaf8b789ca8ffb6a29f) )
9832 ROM_LOAD( "v8g2.bin", 0x8000, 0x8000, CRC(776c34e6) SHA1(de70a29f73469a58ab15acb95aaad1efeb4de08d) )
9833
9834 ROM_REGION( 0x0100, "proms", 0 )
9835 ROM_LOAD( "v8c.bin", 0x0000, 0x0100, CRC(b35a6ca8) SHA1(d9195215bf2482a1b02a019bb708a9981eb0bdf8) )
9836 ROM_END
9837
9838
9839 /*************************************
9840 *
9841 * ROM definitions
9842 * Moon Cresta-derived games
9843 *
9844 *************************************/
9845
9846 ROM_START( mooncrst )
9847 ROM_REGION( 0x8000, "maincpu", 0 )
9848 ROM_LOAD( "mc1", 0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) )
9849 ROM_LOAD( "mc2", 0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) )
9850 ROM_LOAD( "mc3", 0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) )
9851 ROM_LOAD( "mc4", 0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) )
9852 ROM_LOAD( "mc5.7r", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
9853 ROM_LOAD( "mc6.8d", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
9854 ROM_LOAD( "mc7.8e", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
9855 ROM_LOAD( "mc8", 0x3800, 0x0800, CRC(18ca312b) SHA1(39219059003b949e38305553fea2d33071062c64) )
9856
9857 ROM_REGION( 0x2000, "gfx1", 0 )
9858 ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
9859 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
9860 ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
9861 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
9862
9863 ROM_REGION( 0x0020, "proms", 0 )
9864 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
9865 ROM_END
9866
9867 ROM_START( mooncrstuk )
9868 ROM_REGION( 0x8000, "maincpu", 0 )
9869 ROM_LOAD( "mc1", 0x0000, 0x0800, CRC(7d954a7a) SHA1(a93ee403cfd7887538ad12d33f6dd6c71bea2a32) )
9870 ROM_LOAD( "mc2", 0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) )
9871 ROM_LOAD( "mc3", 0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) )
9872 ROM_LOAD( "mc4", 0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) )
9873 ROM_LOAD( "mc5.7r", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
9874 ROM_LOAD( "mc6.8d", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
9875 ROM_LOAD( "mc7.8e", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
9876 ROM_LOAD( "8_uk.bin", 0x3800, 0x0800, CRC(ce727ad4) SHA1(247fe0ea7dcc7cc50f19da0a54385b8545f03609) )
9877
9878 ROM_REGION( 0x2000, "gfx1", 0 )
9879 ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
9880 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
9881 ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
9882 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
9883
9884 ROM_REGION( 0x0020, "proms", 0 )
9885 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
9886 ROM_END
9887
9888 ROM_START( mooncrstuku )
9889 ROM_REGION( 0x8000, "maincpu", 0 )
9890 ROM_LOAD( "smc1f", 0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) )
9891 ROM_LOAD( "smc2f", 0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) )
9892 ROM_LOAD( "smc3f", 0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) )
9893 ROM_LOAD( "smc4f", 0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) )
9894 ROM_LOAD( "smc5f", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
9895 ROM_LOAD( "smc6f", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
9896 ROM_LOAD( "smc7f", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
9897 ROM_LOAD( "smc8f_uk", 0x3800, 0x0800, CRC(b968b2ff) SHA1(40105423f48d2260e85597c3c1e4d8fe947db793) )
9898
9899 ROM_REGION( 0x2000, "gfx1", 0 )
9900 ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
9901 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
9902 ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
9903 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
9904
9905 ROM_REGION( 0x0020, "proms", 0 )
9906 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
9907 ROM_END
9908
9909 // CPU-1 board has the CPU, a 7486, a 74153, a 74125 and a 7408
9910 ROM_START( mooncrstu )
9911 ROM_REGION( 0x8000, "maincpu", 0 )
9912 ROM_LOAD( "mcue_mc1.bin", 0x0000, 0x0800, CRC(2ff840d1) SHA1(c7232972cab1696be25a0b617ce9d0fa501b57d4) )
9913 ROM_LOAD( "mcue_mc2.bin", 0x0800, 0x0800, CRC(44bb7cfa) SHA1(349c2e23a9fce73f95bb8168d369082fa129fe3d) )
9914 ROM_LOAD( "mcue_mc3.bin", 0x1000, 0x0800, CRC(9c412104) SHA1(1b40054ebb1ace965a8522119bb23f09797bc5f6) )
9915 ROM_LOAD( "mcue_mc4.bin", 0x1800, 0x0800, CRC(7e9b1ab5) SHA1(435f603c0c3e788a509dd144a7916a34e791ae44) )
9916 ROM_LOAD( "mcue_mc5.bin", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
9917 ROM_LOAD( "mcue_mc6.bin", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
9918 ROM_LOAD( "mcue_mc7.bin", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
9919 ROM_LOAD( "mcue_mc8.bin", 0x3800, 0x0800, CRC(414678b4) SHA1(84050c9ceb337fd748c6a3f18c86b28f07573cc9) )
9920
9921 ROM_REGION( 0x2000, "gfx1", 0 )
9922 ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
9923 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
9924 ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
9925 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
9926
9927 ROM_REGION( 0x0020, "proms", 0 )
9928 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
9929 ROM_END
9930
9931 ROM_START( mooncrstuu )
9932 ROM_REGION( 0x8000, "maincpu", 0 )
9933 ROM_LOAD( "smc1f", 0x0000, 0x0800, CRC(389ca0d6) SHA1(51cf6d190a0ebf23b70c2bcf1ccaa4705e29cd09) )
9934 ROM_LOAD( "smc2f", 0x0800, 0x0800, CRC(410ab430) SHA1(d89abff6ac4afbf69377a1d63043d629a634aab7) )
9935 ROM_LOAD( "smc3f", 0x1000, 0x0800, CRC(a6b4144b) SHA1(2b27ad54d716286c0dc9476d47df182ae01bcfd7) )
9936 ROM_LOAD( "smc4f", 0x1800, 0x0800, CRC(4cc046fe) SHA1(465eaacd50967d768babadd09ab9cad35380f6bf) )
9937 ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
9938 ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
9939 ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
9940 ROM_LOAD( "smc8f", 0x3800, 0x0800, CRC(f42164c5) SHA1(e0d1680f193889568edf005786e2767d4fb086f4) )
9941
9942 ROM_REGION( 0x2000, "gfx1", 0 )
9943 ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
9944 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
9945 ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
9946 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
9947
9948 ROM_REGION( 0x0020, "proms", 0 )
9949 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
9950 ROM_END
9951
9952 ROM_START( mooncrsto )
9953 ROM_REGION( 0x8000, "maincpu", 0 )
9954 ROM_LOAD( "mc1.7d", 0x0000, 0x0800, CRC(92a86aac) SHA1(f5818ac97d8b779e1fb29bf903f74185d24afb0d) )
9955 ROM_LOAD( "mc2.7e", 0x0800, 0x0800, CRC(438c2b4b) SHA1(11f56b489b5489999952e91919c5e1f622c59c36) )
9956 ROM_LOAD( "mc3.7j", 0x1000, 0x0800, CRC(67e3d21d) SHA1(59579d19931ef11b30fdc3912d838200bef92c81) )
9957 ROM_LOAD( "mc4.7p", 0x1800, 0x0800, CRC(f4db39f6) SHA1(454931f80b35608793590b3843c69ba64cbf6772) )
9958 ROM_LOAD( "mc5.7r", 0x2000, 0x0800, CRC(16c759af) SHA1(3b48050411f65f9d3fb41ff22901e22d82bf1cf6) )
9959 ROM_LOAD( "mc6.8d", 0x2800, 0x0800, CRC(69bcafdb) SHA1(939c8c6ed1cd4660a3d99b8f17ed99cbd7e1352a) )
9960 ROM_LOAD( "mc7.8e", 0x3000, 0x0800, CRC(b50dbc46) SHA1(4fa084fd1ba5f78e7703e684c57af15ca7a844e4) )
9961 ROM_LOAD( "mc8.8h", 0x3800, 0x0800, CRC(7e2b1928) SHA1(4f0de8e80c2e2ec6df8612755caf93671ea965b0) )
9962
9963 ROM_REGION( 0x2000, "gfx1", 0 )
9964 ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
9965 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
9966 ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
9967 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
9968
9969 ROM_REGION( 0x0020, "proms", 0 )
9970 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
9971 ROM_END
9972
9973 ROM_START( mooncrstg )
9974 ROM_REGION( 0x8000, "maincpu", 0 )
9975 ROM_LOAD( "epr194", 0x0000, 0x0800, CRC(0e5582b1) SHA1(946ad4aeb10c0b7b3f93fd24925cc9bcb49e443c) )
9976 ROM_LOAD( "epr195", 0x0800, 0x0800, CRC(12cb201b) SHA1(ebb01ec646b9e015cbcb93f70dfdaf448afefc12) )
9977 ROM_LOAD( "epr196", 0x1000, 0x0800, CRC(18255614) SHA1(b373e22d47c0f7facba13148ca9c462ec9a0d732) )
9978 ROM_LOAD( "epr197", 0x1800, 0x0800, CRC(05ac1466) SHA1(cbf93a8ce0925fa1c073c74f1274b190d9faefaf) )
9979 ROM_LOAD( "epr198", 0x2000, 0x0800, CRC(c28a2e8f) SHA1(9ff6bab1e1185597ba55cb0d6086091a1fce01a6) )
9980 ROM_LOAD( "epr199", 0x2800, 0x0800, CRC(5a4571de) SHA1(2a4170dee105922fc69c99b79f6f328098e81918) )
9981 ROM_LOAD( "epr200", 0x3000, 0x0800, CRC(b7c85bf1) SHA1(cc9f593658ea39c849d80c83ee0c2170cc29879e) )
9982 ROM_LOAD( "epr201", 0x3800, 0x0800, CRC(2caba07f) SHA1(8fec4904e12b4cfb6068784007278be986a3eede) )
9983
9984 ROM_REGION( 0x2000, "gfx1", 0 )
9985 ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
9986 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
9987 ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
9988 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
9989
9990 ROM_REGION( 0x0020, "proms", 0 )
9991 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
9992 ROM_END
9993
9994 ROM_START( mooncrsb )
9995 ROM_REGION( 0x8000, "maincpu", 0 )
9996 ROM_LOAD( "bepr194", 0x0000, 0x0800, CRC(6a23ec6d) SHA1(df2214bdde26a71db59ffd39a745052076563f65) )
9997 ROM_LOAD( "bepr195", 0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) )
9998 ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
9999 ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10000 ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10001 ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
10002 ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10003 ROM_LOAD( "bepr201", 0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) )
10004
10005 ROM_REGION( 0x2000, "gfx1", 0 )
10006 ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
10007 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10008 ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
10009 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10010
10011 ROM_REGION( 0x0020, "proms", 0 )
10012 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10013 ROM_END
10014
10015 ROM_START( mooncrs2 )
10016 ROM_REGION( 0x8000, "maincpu", 0 )
10017 ROM_LOAD( "f8.bin", 0x0000, 0x0800, CRC(d36003e5) SHA1(562b27f1bccce6ae29de18b93fa51c508446cda9) )
10018 ROM_LOAD( "bepr195", 0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) )
10019 ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10020 ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10021 ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10022 ROM_LOAD( "bepr199", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
10023 ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10024 ROM_LOAD( "m7.bin", 0x3800, 0x0800, CRC(957ee078) SHA1(472038dedfc01c995be889ea93d4df8bef2b874c) )
10025
10026 ROM_REGION( 0x2000, "gfx1", 0 )
10027 ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10028 ROM_LOAD( "12.chr", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
10029 ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
10030 ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
10031 ROM_CONTINUE( 0x0e00, 0x0200 )
10032 ROM_LOAD( "1k_1_11.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
10033 ROM_LOAD( "11.chr", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
10034 ROM_CONTINUE( 0x1c00, 0x0200 )
10035 ROM_CONTINUE( 0x1a00, 0x0200 )
10036 ROM_CONTINUE( 0x1e00, 0x0200 )
10037
10038 ROM_REGION( 0x0020, "proms", 0 )
10039 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10040 ROM_END
10041
10042 ROM_START( mooncrs3 ) /* Bootleg by Jeutel, very similar to Moon Cresta (bootleg set 2) */
10043 ROM_REGION( 0x8000, "maincpu", 0 )
10044 ROM_LOAD( "b1.7f", 0x0000, 0x0800, CRC(0b28cd8a) SHA1(a1aa0ec63e1dddf4263aa39f6a5fda93108b6e98) )
10045 ROM_CONTINUE( 0x2000, 0x0800 )
10046 ROM_LOAD( "b2.7h", 0x0800, 0x0800, CRC(74a6f0ca) SHA1(cc8e8193bb6bd62f6cb9ea924e4da5ddc44c4685) )
10047 ROM_CONTINUE( 0x2800, 0x0800 )
10048 ROM_LOAD( "b3.7j", 0x1000, 0x0800, CRC(eeb34cc9) SHA1(c5e7d5e1989211be949972e4281403b7b4866922) )
10049 ROM_CONTINUE( 0x3000, 0x0800 )
10050 ROM_LOAD( "b4.7k", 0x1800, 0x0800, CRC(714330e5) SHA1(c681752732c73a6c9bcc9acdcd5c978c455acba0) )
10051 ROM_CONTINUE( 0x3800, 0x0800 )
10052
10053 ROM_REGION( 0x2000, "gfx1", 0 )
10054 ROM_LOAD( "o.1h", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10055 ROM_LOAD( "q.1h", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
10056 ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
10057 ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
10058 ROM_CONTINUE( 0x0e00, 0x0200 )
10059 ROM_LOAD( "p.1k", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
10060 ROM_LOAD( "r.1k", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
10061 ROM_CONTINUE( 0x1c00, 0x0200 )
10062 ROM_CONTINUE( 0x1a00, 0x0200 )
10063 ROM_CONTINUE( 0x1e00, 0x0200 )
10064
10065 ROM_REGION( 0x0020, "proms", 0 )
10066 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10067 ROM_END
10068
10069 ROM_START( mooncrs4 )
10070 ROM_REGION( 0x10000, "maincpu", 0 )
10071 ROM_LOAD( "mooncrs4.7k", 0x0000, 0x1000, CRC(5e201041) SHA1(2ab29e69b1cf9464e6a6a3574a3097cc2bd38432) )
10072 ROM_LOAD( "mooncrs4.7j", 0x1000, 0x1000, CRC(8de07c8e) SHA1(7f520a57acb8acedd7b4e29d8367fe2b190efa37) )
10073 ROM_LOAD( "mooncrs4.7h", 0x2000, 0x1000, CRC(888c6d61) SHA1(07404ac714aa1ff9e6bbffffa8afa76a5899ad75) )
10074 ROM_LOAD( "mooncrs4.7f", 0x3000, 0x1000, CRC(492f9b01) SHA1(a301ef05411e7f2cc2c2433faf0933299c43c49a) )
10075
10076 ROM_REGION( 0x2000, "gfx1", 0 )
10077 ROM_LOAD( "mooncrs4.1h", 0x0800, 0x0200, CRC(f508a7a5) SHA1(0867ef190a0543411fe8e394c8f99669f4050433) )
10078 ROM_CONTINUE( 0x0c00, 0x0200 )
10079 ROM_CONTINUE( 0x0a00, 0x0200 )
10080 ROM_CONTINUE( 0x0e00, 0x0200 )
10081 ROM_CONTINUE( 0x0000, 0x0800 )
10082 ROM_LOAD( "mooncrs4.1k", 0x1800, 0x0200, CRC(9b549313) SHA1(7f161b4de86bc64ada4bad84beab3585dde14944) )
10083 ROM_CONTINUE( 0x1c00, 0x0200 )
10084 ROM_CONTINUE( 0x1a00, 0x0200 )
10085 ROM_CONTINUE( 0x1e00, 0x0200 )
10086 ROM_CONTINUE( 0x1000, 0x0800 )
10087
10088 ROM_REGION( 0x0020, "proms", 0 )
10089 ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10090 ROM_END
10091
10092 ROM_START( mooncrs5 )
10093 ROM_REGION( 0x8000, "maincpu", 0 ) // only the first program ROM differ from mooncrs2. The last is identical but for being double size with identical halves.
10094 ROM_LOAD( "f_r_a.bin", 0x0000, 0x0800, CRC(73cd07cf) SHA1(489d14846f5a4ad55a1b4ab55dff312e4ffc68c0) )
10095 ROM_LOAD( "f_f_a.bin", 0x0800, 0x0800, CRC(ee262ff2) SHA1(4e2202023ad53109ea58304071735d2425a617f3) )
10096 ROM_LOAD( "f_f_b.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10097 ROM_LOAD( "f_r_c.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10098 ROM_LOAD( "f_r_d.bin", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10099 ROM_LOAD( "f_f_e.bin", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
10100 ROM_LOAD( "f_f_f.bin", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10101 ROM_LOAD( "f_r_f.bin", 0x3800, 0x0800, BAD_DUMP CRC(2d36a3e6) SHA1(9b7b5203dd421a4d9bb310594edd30f5111e9e40) ) // 1st and 2nd half identical, misses the second half of code
10102 // let's use the mooncrs2 ROM for now (1/2 m7.bin == (1/2 || 2/2) f_r_f.bin)
10103 // Remove the BAD_DUMP flag when confirmed being identical via another dump.
10104 ROM_LOAD( "m7.bin", 0x3800, 0x0800, BAD_DUMP CRC(957ee078) SHA1(472038dedfc01c995be889ea93d4df8bef2b874c) )
10105
10106 ROM_REGION( 0x2000, "gfx1", 0 )
10107 ROM_LOAD( "r_r_a.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10108 ROM_LOAD( "r_f_a.bin", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
10109 ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
10110 ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
10111 ROM_CONTINUE( 0x0e00, 0x0200 )
10112 ROM_LOAD( "r_r_b.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
10113 ROM_LOAD( "r_f_b.bin", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
10114 ROM_CONTINUE( 0x1c00, 0x0200 )
10115 ROM_CONTINUE( 0x1a00, 0x0200 )
10116 ROM_CONTINUE( 0x1e00, 0x0200 )
10117
10118 ROM_REGION( 0x0020, "proms", 0 ) // not dumped for this set
10119 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10120 ROM_END
10121
10122 ROM_START( mooncrstso )
10123 ROM_REGION( 0x8000, "maincpu", 0 )
10124 ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(0357ab1a) SHA1(153c3134b7d09817230b4d18a4ba713022c1887e) )
10125 ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(cf6e78f5) SHA1(9de3ba600c967ae4f82d2df72a9cf7cd2193006f) )
10126 ROM_LOAD( "3.bin", 0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) )
10127 ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(cea864f2) SHA1(aaaf9f8dd126dfb4a4f52f39863fee02a56a6485) )
10128 ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) )
10129 ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(f0230048) SHA1(8a4363323530b21ee14dbe608aa0de5241d8bb39) )
10130 ROM_LOAD( "7.bin", 0x3000, 0x0800, CRC(73783cee) SHA1(69760e25ba22645572ec16b4f9136ee84ed0c766) )
10131 ROM_LOAD( "8.bin", 0x3800, 0x0800, CRC(1644965a) SHA1(4d3c610502c4120563c39a1f850060230b6fe4a8) )
10132
10133 ROM_REGION( 0x2000, "gfx1", 0 ) // missing, assumng 'super moon cresta' gfx
10134 ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
10135 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10136 ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
10137 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10138
10139 ROM_REGION( 0x0020, "proms", 0 )
10140 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10141 ROM_END
10142
10143 ROM_START( fantazia )
10144 ROM_REGION( 0x8000, "maincpu", 0 )
10145 ROM_LOAD( "f01.bin", 0x0000, 0x0800, CRC(d3e23863) SHA1(f0a6f7491fdf8aae214f40078b29b7aecdcf2f1e) )
10146 ROM_LOAD( "f02.bin", 0x0800, 0x0800, CRC(63fa4149) SHA1(603ee6d4d2952cc08b3f6e98b1a2053671875e44) )
10147 ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10148 ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10149 ROM_LOAD( "f09.bin", 0x2000, 0x0800, CRC(75fd5ca1) SHA1(45f2dd33f0e437cb95d9373f86490e5432338737) )
10150 ROM_LOAD( "f10.bin", 0x2800, 0x0800, CRC(e4da2dd4) SHA1(7a53efd5b583f656c87b7d7a5ba7c239ced7d87b) )
10151 ROM_LOAD( "f11.bin", 0x3000, 0x0800, CRC(42869646) SHA1(a3640b2ace31ce99c056bc14d1d96f3404698d6a) )
10152 ROM_LOAD( "f12.bin", 0x3800, 0x0800, CRC(a48d7fb0) SHA1(6206036a9d85e87fb7f8a88c17bfe090fc70caf4) )
10153
10154 ROM_REGION( 0x2000, "gfx1", 0 )
10155 ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10156 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10157 ROM_LOAD( "1k_1_11.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
10158 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10159
10160 ROM_REGION( 0x0020, "proms", 0 )
10161 ROM_LOAD( "fantazia.clr", 0x0000, 0x0020, CRC(a84ff0af) SHA1(c300dc937c608d2d1c113ca7a53c649472c72379) )
10162 ROM_END
10163
10164 ROM_START( eagle )
10165 ROM_REGION( 0x8000, "maincpu", 0 )
10166 ROM_LOAD( "e1", 0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) )
10167 ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
10168 ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10169 ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10170 ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10171 ROM_LOAD( "e6", 0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) )
10172 ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10173 ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
10174
10175 ROM_REGION( 0x2000, "gfx1", 0 )
10176 ROM_LOAD( "e10", 0x0000, 0x0800, CRC(40ce58bf) SHA1(67ea99e1afe4fff3e17252b22d11d3c96a416041) )
10177 ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
10178 ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
10179 ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
10180 ROM_CONTINUE( 0x0e00, 0x0200 )
10181 ROM_LOAD( "e9", 0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) )
10182 ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
10183 ROM_CONTINUE( 0x1c00, 0x0200 )
10184 ROM_CONTINUE( 0x1a00, 0x0200 )
10185 ROM_CONTINUE( 0x1e00, 0x0200 )
10186
10187 ROM_REGION( 0x0020, "proms", 0 )
10188 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10189 ROM_END
10190
10191 ROM_START( eagle2 )
10192 ROM_REGION( 0x8000, "maincpu", 0 )
10193 ROM_LOAD( "e1.7f", 0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) )
10194 ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
10195 ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10196 ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10197 ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10198 ROM_LOAD( "e6.6", 0x2800, 0x0800, CRC(9f09f8c6) SHA1(47c600629e02357389dd78c7fcaec862e0da4ef0) )
10199 ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10200 ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
10201
10202 ROM_REGION( 0x2000, "gfx1", 0 )
10203 ROM_LOAD( "e10.2", 0x0000, 0x0800, CRC(25b38ebd) SHA1(f679c2f2cb5892680fec102fafbdfeae156ce373) )
10204 ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
10205 ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
10206 ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
10207 ROM_CONTINUE( 0x0e00, 0x0200 )
10208 ROM_LOAD( "e9", 0x1000, 0x0800, CRC(ba664099) SHA1(9509123bed02a9d47f2c056e1562b80206da5579) )
10209 ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
10210 ROM_CONTINUE( 0x1c00, 0x0200 )
10211 ROM_CONTINUE( 0x1a00, 0x0200 )
10212 ROM_CONTINUE( 0x1e00, 0x0200 )
10213
10214 ROM_REGION( 0x0020, "proms", 0 )
10215 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10216 ROM_END
10217
10218 ROM_START( eagle3 )
10219 ROM_REGION( 0x8000, "maincpu", 0 )
10220 ROM_LOAD( "e1", 0x0000, 0x0800, CRC(224c9526) SHA1(4c014d60d4ee80de7f60b4609269461688c181d0) )
10221 ROM_LOAD( "e2", 0x0800, 0x0800, CRC(cc538ebd) SHA1(4ef3c7363e2dcd9ed99779039ccc50a9f2084dbd) )
10222 ROM_LOAD( "f03.bin", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10223 ROM_LOAD( "f04.bin", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10224 ROM_LOAD( "e5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10225 ROM_LOAD( "e6", 0x2800, 0x0800, CRC(0dea20d5) SHA1(405b51d4e3b1065f78afd2297e075e977ae19196) )
10226 ROM_LOAD( "e7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10227 ROM_LOAD( "e8", 0x3800, 0x0800, CRC(c437a876) SHA1(845941b873970ac62ba9bb6353bee53d0fcfa292) )
10228
10229 ROM_REGION( 0x2000, "gfx1", 0 )
10230 ROM_LOAD( "e10a", 0x0000, 0x0800, CRC(e3c63d4c) SHA1(ad2b22e316da6bb819c58934d51cd4b2819b18f0) )
10231 ROM_LOAD( "e12", 0x0800, 0x0200, CRC(628fdeed) SHA1(a798530c65e639fbf00ed3a4e8c428935bf5f38e) )
10232 ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
10233 ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
10234 ROM_CONTINUE( 0x0e00, 0x0200 )
10235 ROM_LOAD( "e9a", 0x1000, 0x0800, CRC(59429e47) SHA1(b7629c81d122fd1e4d390aa7abba44df898387d3) )
10236 ROM_LOAD( "e11", 0x1800, 0x0200, CRC(ee4ec5fd) SHA1(bf08b3f111f780dc8c81275e4e6247388183a8da) )
10237 ROM_CONTINUE( 0x1c00, 0x0200 )
10238 ROM_CONTINUE( 0x1a00, 0x0200 )
10239 ROM_CONTINUE( 0x1e00, 0x0200 )
10240
10241 ROM_REGION( 0x0020, "proms", 0 )
10242 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10243 ROM_END
10244
10245 ROM_START( spctbird )
10246 ROM_REGION( 0x8000, "maincpu", 0 )
10247 ROM_LOAD( "tssa-7f", 0x0000, 0x0800, CRC(45aab7a3) SHA1(52ae0463f363dc0964b976faa2c0c428d85a4f12) )
10248 ROM_LOAD( "tssa-7h", 0x0800, 0x0800, CRC(8b328f48) SHA1(d4f549e90e0bf1f546e2c3dc5a5a16e0415e709e) )
10249 ROM_LOAD( "tssa-7k", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10250 ROM_LOAD( "tssa-7m", 0x1800, 0x0800, CRC(99c9166d) SHA1(c108d84330bc958ff2812dc807e68c246a5a5ad5) )
10251 ROM_LOAD( "tssa-5", 0x2000, 0x0800, CRC(797b6261) SHA1(9a60e504e2aa0201b7311485c0dd411bbe2dc70b) )
10252 ROM_LOAD( "tssa-6", 0x2800, 0x0800, CRC(4825692c) SHA1(41a7e305c3d93f2245fb0413398d951eab9d16c0) )
10253 ROM_LOAD( "tssa-7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10254 ROM_LOAD( "tssa-8", 0x3800, 0x0800, CRC(c9b77b85) SHA1(00797f126b4cdacd9ec2df7e747aa1892933b8b8) )
10255
10256 ROM_REGION( 0x2000, "gfx1", 0 )
10257 ROM_LOAD( "tssb-2", 0x0000, 0x0800, CRC(7d23e1f2) SHA1(6902e44ff6f805a8d589c57b236e471b7fb609f8) )
10258 ROM_LOAD( "tssb-4", 0x0800, 0x0200, CRC(e4977833) SHA1(85aca9bccc6c1a5a2d792a9c4a77ee1b114934c9) )
10259 ROM_CONTINUE( 0x0c00, 0x0200 )
10260 ROM_CONTINUE( 0x0a00, 0x0200 )
10261 ROM_CONTINUE( 0x0e00, 0x0200 )
10262 ROM_LOAD( "tssb-1", 0x1000, 0x0800, CRC(9b9267c3) SHA1(2bbbff7a8a2d3e4524634de5e1c5a2426612c18f) )
10263 ROM_LOAD( "tssb-3", 0x1800, 0x0200, CRC(5ca5e233) SHA1(2115faecd07940547d0ee09776da6fcb1a008287) )
10264 ROM_CONTINUE( 0x1c00, 0x0200 )
10265 ROM_CONTINUE( 0x1a00, 0x0200 )
10266 ROM_CONTINUE( 0x1e00, 0x0200 )
10267
10268 ROM_REGION( 0x0020, "proms", 0 )
10269 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10270 ROM_END
10271
10272 ROM_START( smooncrs )
10273 ROM_REGION( 0x8000, "maincpu", 0 )
10274 ROM_LOAD( "927", 0x0000, 0x0800, CRC(55c5b994) SHA1(3451b121fa22361b2684385cf5d4455fa6963215) )
10275 ROM_LOAD( "928a", 0x0800, 0x0800, CRC(77ae26d3) SHA1(cbc16a024b73bedff76a6c47336d6ef098e92c53) )
10276 ROM_LOAD( "929", 0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) )
10277 ROM_LOAD( "930", 0x1800, 0x0800, CRC(cea864f2) SHA1(aaaf9f8dd126dfb4a4f52f39863fee02a56a6485) )
10278 ROM_LOAD( "931", 0x2000, 0x0800, CRC(702c5f51) SHA1(5ba8d87c93c4810b8e7c2ad4ee376cd806e83686) )
10279 ROM_LOAD( "932a", 0x2800, 0x0800, CRC(e6a2039f) SHA1(f0f240dd8ac7cd2d9994cb7341b59d7a0a3eaf26) )
10280 ROM_LOAD( "933", 0x3000, 0x0800, CRC(73783cee) SHA1(69760e25ba22645572ec16b4f9136ee84ed0c766) )
10281 ROM_LOAD( "934", 0x3800, 0x0800, CRC(c1a14aa2) SHA1(99f6b01a0acd5e936d6ae61c13599db603b73191) )
10282
10283 ROM_REGION( 0x2000, "gfx1", 0 )
10284 ROM_LOAD( "epr203", 0x0000, 0x0800, CRC(be26b561) SHA1(cc27de6888eaf4ee18c0d37d9bcb528dd282b838) )
10285 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10286 ROM_LOAD( "epr202", 0x1000, 0x0800, CRC(26c7e800) SHA1(034192e5e2cbac4b66a9828f5ec2311c2c368781) )
10287 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10288
10289 ROM_REGION( 0x0020, "proms", 0 )
10290 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10291 ROM_END
10292
10293
10294
10295 ROM_START( mooncptc )
10296 ROM_REGION( 0x8000, "maincpu", 0 )
10297 ROM_LOAD( "mc1.bin", 0x0000, 0x0800, CRC(16f17cd5) SHA1(b3bbea2d91a6deeda7e045fc694ea3afb2e88a29) )
10298 ROM_LOAD( "mc2.bin", 0x0800, 0x0800, CRC(e2128805) SHA1(98aba5fd27eb7a3fdd3006f47c1eb7a0ea9d9a6f) )
10299 ROM_LOAD( "mc3.bin", 0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) ) // = 929 smooncrs Super Moon Cresta
10300 ROM_LOAD( "mc4.bin", 0x1800, 0x0800, CRC(bd45cd8f) SHA1(045e8b56d46a11c6f974ea9455618d067ba0ef50) )
10301 ROM_LOAD( "mc5.bin", 0x2000, 0x0800, CRC(9a1e0528) SHA1(d77e7daa9fc79ea0503f93af8c714441c7fd9ca5) )
10302 ROM_LOAD( "mc6.bin", 0x2800, 0x0800, CRC(f0230048) SHA1(8a4363323530b21ee14dbe608aa0de5241d8bb39) )
10303 ROM_LOAD( "mc7.bin", 0x3000, 0x0800, CRC(eafd4d02) SHA1(b75ed5358646d8a377ccd1f282136e638aaa9d0c) )
10304 ROM_LOAD( "mc8.bin", 0x3800, 0x0800, CRC(ccee32f8) SHA1(a4abd8d66209a29f63a56dfc9b6f9f834886c747) )
10305
10306 ROM_REGION( 0x2000, "gfx1", 0 )
10307 ROM_LOAD( "mc12.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) ) // == 1h_1_10.bin
10308 ROM_LOAD( "mc14.bin", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) ) // == 12.chr
10309 ROM_CONTINUE( 0x0c00, 0x0200 ) /* this version of the gfx ROMs has two */
10310 ROM_CONTINUE( 0x0a00, 0x0200 ) /* groups of 16 sprites swapped */
10311 ROM_CONTINUE( 0x0e00, 0x0200 )
10312 ROM_LOAD( "mc11.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) ) // == 1k_1_11.bin
10313 ROM_LOAD( "mc13.bin", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) ) // == 11.chr
10314 ROM_CONTINUE( 0x1c00, 0x0200 )
10315 ROM_CONTINUE( 0x1a00, 0x0200 )
10316 ROM_CONTINUE( 0x1e00, 0x0200 )
10317
10318 ROM_REGION( 0x0020, "proms", 0 )
10319 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10320 ROM_END
10321
10322 ROM_START( sirio2 )
10323 ROM_REGION( 0x8000, "maincpu", 0 )
10324 ROM_LOAD( "sirio2_1.bin", 0x0000, 0x0800, CRC(1e6a4b49) SHA1(6f71f10e73b7a385cd455e74129544cd58932781) )
10325 ROM_LOAD( "sirio2_2.bin", 0x0800, 0x0800, CRC(0b316f33) SHA1(687cbc9b1a7b9ead836a074f8418b1fe96b9e1bf) )
10326 ROM_LOAD( "sirio2_3.bin", 0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) )
10327 ROM_LOAD( "sirio2_4.bin", 0x1800, 0x0800, CRC(73d0b1f2) SHA1(102f609f586206d28b3a61c43fd243715866dd18) )
10328 ROM_LOAD( "sirio2_5.bin", 0x2000, 0x0800, CRC(413a836a) SHA1(64c95b8ad78e19b718a68fdbd03c72ee0603396d) )
10329 ROM_LOAD( "sirio2_6.bin", 0x2800, 0x0800, CRC(2a9c3f13) SHA1(a3b1c9e11a18fdf94517457f80b3a87a6c2c96e6) )
10330 ROM_LOAD( "sirio2_7.bin", 0x3000, 0x0800, CRC(eafd4d02) SHA1(b75ed5358646d8a377ccd1f282136e638aaa9d0c) )
10331 ROM_LOAD( "sirio2_8.bin", 0x3800, 0x0800, CRC(6e614bd6) SHA1(52da7f6ae444352c035c1bf29f380812ccd535de) )
10332
10333 ROM_REGION( 0x2000, "gfx1", 0 )
10334 ROM_LOAD( "sirio2_f2.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10335 ROM_LOAD( "sirio2_f4.bin", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
10336 ROM_CONTINUE( 0x0c00, 0x0200 ) // this version of the GFX ROMs has two
10337 ROM_CONTINUE( 0x0a00, 0x0200 ) // groups of 16 sprites swapped
10338 ROM_CONTINUE( 0x0e00, 0x0200 )
10339 ROM_LOAD( "sirio2_f1.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
10340 ROM_LOAD( "sirio2_f3.bin", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
10341 ROM_CONTINUE( 0x1c00, 0x0200 )
10342 ROM_CONTINUE( 0x1a00, 0x0200 )
10343 ROM_CONTINUE( 0x1e00, 0x0200 )
10344
10345 ROM_REGION( 0x0020, "proms", 0 )
10346 ROM_LOAD( "sirio2_im5610.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) // Compatible with 82s123 PROM
10347 ROM_END
10348
10349 ROM_START( ataqandr )
10350 ROM_REGION( 0x8000, "maincpu", 0 )
10351 ROM_LOAD( "ataque_androide_1.bin", 0x0000, 0x0800, CRC(1e6a4b49) SHA1(6f71f10e73b7a385cd455e74129544cd58932781) )
10352 ROM_LOAD( "ataque_androide_2.bin", 0x0800, 0x0800, CRC(382f5e37) SHA1(1f5608e057f2d554e6ab929332f6a857be600335) )
10353 ROM_LOAD( "ataque_androide_3.bin", 0x1000, 0x0800, CRC(716eaa10) SHA1(780fc785e6651f19dc1a0ccf48cf9485d6562a71) )
10354 ROM_LOAD( "ataque_androide_4.bin", 0x1800, 0x0800, CRC(73d0b1f2) SHA1(102f609f586206d28b3a61c43fd243715866dd18) )
10355 ROM_LOAD( "ataque_androide_5.bin", 0x2000, 0x0800, CRC(413a836a) SHA1(64c95b8ad78e19b718a68fdbd03c72ee0603396d) )
10356 ROM_LOAD( "ataque_androide_6.bin", 0x2800, 0x0800, CRC(2a9c3f13) SHA1(a3b1c9e11a18fdf94517457f80b3a87a6c2c96e6) )
10357 ROM_LOAD( "ataque_androide_7.bin", 0x3000, 0x0800, CRC(eafd4d02) SHA1(b75ed5358646d8a377ccd1f282136e638aaa9d0c) )
10358 ROM_LOAD( "ataque_androide_8.bin", 0x3800, 0x0800, CRC(6e614bd6) SHA1(52da7f6ae444352c035c1bf29f380812ccd535de) )
10359
10360 ROM_REGION( 0x2000, "gfx1", 0 )
10361 ROM_LOAD( "ataque_androide_d.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10362 ROM_LOAD( "ataque_androide_c.bin", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
10363 ROM_CONTINUE( 0x0c00, 0x0200 ) // this version of the gfx ROMs has two
10364 ROM_CONTINUE( 0x0a00, 0x0200 ) // groups of 16 sprites swapped
10365 ROM_CONTINUE( 0x0e00, 0x0200 )
10366 ROM_LOAD( "ataque_androide_b.bin", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
10367 ROM_LOAD( "ataque_androide_a.bin", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
10368 ROM_CONTINUE( 0x1c00, 0x0200 )
10369 ROM_CONTINUE( 0x1a00, 0x0200 )
10370 ROM_CONTINUE( 0x1e00, 0x0200 )
10371
10372 ROM_REGION( 0x0020, "proms", 0 )
10373 ROM_LOAD( "ataque_androide_p.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10374 ROM_END
10375
10376 ROM_START( sstarcrs )
10377 ROM_REGION( 0x8000, "maincpu", 0 )
10378 ROM_LOAD( "ss1", 0x0000, 0x0800, CRC(2ff72897) SHA1(c34c149ee32dd3318a04eda8928f0cd5f997d184) )
10379 ROM_LOAD( "ss2", 0x0800, 0x0800, CRC(565e7880) SHA1(cd8d1154c2e970e863bd489856819cd34848570b) )
10380 ROM_LOAD( "ss3", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
10381 ROM_LOAD( "ss4", 0x1800, 0x0800, CRC(a332e012) SHA1(7b32001fe342dcae2bce1c39dd1e75c6b5806199) )
10382 ROM_LOAD( "ss5", 0x2000, 0x0800, CRC(b9e58453) SHA1(60890208a5dee6e5e52e4ffafcb3501de080adf8) )
10383 ROM_LOAD( "ss6", 0x2800, 0x0800, CRC(7cbb5bc8) SHA1(5158d798e9b4649636f9fecf29738f271a3edef2) )
10384 ROM_LOAD( "ss7", 0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) )
10385 ROM_LOAD( "ss8", 0x3800, 0x0800, CRC(c857e898) SHA1(a596abe4971e65785945a844a783be2dbca559bc) )
10386
10387 ROM_REGION( 0x2000, "gfx1", 0 )
10388 ROM_LOAD( "ss10", 0x0000, 0x0800, CRC(2a95b8ea) SHA1(b2f7f2d4aca55b8cbbb907c990b27c06b7b2d77b) )
10389 ROM_LOAD( "ss12", 0x0800, 0x0200, CRC(b92c4c30) SHA1(4abc4c759e401be4edcce4f3f2d7b2b3f1827a99) )
10390 ROM_CONTINUE( 0x0c00, 0x0200 )
10391 ROM_CONTINUE( 0x0a00, 0x0200 )
10392 ROM_CONTINUE( 0x0e00, 0x0200 )
10393 ROM_LOAD( "ss9", 0x1000, 0x0800, CRC(3661e084) SHA1(bb5b8b7c9c61a0379a3f1eec02d61bbb385cd3e9) )
10394 ROM_LOAD( "ss11", 0x1800, 0x0200, CRC(95613048) SHA1(b9ba1ca11ef3154a800a90adaa8c491bb944a3a2) )
10395 ROM_CONTINUE( 0x1c00, 0x0200 )
10396 ROM_CONTINUE( 0x1a00, 0x0200 )
10397 ROM_CONTINUE( 0x1e00, 0x0200 )
10398
10399 ROM_REGION( 0x0020, "proms", 0 )
10400 // not present in this set
10401 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10402 ROM_END
10403
10404 ROM_START( fantastc )
10405 ROM_REGION( 0x8000, "maincpu", 0 )
10406 ROM_LOAD( "f1", 0x0000, 0x1000, CRC(8019f0b7) SHA1(b0a611d1cbb92874a6534fd27c6ac57141668913) )
10407 ROM_LOAD( "f2", 0x1000, 0x1000, CRC(988a9bc6) SHA1(468d483f285ed587f3be81431f22fdbaa3c221cc) )
10408 ROM_LOAD( "f3", 0x2000, 0x1000, CRC(a3c0cc0b) SHA1(a1b12f1c4187d8db1b267a992db6cd297aeea1bc) )
10409 ROM_LOAD( "f4", 0x3000, 0x1000, CRC(c1361be8) SHA1(5c8512747927096dd75e6095deb12dfe637f9096) )
10410 ROM_LOAD( "f5", 0x4000, 0x1000, CRC(6787e93f) SHA1(4ed784ce600fc88efc4865a361f5427027d3419a) )
10411 ROM_LOAD( "f6", 0x5000, 0x1000, CRC(597029ae) SHA1(38ea1348ac35bd1e6190f395ccb22f16cc30133d) )
10412 ROM_LOAD( "f7", 0x6000, 0x1000, CRC(8de08d9a) SHA1(ba48a23236f2b26aa17b509daddc4b3e75424d06) )
10413 ROM_LOAD( "f8", 0x7000, 0x1000, CRC(489e2fb7) SHA1(f7f641c3c6874eae0c9bb3920aa916f8b99a9285) )
10414
10415 ROM_REGION( 0x2000, "gfx1", 0 )
10416 ROM_LOAD( "37", 0x0000, 0x1000, CRC(3a54f749) SHA1(41e3c479b268de21ae0fd4f7986eb666ee58ad83) )
10417 ROM_LOAD( "38", 0x1000, 0x1000, CRC(88b71264) SHA1(60c2eb49f16b94b27625045c78c864e299b60d6b) )
10418
10419 ROM_REGION( 0x0020, "proms", 0 )
10420 ROM_LOAD( "prom-74g138", 0x0000, 0x0020, CRC(800f5718) SHA1(5387b24934c8130726180159e207943211215ae2) )
10421 ROM_END
10422
10423 ROM_START( timefgtr )
10424 ROM_REGION( 0x8000, "maincpu", 0 )
10425 ROM_LOAD( "tp01", 0x0000, 0x1000, CRC(ba8b3e70) SHA1(cb930022e462319721013f343e513f4a4957b89e) )
10426 ROM_LOAD( "tp02", 0x1000, 0x1000, CRC(796158c0) SHA1(bc02131a9af1773839ae0aba0225b3160ae632c4) )
10427 ROM_LOAD( "tp03", 0x2000, 0x1000, CRC(fe6a1c98) SHA1(f4a4e61cc96d93cd21e79b0aa3ddc158a7a034a0) )
10428 ROM_LOAD( "tp04", 0x3000, 0x1000, CRC(eff73185) SHA1(8538f1b63b051d6d3892ebedc76f45c3cf02cbab) )
10429 ROM_LOAD( "tp05", 0x4000, 0x1000, CRC(85023e4a) SHA1(afc76ba15d6278c45bf50e9bafcb72a0beb69d4d) )
10430 ROM_LOAD( "tp06", 0x5000, 0x1000, CRC(b6b8aaf9) SHA1(e25e59ee653b13437c412f1aeb8d7c670e34b39f) )
10431
10432 ROM_REGION( 0x4000, "gfx1", 0 )
10433 ROM_LOAD( "tp07", 0x0000, 0x1000, CRC(5f57342c) SHA1(000985613d620cbcafbd24351bd4b02f037430a9) )
10434 ROM_LOAD( "tp09", 0x1000, 0x1000, CRC(636fd772) SHA1(6567992488f0125c082a164f1043c9384736c665) )
10435 ROM_LOAD( "tp08", 0x2000, 0x1000, CRC(2dc3c48b) SHA1(f4ddf5fce909a1de3efbcaf2ff2e4a8d1ea06516) )
10436 ROM_LOAD( "tp10", 0x3000, 0x1000, CRC(b27b450c) SHA1(16131583133fe33b61d4f51a860f41d43011bc50) )
10437
10438 ROM_REGION( 0x0020, "proms", 0 )
10439 ROM_LOAD( "prom", 0x0000, 0x0020, NO_DUMP )
10440 ROM_END
10441
10442 ROM_START( kong )
10443 ROM_REGION( 0x8000, "maincpu", 0 )
10444 ROM_LOAD( "1", 0x0000, 0x1000, CRC(a206beb5) SHA1(5fea9584b4e3ae076178f6965f0743b9b90b15fc) )
10445 ROM_LOAD( "2", 0x1000, 0x1000, CRC(d75597b6) SHA1(df9dc99e4f0e864a91ae170d993838db8677f70f) )
10446 ROM_LOAD( "3", 0x2000, 0x1000, CRC(54e0b87b) SHA1(cfcc64fce36bf8250966576a34768ed7e8857783) )
10447 ROM_LOAD( "4", 0x3000, 0x1000, CRC(356c4ca2) SHA1(e95d219b013a1b066653b566a84c03c035a03073) )
10448 ROM_LOAD( "5", 0x4000, 0x1000, CRC(2d295976) SHA1(79e26c55e06b894bab403de77d76260c2bb3baf0) )
10449 ROM_LOAD( "6", 0x5000, 0x1000, CRC(77131cca) SHA1(900948988f2f6de6b572e5e489a7954eca812278) )
10450 ROM_LOAD( "7", 0x6000, 0x1000, CRC(3d5ec3f1) SHA1(b382e4a2d2915db190a1578b0ad51ca9b94d521b) )
10451 ROM_LOAD( "8", 0x7000, 0x1000, CRC(015fe5e5) SHA1(d246d1c791eb4d85e59a826ed0accd9f1da483bb) )
10452
10453 ROM_REGION( 0x2000, "gfx1", 0 )
10454 ROM_LOAD( "9", 0x0000, 0x0800, CRC(fe42a052) SHA1(3f5893728c1aa73f28ff4841a388124b15bbf1b7) )
10455 ROM_LOAD( "10", 0x1000, 0x0800, CRC(91fa187e) SHA1(f32741a06a3d9ba4b7d3a5552f796a27d9fa1abf) )
10456 ROM_LOAD( "11", 0x0800, 0x0800, CRC(ad2b2cdd) SHA1(01a5db01c4fa07707823436a28d40cfd2b80be23) )
10457 ROM_LOAD( "12", 0x1800, 0x0800, CRC(b74724df) SHA1(d72d0831e3806f49a07ae3333d7a29fccaf6d65e) )
10458
10459 ROM_REGION( 0x2000, "unk", 0 )
10460 // what is this, speech? the video at https://www.youtube.com/watch?v=HTZEVKoYlGM shows the game apparently talking (2nd game, after The Pit)
10461 // The video however seems to show a game closer to ckongg (a bootleg of Crazy Kong) rather than this version of Kong which is rewritten from scratch
10462 // It could be "GORILA" as seen in the Taito do Brasil cabinet flyers
10463 ROM_LOAD( "13", 0x0000, 0x1000, CRC(7d33ca0a) SHA1(8a65a4b913559e3fd17f6abb381db1ab813fc8f2) )
10464
10465 ROM_REGION( 0x0020, "proms", 0 )
10466 ROM_LOAD( "prom", 0x0000, 0x0020, NO_DUMP )
10467 ROM_END
10468
10469 ROM_START( mooncmw )
10470 ROM_REGION( 0x8000, "maincpu", 0 )
10471 ROM_LOAD( "60.1x", 0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) )
10472 ROM_LOAD( "61.2x", 0x0800, 0x0800, CRC(c249902d) SHA1(0015461173fb991fd99c824e0eab054c3c17d0f1) )
10473 ROM_LOAD( "62.3x", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10474 ROM_LOAD( "63.4x", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10475 ROM_LOAD( "64.5x", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10476 ROM_LOAD( "65.6x", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
10477 ROM_LOAD( "66.7x", 0x3000, 0x0800, CRC(f23cd8ce) SHA1(a77e7eca239de6a72a8cabed6444ae8efb9e40bd) )
10478 ROM_LOAD( "67.8x", 0x3800, 0x0800, CRC(66da55d5) SHA1(39e2f6107e77ee97860147f64b9673cd9a2ae612) )
10479
10480 ROM_REGION( 0x2000, "gfx1", 0 )
10481 ROM_LOAD( "68.1h", 0x0000, 0x0800, CRC(78663d86) SHA1(8648a3e60259404a05ad58b1641190e5b33a24eb) )
10482 ROM_CONTINUE( 0x0800, 0x0200 )
10483 ROM_CONTINUE( 0x0c00, 0x0200 )
10484 ROM_CONTINUE( 0x0a00, 0x0200 )
10485 ROM_CONTINUE( 0x0e00, 0x0200 )
10486 ROM_LOAD( "69.1k", 0x1000, 0x0800, CRC(162c50d3) SHA1(67d9c87782cf29c443590d7ad687fbeaa6218346) )
10487 ROM_CONTINUE( 0x1800, 0x0200 )
10488 ROM_CONTINUE( 0x1c00, 0x0200 )
10489 ROM_CONTINUE( 0x1a00, 0x0200 )
10490 ROM_CONTINUE( 0x1e00, 0x0200 )
10491
10492 ROM_REGION( 0x0020, "proms", 0 )
10493 ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10494 ROM_END
10495
10496
10497 ROM_START( starfgmc )
10498 ROM_REGION( 0x8000, "maincpu", 0 )
10499 ROM_LOAD( "sei-sf-a2.bin", 0x0000, 0x0800, CRC(322859e6) SHA1(292dccb66c38c8de837ec3ac10928d092494958e) )
10500 ROM_LOAD( "sei-sf-a1.bin", 0x0800, 0x0800, CRC(7fed0654) SHA1(5a0336a5fd2f34eb901da6cf703221bc2d3f954e) )
10501 ROM_LOAD( "sei-sf-b2.bin", 0x1000, 0x0800, CRC(935f7435) SHA1(433304c8c6f495c1098371770dca10e5ef5750c6) )
10502 ROM_LOAD( "sei-sf-c1.bin", 0x1800, 0x0800, CRC(29d54869) SHA1(71e0862f24c26a5262c76140a258388b56a9af19) )
10503 ROM_LOAD( "sei-sf-d1.bin", 0x2000, 0x0800, CRC(9126cca6) SHA1(ec8ae1d55010645cc4243a1bbf8343d10194136a) )
10504 ROM_LOAD( "sei-sf-e2.bin", 0x2800, 0x0800, CRC(9d394261) SHA1(e1e6d09ad0c01588d8e4b4665a62264163f80a3d) )
10505 ROM_LOAD( "sei-sf-f2.bin", 0x3000, 0x0800, CRC(94f161dd) SHA1(5e5e5a35e8a1478755b5569018ebf54c513d3c64) )
10506 ROM_LOAD( "sei-sf-f1.bin", 0x3800, 0x0800, CRC(6ced7f80) SHA1(4710d6a35ac38642893f2ceb27799f5caf24aa3b) )
10507
10508 ROM_REGION( 0x2000, "gfx1", 0 ) // check loading
10509 ROM_LOAD( "sei-sf-jh2.bin", 0x0000, 0x0800, CRC(8edba3cd) SHA1(296cf08ee388d1aec7388a9789ab18db54c64118) )
10510 ROM_LOAD( "sei-sf-jh3.bin", 0x0800, 0x0800, CRC(f5a871a9) SHA1(6afa971ffb15b7b97a6880db26a1f599d23f8655) )
10511 ROM_LOAD( "sei-sf-lk2.bin", 0x1000, 0x0800, CRC(44b0f06a) SHA1(26cb43239e9150dc867b19d3b48b5a766778ca0a) )
10512 ROM_LOAD( "sei-sf-lk3.bin", 0x1800, 0x0800, CRC(773b1ee6) SHA1(6d0ca6d0d01f408a2cb1ae40a4dab903eccea528) )
10513
10514
10515 ROM_REGION( 0x0020, "proms", 0 ) // no prom included so using the regular one
10516 ROM_LOAD( "prom-sn74s288n-71.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10517 ROM_END
10518
10519
10520 ROM_START( spcdrag )
10521 ROM_REGION( 0x10000, "maincpu", 0 )
10522 ROM_LOAD( "a.bin", 0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) )
10523 ROM_LOAD( "b.bin", 0x0800, 0x0800, CRC(419fa8d6) SHA1(709b096d43c15cbfb98745e1f5e7c1bc921e3241) )
10524 ROM_LOAD( "c.bin", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
10525 ROM_LOAD( "d.bin", 0x1800, 0x0800, CRC(cbcf17c5) SHA1(9aa3ca6dc30e4a19ed2bdb2be6ba90bde4cb7542) )
10526 ROM_LOAD( "em.bin", 0x2000, 0x0800, CRC(eb81c19c) SHA1(e5dd61704938c837b87a3155d54698482235c513) )
10527 ROM_LOAD( "fm.bin", 0x2800, 0x0800, CRC(757b7672) SHA1(d042e4bc17d2a8c9f1db55d57d5c235338cdb20c) )
10528 ROM_LOAD( "g.bin", 0x3000, 0x0800, CRC(57713b91) SHA1(ba01ed3f047ebbd0f9e6956e649bec0e8b730a45) )
10529 ROM_LOAD( "h.bin", 0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) )
10530
10531 ROM_REGION( 0x2000, "gfx1", 0 )
10532 ROM_LOAD( "203.bin", 0x0000, 0x0800, CRC(a2e82527) SHA1(5e9236ba102728213b4651db984b3a169b4a0410) )
10533 ROM_LOAD( "172.bin", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10534 ROM_LOAD( "202.bin", 0x1000, 0x0800, CRC(80c3ad74) SHA1(0fd2269543d123bd427f5a648a17f8bee65b20a2) )
10535 ROM_LOAD( "171.bin", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10536
10537 ROM_REGION( 0x0020, "proms", 0 )
10538 // not present in this set
10539 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10540 ROM_END
10541
10542 ROM_START( spcdraga )
10543 ROM_REGION( 0x10000, "maincpu", 0 )
10544 ROM_LOAD( "1.7g", 0x0000, 0x0800, CRC(38cc9839) SHA1(71c5853fc14a9c0b93e3b7660b925021680a0fe1) )
10545 ROM_LOAD( "2.7g", 0x0800, 0x0800, CRC(29e00ae4) SHA1(574bdfb621e084485e6621229cd569486831e4ba) )
10546 ROM_LOAD( "3.7g", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
10547 ROM_LOAD( "4.7g", 0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) )
10548 ROM_LOAD( "5.10g", 0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) )
10549 ROM_LOAD( "6.10g", 0x2800, 0x0800, CRC(50db67c5) SHA1(69ad219332ac0d9f4e328b314f7bdc34d5599393) )
10550 ROM_LOAD( "7.10g", 0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) )
10551 ROM_LOAD( "8.10g", 0x3800, 0x0800, CRC(159ad847) SHA1(9d46f380c868ac07964e571c54e800c683a6a679) )
10552
10553 ROM_REGION( 0x2000, "gfx1", 0 )
10554 ROM_LOAD( "a2.7a", 0x0000, 0x0800, CRC(38b042dd) SHA1(bd452dae4cbc22a900cf783f84d1f9d8cb1218f9) )
10555 ROM_LOAD( "a4.7a", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
10556 ROM_CONTINUE( 0x0c00, 0x0200 )
10557 ROM_CONTINUE( 0x0a00, 0x0200 )
10558 ROM_CONTINUE( 0x0e00, 0x0200 )
10559 ROM_LOAD( "a1.9a", 0x1000, 0x0800, CRC(24441ab3) SHA1(8c9d2bd062cb2360f3dd3df2d7d212e9485f91ad) )
10560 ROM_LOAD( "a3.9a", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
10561 ROM_CONTINUE( 0x1c00, 0x0200 )
10562 ROM_CONTINUE( 0x1a00, 0x0200 )
10563 ROM_CONTINUE( 0x1e00, 0x0200 )
10564
10565 ROM_REGION( 0x0020, "proms", 0 )
10566 // not present in this set
10567 ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10568 ROM_END
10569
10570 ROM_START( mooncreg ) // similar to the spcdraga 'Space Dragon (set 2)' set but with original Moon Cresta gfx roms
10571 ROM_REGION( 0x10000, "maincpu", 0 )
10572 ROM_LOAD( "eg1", 0x0000, 0x0800, CRC(a67ca4af) SHA1(0422be6b3549418c19ece3de6dd165e690d40fdd) ) // unique to this set
10573 ROM_LOAD( "eg2", 0x0800, 0x0800, CRC(b57b140e) SHA1(f436586280e70dded199be52984fb22c0daf2d62) ) // unique to this set
10574 ROM_LOAD( "eg3", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) ) // == spcdrag/spcdraga
10575 ROM_LOAD( "eg4", 0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) ) // == spcdraga
10576 ROM_LOAD( "eg5", 0x2000, 0x0800, CRC(32cd9adc) SHA1(3143690712465d092d6c63f4826f220839d78958) ) // == spcdraga
10577 ROM_LOAD( "eg6", 0x2800, 0x0800, CRC(3a4b62d9) SHA1(955603f1ca7c8e7a488a6b33dabed0ac12aa8050) ) // unique to this set
10578 ROM_LOAD( "eg7", 0x3000, 0x0800, CRC(22415271) SHA1(60b1ca2dc044c0863c6f38280a3bd0ff9397c869) ) // == spcdraga
10579 ROM_LOAD( "eg8", 0x3800, 0x0800, CRC(7b9cc105) SHA1(d12bb1d86eddc08ab24c0e8f8b4cc6011fa70f5a) ) // unique to this set
10580
10581 ROM_REGION( 0x2000, "gfx1", 0 )
10582 ROM_LOAD( "eg_2b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
10583 ROM_LOAD( "eg_4b", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10584 ROM_LOAD( "eg_1b", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
10585 ROM_LOAD( "eg_3b", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10586
10587 ROM_REGION( 0x0020, "proms", 0 )
10588 // not present in this set
10589 ROM_LOAD( "prom_6331.10f", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10590 ROM_END
10591
10592
10593 ROM_START( mooncrsl ) // similar to above
10594 ROM_REGION( 0x10000, "maincpu", 0 )
10595 ROM_LOAD( "01.bin", 0x0000, 0x0800, CRC(a67ca4af) SHA1(0422be6b3549418c19ece3de6dd165e690d40fdd) )
10596 ROM_LOAD( "02.bin", 0x0800, 0x0800, CRC(16edce3e) SHA1(59a21d69aba42be265fa3f9166a031ef510c59ed) )
10597 ROM_LOAD( "03.bin", 0x1000, 0x0800, CRC(a1939def) SHA1(c9be93d325dde496d89e0735ec4e7abca932c0f6) )
10598 ROM_LOAD( "04.bin", 0x1800, 0x0800, CRC(068f8830) SHA1(e12d590401878d9f2695e5c7aa38387ed9ccfb06) )
10599 ROM_LOAD( "05.bin", 0x2000, 0x0800, CRC(28ae612d) SHA1(f1c224be95659e716f0d4f0dc2704503cfc46c07) )
10600 ROM_LOAD( "06.bin", 0x2800, 0x0800, CRC(803da987) SHA1(41ce0401a142f2fc41ea2db95d1067a2386e9e70) )
10601 ROM_LOAD( "07.bin", 0x3000, 0x0800, CRC(8e9ac0fc) SHA1(ddc11ad20ecbd954098becf7d7a1bbe6cddeda1b) )
10602 ROM_LOAD( "08.bin", 0x3800, 0x0800, CRC(020a8e2f) SHA1(b64438cb043252565d8a4f3f58f4a4f78a276ba2) )
10603
10604 ROM_REGION( 0x2000, "gfx1", 0 ) // not present in this set
10605 ROM_LOAD( "mcs_b", 0x0000, 0x0800, CRC(fb0f1f81) SHA1(38a6679a8b69bc1870a0e67e692131c42f9535c8) )
10606 ROM_LOAD( "mcs_d", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10607 ROM_LOAD( "mcs_a", 0x1000, 0x0800, CRC(631ebb5a) SHA1(5bc9493afa76c55858b8c8849524cbc77dc838fc) )
10608 ROM_LOAD( "mcs_c", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10609
10610 ROM_REGION( 0x0020, "proms", 0 ) // not present in this set
10611 ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
10612 ROM_END
10613
10614
10615 ROM_START( stera )
10616 ROM_REGION( 0x8000, "maincpu", 0 )
10617 ROM_LOAD( "stera.1", 0x0000, 0x0800, CRC(cd04fea8) SHA1(f3ba58f276c784f4ad4a53f9f961c269faa8fa87) )
10618 ROM_LOAD( "stera.2", 0x0800, 0x0800, CRC(ccd1878e) SHA1(cfa4913a3cd3e58998bd983c9078af58560cfbd6) )
10619 ROM_LOAD( "stera.3", 0x1000, 0x0800, CRC(29a2b0ab) SHA1(e9fc7161d0566e36307c45b7132e2262c0af4845) )
10620 ROM_LOAD( "stera.4", 0x1800, 0x0800, CRC(4c6a5a6d) SHA1(366516f63c9b5239e703e4dfb672659049ddbf44) )
10621 ROM_LOAD( "stera.5", 0x2000, 0x0800, CRC(06d378a6) SHA1(99dbe9fc7f95f8fdce86eb5c32bd1ca1bea0ca3c) )
10622 ROM_LOAD( "stera.6", 0x2800, 0x0800, CRC(6e84a927) SHA1(82e8e825d157c3c947a3a222bca059a735169c7d) )
10623 ROM_LOAD( "stera.7", 0x3000, 0x0800, CRC(b45af1e8) SHA1(d7020774707234acdaef5c655f667d5ee9e54a13) )
10624 ROM_LOAD( "stera.8", 0x3800, 0x0800, CRC(37f19956) SHA1(cb59ae3bb06f56baa0898baeae8b3810263e046b) )
10625
10626 ROM_REGION( 0x2000, "gfx1", 0 )
10627 ROM_LOAD( "stera.10", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10628 ROM_LOAD( "stera.12", 0x0800, 0x0800, CRC(13932a15) SHA1(b8885c555c6ad7021be55c6925a0a0872c1b6abd) )
10629 ROM_LOAD( "stera.11", 0x1000, 0x0800, CRC(4e79ff6b) SHA1(f72386a3766a7fcc7b4b8cedfa58b8d57f911f6f) )
10630 ROM_LOAD( "stera.9", 0x1800, 0x0800, CRC(24cfd145) SHA1(08c6599db170dd6ee364c44f70a0f5c0f881b6ef) )
10631
10632 ROM_REGION( 0x0020, "proms", 0 )
10633 ROM_LOAD( "stera.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10634 ROM_END
10635
10636 ROM_START( mooncrgx )
10637 ROM_REGION( 0x8000, "maincpu", 0 )
10638 ROM_LOAD( "1", 0x0000, 0x0800, CRC(84cf420b) SHA1(82c979467c51df699337d5878340d05bee606480) )
10639 ROM_LOAD( "2", 0x0800, 0x0800, CRC(4c2a61a1) SHA1(a3759bd2c062f2843cd5b812529c798d5d12086c) )
10640 ROM_LOAD( "3", 0x1000, 0x0800, CRC(1962523a) SHA1(56ea003c3ff37c2bc33383207fccde0ba0ed781a) )
10641 ROM_LOAD( "4", 0x1800, 0x0800, CRC(75dca896) SHA1(017d04501d3d1305491ba843d92ebd74d47d2f9c) )
10642 ROM_LOAD( "5", 0x2000, 0x0800, CRC(32483039) SHA1(23baf136d5b7fc02f999dcb31b8daf68b6ffafd1) )
10643 ROM_LOAD( "6", 0x2800, 0x0800, CRC(43f2ab89) SHA1(f7f0802a12fd89d61f6f00044e077f34a9d3955f) )
10644 ROM_LOAD( "7", 0x3000, 0x0800, CRC(1e9c168c) SHA1(891dc159dfc343322c3241980a0ef76dee510ca9) )
10645 ROM_LOAD( "8", 0x3800, 0x0800, CRC(5e09da94) SHA1(677890912db12df6fa2cb515c198f8ac3f7187af) )
10646
10647 ROM_REGION( 0x2000, "gfx1", 0 )
10648 ROM_LOAD( "1h_1_10.bin", 0x0000, 0x0800, CRC(528da705) SHA1(d726ee18b79774c982f88afb2a508eb5d5783193) )
10649 ROM_LOAD( "12.chr", 0x0800, 0x0200, CRC(5a4b17ea) SHA1(8a879dc34fdecc8a121c4a87abb981212fb05945) )
10650 ROM_CONTINUE( 0x0c00, 0x0200 )
10651 ROM_CONTINUE( 0x0a00, 0x0200 )
10652 ROM_CONTINUE( 0x0e00, 0x0200 )
10653 ROM_LOAD( "9.chr", 0x1000, 0x0800, CRC(70df525c) SHA1(f771293494a2234bf80f206ecf1e88773322e503) )
10654 ROM_LOAD( "11.chr", 0x1800, 0x0200, CRC(e0edccbd) SHA1(0839a4c9b6e863d12253ae8e1732e80e08702228) )
10655 ROM_CONTINUE( 0x1c00, 0x0200 )
10656 ROM_CONTINUE( 0x1a00, 0x0200 )
10657 ROM_CONTINUE( 0x1e00, 0x0200 )
10658
10659 ROM_REGION( 0x0020, "proms", 0 )
10660 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10661 ROM_END
10662
10663 ROM_START( moonqsr )
10664 ROM_REGION( 0x10000, "maincpu", 0 )
10665 ROM_LOAD( "mq1", 0x0000, 0x0800, CRC(132c13ec) SHA1(d95166b025442f184e44a70312fb3b4f6366f324) )
10666 ROM_LOAD( "mq2", 0x0800, 0x0800, CRC(c8eb74f1) SHA1(4efa85c40349852da47a0f725ae06873efe4ce1c) )
10667 ROM_LOAD( "mq3", 0x1000, 0x0800, CRC(33965a89) SHA1(92912cea76a472d9b709c664d9818844a07fcc32) )
10668 ROM_LOAD( "mq4", 0x1800, 0x0800, CRC(a3861d17) SHA1(d7037d93b7838ccdd9a6a1a1476571cfa869fca1) )
10669 ROM_LOAD( "mq5", 0x2000, 0x0800, CRC(8bcf9c67) SHA1(7af0d9308d20c52675301acf5d1a5d62358352a6) )
10670 ROM_LOAD( "mq6", 0x2800, 0x0800, CRC(5750cda9) SHA1(17c2bc38037833fdb8923d4a2262264386ef916b) )
10671 ROM_LOAD( "mq7", 0x3000, 0x0800, CRC(78d7fe5b) SHA1(4085562a0af94c65dad2a3550409727e597c0d5b) )
10672 ROM_LOAD( "mq8", 0x3800, 0x0800, CRC(4919eed5) SHA1(526aaedd25e0f7c525eb7c66519218ae09b0407e) )
10673
10674 ROM_REGION( 0x2000, "gfx1", 0 )
10675 ROM_LOAD( "mqb", 0x0000, 0x0800, CRC(b55ec806) SHA1(fb52e53dfa3ae9dec162622d22de9cfdb0b5f9d6) )
10676 ROM_LOAD( "mqd", 0x0800, 0x0800, CRC(9e7d0e13) SHA1(18951080d307ac13344f89745f671595e26d282c) )
10677 ROM_LOAD( "mqa", 0x1000, 0x0800, CRC(66eee0db) SHA1(eeb08efd226e15e248999558240488ffd0e39688) )
10678 ROM_LOAD( "mqc", 0x1800, 0x0800, CRC(a6db5b0d) SHA1(476e197df047e991d2ea3c1fad92c799510f1647) )
10679
10680 ROM_REGION( 0x0020, "proms", 0 )
10681 ROM_LOAD( "vid_e6.bin", 0x0000, 0x0020, CRC(0b878b54) SHA1(3667aca564ebfef5b88d7f74fabbd16dd23183b4) )
10682 ROM_END
10683
10684 ROM_START( moonal2 )
10685 ROM_REGION( 0x10000, "maincpu", 0 )
10686 ROM_LOAD( "ali1", 0x0000, 0x0400, CRC(0dcecab4) SHA1(493628640de1a7e3bb9914ee3459b74cedc599fd) )
10687 ROM_LOAD( "ali2", 0x0400, 0x0400, CRC(c6ee75a7) SHA1(36503351380f7638069637c22bd06da06da54a1c) )
10688 ROM_LOAD( "ali3", 0x0800, 0x0400, CRC(cd1be7e9) SHA1(684f1923090f0d53338705f6972778712e27577f) )
10689 ROM_LOAD( "ali4", 0x0c00, 0x0400, CRC(83b03f08) SHA1(a1fd422051aa7f17f857188b503031cce3fdc275) )
10690 ROM_LOAD( "ali5", 0x1000, 0x0400, CRC(6f3cf61d) SHA1(e238ed6f9c0813f0177abe9090e29562529eeef8) )
10691 ROM_LOAD( "ali6", 0x1400, 0x0400, CRC(e169d432) SHA1(a5189d7322a240863afee7ac0ecf68599498cb87) )
10692 ROM_LOAD( "ali7", 0x1800, 0x0400, CRC(41f64b73) SHA1(dff786a74575da9fbaca3ac610ad2f367983c7fc) )
10693 ROM_LOAD( "ali8", 0x1c00, 0x0400, CRC(f72ee876) SHA1(8e50a516f10d77652ff3692bb85adb66bc128e26) )
10694 ROM_LOAD( "ali9", 0x2000, 0x0400, CRC(b7fb763c) SHA1(4e7c4995f52dec2ea61424c79d79797933dad604) )
10695 ROM_LOAD( "ali10", 0x2400, 0x0400, CRC(b1059179) SHA1(86de04c82a7604cb57958a52d5585837481f94a5) )
10696 ROM_LOAD( "ali11", 0x2800, 0x0400, CRC(9e79a1c6) SHA1(2f59e3a2a81a224b163b23bd2c184385f64e1565) )
10697
10698 ROM_REGION( 0x2000, "gfx1", 0 )
10699 ROM_LOAD( "ali13.1h", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
10700 ROM_RELOAD( 0x0800, 0x0800 )
10701 ROM_LOAD( "ali12.1k", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
10702 ROM_RELOAD( 0x1800, 0x0800 )
10703
10704 ROM_REGION( 0x0020, "proms", 0 )
10705 ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
10706 ROM_END
10707
10708 ROM_START( moonal2b )
10709 ROM_REGION( 0x10000, "maincpu", 0 )
10710 ROM_LOAD( "md-1.a", 0x0000, 0x0800, CRC(d41fd873) SHA1(baeb2ef39617bd04faa7a773f3c90ccd77144b74) )
10711 ROM_LOAD( "md-2.b", 0x0800, 0x0800, CRC(8318b187) SHA1(75bb113db1111cd2a335139fa6cb94d9522f5860) )
10712 ROM_LOAD( "md-3.d", 0x1000, 0x0800, CRC(b2170d3b) SHA1(76e463f70de92663e672c54737de5471cd04ba7c) )
10713 ROM_LOAD( "md-4.g", 0x1800, 0x0800, CRC(baa4d0bf) SHA1(cf3a508cbcfc0b22e362af7f72ed1ef645a95fa9) )
10714 ROM_LOAD( "md-5.h", 0x2000, 0x0800, CRC(61afb53c) SHA1(1b9031da5c810432733ccfcb8d9f567f99f86e62) )
10715 ROM_LOAD( "md-6.f", 0x2800, 0x0800, CRC(9cc973e0) SHA1(8d96448794e0869036a3fac7f7fbcad459149a98) )
10716
10717 ROM_REGION( 0x2000, "gfx1", 0 )
10718 ROM_LOAD( "md-13.h1", 0x0000, 0x0800, CRC(a1287bf6) SHA1(eeeaba4b9e186454a5e2f1c26e333e8fccd97af8) )
10719 ROM_RELOAD( 0x0800, 0x0800 )
10720 ROM_LOAD( "md-12.k1", 0x1000, 0x0800, CRC(528f1481) SHA1(e266a75c3109bcfa2a0394f2ed0ac136fc3158ba) )
10721 ROM_RELOAD( 0x1800, 0x0800 )
10722
10723 ROM_REGION( 0x0020, "proms", 0 )
10724 ROM_LOAD( "6331.l6", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
10725 ROM_END
10726
10727
10728 /*
10729
10730 The Pit (on Moon Quasar hardware)
10731 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10732
10733 Dumped by Andrew Welburn
10734 on the sunny morning of 2/03/10
10735
10736 http://www.andys-arcade.com
10737
10738 *************************************************
10739 **Do not separate this text file from the roms.**
10740 *************************************************
10741
10742 Nichibutsu Moon Quasar pcb largely unhacked, but
10743 with an odd looking set of roms. One gfx rom
10744 identifies itself as 'The Pit' so that is my only
10745 guess at what the game actually is.
10746
10747 Roms 1 through 8 read well in-circuit in the right
10748 places in the memory map for moon cresta,
10749 (through the fluke 9100) but the game does not
10750 currently run. Roms dumped and verified with no
10751 anomalies.
10752
10753 Rom 9 was placed on the through-socket and has
10754 pins 20 and 18 (/E and A11 respectively) tied to
10755 pin 5 of 8E (A14/A15/MREQ demux). This demux has
10756 some patches, the trace to pin 13 is cut, and is
10757 instead wired to pin 3.
10758
10759 */
10760
10761 ROM_START( thepitm )
10762 ROM_REGION( 0x10000, "maincpu", 0 )
10763 ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(0f78d6ea) SHA1(e224b2fb9b4a26295b03af720fa647d4488a1287) )
10764 ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(ebacc6eb) SHA1(8b73d96ebe8070fbbb16434aa6a30ec8985ddec6) )
10765 ROM_LOAD( "3.bin", 0x1000, 0x0800, CRC(14fd0706) SHA1(5d905d8272731c307dc9f96caf4973b28413198e) )
10766 ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(613e920f) SHA1(078c7f36ba0145fbbd24bdae4cb6b03c5c27c1cc) )
10767 ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(5a791f3f) SHA1(166f07f7fe260e53e611784976792638a25485c1) )
10768 ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(0bb37f51) SHA1(32e31678388bad048c829bd43a18dc4e24869840) )
10769 ROM_LOAD( "7.bin", 0x3000, 0x0800, CRC(4dfdec6f) SHA1(eb88a278860998c343f94e27c8c6c723cffb2dd9) )
10770 ROM_LOAD( "8.bin", 0x3800, 0x0800, CRC(a39a9189) SHA1(aacd54edca6bc7f7feacd651a0de57b3d9592aad) )
10771 ROM_LOAD( "9.bin", 0x4000, 0x0800, CRC(2eb90e07) SHA1(92678fc5cfeb7119ce27f042571daa831fa1dad5) )
10772
10773 ROM_REGION( 0x2000, "gfx1", 0 )
10774 ROM_LOAD( "1h.bin", 0x0000, 0x0800, CRC(00dce65f) SHA1(ba0cce484d1f8693a85b85e0689d107588df9043) )
10775 ROM_LOAD( "1k.bin", 0x1000, 0x0800, CRC(3ec0056e) SHA1(1dd19e7535ab9abd62b4b32663437f8e8acb91b5) )
10776
10777 ROM_REGION( 0x0020, "proms", 0 )
10778 ROM_LOAD( "6l.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10779 ROM_END
10780
10781
10782 ROM_START( skybase )
10783 ROM_REGION( 0x10000, "maincpu", 0 )
10784 ROM_LOAD( "skybase.9a", 0x0000, 0x1000, CRC(845b87a5) SHA1(8a249c1ec921532cb1bb85ed7fec11396634ca38) )
10785 ROM_LOAD( "skybase.8a", 0x1000, 0x1000, CRC(096785c2) SHA1(a0833bc1984e1f198587195e58b6fed6657922bd) )
10786 ROM_LOAD( "skybase.7a", 0x2000, 0x1000, CRC(d50c715b) SHA1(3d0fa15514b210bccd4aeed06540122a4f56fd7a) )
10787 ROM_LOAD( "skybase.6a", 0x3000, 0x1000, CRC(f57edb27) SHA1(4b5c376017700315345241fad96c00478a14fc8f) )
10788 ROM_LOAD( "skybase.5a", 0x4000, 0x1000, CRC(50365d95) SHA1(9b3d360c9d1df0ebf047bef1b30765ea9bb42b42) )
10789 ROM_LOAD( "skybase.4a", 0x5000, 0x1000, CRC(cbd6647f) SHA1(7a167c9df6b5f3346c37e5c45d0680b0b29852a6) )
10790
10791 ROM_REGION( 0x4000, "gfx1", 0 )
10792 ROM_LOAD( "skybase.7t", 0x0000, 0x1000, CRC(9b471686) SHA1(b35831daa8ce57e498c2c4f75763a74c340cfaf0) )
10793 ROM_LOAD( "skybase.8t", 0x1000, 0x1000, CRC(1cf723da) SHA1(f2e41ab89413298571626d13b2b5853eb35dcb96) )
10794 ROM_LOAD( "skybase.10t", 0x2000, 0x1000, CRC(fe02e72c) SHA1(bf7c078e984b13dcc12d529904f1096d65e41bec) )
10795 ROM_LOAD( "skybase.9t", 0x3000, 0x1000, CRC(0871291f) SHA1(2e4e802316b55711bcfeb48d84bacd11afff8cb3) )
10796
10797 ROM_REGION( 0x0020, "proms", 0 )
10798 ROM_LOAD( "82s123.bpr", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Color prom */
10799 ROM_END
10800
10801
10802 ROM_START( jumpbug )
10803 ROM_REGION( 0x10000, "maincpu", 0 )
10804 ROM_LOAD( "jb1", 0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) )
10805 ROM_LOAD( "jb2", 0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) )
10806 ROM_LOAD( "jb3", 0x2000, 0x1000, CRC(97c24be2) SHA1(1beb9fbc3a52610b416af8b5fee156d8b6b3125a) )
10807 ROM_LOAD( "jb4", 0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) )
10808 ROM_LOAD( "jb5", 0x8000, 0x1000, CRC(e2d66faf) SHA1(3dec0796642856359de57afb896cc668c0245b40) )
10809 ROM_LOAD( "jb6", 0x9000, 0x1000, CRC(49e0bdfd) SHA1(8d89d9cd7134b153264fdc49d2c68e8c14004b0d) )
10810 ROM_LOAD( "jb7", 0xa000, 0x0800, CRC(83d71302) SHA1(9292088d26ba29fbf8817df03461b8bb6bf27639) )
10811
10812 ROM_REGION( 0x3000, "gfx1", 0 )
10813 ROM_LOAD( "jbl", 0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) )
10814 ROM_LOAD( "jbm", 0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) )
10815 ROM_LOAD( "jbn", 0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) )
10816 ROM_LOAD( "jbi", 0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) )
10817 ROM_LOAD( "jbj", 0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) )
10818 ROM_LOAD( "jbk", 0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) )
10819
10820 ROM_REGION( 0x0020, "proms", 0 )
10821 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10822 ROM_END
10823
10824 ROM_START( jumpbugb )
10825 ROM_REGION( 0x10000, "maincpu", 0 )
10826 ROM_LOAD( "jb1", 0x0000, 0x1000, CRC(415aa1b7) SHA1(4f9edd7e9720acf085dd8910849c2f2fac5cb547) )
10827 ROM_LOAD( "jb2", 0x1000, 0x1000, CRC(b1c27510) SHA1(66fbe0b94b6c101cb50d7a3ff78160110415dff9) )
10828 ROM_LOAD( "jb3b", 0x2000, 0x1000, CRC(cb8b8a0f) SHA1(9e8591471dda2cb964ba2a866d4a5a3ef65d8707) )
10829 ROM_LOAD( "jb4", 0x3000, 0x1000, CRC(66751d12) SHA1(26c68cfb59596ae164ee9ae4a24ddf8dc7a923a7) )
10830 ROM_LOAD( "jb5b", 0x8000, 0x1000, CRC(7553b5e2) SHA1(6439585e713581dd36cea6324414f803d683216f) )
10831 ROM_LOAD( "jb6b", 0x9000, 0x1000, CRC(47be9843) SHA1(495d6fc732267bfd19a953b0b70df3f94b3c1e38) )
10832 ROM_LOAD( "jb7b", 0xa000, 0x0800, CRC(460aed61) SHA1(449ab1bb502f98da74c0955ce1364f8708fd3f81) )
10833
10834 ROM_REGION( 0x3000, "gfx1", 0 )
10835 ROM_LOAD( "jbl", 0x0000, 0x0800, CRC(9a091b0a) SHA1(19b88f802ee80ff8901ef99e3688f2869f1a69c5) )
10836 ROM_LOAD( "jbm", 0x0800, 0x0800, CRC(8a0fc082) SHA1(58b72a3161950a2fb71cdab3f30bb3abb19c7978) )
10837 ROM_LOAD( "jbn", 0x1000, 0x0800, CRC(155186e0) SHA1(717ddaecc52a4ef03a01fcddb520acdbfb0d722a) )
10838 ROM_LOAD( "jbi", 0x1800, 0x0800, CRC(7749b111) SHA1(55071ce04708bd52177644298f76ae79d23f6ac9) )
10839 ROM_LOAD( "jbj", 0x2000, 0x0800, CRC(06e8d7df) SHA1(d04f1503d9fde5aae92652cb9d2eb16bd6a0fe9c) )
10840 ROM_LOAD( "jbk", 0x2800, 0x0800, CRC(b8dbddf3) SHA1(043de444890a93459789dc99c43ef88ff66b79e4) )
10841
10842 ROM_REGION( 0x0020, "proms", 0 )
10843 ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
10844 ROM_END
10845
10846 ROM_START( levers )
10847 ROM_REGION( 0x10000, "maincpu", 0 )
10848 ROM_LOAD( "g96059.a8", 0x0000, 0x1000, CRC(9550627a) SHA1(3da9a614622d5b880852fe2bb2e8e4a60afb2d34) )
10849 ROM_LOAD( "g96060.d8", 0x2000, 0x1000, CRC(5ac64646) SHA1(459755932a033095eff72d78d1e916932964c5cc) )
10850 ROM_LOAD( "g96061.e8", 0x3000, 0x1000, CRC(9db8e520) SHA1(1ff10e221e45cc4afb77571a171937f8501aa509) )
10851 ROM_LOAD( "g96062.h8", 0x8000, 0x1000, CRC(7c8e8b3a) SHA1(ad281f801e818ea529be8ec43096212e834f69ef) )
10852 ROM_LOAD( "g96063.j8", 0x9000, 0x1000, CRC(fa61e793) SHA1(7aad77f3de05a7bd3dcb0c9c97a3cccd1136f352) )
10853 ROM_LOAD( "g96064.l8", 0xa000, 0x1000, CRC(f797f389) SHA1(b961f0506defa9884ac47b2316884318e1e90bff) )
10854
10855 ROM_REGION( 0x3000, "gfx1", 0 )
10856 ROM_LOAD( "g95948.n1", 0x0000, 0x0800, CRC(d8a0c692) SHA1(dd64623f4072bcb8c528b5b7b95a7bd858b79d6c) )
10857 /*0x0800- 0x0fff empty */
10858 ROM_LOAD( "g95949.s1", 0x1000, 0x0800, CRC(3660a552) SHA1(bebfd30f90da55d6d42945717b9b38d5b0c9623a) )
10859 ROM_LOAD( "g95946.j1", 0x1800, 0x0800, CRC(73b61b2d) SHA1(fdb75eea1778daa6f9c48243361e418044b471f8) )
10860 /*0x2000- 0x27ff empty */
10861 ROM_LOAD( "g95947.m1", 0x2800, 0x0800, CRC(72ff67e2) SHA1(dcc12f17a857271c253d06d5ac170b9d6bb6a2bd) )
10862
10863 ROM_REGION( 0x0020, "proms", 0 )
10864 ROM_LOAD( "g960lev.clr", 0x0000, 0x0020, CRC(01febbbe) SHA1(11b1dab7983ba29e830ccb7f14eb1a99465c9e81) )
10865 ROM_END
10866
10867
10868 ROM_START( checkman )
10869 ROM_REGION( 0x10000, "maincpu", 0 )
10870 ROM_LOAD( "cm1", 0x0000, 0x0800, CRC(e8cbdd28) SHA1(ba0b41e375b94bbfed6a2c949cc7958474c8ba6e) )
10871 ROM_LOAD( "cm2", 0x0800, 0x0800, CRC(b8432d4d) SHA1(d331476f1f88b7ef1426bed7442392f369e0650b) )
10872 ROM_LOAD( "cm3", 0x1000, 0x0800, CRC(15a97f61) SHA1(3c06c734cef1eed68b401d0d36f7ec9126986d73) )
10873 ROM_LOAD( "cm4", 0x1800, 0x0800, CRC(8c12ecc0) SHA1(1c2d61ef84404b6a524c453a3d339aaaadb38229) )
10874 ROM_LOAD( "cm5", 0x2000, 0x0800, CRC(2352cfd6) SHA1(77db5f925ee5f83c17a05a78af5191eefe70ca5a) )
10875
10876 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound code */
10877 ROM_LOAD( "cm13", 0x0000, 0x0800, CRC(0b09a3e8) SHA1(e4e65da306e22f61790f0a68d953cc017c3ce762) )
10878 ROM_LOAD( "cm14", 0x0800, 0x0800, CRC(47f043be) SHA1(44d8892d93849cbc989561387c0a05baead58446) )
10879
10880 ROM_REGION( 0x2000, "gfx1", 0 )
10881 ROM_LOAD( "cm11", 0x0000, 0x0800, CRC(8d1bcca0) SHA1(28fc7fb76180820e84d59e6836ed1f8136e8f138) )
10882 ROM_RELOAD( 0x0800, 0x0800 )
10883 ROM_LOAD( "cm9", 0x1000, 0x0800, CRC(3cd5c751) SHA1(a769fdd30752da8fb331aa0f7a0181a93f0b3378) )
10884 ROM_RELOAD( 0x1800, 0x0800 )
10885
10886 ROM_REGION( 0x0020, "proms", 0 )
10887 ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
10888 ROM_END
10889
10890 ROM_START( checkmanj )
10891 ROM_REGION( 0x10000, "maincpu", 0 )
10892 ROM_LOAD( "cm_1.bin", 0x0000, 0x1000, CRC(456a118f) SHA1(7c2e8343360f446af4391012784a1ccfecae3299) )
10893 ROM_LOAD( "cm_2.bin", 0x1000, 0x1000, CRC(146b2c44) SHA1(80455396a9b1802fcefaec1340b76461c0601bf9) )
10894 ROM_LOAD( "cm_3.bin", 0x2000, 0x0800, CRC(73e1c945) SHA1(bcf2558958a30e5936f19ff53687f2316e0b822e) )
10895
10896 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound code */
10897 ROM_LOAD( "cm_4.bin", 0x0000, 0x1000, CRC(923cffa1) SHA1(132822d20de2ad1ecc561e811ca40c5642500631) )
10898
10899 ROM_REGION( 0x1000, "gfx1", 0 )
10900 ROM_LOAD( "cm_6.bin", 0x0000, 0x0800, CRC(476a7cc3) SHA1(3c343b0dcfb2f4cbec2f8b5854a303a1660fea22) )
10901 ROM_LOAD( "cm_5.bin", 0x0800, 0x0800, CRC(b3df2b5f) SHA1(519a0894d1794211659abeb6b2a2c610e6c2af25) )
10902
10903 ROM_REGION( 0x0020, "proms", 0 )
10904 ROM_LOAD( "checkman.clr", 0x0000, 0x0020, CRC(57a45057) SHA1(d4ec6a54f72640e5b485aa59e206c090e67ff640) )
10905 ROM_END
10906
10907 ROM_START( dingo )
10908 ROM_REGION( 0x10000, "maincpu", 0 )
10909 ROM_LOAD( "003.e7", 0x0000, 0x1000, CRC(d088550f) SHA1(13b87995881e484825c45ab4e558ac3d90bf162a) )
10910 ROM_LOAD( "004.h7", 0x1000, 0x1000, CRC(a228446a) SHA1(4b7e611edd6bce308cc7b17caa068445f5438f4f) )
10911 ROM_LOAD( "005.j7", 0x2000, 0x0800, CRC(14d680bb) SHA1(e9d84d1a62ed5300c390a7326c16cebd0aceae3b) )
10912
10913 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound code */
10914 ROM_LOAD( "6.7l", 0x0000, 0x1000, CRC(047092e0) SHA1(24014c999c904b4be571121b0f6808713d95add1) )
10915
10916 ROM_REGION( 0x1000, "gfx1", 0 )
10917 ROM_LOAD( "001.h1", 0x0000, 0x0800, CRC(1ab1dd4d) SHA1(74ef2226e1f1d2583b0c7718325da193f411a97d) )
10918 ROM_LOAD( "002.k1", 0x0800, 0x0800, CRC(4be375ee) SHA1(7379b037887baca0f932d910f8f94f7edf39bb26) )
10919
10920 ROM_REGION( 0x0020, "proms", 0 )
10921 ROM_LOAD( "18s030.l6", 0x0000, 0x0020, CRC(3061d0f9) SHA1(5af85499c6219137dc57d9fba79cb5afa3548ab1) )
10922 ROM_END
10923
10924 ROM_START( dingoe )
10925 ROM_REGION( 0x10000, "maincpu", 0 ) // all 3 maincpu ROMs have identical halves and are missing data compared to the unencrypted set
10926 ROM_LOAD( "unk.2b", 0x0000, 0x1000, BAD_DUMP CRC(0df7ac6d) SHA1(c1d45a7694848e66426c3510d0749c98e51571cb) )
10927 ROM_LOAD( "unk.2d", 0x1000, 0x1000, BAD_DUMP CRC(0881e204) SHA1(4ba59d73e04b5337cfbd68d6a708e7321cb629f1) )
10928 ROM_LOAD( "unk.3b", 0x2000, 0x1000, BAD_DUMP CRC(0b6aeab5) SHA1(ebfab3227dd23e3e1802b881a5662f634f86e382) )
10929
10930 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound code */
10931 ROM_LOAD( "unk.1c", 0x0000, 0x0800, CRC(8e354c38) SHA1(87608c1fa55e6fcf482f5d3bcc506a84673719cc) )
10932 ROM_LOAD( "unk.1d", 0x0800, 0x0800, CRC(092878d6) SHA1(8a3b25e27df5aee2023a7e1a193ab152df171ede) )
10933
10934 ROM_REGION( 0x1000, "gfx1", 0 )
10935 ROM_LOAD( "unk.4d", 0x0000, 0x0800, CRC(76a00a56) SHA1(2a696b9ce3e148529c731231852dc104729bb916) )
10936 ROM_LOAD( "unk.4b", 0x0800, 0x0800, CRC(5acf57aa) SHA1(bb05be53728e7867085dad5854fcadfa687ff5d7) )
10937
10938 ROM_REGION( 0x0020, "proms", 0 )
10939 ROM_LOAD( "82s123n.001", 0x0000, 0x0020, CRC(02b11865) SHA1(70053db9635a9194e4372835379a82f6ea64ef83) ) /* Unknown */
10940 ROM_END
10941
10942
10943 ROM_START( mshuttle )
10944 ROM_REGION( 0x8000, "maincpu", 0 )
10945 ROM_LOAD( "my05", 0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) )
10946 ROM_LOAD( "my04", 0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) )
10947 ROM_LOAD( "my03", 0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) )
10948 ROM_LOAD( "my02", 0x3000, 0x1000, CRC(b6aeee6e) SHA1(032af7000aebe9d34319231cdb3f2fe5de7158ba) )
10949 ROM_LOAD( "my01", 0x4000, 0x1000, CRC(def82adc) SHA1(2fb963299468c52d50b7460b55bf69c9659ee21d) )
10950
10951 ROM_REGION( 0x4000, "gfx1", 0 )
10952 ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
10953 ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
10954 ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
10955 ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
10956
10957 ROM_REGION( 0x0020, "proms", 0 )
10958 ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
10959
10960 ROM_REGION( 0x2000, "cclimber_audio:samples", 0 )
10961 ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
10962 ROM_LOAD( "my06", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) // sldh
10963 ROM_END
10964
10965 ROM_START( mshuttle2 )
10966 ROM_REGION( 0x8000, "maincpu", 0 )
10967 ROM_LOAD( "my05", 0x0000, 0x1000, CRC(83574af1) SHA1(d69c2a0538a49d6c72c3346ac4e3959d91da6c98) )
10968 ROM_LOAD( "my04", 0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) )
10969 ROM_LOAD( "my03", 0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) )
10970 ROM_LOAD( "my02", 0x3000, 0x1000, CRC(9804061c) SHA1(d5147e827c5a851f6baadea4a0a3b1deb19dda16) ) // sldh
10971 ROM_LOAD( "my01", 0x4000, 0x1000, CRC(ca746a61) SHA1(259b1556b0646bf0108b1e3ffbd77bf7238350b0) ) // sldh
10972
10973 ROM_REGION( 0x4000, "gfx1", 0 )
10974 ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
10975 ROM_LOAD( "my11", 0x1000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) ) // sldh
10976 ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
10977 ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
10978
10979 ROM_REGION( 0x0020, "proms", 0 )
10980 ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
10981
10982 ROM_REGION( 0x2000, "cclimber_audio:samples", 0 )
10983 ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
10984 ROM_LOAD( "my06", 0x1000, 0x1000, CRC(6d2dd711) SHA1(82e7c7b10258f651943173c968c7fa2bdf937ca9) )
10985 ROM_END
10986
10987 ROM_START( mshuttlea ) // PCB MY-01 + MY-02
10988 ROM_REGION( 0x8000, "maincpu", 0 )
10989 ROM_LOAD( "my-5a.4l", 0x0000, 0x1000, CRC(14fa3e75) SHA1(50ddb3cf7a4ae1f547bbd53f125e7addeb1f4c10) ) // 2732
10990 ROM_LOAD( "my04.4j", 0x1000, 0x1000, CRC(1cfae2c8) SHA1(6c7eeee70e91b8498c41525dcc60f8086cff8da7) )
10991 ROM_LOAD( "my03.4f", 0x2000, 0x1000, CRC(c8b8a368) SHA1(140ba60f55285d1e9f7a262634f5ce5c3470ab71) )
10992 ROM_LOAD( "my-2a.4e", 0x3000, 0x1000, CRC(51d348b0) SHA1(beb5f7849e032acd7d6cf5845ff2b316b3ff2303) ) // 2732
10993 ROM_LOAD( "my-1a.4c", 0x4000, 0x1000, CRC(c4ad042d) SHA1(93618b72c18d66298ec6bab0d4ac2784bc9c2934) ) // 2732
10994
10995 ROM_REGION( 0x4000, "gfx1", 0 )
10996 ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
10997 ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
10998 ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
10999 ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
11000
11001 ROM_REGION( 0x0020, "proms", 0 )
11002 ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
11003
11004 ROM_REGION( 0x2000, "cclimber_audio:samples", 0 )
11005 ROM_LOAD( "my07.4p", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
11006 ROM_LOAD( "my06.4s", 0x1000, 0x1000, CRC(466415f2) SHA1(a05f8238cdcebe926a564ef6268b3cd677987fa2) ) // sldh
11007 ROM_END
11008
11009 ROM_START( mshuttlej )
11010 ROM_REGION( 0x8000, "maincpu", 0 )
11011 ROM_LOAD( "mcs.5", 0x0000, 0x1000, CRC(a5a292b4) SHA1(b4e9d969c762f4114eba88051917df122fc7181f) )
11012 ROM_LOAD( "mcs.4", 0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) )
11013 ROM_LOAD( "mcs.3", 0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) )
11014 ROM_LOAD( "mcs.2", 0x3000, 0x1000, CRC(14577703) SHA1(51537982dd06ba44e95e4c7d1f7fa41ff186421d) )
11015
11016 ROM_LOAD( "mcs.1", 0x4000, 0x1000, CRC(27d46772) SHA1(848a47ba30823a55933bb55792991f0535078f0c) )
11017
11018 ROM_REGION( 0x4000, "gfx1", 0 )
11019 ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
11020 ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) ) // sldh w/mshuttle2
11021 ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
11022 ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
11023
11024 ROM_REGION( 0x0020, "proms", 0 )
11025 ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
11026
11027 ROM_REGION( 0x2000, "cclimber_audio:samples", 0 )
11028 ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
11029 ROM_LOAD( "my06", 0x1000, 0x1000, CRC(6d2dd711) SHA1(82e7c7b10258f651943173c968c7fa2bdf937ca9) )
11030 ROM_END
11031
11032 ROM_START( mshuttlej2 )
11033 ROM_REGION( 0x8000, "maincpu", 0 )
11034 ROM_LOAD( "ali5.bin", 0x0000, 0x1000, CRC(320fe630) SHA1(df4fe25989783c8851f41c9b4b63dedfa365c1e9) )
11035 ROM_LOAD( "mcs.4", 0x1000, 0x1000, CRC(acdc0f9e) SHA1(8cd6d6566fe3f4090ccb625c3c1e5850a371826f) )
11036 ROM_LOAD( "mcs.3", 0x2000, 0x1000, CRC(c1e3f5d8) SHA1(d3af89d485b1ca21ac879dbe15490dcd1cd64f2a) )
11037 ROM_LOAD( "ali2.bin", 0x3000, 0x1000, CRC(9ed169e1) SHA1(75a24d0fcbdfc7c4e6fa0d8c7f8b4a3bccaa4439) )
11038
11039 ROM_LOAD( "ali1.bin", 0x4000, 0x1000, CRC(7f8a52d9) SHA1(4e62f6265289bae1a46e60cdd3230e188b2aec3c) )
11040
11041 ROM_REGION( 0x4000, "gfx1", 0 )
11042 ROM_LOAD( "my09", 0x0000, 0x1000, CRC(3601b380) SHA1(c0b9d1801f58a16449708d514d2fd88e34af340b) )
11043 ROM_LOAD( "my11", 0x1000, 0x0800, CRC(b659e932) SHA1(3f63c99e81cb93c9553a5e274546525f598d50c4) )
11044 ROM_LOAD( "my08", 0x2000, 0x1000, CRC(992b06cd) SHA1(8645ccad8169601bbe25b9f2b17b99004c0a584f) )
11045 ROM_LOAD( "my10", 0x3000, 0x0800, CRC(d860e6ce) SHA1(2912d13bf69496f8f18358a36366a1f60afd0070) )
11046
11047 ROM_REGION( 0x0020, "proms", 0 )
11048 ROM_LOAD( "mscprom1.bin", 0x0000, 0x0020, CRC(ea0d1af0) SHA1(cb59e04c02307dfe847e3170cf0a7f62829b6094) )
11049
11050 ROM_REGION( 0x2000, "cclimber_audio:samples", 0 )
11051 ROM_LOAD( "my07", 0x0000, 0x1000, CRC(522a2920) SHA1(a64d821a8ff6bd6e2b0bdb1e632181e65a97363b) )
11052 ROM_LOAD( "my06.4r", 0x1000, 0x1000, CRC(4162be4d) SHA1(84fa8651796e498a37893ea90ef51b274c70e568) )
11053 ROM_END
11054
11055
11056 ROM_START( kingball )
11057 ROM_REGION( 0x10000, "maincpu", 0 )
11058 ROM_LOAD( "prg1.7f", 0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) )
11059 ROM_LOAD( "prg2.7j", 0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) )
11060 ROM_LOAD( "prg3.7l", 0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) )
11061
11062 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound code */
11063 ROM_LOAD( "kbe1.ic4", 0x0000, 0x0800, CRC(5be2c80a) SHA1(f719a80357bed3d66bce40569690f419740148c5) )
11064 ROM_LOAD( "kbe2.ic5", 0x0800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) )
11065 ROM_LOAD( "kbe3.ic6", 0x1000, 0x0800, CRC(fbc7d286) SHA1(11511028920d30f65859b80379b5aab94240a741) )
11066 ROM_LOAD( "kbe2.ic7", 0x1800, 0x0800, CRC(bb59e965) SHA1(830e0c415f051e932d76df604025e4e33118a799) )
11067
11068 ROM_REGION( 0x2000, "gfx1", 0 )
11069 ROM_LOAD( "chg1.1h", 0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) )
11070 ROM_RELOAD( 0x0800, 0x0800 )
11071 ROM_LOAD( "chg2.1k", 0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) )
11072 ROM_RELOAD( 0x1800, 0x0800 )
11073
11074 ROM_REGION( 0x0020, "proms", 0 )
11075 ROM_LOAD( "kb2-1", 0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) )
11076 ROM_END
11077
11078 ROM_START( kingballj )
11079 ROM_REGION( 0x10000, "maincpu", 0 )
11080 ROM_LOAD( "prg1.7f", 0x0000, 0x1000, CRC(6cb49046) SHA1(a0891605dff7f9ff51bc7ad85f831a749f2f61e9) )
11081 ROM_LOAD( "prg2.7j", 0x1000, 0x1000, CRC(c223b416) SHA1(ca2d9f6b8ef6db4f382089161f4147d9828c3554) )
11082 ROM_LOAD( "prg3.7l", 0x2000, 0x0800, CRC(453634c0) SHA1(0025ccd91e165692092a37541e730010e85e37f2) )
11083
11084 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound code */
11085 ROM_LOAD( "kbj1.ic4", 0x0000, 0x0800, CRC(ba16beb7) SHA1(8c2c91a9e941d858a49edd6c0c8a912e1135653e) )
11086 ROM_LOAD( "kbj2.ic5", 0x0800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) )
11087 ROM_LOAD( "kbj3.ic6", 0x1000, 0x0800, CRC(fbc570a5) SHA1(d0dbaf86396bca65e067338a3b5b60b24990b8be) )
11088 ROM_LOAD( "kbj2.ic7", 0x1800, 0x0800, CRC(56686a63) SHA1(8e624df57a63a556941fdbebcd886488799fad17) )
11089
11090
11091 ROM_REGION( 0x2000, "gfx1", 0 )
11092 ROM_LOAD( "chg1.1h", 0x0000, 0x0800, CRC(9cd550e7) SHA1(d2989e6b7a4d7b37a711ef1cfb536fe13e0c5482) )
11093 ROM_RELOAD( 0x0800, 0x0800 )
11094 ROM_LOAD( "chg2.1k", 0x1000, 0x0800, CRC(a206757d) SHA1(46b50005876b7f61ab4a118d0a4caaebce8ce3e1) )
11095 ROM_RELOAD( 0x1800, 0x0800 )
11096
11097 ROM_REGION( 0x0020, "proms", 0 )
11098 ROM_LOAD( "kb2-1", 0x0000, 0x0020, CRC(15dd5b16) SHA1(3d2ca2b42bf508a9e5198e970abcbbedf5729164) )
11099 ROM_END
11100
11101
11102 /*************************************
11103 *
11104 * ROM definitions
11105 * Konami games
11106 *
11107 *************************************/
11108
11109 ROM_START( frogger )
11110 ROM_REGION( 0x10000, "maincpu", 0 )
11111 ROM_LOAD( "frogger.26", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) )
11112 ROM_LOAD( "frogger.27", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
11113 ROM_LOAD( "frsm3.7", 0x2000, 0x1000, CRC(aca22ae0) SHA1(5a99060ea2506a3ac7d61ca5876ce5cb3e493565) )
11114
11115 ROM_REGION( 0x10000, "audiocpu", 0 )
11116 ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
11117 ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
11118 ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
11119
11120 ROM_REGION( 0x1000, "gfx1", 0 )
11121 ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11122 ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
11123
11124 ROM_REGION( 0x0020, "proms", 0 )
11125 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11126 ROM_END
11127
11128
11129 ROM_START( froggers1 )
11130 ROM_REGION( 0x10000, "maincpu", 0 )
11131 ROM_LOAD( "epr-26.ic5", 0x0000, 0x1000, CRC(597696d6) SHA1(e7e021776cad00f095a1ebbef407b7c0a8f5d835) ) /* EPR- was printed but the numbers were hand-written */
11132 ROM_LOAD( "epr-27.ic6", 0x1000, 0x1000, CRC(b6e6fcc3) SHA1(5e8692f2b0c7f4b3642b3ee6670e1c3b20029cdc) )
11133 ROM_LOAD( "epr-34.ic7", 0x2000, 0x1000, CRC(ed866bab) SHA1(24e1bbde44eb5480b7a0570fa0dc1de388cb95ba) )
11134
11135 ROM_REGION( 0x10000, "audiocpu", 0 )
11136 ROM_LOAD( "epr-608.ic32", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
11137 ROM_LOAD( "epr-609.ic33", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
11138 ROM_LOAD( "epr-610.ic34", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
11139
11140 ROM_REGION( 0x1000, "gfx1", 0 )
11141 ROM_LOAD( "epr-607.ic101", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11142 ROM_LOAD( "epr-606.ic102", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
11143
11144 ROM_REGION( 0x0020, "proms", 0 )
11145 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11146 ROM_END
11147
11148 ROM_START( froggers2 )
11149 ROM_REGION( 0x10000, "maincpu", 0 )
11150 ROM_LOAD( "epr-1012.ic5", 0x0000, 0x1000, CRC(efab0c79) SHA1(68c99b6cdcb9396bb473739a62ffc009b4bf57d5) )
11151 ROM_LOAD( "epr-1013a.ic6", 0x1000, 0x1000, CRC(aeca9c13) SHA1(cdf560adbd7f2813e86e378da7781cccf7928a44) )
11152 ROM_LOAD( "epr-1014.ic7", 0x2000, 0x1000, CRC(dd251066) SHA1(4612e1fe1ab7182a277140b1a1976cc17e0746a5) )
11153 ROM_LOAD( "epr-1015.ic8", 0x3000, 0x1000, CRC(bf293a02) SHA1(be94e9f5caa74c3de6fd95bd20928f4a9c514227) )
11154
11155 ROM_REGION( 0x10000, "audiocpu", 0 )
11156 ROM_LOAD( "epr-608.ic32", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
11157 ROM_LOAD( "epr-609.ic33", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
11158 ROM_LOAD( "epr-610.ic34", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
11159
11160 ROM_REGION( 0x1000, "gfx1", 0 )
11161 ROM_LOAD( "epr-607.ic101", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11162 ROM_LOAD( "epr-606.ic102", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
11163
11164 ROM_REGION( 0x0020, "proms", 0 )
11165 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11166 ROM_END
11167
11168 ROM_START( froggers3 )
11169 ROM_REGION( 0x10000, "maincpu", 0 ) // different code revision, but didn't have Sega labels (other roms on PCB did) so might be unofficial mod
11170 ROM_LOAD( "29", 0x0000, 0x1000, CRC(a58e43a7) SHA1(f4d4646cf295ae351279eec87347d4ef980bea26) )
11171 ROM_LOAD( "30", 0x1000, 0x1000, CRC(119bbedb) SHA1(6a8ef356cbef39c68002e1bb9d2ac0ac8805ac2d) )
11172 ROM_LOAD( "31", 0x2000, 0x1000, CRC(405595e9) SHA1(1cbcae7159d716b801a5dde8009503d6fcc790c0) )
11173
11174 ROM_REGION( 0x10000, "audiocpu", 0 )
11175 ROM_LOAD( "epr-608.ic32", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
11176 ROM_LOAD( "epr-609.ic33", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
11177 ROM_LOAD( "epr-610.ic34", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
11178
11179 ROM_REGION( 0x1000, "gfx1", 0 )
11180 ROM_LOAD( "epr-607.ic101", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11181 ROM_LOAD( "epr-606.ic102", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
11182
11183 ROM_REGION( 0x0020, "proms", 0 )
11184 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11185 ROM_END
11186
11187
11188 ROM_START( froggermc )
11189 ROM_REGION( 0x10000, "maincpu", 0 )
11190 ROM_LOAD( "epr-1031.15", 0x0000, 0x1000, CRC(4b7c8d11) SHA1(9200b33cac0ef5a6647c95ebd25237fa62fcdf30) )
11191 ROM_LOAD( "epr-1032.16", 0x1000, 0x1000, CRC(ac00b9d9) SHA1(6414d2aa2c0ccb8cb567ffde3acdb693cfd28dbb) )
11192 ROM_LOAD( "epr-1033.33", 0x2000, 0x1000, CRC(bc1d6fbc) SHA1(c9c040418f0bf7b7fce599592f806e7aaf448c3d) )
11193 ROM_LOAD( "epr-1034.34", 0x3000, 0x1000, CRC(9efe7399) SHA1(77355160169db256f45286e60ebf6a406527d346) )
11194
11195 ROM_REGION( 0x10000, "audiocpu", 0 )
11196 ROM_LOAD( "epr-1082.42", 0x0000, 0x1000, CRC(802843c2) SHA1(059b26ddf1cdc8076d160b872f9d50b97af7f316) )
11197 ROM_LOAD( "epr-1035.43", 0x1000, 0x0800, CRC(14e74148) SHA1(0023394e971f191c41ff20b47835f1dafb924d15) )
11198
11199 ROM_REGION( 0x1000, "gfx1", 0 )
11200 ROM_LOAD( "epr-1037.1h", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11201 ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
11202
11203 ROM_REGION( 0x0020, "proms", 0 )
11204 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11205 ROM_END
11206
11207 ROM_START( froggers )
11208 ROM_REGION( 0x10000, "maincpu", 0 )
11209 ROM_LOAD( "vid_d2.bin", 0x0000, 0x0800, CRC(c103066e) SHA1(8c2d4c825e9c4180fe70b0db18a547dc3ddc3c2c) )
11210 ROM_LOAD( "vid_e2.bin", 0x0800, 0x0800, CRC(f08bc094) SHA1(23ad1e57f244d6b63fd9640249dcb1eeafb8206e) )
11211 ROM_LOAD( "vid_f2.bin", 0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) )
11212 ROM_LOAD( "vid_h2.bin", 0x1800, 0x0800, CRC(04c027a5) SHA1(193550731513c02cad464661a1ceb230819ca70f) )
11213 ROM_LOAD( "vid_j2.bin", 0x2000, 0x0800, CRC(fbdfbe74) SHA1(48d5d1247d09eaea2a9a29f4ed6543d0411597aa) )
11214 ROM_LOAD( "vid_l2.bin", 0x2800, 0x0800, CRC(8a4389e1) SHA1(b2c74afb93927dac0d8bb24e02e0b2a069f2d3c8) )
11215
11216 ROM_REGION( 0x10000, "audiocpu", 0 )
11217 ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
11218 ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
11219 ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
11220
11221 ROM_REGION( 0x1000, "gfx1", 0 )
11222 ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11223 ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
11224
11225 ROM_REGION( 0x0020, "proms", 0 )
11226 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11227 ROM_END
11228
11229 ROM_START( frogf )
11230 ROM_REGION( 0x10000, "maincpu", 0 )
11231 ROM_LOAD( "6.bin", 0x0000, 0x1000, CRC(8ff0a973) SHA1(adb1c28617d915fbcfa9190bd8589a56a8858e25) )
11232 ROM_LOAD( "7.bin", 0x1000, 0x1000, CRC(3087bb4b) SHA1(3fe1f68a2ad12b1cadba89d99afe574cf5342d81) )
11233 ROM_LOAD( "8.bin", 0x2000, 0x1000, CRC(c3869d12) SHA1(7bd95c12fc1fe1a3cfc0140b64cf76fa57aa3fb4) )
11234
11235 ROM_REGION( 0x10000, "audiocpu", 0 )
11236 ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
11237 ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
11238 ROM_LOAD( "frogger.610", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) )
11239
11240 ROM_REGION( 0x1000, "gfx1", 0 )
11241 ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11242 ROM_LOAD( "epr-1036.1k", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
11243
11244 ROM_REGION( 0x0020, "proms", 0 )
11245 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11246 ROM_END
11247
11248 ROM_START( frogg )
11249 ROM_REGION( 0x10000, "maincpu", 0 )
11250 ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(1762b266) SHA1(2cf34dcfe00dc476b327f9d762a8d2aa268a2d25) )
11251 ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(322f3916) SHA1(9236aaa260c4db4adbd92c8bba3674d07d7235a8) )
11252 ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(28bd6151) SHA1(1a5bc540168fa5fef01bd7bc2cdbdb910c9a4ba4) )
11253 ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(5a69ab18) SHA1(40b7bf200f87e0fb3fb54726ba79387889446052) )
11254 ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(b4f17745) SHA1(2f237a667f6c95af213b787620142c1530d3cdd8) )
11255 ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(34be71b5) SHA1(3088fc5817a397d0a87610d62845c7b8c4440f57) )
11256 ROM_LOAD( "p7.bin", 0x3000, 0x0800, CRC(de3edc8c) SHA1(634d54fb19b422b56576a196bdaf95733c52c7ee) )
11257
11258 ROM_REGION( 0x1000, "gfx1", 0 )
11259 ROM_LOAD( "k.bin", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11260 ROM_LOAD( "h.bin", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
11261
11262 ROM_REGION( 0x0020, "proms", 0 )
11263 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11264 ROM_END
11265
11266 ROM_START( froggrs )
11267 ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code */
11268 ROM_LOAD( "frog4.bin", 0x0000, 0x1000, CRC(4d563992) SHA1(25a197f711498112e202fa88ca576b247d24e228) )
11269 ROM_LOAD( "frog5.bin", 0x1000, 0x1000, CRC(d8b8c06e) SHA1(51363deab935c3625a825499cb1f1c7a0c773b03) )
11270 ROM_LOAD( "frog6.bin", 0x2000, 0x1000, CRC(b55a1cb5) SHA1(4e751e561c179641bb7db1abf3a5272d81d434b0) )
11271
11272 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the audio CPU */
11273 ROM_LOAD( "frogger.608", 0x0000, 0x0800, CRC(e8ab0256) SHA1(f090afcfacf5f13cdfa0dfda8e3feb868c6ce8bc) )
11274 ROM_LOAD( "frogger.609", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) )
11275 ROM_LOAD( "frog3.bin", 0x1000, 0x0800, CRC(837c16ab) SHA1(740780149563708163867c6412d3b2500192d7b1) )
11276
11277 ROM_REGION( 0x1000, "gfx1", 0 )
11278 ROM_LOAD( "frogger.607", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11279 ROM_LOAD( "frogger.606", 0x0800, 0x0800, CRC(f524ee30) SHA1(dd768967add61467baa08d5929001f157d6cd911) )
11280
11281 ROM_REGION( 0x0020, "proms", 0 )
11282 ROM_LOAD( "pr-91.6l", 0x0000, 0x0020, CRC(413703bf) SHA1(66648b2b28d3dcbda5bdb2605d1977428939dd3c) )
11283 ROM_END
11284
11285 /* Hermatic Frogger, found on a Video Dens PCB */
11286 ROM_START( froggervd )
11287 ROM_REGION( 0x10000, "maincpu", 0 )
11288 ROM_LOAD( "frogvd_r1-libro-s1.ac9", 0x0000, 0x0800, CRC(81c2020e) SHA1(8c9292b399a408795e78b7dc5c706d3b526d3751) ) // 2716
11289 ROM_LOAD( "frogvd_r2-libro-s2.ae9", 0x0800, 0x0800, CRC(a892ab61) SHA1(828cc04d73738ea17055c152098d592b776f4fb1) BAD_DUMP ) // 2716 (hand-patched at XX0)
11290 ROM_LOAD( "frogvd_r3-libro-s3.af9", 0x1000, 0x0800, CRC(637a2ff8) SHA1(e9b9fc692ca5d8deb9cd30d9d73ad25c8d8bafe1) ) // 2716
11291 ROM_LOAD( "frogvd_r4-libro-s4.ah9", 0x1800, 0x0800, CRC(1dc9ab15) SHA1(94b327dd2eaf0ffb19fee86a2a890a0012d52849) ) // 2716
11292 ROM_LOAD( "frogvd_r5-libro-s5.aj9", 0x2000, 0x0800, CRC(35e11cd2) SHA1(c2d01324c052d79ad9de00d13ddc4322f9c44292) ) // 2716
11293 ROM_LOAD( "frogvd_r6-libro-s6.al9", 0x2800, 0x0800, CRC(5db899ed) SHA1(e8d75daba8dfdb89078068a29a0ccf040dfca4da) ) // 2716
11294
11295 ROM_REGION( 0x10000, "audiocpu", 0 )
11296 ROM_LOAD( "frogvd_r11-ot1.bc5", 0x0000, 0x0800, CRC(79326efe) SHA1(087cd61ba9c09be6ff71be8f89933a4a0f620650) ) // 2716
11297 ROM_LOAD( "frogvd_r12-ot2.bd5", 0x0800, 0x0800, CRC(7380a48f) SHA1(75582a94b696062cbdb66a4c5cf0bc0bb94f81ee) BAD_DUMP ) // 2716 (hand-patched at XXe)
11298 ROM_LOAD( "frogvd_r13-ot3.be5", 0x1000, 0x0800, CRC(31d7eb27) SHA1(2e1d34ae4da385fd7cac94707d25eeddf4604e1a) ) // 2716
11299
11300 ROM_REGION( 0x1000, "gfx1", 0 )
11301 ROM_LOAD( "frogvd_r9-libro-c1.af9", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) ) // 2716
11302 ROM_LOAD( "frogvd_r10-libro-c2.ah9", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) ) // 2716
11303
11304 ROM_REGION( 0x0020, "proms", 0 )
11305 ROM_LOAD( "frogvd.5e", 0x0000, 0x0004, CRC(c5f12bc3) SHA1(b746ba06b596d4227fdc730a23bdf495f84e6a72) ) // 74s288n dumped as 82s123
11306 ROM_CONTINUE( 0x0010, 0x0004 )
11307 ROM_CONTINUE( 0x0004, 0x0004 )
11308 ROM_CONTINUE( 0x0014, 0x0004 )
11309 ROM_CONTINUE( 0x0008, 0x0004 )
11310 ROM_CONTINUE( 0x0018, 0x0004 )
11311 ROM_CONTINUE( 0x000c, 0x0004 )
11312 ROM_CONTINUE( 0x001c, 0x0004 )
11313 ROM_END
11314
11315 ROM_START( quaak )
11316 ROM_REGION( 0x10000, "maincpu", 0 )
11317 ROM_LOAD( "1f.bin", 0x0000, 0x0800, CRC(5d0e2716) SHA1(c484ae162bfe5ef9d5d2a6930c9c476394e70bbd) )
11318 ROM_LOAD( "2f.bin", 0x0800, 0x0800, CRC(cfbf8219) SHA1(400ba52d9a2977344842fdb8c40d8629cb16110b) )
11319 ROM_LOAD( "3f.bin", 0x1000, 0x0800, CRC(cbb17731) SHA1(7103c4ce0a103b4916cf88c69a24f0f5cc1e2628) )
11320 ROM_LOAD( "4f.bin", 0x1800, 0x0800, CRC(817ff82d) SHA1(0111af02ab8fa4f52877e5539a954b37550ceb40) )
11321 ROM_LOAD( "5f.bin", 0x2000, 0x0800, CRC(5a8dd54b) SHA1(2e7769fc1ccc540f1f2552d7d427c6fdb1174488) )
11322 ROM_LOAD( "6f.bin", 0x2800, 0x0800, CRC(e1d46369) SHA1(0da5f1918cd711e5e593c8b04103371936665c2f) )
11323
11324 ROM_REGION( 0x10000, "audiocpu", 0 )
11325 ROM_LOAD( "a.bin", 0x0000, 0x0800, CRC(b4c2180e) SHA1(25894481ef3b55b11a875ab08c665d5d541f1a06) )
11326 ROM_LOAD( "b.bin", 0x0800, 0x0800, CRC(a1aae0bc) SHA1(1cb06b0cfde9fdd7f176f4a51de801d97785d279) )
11327 ROM_LOAD( "c.bin", 0x1000, 0x0800, CRC(9d88fd0a) SHA1(ecfb8ddf67cd7755cbdbc1cc5e7788e1b5b3c882) )
11328
11329 ROM_REGION( 0x1000, "gfx1", 0 )
11330 ROM_LOAD( "7h.bin", 0x0000, 0x0800, CRC(28350f17) SHA1(c1999d1dadc243ed742610db39a278acd8422a73) )
11331 ROM_LOAD( "8h.bin", 0x0800, 0x0800, CRC(e080f942) SHA1(45371ba3399101bd4fcd4819c8618d8cf2078723) )
11332
11333 ROM_REGION( 0x0020, "proms", 0 )
11334 ROM_LOAD( "n82s123.bin", 0x0000, 0x0020, CRC(a35ec965) SHA1(ea5851f3e0e54f043347c7ae9869db8f6711d031) )
11335 ROM_END
11336
11337 ROM_START( froggeram )
11338 ROM_REGION( 0x10000, "maincpu", 0 )
11339 ROM_LOAD( "1.d2", 0x0000, 0x0800, CRC(b680e622) SHA1(233dbefa2aae6e85cb61acd60c49480bd4a3388d) )
11340 ROM_LOAD( "2.e2", 0x0800, 0x0800, CRC(32c56a50) SHA1(4d215fff6ff002e23aa889292c9c5eb242975f5d) )
11341 ROM_LOAD( "3.f2", 0x1000, 0x0800, CRC(4223a053) SHA1(c19555d2fee4172dff99d7cf65ebb44d1336c06e) )
11342 ROM_LOAD( "4.h2", 0x1800, 0x0800, CRC(bcd02aa7) SHA1(987c35bf9af8bb1083ccbf4d9f912be8d74b3d1f) )
11343 ROM_LOAD( "5.j2", 0x2000, 0x0800, CRC(b11b36f7) SHA1(d4e9342be7fa23f30565d7b75fa0fb8c6c82669d) )
11344 ROM_LOAD( "6.l2", 0x2800, 0x0800, CRC(a239048a) SHA1(a8dcc0b4bdb51f6e391832d69ba3a8727be59ae7) )
11345
11346 ROM_REGION( 0x10000, "audiocpu", 0 )
11347 ROM_LOAD( "top7.c5", 0x0000, 0x0800, CRC(b4c2180e) SHA1(25894481ef3b55b11a875ab08c665d5d541f1a06) ) // only this sound rom was present in the dump, it matches quaak above
11348 ROM_LOAD( "b.bin", 0x0800, 0x0800, BAD_DUMP CRC(a1aae0bc) SHA1(1cb06b0cfde9fdd7f176f4a51de801d97785d279) ) // so let's assume the rest do too (but mark them as BAD_DUMP).
11349 ROM_LOAD( "c.bin", 0x1000, 0x0800, BAD_DUMP CRC(9d88fd0a) SHA1(ecfb8ddf67cd7755cbdbc1cc5e7788e1b5b3c882) )
11350
11351 ROM_REGION( 0x1000, "gfx1", 0 )
11352 ROM_LOAD( "bl7h", 0x0000, 0x0800, CRC(05f7d883) SHA1(78831fd287da18928651a8adb7e578d291493eff) )
11353 ROM_LOAD( "bl8h", 0x0800, 0x0800, CRC(658745f8) SHA1(e4e5c3e011c8a7233a36d29e10e08905873500aa) )
11354
11355 ROM_REGION( 0x0020, "proms", 0 )
11356 ROM_LOAD( "n82s123.bin", 0x0000, 0x0020, CRC(a35ec965) SHA1(ea5851f3e0e54f043347c7ae9869db8f6711d031) )
11357 ROM_END
11358
11359
11360 ROM_START( turtles )
11361 ROM_REGION( 0x10000, "maincpu", 0 )
11362 ROM_LOAD( "turt_vid.2c", 0x0000, 0x1000, CRC(ec5e61fb) SHA1(3ca89800fda7a7e61f54d71d5302908be2706def) )
11363 ROM_LOAD( "turt_vid.2e", 0x1000, 0x1000, CRC(fd10821e) SHA1(af74602bf2454eb8f3b9bb5c425e2476feeecd69) )
11364 ROM_LOAD( "turt_vid.2f", 0x2000, 0x1000, CRC(ddcfc5fa) SHA1(2af9383e5a289c2d7fbe6cf5e5b1519c352afbab) )
11365 ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
11366 ROM_LOAD( "turt_vid.2j", 0x4000, 0x1000, CRC(fcd49fef) SHA1(bb1e91b2e6d4b5a861bf37907ef6b198328d8d83) )
11367
11368 ROM_REGION( 0x10000, "audiocpu", 0 )
11369 ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
11370 ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
11371
11372 ROM_REGION( 0x1000, "gfx1", 0 )
11373 ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
11374 ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
11375
11376 ROM_REGION( 0x0020, "proms", 0 )
11377 ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
11378 ROM_END
11379
11380 ROM_START( turpin )
11381 ROM_REGION( 0x10000, "maincpu", 0 )
11382 ROM_LOAD( "m1", 0x0000, 0x1000, CRC(89177473) SHA1(0717b1e7308ffe527edfc578ec4353809e7d9eea) )
11383 ROM_LOAD( "m2", 0x1000, 0x1000, CRC(4c6ca5c6) SHA1(dd4ca7adaa523a8e775cdfaa99bb3cc25da32c08) )
11384 ROM_LOAD( "m3", 0x2000, 0x1000, CRC(62291652) SHA1(82965d3e9608afde4ff06cba1d7a4b11cd904c11) )
11385 ROM_LOAD( "turt_vid.2h", 0x3000, 0x1000, CRC(9e71696c) SHA1(3dcdf5dc601c875fc9d8b9a46e3ef588e7478e0d) )
11386 ROM_LOAD( "m5", 0x4000, 0x1000, CRC(7d2600f2) SHA1(1a9bdf63b50419c6e0d9c401c3dcf29d5b459fa6) )
11387
11388 ROM_REGION( 0x10000, "audiocpu", 0 )
11389 ROM_LOAD( "turt_snd.5c", 0x0000, 0x1000, CRC(f0c30f9a) SHA1(5621f336e9be8acf986a34bbb8855ed5d45c28ef) )
11390 ROM_LOAD( "turt_snd.5d", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
11391
11392 ROM_REGION( 0x1000, "gfx1", 0 )
11393 ROM_LOAD( "turt_vid.5h", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
11394 ROM_LOAD( "turt_vid.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
11395
11396 ROM_REGION( 0x0020, "proms", 0 )
11397 ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
11398 ROM_END
11399
11400 ROM_START( turpins )
11401 ROM_REGION( 0x10000, "maincpu", 0 )
11402 ROM_LOAD( "t1.bin", 0x0000, 0x1000, CRC(89dd50cc) SHA1(90e18f71324056a63272a02cabb0a6fe2a96dd0d) )
11403 ROM_LOAD( "t3.bin", 0x1000, 0x1000, CRC(9562dc29) SHA1(e4fe51176e554d159342f2ba6ff6886723df0ec4) )
11404 ROM_LOAD( "t4.bin", 0x2000, 0x1000, CRC(62291652) SHA1(82965d3e9608afde4ff06cba1d7a4b11cd904c11) )
11405 ROM_LOAD( "t5.bin", 0x3000, 0x1000, CRC(804118e8) SHA1(6f733d0f688df73e36bac6635aa9e9163fbae141) )
11406 ROM_LOAD( "t2.bin", 0x4000, 0x1000, CRC(8024f678) SHA1(3285f64ad55b3f4131d70e027751d587313c18ac) )
11407
11408 ROM_REGION( 0x10000, "audiocpu", 0 )
11409 ROM_LOAD( "8tur.bin", 0x0000, 0x1000, CRC(c97ed8ab) SHA1(675e464eff7b2fa4a5c909d807a454440e7c96c9) )
11410 ROM_LOAD( "5tur.bin", 0x1000, 0x1000, CRC(af5fc43c) SHA1(8a49c55feba094b07380615cf0b6f0878c25a260) )
11411
11412 ROM_REGION( 0x1000, "gfx1", 0 )
11413 ROM_LOAD( "tur.4f", 0x0000, 0x0800, CRC(e5999d52) SHA1(bc3f52cf6c6e19dfd2dacd1e8c9128f437e995fc) )
11414 ROM_LOAD( "tur.5f", 0x0800, 0x0800, CRC(c3ffd655) SHA1(dee51d77be262a2944488e381541c10a2b6e5d83) )
11415
11416 ROM_REGION( 0x0020, "proms", 0 ) // missing, but the original hw is so close to scobra that the original prom works
11417 ROM_LOAD( "turtles.clr", 0x0000, 0x0020, BAD_DUMP CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
11418 ROM_END
11419
11420 ROM_START( 600 )
11421 ROM_REGION( 0x10000, "maincpu", 0 )
11422 ROM_LOAD( "600_vid.2c", 0x0000, 0x1000, CRC(8ee090ae) SHA1(3d491313da6cccd6dbc15774569be0555fe2f73a) )
11423 ROM_LOAD( "600_vid.2e", 0x1000, 0x1000, CRC(45bfaff2) SHA1(ba4f7aa499f4993ec2191b8832b5604fd41964bc) )
11424 ROM_LOAD( "600_vid.2f", 0x2000, 0x1000, CRC(9f4c8ed7) SHA1(2564dae82019097227351a7ddc9c5156ca00297a) )
11425 ROM_LOAD( "600_vid.2h", 0x3000, 0x1000, CRC(a92ef056) SHA1(c319d41a3345b84670fe9110f78332c1cfe1e163) )
11426 ROM_LOAD( "600_vid.2j", 0x4000, 0x1000, CRC(6dadd72d) SHA1(5602b5ebb2c287f72a5ce873b4e3dfd19b8412a0) )
11427
11428 ROM_REGION( 0x10000, "audiocpu", 0 )
11429 ROM_LOAD( "600_snd.5c", 0x0000, 0x1000, CRC(1773c68e) SHA1(cc4aa3a98e85bc6300f8c1ee1a0448071d7c6dfa) )
11430 ROM_LOAD( "600_snd.5d", 0x1000, 0x1000, CRC(a311b998) SHA1(39af321b8c3f211ed6d083a2aba4fbc8af11c9e8) )
11431
11432 ROM_REGION( 0x1000, "gfx1", 0 )
11433 ROM_LOAD( "600_vid.5h", 0x0000, 0x0800, CRC(006c3d56) SHA1(0c773e0e84d0bf45be5a5a7cfff960c1ca2f0320) )
11434 ROM_LOAD( "600_vid.5f", 0x0800, 0x0800, CRC(7dbc0426) SHA1(29eeb3cdb5a3bcf7115d8099e4d04cf76216b003) )
11435
11436 ROM_REGION( 0x0020, "proms", 0 )
11437 ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
11438 ROM_END
11439
11440 /* Amidar (c) Konami 1982. Original Konami pcb.
11441 Soundboard silkscreened: Konami KT-4108-1B
11442 CPU Board Silkscreened: Konami KT4108-2 */
11443
11444 ROM_START( amidar )
11445 ROM_REGION( 0x10000, "maincpu", 0 )
11446 ROM_LOAD( "1.2c", 0x0000, 0x1000, CRC(621b74de) SHA1(f064eccfb7da18119ed3088a5f939085eb446c90) )
11447 ROM_LOAD( "2.2e", 0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) )
11448 ROM_LOAD( "3.2f", 0x2000, 0x1000, CRC(099ecb24) SHA1(e83f049b25aba481e09606db3158726145ebd656) )
11449 ROM_LOAD( "4.2h", 0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) )
11450 ROM_LOAD( "5.2j", 0x4000, 0x1000, CRC(eecc1abf) SHA1(1530b374d15e0d05c8eb988cc1cbab48b0be211c) )
11451
11452 ROM_REGION( 0x10000, "audiocpu", 0 )
11453 ROM_LOAD( "s1.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
11454 ROM_LOAD( "s2.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
11455
11456 ROM_REGION( 0x1000, "gfx1", 0 )
11457 ROM_LOAD( "c2.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
11458 ROM_LOAD( "c2.5d", 0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) )
11459
11460 ROM_REGION( 0x0020, "proms", 0 )
11461 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
11462 ROM_END
11463
11464 ROM_START( amidar1 )
11465 ROM_REGION( 0x10000, "maincpu", 0 )
11466 ROM_LOAD( "amidar.2c", 0x0000, 0x1000, CRC(c294bf27) SHA1(399325bf1559e8cdbddf7cfbf0dc739f9ed72ef0) )
11467 ROM_LOAD( "amidar.2e", 0x1000, 0x1000, CRC(e6e96826) SHA1(e9c4f8c594640424b456505e676352a98b758c03) )
11468 ROM_LOAD( "amidar.2f", 0x2000, 0x1000, CRC(3656be6f) SHA1(9d652f66bedcf17a6453c0e0ead30bfd7ea0bd0a) )
11469 ROM_LOAD( "amidar.2h", 0x3000, 0x1000, CRC(1be170bd) SHA1(c047bc393b297c0d47668a5f6f4870e3fac937ef) )
11470
11471 ROM_REGION( 0x10000, "audiocpu", 0 )
11472 ROM_LOAD( "amidar.5c", 0x0000, 0x1000, CRC(c4b66ae4) SHA1(9d09dbde4019f7be3abe0815b0e06d542c01c255) )
11473 ROM_LOAD( "amidar.5d", 0x1000, 0x1000, CRC(806785af) SHA1(c8c85e3a6a204feccd7859b4527bd649e96134b4) )
11474
11475 ROM_REGION( 0x1000, "gfx1", 0 )
11476 ROM_LOAD( "amidar.5f", 0x0000, 0x0800, CRC(5e51e84d) SHA1(dfe84db7e2b1a45a1d484fcf37291f536bc5324c) )
11477 ROM_LOAD( "amidar.5h", 0x0800, 0x0800, CRC(2f7f1c30) SHA1(83c330eca20dfcc6a4099001943b9ed7a7c3db5b) )
11478
11479 ROM_REGION( 0x0020, "proms", 0 )
11480 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
11481 ROM_END
11482
11483 ROM_START( amidaru )
11484 ROM_REGION( 0x10000, "maincpu", 0 )
11485 ROM_LOAD( "amidarus.2c", 0x0000, 0x1000, CRC(951e0792) SHA1(3a68b829c9ffb465bd6582c9ea566e0e947c6c19) )
11486 ROM_LOAD( "amidarus.2e", 0x1000, 0x1000, CRC(a1a3a136) SHA1(330ec857fdf4c1b28e2560a5f63a2432f87f9b2f) )
11487 ROM_LOAD( "amidarus.2f", 0x2000, 0x1000, CRC(a5121bf5) SHA1(fe15b91724758ede43dd332327919f164772c592) )
11488 ROM_LOAD( "amidarus.2h", 0x3000, 0x1000, CRC(051d1c7f) SHA1(3cfa0f728a5c27da0a3fe2579ad226129ccde232) )
11489 ROM_LOAD( "amidarus.2j", 0x4000, 0x1000, CRC(351f00d5) SHA1(6659357f40f888b21be00826246200fd3a8a88ce) )
11490
11491 ROM_REGION( 0x10000, "audiocpu", 0 )
11492 ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
11493 ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
11494
11495 ROM_REGION( 0x1000, "gfx1", 0 )
11496 ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
11497 ROM_LOAD( "amidarus.5h", 0x0800, 0x0800, CRC(57c4fd0d) SHA1(8764deec9fbff4220d61df621b12fc36c3702601) )
11498
11499 ROM_REGION( 0x0020, "proms", 0 )
11500 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
11501 ROM_END
11502
11503 ROM_START( amidaro )
11504 ROM_REGION( 0x10000, "maincpu", 0 )
11505 ROM_LOAD( "107.2cd", 0x0000, 0x1000, CRC(c52536be) SHA1(3f64578214d2d9f0e4e7ee87e09b0aac33a73098) )
11506 ROM_LOAD( "108.2fg", 0x1000, 0x1000, CRC(38538b98) SHA1(12b2a0c09926d006781bee5d450bc0c391cc1fb5) )
11507 ROM_LOAD( "109.2fg", 0x2000, 0x1000, CRC(69907f0f) SHA1(f1d19a76ffc41ee8c5c574f10108cfdfe525b732) )
11508 ROM_LOAD( "110.2h", 0x3000, 0x1000, CRC(ba149a93) SHA1(9ef1d27f0780612be0ea2be94c3a2c781a4924c8) )
11509 ROM_LOAD( "111.2j", 0x4000, 0x1000, CRC(20d01c2e) SHA1(e09437ff440f04036d5ec74b355e97bbbbfefb95) )
11510
11511 ROM_REGION( 0x10000, "audiocpu", 0 )
11512 ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
11513 ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
11514
11515 ROM_REGION( 0x1000, "gfx1", 0 )
11516 ROM_LOAD( "amidarus.5f", 0x0000, 0x0800, CRC(2cfe5ede) SHA1(0d86a78008ac8653c17fff5be5ebdf1f0a9d31eb) )
11517 ROM_LOAD( "113.5h", 0x0800, 0x0800, CRC(bcdce168) SHA1(e593d03c460ef4607e3ba25019d9f01d4a717dd9) ) /* The letter 'S' is slightly different */
11518
11519 ROM_REGION( 0x0020, "proms", 0 )
11520 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
11521 ROM_END
11522
11523 ROM_START( amidarb )
11524 ROM_REGION( 0x10000, "maincpu", 0 )
11525 ROM_LOAD( "ami2gor.2c", 0x0000, 0x1000, CRC(9ad2dcd2) SHA1(43ceb93d891c1ebf55e7c26de13e3db8e1d26f6d) )
11526 ROM_LOAD( "2.2f", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
11527 ROM_LOAD( "3.2j", 0x2000, 0x1000, CRC(b0860e31) SHA1(8fb92b0e71c826a509a8f712553de0f4a636286f) )
11528 ROM_LOAD( "4.2m", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
11529
11530 ROM_REGION( 0x10000, "audiocpu", 0 )
11531 ROM_LOAD( "8.11d", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
11532 ROM_LOAD( "9.9d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
11533
11534 ROM_REGION( 0x1000, "gfx1", 0 )
11535 ROM_LOAD( "5.5f", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
11536 ROM_LOAD( "6.5h", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
11537
11538 ROM_REGION( 0x0020, "proms", 0 )
11539 ROM_LOAD( "n82s123n.6e", 0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) )
11540 ROM_END
11541
11542 ROM_START( amigo )
11543 ROM_REGION( 0x10000, "maincpu", 0 )
11544 ROM_LOAD( "2732.a1", 0x0000, 0x1000, CRC(930dc856) SHA1(7022f1f26830baccdc8b8f0b10fb1d1ccb080f22) )
11545 ROM_LOAD( "2732.a2", 0x1000, 0x1000, CRC(66282ff5) SHA1(986778278eb339768d190460680e7aa698812488) )
11546 ROM_LOAD( "2732.a3", 0x2000, 0x1000, CRC(e9d3dc76) SHA1(627c6068c65985175388aec43ac2a4248b004c97) )
11547 ROM_LOAD( "2732.a4", 0x3000, 0x1000, CRC(4a4086c9) SHA1(6f309b67dc68e06e6eb1d3ee2ae75afe253a4ce3) )
11548
11549 ROM_REGION( 0x10000, "audiocpu", 0 )
11550 ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
11551 ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
11552
11553 ROM_REGION( 0x1000, "gfx1", 0 )
11554 ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) )
11555 ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
11556
11557 ROM_REGION( 0x0020, "proms", 0 )
11558 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
11559 ROM_END
11560
11561 /*
11562 1x Z8400A-P5-Z80ACPU 10k 8-bit Microprocessor - main
11563 1x Z8400A-P5-Z80ACPU 3a 8-bit Microprocessor - sound
11564 2x AY-3-8910 6a,7a Programmable Sound Generator - sound
11565 1x LM380N 1 Audio Amplifier - sound
11566 1x oscillator 12.000MHz 12h
11567
11568 PCB is marked: "AMI" on solder side
11569 */
11570
11571 ROM_START( amigo2 )
11572 ROM_REGION( 0x10000, "maincpu", 0 )
11573 ROM_LOAD( "a1.10l", 0x0000, 0x1000, CRC(e4aeac3f) SHA1(661e4badcebb6f6811e9b22d9b1561b64d7e77a9) ) // 2532
11574 ROM_LOAD( "a2.9l", 0x1000, 0x1000, CRC(66ae3320) SHA1(3eba2f221ab2662b2b638a8822da48964ee2ceff) ) // 2532
11575 ROM_LOAD( "a3.8l", 0x2000, 0x1000, CRC(c369b877) SHA1(4180afee10637781b408ebb50404dd8102351d46) ) // 2532
11576 ROM_LOAD( "a4.7l", 0x3000, 0x1000, CRC(2194a1d3) SHA1(3807c2e25288b21e940ff33fb5d1541b559c5c1e) ) // 2532
11577
11578 ROM_REGION( 0x10000, "audiocpu", 0 )
11579 ROM_LOAD( "a7.3b", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) // 2532
11580 ROM_LOAD( "a8.4b", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) // 2532
11581
11582 ROM_REGION( 0x1000, "gfx1", 0 )
11583 ROM_LOAD( "a6.3h", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) // 2516
11584 ROM_LOAD( "a5.5h", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) // 2716
11585
11586 ROM_REGION( 0x0020, "proms", 0 )
11587 ROM_LOAD( "sn74s288n.1k", 0x0000, 0x0020, CRC(01004d3f) SHA1(e53cbc54ea96e846481a67bbcccf6b1726e70f9c) )
11588 ROM_END
11589
11590 ROM_START( amidars )
11591 ROM_REGION( 0x10000, "maincpu", 0 )
11592 ROM_LOAD( "am2d", 0x0000, 0x0800, CRC(24b79547) SHA1(eca735c6a35561a9a6ba8a20dca1e1c78ed073fc) )
11593 ROM_LOAD( "am2e", 0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) )
11594 ROM_LOAD( "am2f", 0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) )
11595 ROM_LOAD( "am2h", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) )
11596 ROM_LOAD( "am2j", 0x2000, 0x0800, CRC(0fdd54d8) SHA1(c32fdc8e292d91159e6c80c7033abea6404a4f2c) )
11597 ROM_LOAD( "am2l", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) )
11598 ROM_LOAD( "am2m", 0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) )
11599 ROM_LOAD( "am2p", 0x3800, 0x0800, CRC(c9163ac6) SHA1(46d757180426b71c827d14a35824a248f2c787b6) )
11600
11601 ROM_REGION( 0x10000, "audiocpu", 0 )
11602 ROM_LOAD( "amidarus.5c", 0x0000, 0x1000, CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) )
11603 ROM_LOAD( "amidarus.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) )
11604
11605 ROM_REGION( 0x1000, "gfx1", 0 )
11606 ROM_LOAD( "2716.a6", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) /* Same graphics ROMs as Amigo */
11607 ROM_LOAD( "2716.a5", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
11608
11609 ROM_REGION( 0x0020, "proms", 0 )
11610 ROM_LOAD( "amidar.clr", 0x0000, 0x0020, CRC(f940dcc3) SHA1(1015e56f37c244a850a8f4bf0e36668f047fd46d) )
11611 ROM_END
11612
11613 ROM_START( mandinga )
11614 ROM_REGION( 0x10000, "maincpu", 0 )
11615 ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(ac6b2f96) SHA1(3b41b6770e78158b72fa89bcb77b5bb9608c15f2) ) // 2716
11616 ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) ) // 2716
11617 ROM_LOAD( "3.bin", 0x1000, 0x0800, CRC(2aaccf1a) SHA1(9558a08f8a87e414fb72b72d3f4ee0abf7d7d60e) ) // 2716
11618 ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) ) // 2716
11619 ROM_LOAD( "5.bin", 0x2000, 0x0800, CRC(a684578c) SHA1(a71c06cc87fa7c64b49433a8d25a480c26a2d700) ) // 2716
11620 ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) // 2716
11621 ROM_LOAD( "7.bin", 0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) ) // 2716
11622 ROM_LOAD( "8.bin", 0x3800, 0x0800, CRC(049855ad) SHA1(b455e1ed0183559014722467b0f1c208b06167c3) ) // 2716
11623
11624 ROM_REGION( 0x10000, "audiocpu", 0 )
11625 ROM_LOAD( "11.bin", 0x0000, 0x1000, BAD_DUMP CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) // 2732; original was bad dump, but using ROM from amidar due to first half being identical
11626 ROM_LOAD( "12.bin", 0x1000, 0x1000, BAD_DUMP CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) // 2732; original was bad dump, but using ROM from amidar due to first half being identical
11627
11628 ROM_REGION( 0x1000, "gfx1", 0 )
11629 ROM_LOAD( "9.bin", 0x0000, 0x0800, CRC(09ed5818) SHA1(69dce85228b2c9176d4be429f530410350a1c76c) ) // 2716
11630 ROM_LOAD( "10.bin", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) // 2716
11631
11632 ROM_REGION( 0x0020, "proms", 0 )
11633 ROM_LOAD( "6e.bin", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // 82s123
11634 ROM_END
11635
11636 ROM_START( mandingaeg )
11637 ROM_REGION( 0x10000, "maincpu", 0 )
11638 ROM_LOAD( "eg-01.2c", 0x0000, 0x0800, CRC(9e765a39) SHA1(5e6ddd2f929304cb01b4130fb54f24df70c0c5f5) ) // AM4716
11639 ROM_LOAD( "eg-02.2e", 0x0800, 0x0800, CRC(4c64161e) SHA1(5b2e49ff915295617671b13f15b566046a5dbc15) ) // MBM2716
11640 ROM_LOAD( "eg-03.2f", 0x1000, 0x0800, CRC(b3987a72) SHA1(1d72e9ae3005029628c6f9beb6ca65afcb1f7893) ) // HN462716G
11641 ROM_LOAD( "eg-04.2h", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) ) // i2716
11642 ROM_LOAD( "eg-05.2j", 0x2000, 0x0800, CRC(a684578c) SHA1(a71c06cc87fa7c64b49433a8d25a480c26a2d700) ) // MB8516
11643 ROM_LOAD( "eg-06.2l", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) // AM2716
11644 ROM_LOAD( "eg-07.2m", 0x3000, 0x0800, CRC(1d7109e9) SHA1(e0d24475547bbe5a94b45be6abefb84ad84d2534) ) // TMS2516
11645 ROM_LOAD( "eg-08.2p", 0x3800, 0x0800, CRC(cf52fb24) SHA1(420c0cd0543e59d9698b14547d23bd38210439ff) ) // TMS2516
11646
11647 ROM_REGION( 0x10000, "audiocpu", 0 )
11648 ROM_LOAD( "eg-m11s.5c", 0x0000, 0x1000, BAD_DUMP CRC(8ca7b750) SHA1(4f4c2915503b85abe141d717fd254ee10c9da99e) ) // TMS2532, ROM corrupted, using the one from amidars for now
11649 ROM_LOAD( "eg-m12s.5d", 0x1000, 0x1000, CRC(9b5bdc0a) SHA1(84d953618c8bf510d23b42232a856ac55f1baff5) ) // TMS2532
11650
11651 ROM_REGION( 0x1000, "gfx1", 0 )
11652 ROM_LOAD( "eg-09.5f", 0x0000, 0x0800, CRC(09ed5818) SHA1(69dce85228b2c9176d4be429f530410350a1c76c) ) // MB8516
11653 ROM_LOAD( "eg-10.5h", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) // MB8516
11654
11655 ROM_REGION( 0x0020, "proms", 0 )
11656 ROM_LOAD( "eg-mb7051.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // Dumped as 82s123
11657 ROM_END
11658
11659 ROM_START( mandingarf )
11660 ROM_REGION( 0x10000, "maincpu", 0 )
11661 ROM_LOAD( "2716-mg1.bin", 0x0000, 0x0800, CRC(a684a494) SHA1(76885bb3bdab09f46c7daa25164a2fdaa744742f) ) // 2716
11662 ROM_LOAD( "2716-mg2.bin", 0x0800, 0x0800, CRC(f4038373) SHA1(8823b9816fc4ea03b92e08776c13610980f5ea7a) ) // 2716
11663 ROM_LOAD( "2716-mg3.bin", 0x1000, 0x0800, CRC(96842877) SHA1(043ce4ed2628a209ca21cc42516c02366cd9f1fa) ) // 2716
11664 ROM_LOAD( "2716-mg4.bin", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) ) // 2716
11665 ROM_LOAD( "2716-mg5.bin", 0x2000, 0x0800, CRC(400cf1bb) SHA1(06c891f7581b0c1036f6845ea847cd20b6f5dedc) ) // 2716
11666 ROM_LOAD( "2716-mg6.bin", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) // 2716
11667 ROM_LOAD( "2716-mg7.bin", 0x3000, 0x0800, CRC(e78d0c6d) SHA1(947ac20463384ca0721875954d59ec4ae15b0670) ) // 2716
11668 ROM_LOAD( "2716-mg8.bin", 0x3800, 0x0800, CRC(8a4018ae) SHA1(9aba6f4527c59b0b016038236d5a6074e65966f6) ) // 2716
11669 ROM_LOAD( "2716-mg11.bin", 0xc000, 0x0800, BAD_DUMP CRC(d8bf57e7) SHA1(421a0fa02fccbc52d460fafec6437bd2b7564056) ) // 2716(?), taken from mandingac
11670
11671 ROM_REGION( 0x1000, "gfx1", 0 )
11672 ROM_LOAD( "2716-mg9.bin", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) // 2716
11673 ROM_LOAD( "2716-mg10.bin", 0x0800, 0x0800, CRC(1891fc68) SHA1(6d03f5092fd73462c9d81c1a64e39120d9f10aea) ) // 2716
11674
11675 ROM_REGION( 0x0020, "proms", 0 )
11676 ROM_LOAD( "6e.bin", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // not present, using mandinga PROM
11677 ROM_END
11678
11679 ROM_START( mandingac )
11680 ROM_REGION( 0x10000, "maincpu", 0 )
11681 ROM_LOAD( "2716-4.bin", 0x0000, 0x0800, CRC(a684a494) SHA1(76885bb3bdab09f46c7daa25164a2fdaa744742f) ) // 2716
11682 ROM_LOAD( "2716-3.bin", 0x0800, 0x0800, CRC(f4038373) SHA1(8823b9816fc4ea03b92e08776c13610980f5ea7a) ) // 2716
11683 ROM_LOAD( "2716-1.bin", 0x1000, 0x0800, CRC(96842877) SHA1(043ce4ed2628a209ca21cc42516c02366cd9f1fa) ) // 2716
11684 ROM_LOAD( "2716-9.bin", 0x1800, 0x0800, CRC(b69f9f71) SHA1(cb781d61a481c493e89605bc0edc6a092d8b4d56) ) // 2716
11685 ROM_LOAD( "2716-8.bin", 0x2000, 0x0800, CRC(400cf1bb) SHA1(06c891f7581b0c1036f6845ea847cd20b6f5dedc) ) // 2716
11686 ROM_LOAD( "2716-7.bin", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) ) // 2716
11687 ROM_LOAD( "2716-6.bin", 0x3000, 0x0800, CRC(c4e63305) SHA1(e03aed5ad89305ffc243cff8ff147ec82419c7bc) ) // 2716
11688 ROM_LOAD( "2716-5.bin", 0x3800, 0x0800, CRC(8a4018ae) SHA1(9aba6f4527c59b0b016038236d5a6074e65966f6) ) // 2716
11689 ROM_LOAD( "2716-2.bin", 0xc000, 0x0800, CRC(d8bf57e7) SHA1(421a0fa02fccbc52d460fafec6437bd2b7564056) ) // 2716
11690
11691 ROM_REGION( 0x1000, "gfx1", 0 )
11692 ROM_LOAD( "2716-10.bin", 0x0000, 0x0800, CRC(2082ad0a) SHA1(c6014d9575e92adf09b0961c2158a779ebe940c4) ) // 2716
11693 ROM_LOAD( "2716-11.bin", 0x0800, 0x0800, CRC(1891fc68) SHA1(6d03f5092fd73462c9d81c1a64e39120d9f10aea) ) // 2716
11694
11695 ROM_REGION( 0x0020, "proms", 0 )
11696 ROM_LOAD( "82s123.bin", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // 82s123
11697 ROM_END
11698
11699 ROM_START( olmandingo )
11700 ROM_REGION( 0x10000, "maincpu", 0 )
11701 ROM_LOAD( "olmandingo_1.bin", 0x0000, 0x0800, CRC(b5b9fcd9) SHA1(7a134de30041ac18521274f330eb4afe349da2db) )
11702 ROM_LOAD( "olmandingo_2.bin", 0x0800, 0x0800, CRC(f4038373) SHA1(8823b9816fc4ea03b92e08776c13610980f5ea7a) )
11703 ROM_LOAD( "olmandingo_3.bin", 0x1000, 0x0800, CRC(96842877) SHA1(043ce4ed2628a209ca21cc42516c02366cd9f1fa) )
11704 ROM_LOAD( "olmandingo_4.bin", 0x1800, 0x0800, CRC(cb1e8437) SHA1(a20577afda152718ff7a79afdd023f80f5c95c70) )
11705 ROM_LOAD( "olmandingo_5.bin", 0x2000, 0x0800, CRC(3f536791) SHA1(e1ba306c4f9063db8d7a9f3d702986d205e480dc) )
11706 ROM_LOAD( "olmandingo_6.bin", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) )
11707 ROM_LOAD( "olmandingo_7.bin", 0x3000, 0x0800, CRC(e78d0c6d) SHA1(947ac20463384ca0721875954d59ec4ae15b0670) )
11708 ROM_LOAD( "olmandingo_8.bin", 0x3800, 0x0800, CRC(8a4018ae) SHA1(9aba6f4527c59b0b016038236d5a6074e65966f6) )
11709 ROM_LOAD( "olmandingo_9.bin", 0xc000, 0x0800, CRC(e4cbb827) SHA1(4efa49bd7486b4fa77d7faa130e842f4030f822b) )
11710
11711 ROM_REGION( 0x1000, "gfx1", 0 )
11712 ROM_LOAD( "olmandingo_jh.bin", 0x0000, 0x0800, CRC(09ed5818) SHA1(69dce85228b2c9176d4be429f530410350a1c76c) )
11713 ROM_LOAD( "olmandingo_lk.bin", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
11714
11715 ROM_REGION( 0x0020, "proms", 0 )
11716 ROM_LOAD( "olmandingo_pr.bin", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) )
11717 ROM_END
11718
11719 ROM_START( olmandingc )
11720 ROM_REGION( 0x10000, "maincpu", 0 )
11721 ROM_LOAD( "omc_1-2716.bin", 0x0000, 0x0800, CRC(b5b9fcd9) SHA1(7a134de30041ac18521274f330eb4afe349da2db) )
11722 ROM_LOAD( "omc_2-2716.bin", 0x0800, 0x0800, CRC(f4038373) SHA1(8823b9816fc4ea03b92e08776c13610980f5ea7a) )
11723 ROM_LOAD( "omc_4-2716.bin", 0x1000, 0x0800, CRC(96842877) SHA1(043ce4ed2628a209ca21cc42516c02366cd9f1fa) )
11724 ROM_LOAD( "omc_5-2516.bin", 0x1800, 0x0800, CRC(29873461) SHA1(7d0ee9a82f02163b4cc6a7097e88ae34e96ebf58) )
11725 ROM_LOAD( "omc_6-2516.bin", 0x2000, 0x0800, CRC(3f536791) SHA1(e1ba306c4f9063db8d7a9f3d702986d205e480dc) )
11726 ROM_LOAD( "omc_7-2516.bin", 0x2800, 0x0800, CRC(5382f7ed) SHA1(425ec2c2caf404fc8ab13ee38d6567413022e1a1) )
11727 ROM_LOAD( "omc_8-2716.bin", 0x3000, 0x0800, CRC(e78d0c6d) SHA1(947ac20463384ca0721875954d59ec4ae15b0670) )
11728 ROM_LOAD( "omc_9-2516.bin", 0x3800, 0x0800, CRC(8a4018ae) SHA1(9aba6f4527c59b0b016038236d5a6074e65966f6) )
11729 ROM_LOAD( "omc_3-2716.bin", 0xc000, 0x0800, CRC(e4cbb827) SHA1(4efa49bd7486b4fa77d7faa130e842f4030f822b) )
11730
11731 ROM_REGION( 0x1000, "gfx1", 0 )
11732 ROM_LOAD( "omc_10-2516.bin", 0x0000, 0x0800, CRC(2c51f2f1) SHA1(6a7a7dcedfa1f9f6f1964c7c67f5f766f551a258) )
11733 ROM_LOAD( "omc_11-2716.bin", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) )
11734
11735 ROM_REGION( 0x0020, "proms", 0 )
11736 ROM_LOAD( "omc_27s19.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) )
11737 ROM_END
11738
11739 ROM_START( theend )
11740 ROM_REGION( 0x10000, "maincpu", 0 )
11741 ROM_LOAD( "ic13_1t.bin", 0x0000, 0x0800, CRC(93e555ba) SHA1(f684927cecabfbd7544f7549a6152c0a6a436019) )
11742 ROM_LOAD( "ic14_2t.bin", 0x0800, 0x0800, CRC(2de7ad27) SHA1(caf369fde632652a0a5fb11d3605f0d2386d297a) )
11743 ROM_LOAD( "ic15_3t.bin", 0x1000, 0x0800, CRC(035f750b) SHA1(5f70518e5dbfca0ba12ba4dc4f357ce8e6b27bc8) )
11744 ROM_LOAD( "ic16_4t.bin", 0x1800, 0x0800, CRC(61286b5c) SHA1(14464aa5284aecc9c6046e464ab3d13da89d8dda) )
11745 ROM_LOAD( "ic17_5t.bin", 0x2000, 0x0800, CRC(434a8f68) SHA1(3c8c099c7865997d475c096f1b1c93d88ab21543) )
11746 ROM_LOAD( "ic18_6t.bin", 0x2800, 0x0800, CRC(dc4cc786) SHA1(3311361a1eb29715aa41d61fbb3563014bd9eeb1) )
11747
11748 ROM_REGION( 0x10000, "audiocpu", 0 )
11749 ROM_LOAD( "ic56_1.bin", 0x0000, 0x0800, CRC(7a141f29) SHA1(ca483943971c8fc7f5775a8a7cc6ddd331d48170) )
11750 ROM_LOAD( "ic55_2.bin", 0x0800, 0x0800, CRC(218497c1) SHA1(3e080621f2e83909a6f304a2d960a080bccbbdc2) )
11751
11752 ROM_REGION( 0x1000, "gfx1", 0 )
11753 ROM_LOAD( "ic30_2c.bin", 0x0000, 0x0800, CRC(68ccf7bf) SHA1(a8ea784a2660f855757ae0b30cb2a33ab6f2cd59) )
11754 ROM_LOAD( "ic31_1c.bin", 0x0800, 0x0800, CRC(4a48c999) SHA1(f1abcbfc3146a18dc3ff865e3ba278377a42a875) )
11755
11756 ROM_REGION( 0x0020, "proms", 0 )
11757 ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
11758 ROM_END
11759
11760 /*
11761 All labels are in the form of:
11762
11763 THE END (c)
11764 RA3 13
11765 1980 STERN
11766
11767 The above example is for IC13
11768 */
11769 ROM_START( theends ) /* The Stern Electronics license */
11770 ROM_REGION( 0x10000, "maincpu", 0 )
11771 ROM_LOAD( "the_end_ra3_13.ic13", 0x0000, 0x0800, CRC(90e5ab14) SHA1(b926801ab1cc1e2787a76ced6c7cffd6fce753d4) )
11772 ROM_LOAD( "the_end_ra3_14.ic14", 0x0800, 0x0800, CRC(950f0a07) SHA1(bde9f3c6cf060dc6f5b7652287b94e04bed7bcf7) )
11773 ROM_LOAD( "the_end_ra3_15.ic15", 0x1000, 0x0800, CRC(6786bcf5) SHA1(7556d3dc51d6a112b6357b8a36df05fd1a4d1cc9) )
11774 ROM_LOAD( "the_end_ra3_16.ic16", 0x1800, 0x0800, CRC(380a0017) SHA1(3354eb328a32537f722fe8a0949ddcab6cf21eb8) )
11775 ROM_LOAD( "the_end_ra3_17.ic17", 0x2000, 0x0800, CRC(af067b7f) SHA1(855c6ddf29fbfea004c7143fe29064abf53801ad) )
11776 ROM_LOAD( "the_end_ra3_18.ic18", 0x2800, 0x0800, CRC(a0411b93) SHA1(d644968758a1b73d13e09b24d24bfec82276e8f4) )
11777
11778 ROM_REGION( 0x10000, "audiocpu", 0 )
11779 ROM_LOAD( "the_end_ra3_56.ic56", 0x0000, 0x0800, CRC(3b2c2f70) SHA1(bcccdacacfc9a3b5f1412dfba6bb0046d283bccc) )
11780 ROM_LOAD( "the_end_ra2_55.ic55", 0x0800, 0x0800, CRC(e0429e50) SHA1(27678fc3172cbca3ae1eae96e9d8a62561d5ce40) )
11781
11782 ROM_REGION( 0x1000, "gfx1", 0 )
11783 ROM_LOAD( "the_end_ra3_30.ic30", 0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
11784 ROM_LOAD( "the_end_ra3_31.ic31", 0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) )
11785
11786 ROM_REGION( 0x0020, "proms", 0 )
11787 ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) /* no label for this chip */
11788 ROM_END
11789
11790 ROM_START( theendss ) // The End (SegaSA / Sonic)
11791 ROM_REGION( 0x10000, "maincpu", 0 )
11792 ROM_LOAD( "the_end_ss_2.bin", 0x0000, 0x0800, CRC(326e1f69) SHA1(b77d7b8f4835bc1a80586936398dea23ae164d3e) )
11793 ROM_LOAD( "the_end_ss.ic14", 0x0800, 0x0800, CRC(950f0a07) SHA1(bde9f3c6cf060dc6f5b7652287b94e04bed7bcf7) )
11794 ROM_LOAD( "the_end_ss_1.bin", 0x1000, 0x0800, CRC(93b47650) SHA1(6f65faef1d9aca1dbd3fe3088ae8b1c6bc373a21) )
11795 ROM_LOAD( "the_end_ss.ic16", 0x1800, 0x0800, CRC(380a0017) SHA1(3354eb328a32537f722fe8a0949ddcab6cf21eb8) )
11796 ROM_LOAD( "the_end_ss.ic17", 0x2000, 0x0800, CRC(af067b7f) SHA1(855c6ddf29fbfea004c7143fe29064abf53801ad) )
11797 ROM_LOAD( "the_end_ss.ic18", 0x2800, 0x0800, CRC(a0411b93) SHA1(d644968758a1b73d13e09b24d24bfec82276e8f4) )
11798
11799 ROM_REGION( 0x10000, "audiocpu", 0 )
11800 ROM_LOAD( "the_end_ss.ic56", 0x0000, 0x0800, CRC(7a141f29) SHA1(ca483943971c8fc7f5775a8a7cc6ddd331d48170) )
11801 ROM_LOAD( "the_end_ss.ic55", 0x0800, 0x0800, CRC(218497c1) SHA1(3e080621f2e83909a6f304a2d960a080bccbbdc2) )
11802
11803 ROM_REGION( 0x1000, "gfx1", 0 )
11804 ROM_LOAD( "the_end_ss.ic30", 0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) )
11805 ROM_LOAD( "the_end_ss.ic31", 0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) )
11806
11807 ROM_REGION( 0x0020, "proms", 0 )
11808 ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, BAD_DUMP CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) ) // Not dumped on this set
11809 ROM_END
11810
11811 ROM_START( takeoff )
11812 ROM_REGION( 0x10000, "maincpu", 0 )
11813 ROM_LOAD( "0p.t.o.10l", 0x0000, 0x1000, CRC(46712d43) SHA1(e1b84494b530dd96d8a51a3f8bd7d7d3ba7560a9) )
11814 ROM_LOAD( "1p.t.o.9l", 0x1000, 0x1000, CRC(10256742) SHA1(3748bf82e410ba763cc10a546b566f1d9efb8307) )
11815 ROM_LOAD( "2p.t.o.8l", 0x2000, 0x1000, CRC(5ee6660a) SHA1(092d5da074c15743e619e3d9e0b5f5bd16ea7159) )
11816
11817 ROM_REGION( 0x10000, "audiocpu", 0 )
11818 ROM_LOAD( "0s.t.o.3b", 0x0000, 0x1000, CRC(cdc9da78) SHA1(b52d5b67b8e0dfb76216d7b3e6e51a027ef4b20e) )
11819
11820 ROM_REGION( 0x1000, "gfx1", 0 )
11821 ROM_LOAD( "ic30", 0x0000, 0x0800, CRC(527fd384) SHA1(92a384899d5acd2c689f637da16a0e2d11a9d9c6) ) // 0gc.t.o.5h
11822 ROM_LOAD( "ic31", 0x0800, 0x0800, CRC(af6d09b6) SHA1(f3ad51dc88aa58fd39195ead978b039e0b0b585c) ) // 1gc.t.o.3h
11823
11824 ROM_REGION( 0x0020, "proms", 0 )
11825 ROM_LOAD( "6331-1j.86", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
11826 ROM_END
11827
11828
11829 ROM_START( scramble )
11830 ROM_REGION( 0x10000, "maincpu", 0 )
11831 ROM_LOAD( "s1.2d", 0x0000, 0x0800, CRC(ea35ccaa) SHA1(1dcb375987fe21e0483c27d485c405de53848d61) )
11832 ROM_LOAD( "s2.2e", 0x0800, 0x0800, CRC(e7bba1b3) SHA1(240877576045fddcc9ff01d97dc78139454ac4f1) )
11833 ROM_LOAD( "s3.2f", 0x1000, 0x0800, CRC(12d7fc3e) SHA1(a84d191c7be8700f630a83ddad798be9e83b5d55) )
11834 ROM_LOAD( "s4.2h", 0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) )
11835 ROM_LOAD( "s5.2j", 0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) )
11836 ROM_LOAD( "s6.2l", 0x2800, 0x0800, CRC(26a4547b) SHA1(67c0fa81729370631647b5d78bb5a61433facd7f) )
11837 ROM_LOAD( "s7.2m", 0x3000, 0x0800, CRC(0bb49470) SHA1(05a6fe3010c2136284ca76352dac147797c79778) )
11838 ROM_LOAD( "s8.2p", 0x3800, 0x0800, CRC(6a5740e5) SHA1(e3b09141cee26857d626412e9d1a0e759469b97a) )
11839
11840 ROM_REGION( 0x10000, "audiocpu", 0 )
11841 ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
11842 ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
11843 ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
11844
11845 ROM_REGION( 0x1000, "gfx1", 0 )
11846 ROM_LOAD( "c2.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
11847 ROM_LOAD( "c1.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
11848
11849 ROM_REGION( 0x0020, "proms", 0 )
11850 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
11851 ROM_END
11852
11853 ROM_START( scrambles )
11854 ROM_REGION( 0x10000, "maincpu", 0 )
11855 ROM_LOAD( "2d", 0x0000, 0x0800, CRC(b89207a1) SHA1(5422df979e82bcc73df49f50515fe76c126c037b) ) // sldh
11856 ROM_LOAD( "2e", 0x0800, 0x0800, CRC(e9b4b9eb) SHA1(a8ee9ddfadf5e9accedfaf81da757a88a2e55a0a) ) // sldh
11857 ROM_LOAD( "2f", 0x1000, 0x0800, CRC(a1f14f4c) SHA1(3eae2b3e4596505a8afb5c5cfb108e823c2c4319) ) // sldh
11858 ROM_LOAD( "2h", 0x1800, 0x0800, CRC(591bc0d9) SHA1(170f9e92f0a3bee04407be27210b4fa825367688) ) // sldh
11859 ROM_LOAD( "2j", 0x2000, 0x0800, CRC(22f11b6b) SHA1(e426ef6a7444a39a34d59799973b07d11b89f372) ) // sldh
11860 ROM_LOAD( "2l", 0x2800, 0x0800, CRC(705ffe49) SHA1(174df3f281068c767344f751daace646360e26d6) ) // sldh
11861 ROM_LOAD( "2m", 0x3000, 0x0800, CRC(ea26c35c) SHA1(a2f3380982d93a022f46756f974fd16c4cd617de) ) // sldh
11862 ROM_LOAD( "2p", 0x3800, 0x0800, CRC(94d8f5e3) SHA1(f3a9c4d1d91836476fcad87ea0d243dde7171e0a) ) // sldh
11863
11864 ROM_REGION( 0x10000, "audiocpu", 0 )
11865 ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
11866 ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
11867 ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
11868
11869 ROM_REGION( 0x1000, "gfx1", 0 )
11870 ROM_LOAD( "5f", 0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) )
11871 ROM_LOAD( "5h", 0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) )
11872
11873 ROM_REGION( 0x0020, "proms", 0 )
11874 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
11875 ROM_END
11876
11877 ROM_START( scrambles2 )
11878 ROM_REGION( 0x10000, "maincpu", 0 )
11879 ROM_LOAD( "2d", 0x0000, 0x0800, CRC(defae436) SHA1(b32f709069d2484275c88482f865f2758865729e) )
11880 ROM_LOAD( "2e", 0x0800, 0x0800, CRC(136bf894) SHA1(ecb4c245bdceedd1151707b05c2036941302776b) )
11881 ROM_LOAD( "2f", 0x1000, 0x0800, CRC(539ff711) SHA1(21b8cdbeebedd9436e88037fb3a01ae9ef7cd4d1) )
11882 ROM_LOAD( "2h", 0x1800, 0x0800, CRC(b59360eb) SHA1(5d155808c19dcf2e14aa8e29c0ee41a6d3d3c43a) )
11883 ROM_LOAD( "2j", 0x2000, 0x0800, CRC(d5aefbd5) SHA1(9001d969334c5791a9157e2b3558ab5cbb27714d) )
11884 ROM_LOAD( "2l", 0x2800, 0x0800, CRC(d6f0dfc9) SHA1(5581ba9894ea9f0067466ef5c7ff99bff92581da) )
11885 ROM_LOAD( "2m", 0x3000, 0x0800, CRC(d69e0980) SHA1(b0983f39929183bafddaf5703fc613dcc9a31b63) )
11886 ROM_LOAD( "2p", 0x3800, 0x0800, CRC(4fc94e8c) SHA1(cc9ed40257a0f6001bb7e8722ce6ff909e1f0b4b) )
11887
11888 ROM_REGION( 0x10000, "audiocpu", 0 )
11889 ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
11890 ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
11891 ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
11892
11893 ROM_REGION( 0x1000, "gfx1", 0 )
11894 ROM_LOAD( "5f", 0x0000, 0x0800, CRC(5f30311a) SHA1(d64134089bebd995b3a1a089411e180c8c29f32d) )
11895 ROM_LOAD( "5h", 0x0800, 0x0800, CRC(516e029e) SHA1(81b44eb1ce43cebde87f0a41ade2e7eb291af78d) )
11896
11897 ROM_REGION( 0x0020, "proms", 0 )
11898 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
11899 ROM_END
11900
11901 ROM_START( scramrf )
11902 ROM_REGION( 0x10000, "maincpu", 0 )
11903 ROM_LOAD( "2c.cpu", 0x0000, 0x1000, CRC(85fa7de3) SHA1(120392c9949b43b6e937afe4bc25605b2878758f) ) // sldh
11904 ROM_LOAD( "2f.cpu", 0x1000, 0x1000, CRC(5b500c90) SHA1(45b1bad1d93f3e474395a193d2fe00e105ba39e5) ) // sldh
11905 ROM_LOAD( "2j.cpu", 0x2000, 0x1000, CRC(179e1c1f) SHA1(a86d3e7a1340a396e418df4580e73fb6c76ce175) ) // sldh
11906 ROM_LOAD( "2m.cpu", 0x3000, 0x1000, CRC(4a4bb870) SHA1(e551c0876df85375997dc468b3bb5970cec752d8) ) // sldh
11907
11908 ROM_REGION( 0x10000, "audiocpu", 0 )
11909 ROM_LOAD( "5c.cpu", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) ) // sldh
11910 ROM_LOAD( "5d.cpu", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) ) // sldh
11911 ROM_LOAD( "5e.cpu", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) // sldh
11912
11913 ROM_REGION( 0x1000, "gfx1", 0 )
11914 ROM_LOAD( "5f.cpu", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) ) // sldh
11915 ROM_LOAD( "5h.cpu", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) ) // sldh
11916
11917 ROM_REGION( 0x0020, "proms", 0 ) // not confirmed
11918 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
11919 ROM_END
11920
11921 ROM_START( scrammr )
11922 ROM_REGION( 0x4000, "maincpu", 0 )
11923 ROM_LOAD( "301.cd2", 0x0000, 0x1000, CRC(680c9355) SHA1(e23cfc1ec839b9bf3d8d9d5d09f0df5c67f8bbb5) )
11924 ROM_LOAD( "302.e2", 0x1000, 0x1000, CRC(5b500c90) SHA1(45b1bad1d93f3e474395a193d2fe00e105ba39e5) )
11925 ROM_LOAD( "303.fg2", 0x2000, 0x1000, CRC(664437d7) SHA1(1fb7cb724b0dcfe6fcd2213f8e47dfd46e51f90f) )
11926 ROM_LOAD( "304.h2", 0x3000, 0x1000, CRC(b66c90d6) SHA1(7aea3055b0b538ea8197623ff5d5aae76133f156) )
11927
11928 ROM_REGION( 0x3000, "audiocpu", 0 )
11929 ROM_LOAD( "305.c5", 0x0000, 0x1000, CRC(684a0866) SHA1(fa9acfff7ea6f35b9ff219ac84611a7d9debc711) )
11930 ROM_LOAD( "313.d5", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
11931
11932 ROM_REGION( 0x1000, "gfx1", 0 )
11933 ROM_LOAD( "310.h5", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
11934 ROM_LOAD( "309.fg5", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
11935
11936 ROM_REGION( 0x0020, "proms", 0 )
11937 ROM_LOAD( "74188.k6", 0x0000, 0x0020, CRC(aec6cb4e) SHA1(747c442d338b1b679619dfffc8a7c7fa9a43a073) )
11938 ROM_END
11939
11940 ROM_START( scramblebf )
11941 ROM_REGION( 0x10000, "maincpu", 0 )
11942 ROM_LOAD( "scf1.2d", 0x0000, 0x0800, CRC(b126aa1f) SHA1(1e4db9ee891711e880273241e74e932b0f4e3a0b) )
11943 ROM_LOAD( "scf2.2e", 0x0800, 0x0800, CRC(ce25fb77) SHA1(faaa2e5735075090548217b80b736b2eebf21dff) )
11944 ROM_LOAD( "scns3.2f", 0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
11945 ROM_LOAD( "scns4.2h", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
11946 ROM_LOAD( "scns5.2j", 0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
11947 ROM_LOAD( "scns6.2l", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
11948 ROM_LOAD( "scns7.2m", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
11949 ROM_LOAD( "scns8.2p", 0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
11950
11951 ROM_REGION( 0x10000, "audiocpu", 0 )
11952 ROM_LOAD( "ot1ns.5c", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
11953 ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
11954 ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
11955
11956 ROM_REGION( 0x1000, "gfx1", 0 )
11957 ROM_LOAD( "c2.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
11958 ROM_LOAD( "c1.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
11959
11960 ROM_REGION( 0x0020, "proms", 0 ) // should be different on this bootleg..
11961 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
11962 ROM_END
11963
11964 ROM_START( spctrek ) // Two PCBs, one labeled MU-1 and the other probably MU-2 (partially covered with a sticker, not readable)
11965 ROM_REGION( 0x10000, "maincpu", 0 )
11966 ROM_LOAD( "7301.bin", 0x0000, 0x0800, CRC(65cc2c6d) SHA1(75f6317da58ac0ef42c63fc8a641135036c2082c) ) // only different ROM from scrambp (4 bytes at 0x134-x137 and BURROS instead of KONAMI)
11967 ROM_LOAD( "7202.bin", 0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
11968 ROM_LOAD( "7103.bin", 0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
11969 ROM_LOAD( "t4.bin", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
11970 ROM_LOAD( "7105.bin", 0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
11971 ROM_LOAD( "t6.bin", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
11972 ROM_LOAD( "t7.bin", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
11973 ROM_LOAD( "7108.bin", 0x3800, 0x0800, CRC(d20088ee) SHA1(4b2deb64f1185780e5b6d1527ed5f691591b9ea0) )
11974
11975 ROM_REGION( 0x10000, "audiocpu", 0 )
11976 ROM_LOAD( "s1.bin", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
11977 ROM_LOAD( "s2.bin", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
11978 ROM_LOAD( "s3.bin", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
11979
11980 ROM_REGION( 0x1000, "gfx1", 0 )
11981 ROM_LOAD( "t9.bin", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
11982 ROM_LOAD( "10.bin", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
11983
11984 ROM_REGION( 0x0020, "proms", 0 ) // not dumped for this set, probably same as others
11985 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
11986 ROM_END
11987
11988 ROM_START( scrambp )
11989 ROM_REGION( 0x10000, "maincpu", 0 )
11990 ROM_LOAD( "b1-2716.cpu", 0x0000, 0x0800, CRC(63420017) SHA1(82e7c448297bf789033ed03cbe8fc9ac4525a826) )
11991 ROM_LOAD( "b2-2716.cpu", 0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
11992 ROM_LOAD( "b3-2716.cpu", 0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
11993 ROM_LOAD( "b4-2716.cpu", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
11994 ROM_LOAD( "b5-2716.cpu", 0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
11995 ROM_LOAD( "b6-2716.cpu", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
11996 ROM_LOAD( "b7-2716.cpu", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
11997 ROM_LOAD( "b8-2716.cpu", 0x3800, 0x0800, CRC(d20088ee) SHA1(4b2deb64f1185780e5b6d1527ed5f691591b9ea0) )
11998
11999 ROM_REGION( 0x10000, "audiocpu", 0 )
12000 ROM_LOAD( "b11-2716.cpu", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
12001 ROM_LOAD( "b12-2716.cpu", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12002 ROM_LOAD( "b13-2716.cpu", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
12003
12004 ROM_REGION( 0x1000, "gfx1", 0 )
12005 ROM_LOAD( "b9-2716.cpu", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
12006 ROM_LOAD( "b10-2716.cpu", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
12007
12008 ROM_REGION( 0x0020, "proms", 0 ) // not verified
12009 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12010 ROM_END
12011
12012 // mostly the same as the scrambp set above, complete dump
12013 ROM_START( scramce )
12014 ROM_REGION( 0x10000, "maincpu", 0 )
12015 ROM_LOAD( "es1.2c", 0x0000, 0x0800, CRC(726fb19e) SHA1(4d6d8cf1bb711ab1f13cefc56ba7273f2496d037) ) // only unique rom
12016 ROM_LOAD( "es2.2e", 0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
12017 ROM_LOAD( "es3.2f", 0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
12018 ROM_LOAD( "es4.2h", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
12019 ROM_LOAD( "es5.2j", 0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
12020 ROM_LOAD( "es6.2l", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
12021 ROM_LOAD( "es7.2m", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
12022 ROM_LOAD( "es8.2p", 0x3800, 0x0800, CRC(d20088ee) SHA1(4b2deb64f1185780e5b6d1527ed5f691591b9ea0) )
12023
12024 ROM_REGION( 0x10000, "audiocpu", 0 )
12025 ROM_LOAD( "11.5c", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
12026 ROM_LOAD( "12.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12027 ROM_LOAD( "13.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
12028
12029 ROM_REGION( 0x1000, "gfx1", 0 )
12030 ROM_LOAD( "9.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
12031 ROM_LOAD( "10.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
12032
12033 ROM_REGION( 0x0020, "proms", 0 )
12034 ROM_LOAD( "prom7051.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12035 ROM_END
12036
12037 ROM_START( scrampt )
12038 ROM_REGION( 0x10000, "maincpu", 0 )
12039 ROM_LOAD( "cx8-2716.cpu", 0x0000, 0x0800, CRC(12b97cc6) SHA1(edcd98fafe1001d033a73279d6dfb8336ce164de) )
12040 ROM_LOAD( "cx4-2716.cpu", 0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
12041 ROM_LOAD( "cx9-2716.cpu", 0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
12042 ROM_LOAD( "cx5-2716.cpu", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
12043 ROM_LOAD( "cx10-2716.cpu", 0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
12044 ROM_LOAD( "cx6-2716.cpu", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
12045 ROM_LOAD( "cx11-2716.cpu", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
12046 ROM_LOAD( "cx7-2716.cpu", 0x3800, 0x0800, CRC(c9a6c489) SHA1(01aa49c5c75f76affcd2057afc5f9b57098a3374) )
12047
12048 ROM_REGION( 0x10000, "audiocpu", 0 )
12049 ROM_LOAD( "cx3-2716.cpu", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
12050 ROM_LOAD( "cx2-2716.cpu", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12051 ROM_LOAD( "cx1-2716.cpu", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
12052
12053 ROM_REGION( 0x1000, "gfx1", 0 )
12054 ROM_LOAD( "cx12-2716.cpu", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
12055 ROM_LOAD( "cx13-2716.cpu", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
12056
12057 ROM_REGION( 0x0020, "proms", 0 ) // not verified
12058 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12059 ROM_END
12060
12061 ROM_START( offensiv )
12062 ROM_REGION( 0x10000, "maincpu", 0 )
12063 ROM_LOAD( "2716-9c.bin", 0x0000, 0x0800, CRC(cc2ee7f5) SHA1(06322fe41436df6baf454e0197c0bf9606816514) )
12064 ROM_LOAD( "2716-9e.bin", 0x0800, 0x0800, CRC(66ebc070) SHA1(ada52d7880185d1ac3a39c94896d5127ea05b14a) )
12065 ROM_LOAD( "2716-9f.bin", 0x1000, 0x0800, CRC(317548fd) SHA1(687c309d476cd5fc830d90e9e6293d1dcab96df7) )
12066 ROM_LOAD( "2716-9h.bin", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
12067 ROM_LOAD( "2716-9j.bin", 0x2000, 0x0800, CRC(fa4f1a70) SHA1(9d797eaab0f19a2ed003f782716719c9d752bd56) )
12068 ROM_LOAD( "2716-9l.bin", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
12069 ROM_LOAD( "2716-9m.bin", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
12070 ROM_LOAD( "2716-9p.bin", 0x3800, 0x0800, CRC(fe2866f5) SHA1(e62f88691971243138d7022f32d6970e62c01c73) )
12071
12072 ROM_REGION( 0x10000, "audiocpu", 0 )
12073 ROM_LOAD( "2716-5c.bin", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
12074 ROM_LOAD( "2716-5d.bin", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12075 ROM_LOAD( "2716-5e.bin", 0x1000, 0x0800, CRC(ad833f7e) SHA1(f2d600b38bdc973294baee1775ddf7354b89a9ce) )
12076
12077 ROM_REGION( 0x1000, "gfx1", 0 )
12078 ROM_LOAD( "2716-6f.bin", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
12079 ROM_LOAD( "2716-6h.bin", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
12080
12081 ROM_REGION( 0x0020, "proms", 0 )
12082 ROM_LOAD( "82s123-nmi6331-1j-5e.bin", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12083 ROM_END
12084
12085 ROM_START( ncentury )
12086 ROM_REGION( 0x10000, "maincpu", 0 )
12087 ROM_LOAD( "08.bin", 0x0000, 0x0800, CRC(6af06290) SHA1(39a2564f7718fbcb65088e5dff8dead9d3633cd4) )
12088 ROM_LOAD( "04.bin", 0x0800, 0x0800, CRC(b82ac737) SHA1(45e50fe66e2fb26232383c4403c4bea9a83b2cd8) )
12089 ROM_LOAD( "09.bin", 0x1000, 0x0800, CRC(1efa0f6f) SHA1(48292bc7851bf1411bfe4a71e5f905b929bb5167) )
12090 ROM_LOAD( "05.bin", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
12091 ROM_LOAD( "10.bin", 0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
12092 ROM_LOAD( "06.bin", 0x2800, 0x0800, CRC(53ca2a3b) SHA1(c44fd6e9f1520892af06db0bdd9f59f00d19b1e6) )
12093 ROM_LOAD( "11.bin", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
12094 ROM_LOAD( "07.bin", 0x3800, 0x0800, CRC(70a731f1) SHA1(bdea2c8e4566e1abca069859a4eea4cd34032600) )
12095
12096 ROM_REGION( 0x10000, "audiocpu", 0 )
12097 ROM_LOAD( "03.bin", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
12098 ROM_LOAD( "02.bin", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12099 ROM_LOAD( "01.bin", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
12100
12101 ROM_REGION( 0x1000, "gfx1", 0 )
12102 ROM_LOAD( "12.bin", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
12103 ROM_LOAD( "13.bin", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
12104
12105 ROM_REGION( 0x0020, "proms", 0 ) // not dumped for this set
12106 ROM_LOAD( "prom", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12107 ROM_END
12108
12109 ROM_START( scramblebb ) // no PCB, just eproms...
12110 ROM_REGION( 0x10000, "maincpu", 0 )
12111 ROM_LOAD( "1", 0x0000, 0x0800, CRC(8ba174c4) SHA1(9ff48669054e4f55a19cb2d317a9d7a5e400e86c) )
12112 ROM_LOAD( "2", 0x0800, 0x0800, CRC(43cb40a4) SHA1(4e500f63a06865a5fd9a7d920eb866ea610a4d92) )
12113 ROM_LOAD( "3", 0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
12114 ROM_LOAD( "4", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
12115 ROM_LOAD( "5", 0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
12116 ROM_LOAD( "6", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
12117 ROM_LOAD( "7", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
12118 ROM_LOAD( "8", 0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
12119
12120 ROM_REGION( 0x10000, "audiocpu", 0 )
12121 ROM_LOAD( "ot1.5c", 0x0000, 0x0800, BAD_DUMP CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) ) // need proper dump
12122 ROM_LOAD( "ot2.5d", 0x0800, 0x0800, BAD_DUMP CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) ) // need proper dump
12123 ROM_LOAD( "ot3.5e", 0x1000, 0x0800, BAD_DUMP CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) // need proper dump
12124
12125 ROM_REGION( 0x1000, "gfx1", 0 )
12126 ROM_LOAD( "9", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
12127 ROM_LOAD( "10", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
12128
12129 ROM_REGION( 0x0020, "proms", 0 ) // should be different on this bootleg..
12130 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // need proper dump
12131 ROM_END
12132
12133 // Two PCBs, labeled MU-1A and MU-2A
12134 ROM_START( kamikazesp )
12135 ROM_REGION( 0x10000, "maincpu", 0 )
12136 ROM_LOAD( "4-b.2c", 0x0000, 0x0800, CRC(ab0eef23) SHA1(53ebb2011969c3eb8d60ce30f118e6627201d2a0) ) // 2716
12137 ROM_LOAD( "5-b.2e", 0x0800, 0x0800, CRC(43cb40a4) SHA1(4e500f63a06865a5fd9a7d920eb866ea610a4d92) ) // 2716
12138 ROM_LOAD( "6-b.2f", 0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) ) // 2716
12139 ROM_LOAD( "7-b.2h", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) ) // 2716
12140 ROM_LOAD( "8-b.2j", 0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) ) // 2716
12141 ROM_LOAD( "9-b.2l", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) ) // 2716
12142 ROM_LOAD( "10-b.2m", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) ) // 2716
12143 ROM_LOAD( "11-b.2p", 0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) ) // 2716
12144
12145 ROM_REGION( 0x10000, "audiocpu", 0 )
12146 ROM_LOAD( "1-a.5c", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) ) // 2716
12147 ROM_LOAD( "2-a.5d", 0x0800, 0x0800, CRC(31bb79e4) SHA1(9f5370f7b1911c6a9f2c82ef2bab3f14cb0e9657) ) // 2716
12148 ROM_LOAD( "3-a.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) ) // 2716
12149
12150 ROM_REGION( 0x1000, "gfx1", 0 )
12151 ROM_LOAD( "12-b.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) ) // MB8516, dumped as 2716
12152 ROM_LOAD( "13-b.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) ) // 2716
12153
12154 ROM_REGION( 0x0020, "proms", 0 )
12155 ROM_LOAD( "prom.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // MB7051, dumped as 82S123
12156 ROM_END
12157
12158 ROM_START( strfbomb )
12159 ROM_REGION( 0x10000, "maincpu", 0 )
12160 ROM_LOAD( "1.2c", 0x0000, 0x0800, CRC(b102aaa0) SHA1(00560da7a2ded6afcdc1d46e12cc3c795654639a) )
12161 ROM_LOAD( "2.2e", 0x0800, 0x0800, CRC(d4155703) SHA1(defd37df55536890456c29812340e0d6b4292b78) )
12162 ROM_LOAD( "3.2f", 0x1000, 0x0800, CRC(a9568c89) SHA1(0d8e6b3af92e4933814700d54acfd43407f3ede1) )
12163 ROM_LOAD( "4.2h", 0x1800, 0x0800, CRC(663b6c35) SHA1(354fb2e92f4376b20aee412ed361d59b8a2c01e1) )
12164 ROM_LOAD( "5.2j", 0x2000, 0x0800, CRC(4919a91c) SHA1(9cb5861c61e4783e5fbaa3869d51195f127b1129) )
12165 ROM_LOAD( "6.2l", 0x2800, 0x0800, CRC(4ec66ae3) SHA1(a74827e161212e9b2eddd980321507a377f1e30b) )
12166 ROM_LOAD( "7.2m", 0x3000, 0x0800, CRC(0feb0192) SHA1(45a44bde3bf1483abf95fe1d1d5066bfcb1736df) )
12167 ROM_LOAD( "8.2p", 0x3800, 0x0800, CRC(280a6142) SHA1(f17625b91eaaffa36a433be32e4e80651d94b3b9) )
12168
12169 ROM_REGION( 0x10000, "audiocpu", 0 )
12170 ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
12171 ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12172 ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
12173
12174 ROM_REGION( 0x1000, "gfx1", 0 )
12175 ROM_LOAD( "9.5f", 0x0000, 0x0800, CRC(3abeff25) SHA1(ff6de0596c849ec877fb759c1ab9c7a8ffe2edac) )
12176 ROM_LOAD( "10.5h", 0x0800, 0x0800, CRC(79ecacbe) SHA1(285cb3ee0ff8d596877bb571ea8479566ab36eb9) )
12177
12178 ROM_REGION( 0x0020, "proms", 0 )
12179 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12180 ROM_END
12181
12182 ROM_START( explorer )
12183 ROM_REGION( 0x10000, "maincpu", 0 )
12184 ROM_LOAD( "10l.bin", 0x0000, 0x1000, CRC(d5adf626) SHA1(f362322f780c13cee73697f9158a8ca8aa943a2e) )
12185 ROM_LOAD( "9l.bin", 0x1000, 0x1000, CRC(48e32788) SHA1(7a98848d2ed8ba5b2da28c014226109af7cc9287) )
12186 ROM_LOAD( "8l.bin", 0x2000, 0x1000, CRC(c0dbdbde) SHA1(eac7444246bdf80f97962031bf900ce09b28c8b5) )
12187 ROM_LOAD( "7l.bin", 0x3000, 0x1000, CRC(9b30d227) SHA1(22764e0a2a5ce7abe862e42c84abaaf25949575f) )
12188
12189 ROM_REGION( 0x10000, "audiocpu", 0 )
12190 ROM_LOAD( "3f.bin", 0x0000, 0x1000, CRC(9faf18cf) SHA1(1b6c65472d639753cc39031750f85efe1d31ae5e) )
12191 ROM_LOAD( "4b.bin", 0x1000, 0x0800, CRC(e910b5c3) SHA1(228e8d36dd1ac8a00a396df74b80aa6616997028) )
12192
12193 ROM_REGION( 0x1000, "gfx1", 0 )
12194 ROM_LOAD( "c2.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) )
12195 ROM_LOAD( "c1.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) )
12196
12197 ROM_REGION( 0x0020, "proms", 0 )
12198 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12199 ROM_END
12200
12201
12202 ROM_START( atlantis )
12203 ROM_REGION( 0x10000, "maincpu", 0 )
12204 ROM_LOAD( "2c", 0x0000, 0x0800, CRC(0e485b9a) SHA1(976f1d6f4552fbee134359a776b5688588824cbb) )
12205 ROM_LOAD( "2e", 0x0800, 0x0800, CRC(c1640513) SHA1(a0dfb34f401330b16e9e4d66ec4b49d120499606) )
12206 ROM_LOAD( "2f", 0x1000, 0x0800, CRC(eec265ee) SHA1(29b6cf6b93220414eb58cddeba591dc8813c4935) )
12207 ROM_LOAD( "2h", 0x1800, 0x0800, CRC(a5d2e442) SHA1(e535d1a501ebd861ad62da70b87215fb7c23de1d) )
12208 ROM_LOAD( "2j", 0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
12209 ROM_LOAD( "2l", 0x2800, 0x0800, CRC(f335b96b) SHA1(17daa6d9bc916081f3c6cbdfe5b4960177dc7c9b) )
12210
12211 ROM_REGION( 0x10000, "audiocpu", 0 )
12212 ROM_LOAD( "ot1.5c", 0x0000, 0x0800, CRC(bcd297f0) SHA1(8ed78487d76fd0a917ab7b258937a46e2cd9800c) )
12213 ROM_LOAD( "ot2.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12214 ROM_LOAD( "ot3.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
12215
12216 ROM_REGION( 0x1000, "gfx1", 0 )
12217 ROM_LOAD( "5f", 0x0000, 0x0800, CRC(57f9c6b9) SHA1(ad0d09a6611998d093d676a9c9fe9e32b10f643e) )
12218 ROM_LOAD( "5h", 0x0800, 0x0800, CRC(e989f325) SHA1(947aee915779687deae040aeef9e9aee680aaebf) )
12219
12220 ROM_REGION( 0x0020, "proms", 0 )
12221 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12222 ROM_END
12223
12224 ROM_START( atlantis2 )
12225 ROM_REGION( 0x10000, "maincpu", 0 )
12226 ROM_LOAD( "boa_1.2c", 0x0000, 0x0800, CRC(ad348089) SHA1(3548b94192c451c0126e7aaecefa7137ae074cd3) )
12227 ROM_LOAD( "boa_2.2e", 0x0800, 0x0800, CRC(caa705d1) SHA1(b4aefbea21fa9608e1dae2a09ae0d31270eb8c78) )
12228 ROM_LOAD( "boa_3.2f", 0x1000, 0x0800, CRC(ac5e9ec1) SHA1(0402e5241d99759d804291998efd43f37ce99917) )
12229 ROM_LOAD( "boa_4.2h", 0x1800, 0x0800, CRC(04792d90) SHA1(cb477e4b8e4538def01c10b0348f8f8e3a2a9500) )
12230 ROM_LOAD( "boa_5.2j", 0x2000, 0x0800, CRC(45f7cf34) SHA1(d1e0e0be6dec377b684625bdfdc5a3a8af847492) )
12231 ROM_LOAD( "boa_6.2l", 0x2800, 0x0800, CRC(b297bd4b) SHA1(0c48da41d9cf2a3456df5b1e8bf27fa641bc643b) )
12232 ROM_LOAD( "boa_7.2m", 0x3000, 0x0800, CRC(a50bf8d5) SHA1(5bca98e1c0838d27ec66bf4b906877977b212b6d) )
12233 ROM_LOAD( "boa_8.2p", 0x3800, 0x0800, CRC(d2c5c984) SHA1(a9432f9aff8a2f5ca1d347443efc008a177d8ae0) )
12234
12235 ROM_REGION( 0x10000, "audiocpu", 0 )
12236 ROM_LOAD( "boa_11.5c", 0x0000, 0x0800, CRC(be037cf6) SHA1(f28e5ead496e70beaada24775aa58bd5d75f2d25) )
12237 ROM_LOAD( "boa_12.5d", 0x0800, 0x0800, CRC(de7912da) SHA1(8558b4eff5d7e63029b325edef9914feda5834c3) )
12238 ROM_LOAD( "boa_13.5e", 0x1000, 0x0800, CRC(ba2fa933) SHA1(1f976d8595706730e29f93027e7ab4620075c078) )
12239
12240 ROM_REGION( 0x1000, "gfx1", 0 )
12241 ROM_LOAD( "boa_9.5f", 0x0000, 0x0800, CRC(55cd5acd) SHA1(b3e2ce71d4e48255d44cd451ee015a7234a108c8) )
12242 ROM_LOAD( "boa_10.5h", 0x0800, 0x0800, CRC(72e773b8) SHA1(6ce178df3bd6a4177c68761572a13a56d222c48f) )
12243
12244 ROM_REGION( 0x0020, "proms", 0 )
12245 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12246 ROM_END
12247
12248 ROM_START( bomber )
12249 /* Bootleg of scramble from Alca */
12250 ROM_REGION( 0x10000, "maincpu", 0 ) /* 64k for code */
12251 ROM_LOAD( "1.3l", 0x0000, 0x0800, CRC(8c30c7c3) SHA1(39e6244ac6b6c711ab83a6953d4b0585e035dfec) )
12252 ROM_LOAD( "2.3k", 0x0800, 0x0800, CRC(1fca370c) SHA1(b48b67afe226b13656a1585a1d7ad4b6322c58a1) )
12253 ROM_LOAD( "3.3h", 0x1000, 0x0800, CRC(8a714167) SHA1(34ed01fd9e9efa5cd9067284a2b66b72cafe3209) )
12254 ROM_LOAD( "4.3f", 0x1800, 0x0800, CRC(dd380a22) SHA1(125e713a58cc5f2c1e38f67dad29f8c985ce5a8b) )
12255 ROM_LOAD( "5.3e", 0x2000, 0x0800, CRC(92980e72) SHA1(7e0605b461ace534f8f91028bb82968ecd907ca1) )
12256 ROM_LOAD( "6.3d", 0x2800, 0x0800, CRC(9fd96374) SHA1(c8456dd8a012353a023a2d3fa5d508e49c36ace8) )
12257 ROM_LOAD( "7.3c", 0x3000, 0x0800, CRC(88ac07a0) SHA1(c57061db5984b472039356bf84a050b5b66e3813) )
12258 ROM_LOAD( "8.3a", 0x3800, 0x0800, CRC(75232e09) SHA1(b0da201bf05c63031cdbe9f7059e3c710557f33d) )
12259
12260 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the audio CPU */
12261 ROM_LOAD( "11.8k", 0x0000, 0x0800, CRC(97ba15e8) SHA1(2729ccb156540ace2360b03c485865f7f97f5368) )
12262 ROM_LOAD( "12.8l", 0x0800, 0x0800, CRC(6510761d) SHA1(0df92f9f123447d59a9106b2351d680cb04d1a9e) )
12263
12264 ROM_REGION( 0x1000, "gfx1", 0 )
12265 ROM_LOAD( "c2.5f", 0x0000, 0x0800, CRC(4708845b) SHA1(a8b1ad19a95a9d35050a2ab7194cc96fc5afcdc9) ) // 10.4k on pcb
12266 ROM_LOAD( "c1.5h", 0x0800, 0x0800, CRC(11fd2887) SHA1(69844e48bb4d372cac7ae83c953df573c7ecbb7f) ) // 9.4l on pcb
12267
12268 ROM_REGION( 0x0020, "proms", 0 )
12269 ROM_LOAD( "c01s.6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // q.9c on pcb
12270 ROM_END
12271
12272 ROM_START( scorpion )
12273 ROM_REGION( 0x10000, "maincpu", 0 )
12274 ROM_LOAD( "1.2d", 0x0000, 0x1000, CRC(ba1219b4) SHA1(33c7843dba44152a8bc3223ea0c30b13609b80ba) )
12275 ROM_LOAD( "2.2f", 0x1000, 0x1000, CRC(c3909ab6) SHA1(0bec902ae4291fa0530f4c89ad45cc7aab888b7a) )
12276 ROM_LOAD( "3.2g", 0x2000, 0x1000, CRC(43261352) SHA1(49468cbed7e0286b260eef297bd5fad0ab9fd45b) )
12277 ROM_LOAD( "4.2h", 0x3000, 0x1000, CRC(aba2276a) SHA1(42b0378f06d2bdb4faaaa95274a6c0f965716877) )
12278 ROM_LOAD( "5.2k", 0x6000, 0x0800, CRC(952f78f2) SHA1(9562037b104fc1852c2d2650209a77ffce2cb90e) )
12279 ROM_CONTINUE( 0x5800, 0x0800 )
12280
12281 ROM_REGION( 0x10000, "audiocpu", 0 )
12282 ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) )
12283 ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
12284
12285 ROM_REGION( 0x2000, "gfx1", 0 )
12286 ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
12287 ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
12288
12289 ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
12290 ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
12291 ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
12292 ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
12293
12294 ROM_REGION( 0x0020, "proms", 0 )
12295 ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
12296 ROM_END
12297
12298 ROM_START( scorpiona ) /* Scorpion was developed by I.G.R. and original labels have "I.G.R. SCORPION" printed them */
12299 ROM_REGION( 0x10000, "maincpu", 0 )
12300 ROM_LOAD( "igr_scorpion_32_d2.ic109", 0x0000, 0x1000, CRC(c5b9daeb) SHA1(faf7a22013dd5f063eb8f506f3722cfd5522539a) )
12301 ROM_LOAD( "igr_scorpion_32_e2.ic110", 0x1000, 0x1000, CRC(82308d05) SHA1(26bc7c8b3ea0020fd1b93f6aaa29d82d04ae64b2) )
12302 ROM_LOAD( "igr_scorpion_32_g2.ic111", 0x2000, 0x1000, CRC(756b09cd) SHA1(9aec34e063fe8c0d1392db09daea2875d06eec46) )
12303 ROM_LOAD( "igr_scorpion_32_h2.ic112", 0x3000, 0x1000, CRC(667ad8be) SHA1(2b2dcd32d52c0173a1fd93da9a8a1ccb669c7d55) )
12304 ROM_LOAD( "igr_scorpion_16_k2.ic113", 0x5800, 0x0800, CRC(42ec34d8) SHA1(b358d10a96490f325420b992e8e03bb3884e415a) )
12305 ROM_LOAD( "igr_scorpion_16_l2.ic114", 0x6000, 0x0800, CRC(6623da33) SHA1(99110005d00c80d674bde5d21608f50b85ee488c) )
12306
12307 ROM_REGION( 0x10000, "audiocpu", 0 )
12308 ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) )
12309 ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
12310
12311 ROM_REGION( 0x2000, "gfx1", 0 )
12312 ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
12313 ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
12314
12315 ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
12316 ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
12317 ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
12318 ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
12319
12320 ROM_REGION( 0x0020, "proms", 0 )
12321 ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
12322 ROM_END
12323
12324 ROM_START( scorpionb )
12325 ROM_REGION( 0x10000, "maincpu", 0 )
12326 ROM_LOAD( "ic109.2d", 0x0000, 0x1000, CRC(f54688c9) SHA1(2881d5238733353b9c277a2829d157688a87601b) )
12327 ROM_LOAD( "ic110.2e", 0x1000, 0x1000, CRC(91aaaa12) SHA1(2a5e5eb5aeec5637ee4675930f67158a969e0d5d) )
12328 ROM_LOAD( "ic111.2g", 0x2000, 0x1000, CRC(4c3720da) SHA1(5b2758c8a91f9463bf98abf2b52af946c5e90cf0) )
12329 ROM_LOAD( "ic112.2h", 0x3000, 0x1000, CRC(53e2a983) SHA1(cfe272055a92793de76dd1cff617b13281815485) )
12330 ROM_LOAD( "ic113.2k", 0x6000, 0x0800, CRC(e4ad299a) SHA1(712cab86eadeba9e859f7bae98eb289f00d2e217) )
12331 ROM_CONTINUE( 0x5800, 0x0800 )
12332
12333 ROM_REGION( 0x10000, "audiocpu", 0 )
12334 ROM_LOAD( "igr_scorpion_32_a4.ic12", 0x0000, 0x1000, CRC(361b8a36) SHA1(550ac5f721aaa9fea5f6d63ba590d6b367525c23) ) /* missing from this set */
12335 ROM_LOAD( "igr_scorpion_32_a5.ic13", 0x1000, 0x1000, CRC(addecdd4) SHA1(ba28f1d9c7c6b5e8ecef56a4b3f64be13fc10d43) )
12336
12337 ROM_REGION( 0x2000, "gfx1", 0 )
12338 ROM_LOAD( "igr_scorpion_32_f5.ic72", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
12339 ROM_LOAD( "igr_scorpion_32_h5.ic73", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
12340
12341 ROM_REGION( 0x3000, "digitalker", 0 ) /* Digitalker speech samples */
12342 ROM_LOAD( "igr_scorpion_32_a3.ic25", 0x0000, 0x1000, CRC(04abf178) SHA1(2e7f231413d9ec461ca21840f31d1d6b8b17c4d5) )
12343 ROM_LOAD( "igr_scorpion_32_a2.ic24", 0x1000, 0x1000, CRC(90352dd4) SHA1(62c261a2f2fbd8eff31d5c72cf532d5e43d86dd3) )
12344 ROM_LOAD( "igr_scorpion_32_a1.ic23", 0x2000, 0x1000, CRC(3bf2452d) SHA1(7a163e0ef108dd40d3beab5e9805886e45be744b) )
12345
12346 ROM_REGION( 0x0020, "proms", 0 )
12347 ROM_LOAD( "mmi6331_6e.ic59", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) /* BPROM type MMI 6331 */
12348 ROM_END
12349
12350 ROM_START( scorpionmc )
12351 ROM_REGION( 0x10000, "maincpu", 0 )
12352 ROM_LOAD( "p1.bin", 0x0000, 0x0800, CRC(58818d88) SHA1(d9fbfb6fff9ba1d078c3735889b8878ab0442ded) )
12353 ROM_LOAD( "p2.bin", 0x0800, 0x0800, CRC(8bec5f9f) SHA1(78642124edbf946140f62985bafe2dca314cb257) )
12354 ROM_LOAD( "p3.bin", 0x1000, 0x0800, CRC(24b7fdff) SHA1(1382199c85af3aa101b4ca01a0b096d801bc61a6) )
12355 ROM_LOAD( "p4.bin", 0x1800, 0x0800, CRC(9082e2f0) SHA1(8e3beebca33e73901cb8c4fa0af39a299b831d32) )
12356 ROM_LOAD( "p5.bin", 0x2000, 0x0800, CRC(20387fc0) SHA1(1aa2f16fb1630e65fd8aaedd21d8e4bac343678b) )
12357 ROM_LOAD( "p6.bin", 0x2800, 0x0800, CRC(f66c48e1) SHA1(bbfd68309d1f6b6bb3ec0879c8bde80b3f30fa02) )
12358 ROM_LOAD( "p7.bin", 0x3000, 0x0800, CRC(931e34c7) SHA1(8b6c1099634b5d693faab9edf5e29b3c476c7f52) )
12359 ROM_LOAD( "p8.bin", 0x3800, 0x0800, CRC(ab5ab61d) SHA1(eb78d7dc8d424f6ed4f7cbec02485cd769bac5c6) )
12360 ROM_LOAD( "p9.bin", 0x5000, 0x1000, CRC(b551b974) SHA1(c19e61dd8b6daf808ba42fa318dfd179a020d20e) )
12361 ROM_LOAD( "p10.bin", 0x6000, 0x0800, CRC(a7bd8d20) SHA1(c8131279de58298546c5af2c34ff18116c3a2d3b) )
12362
12363 ROM_REGION( 0x2000, "gfx1", 0 )
12364 ROM_LOAD( "h.bin", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
12365 ROM_LOAD( "k.bin", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
12366
12367 ROM_REGION( 0x0020, "proms", 0 )
12368 ROM_LOAD( "mmi6331.bpr", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) /* Compatible with 82s123 prom */
12369 ROM_END
12370
12371 ROM_START( aracnis )
12372 ROM_REGION( 0x10000, "maincpu", 0 )
12373 ROM_LOAD( "00sc.bin", 0x0000, 0x1000, CRC(c7e0d6b9) SHA1(3aac51d22939da8a595237ad26fe0f06a3acfb6a) )
12374 ROM_LOAD( "01sc.bin", 0x1000, 0x1000, CRC(03eb27dc) SHA1(8dae30006c9e81ab0d2b5c5faa7257813ea00a89) )
12375 ROM_LOAD( "02sc.bin", 0x2000, 0x1000, CRC(f3d49d4f) SHA1(19f603a2bda88e51608414f2748a33b4fb6e31c1) )
12376 ROM_LOAD( "03sc.bin", 0x3000, 0x1000, CRC(0e741984) SHA1(6e2c7820bbb1834c49f312664c786b50af0cff26) )
12377 ROM_LOAD( "05sc.bin", 0x5000, 0x1000, CRC(f27ee3e4) SHA1(e034507b99705492b6a8aa34764a1e3222ba31b2) )
12378 ROM_LOAD( "06sc.bin", 0x6000, 0x0800, CRC(fdfc2c82) SHA1(6b8914d6496c216de5bf160cd798b8f6facd44d2) )
12379
12380 ROM_REGION( 0x2000, "gfx1", 0 )
12381 ROM_LOAD( "08sc.1h", 0x0000, 0x1000, CRC(1e5da9d6) SHA1(ca8b27e6dd40e4ca13e7e6b5f813bafca78b62f4) )
12382 ROM_LOAD( "07sc.1k", 0x1000, 0x1000, CRC(a57adb0a) SHA1(d97c7dc4a6c5efb59cc0148e2498156c682c6714) )
12383
12384 ROM_REGION( 0x0020, "proms", 0 )
12385 // colours are wrong, but this is the prom that was on the board
12386
12387 // note: pin 13 is marked with red paint, and is not connected
12388 // ^ this is important for getting correct colours on real hw
12389 ROM_LOAD( "mmi6331-1.6l", 0x0000, 0x0020, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
12390 ROM_END
12391
12392 ROM_START( sfx )
12393 ROM_REGION( 0x10000, "maincpu", 0 )
12394 ROM_LOAD( "sfx_b-0.1j", 0x0000, 0x1000, CRC(e5bc6952) SHA1(7bfb772418d738d3c49fd59c0bfc04590945977a) )
12395 ROM_CONTINUE( 0xe000, 0x1000 )
12396 ROM_LOAD( "1.1c", 0x1000, 0x1000, CRC(1b3c48e7) SHA1(2f245aaf9b4bb5d949aae18ee89a0be639e7b2df) )
12397 ROM_LOAD( "22.1d", 0x2000, 0x1000, CRC(ed44950d) SHA1(f8c54ff89ac461171df951d703d5571be1b8da38) )
12398 ROM_LOAD( "23.1e", 0x3000, 0x1000, CRC(f44a3ca0) SHA1(3917ea960329a06d3d0c447cb6a4ba710fb7ca92) )
12399 ROM_LOAD( "27.1a", 0x7000, 0x1000, CRC(ed86839f) SHA1(a0d8c941a6e01058eab66d5da9b49b6b5695b981) )
12400 ROM_LOAD( "24.1g", 0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
12401 ROM_LOAD( "5.1h", 0xd000, 0x1000, CRC(d1e8d390) SHA1(f8fe9f69e6500fbcf25f8151c1070d9a1a20a38c) )
12402
12403 ROM_REGION( 0x10000, "audiocpu", 0 )
12404 ROM_LOAD( "5.5j", 0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
12405 ROM_LOAD( "6.6j", 0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
12406
12407 ROM_REGION( 0x10000, "audio2", 0 )
12408 ROM_LOAD( "1.1j", 0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
12409 ROM_LOAD( "2.2j", 0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
12410 ROM_LOAD( "3.3j", 0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
12411 ROM_LOAD( "4.4j", 0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
12412 ROM_LOAD( "10.3h", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
12413 ROM_LOAD( "11.4h", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
12414
12415 ROM_REGION( 0x2000, "gfx1", 0 )
12416 ROM_LOAD( "28.5a", 0x0000, 0x1000, CRC(d73a8252) SHA1(59d14f41f1a806f98ee33596b84fe5aefe606944) )
12417 ROM_LOAD( "29.5c", 0x1000, 0x1000, CRC(1401ccf2) SHA1(5762eafd9f402330e1d4ac677f46595087716c47) )
12418
12419 ROM_REGION( 0x0020, "proms", 0 )
12420 ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
12421 ROM_END
12422
12423 ROM_START( skelagon )
12424 ROM_REGION( 0x10000, "maincpu", 0 )
12425 /* first half of 36.bin is missing */
12426 ROM_LOAD( "31.bin", 0x1000, 0x1000, CRC(ae6f8647) SHA1(801e88b91c204f2797e5ce45390ea6eec27a3f54) )
12427 ROM_LOAD( "32.bin", 0x2000, 0x1000, CRC(a28c5838) SHA1(0a37de7986c494d1522ce76635dd1fa6d03f05c7) )
12428 ROM_LOAD( "33.bin", 0x3000, 0x1000, CRC(32f7e99c) SHA1(2718063a77eeeb8067a9cad7ff3d9e0266b61566) )
12429 ROM_LOAD( "37.bin", 0x7000, 0x1000, CRC(47f68a31) SHA1(6e15024f67c88a733ede8702d2a80ddb1892b27e) )
12430 ROM_LOAD( "24.bin", 0xc000, 0x1000, CRC(e6d7dc74) SHA1(c1e6d9598fb837775ee6550fea3cd4910572615e) )
12431 ROM_LOAD( "35.bin", 0xd000, 0x1000, CRC(5b2a0158) SHA1(66d2fb05a8daaa86bb547b4860d5bf27b4359326) )
12432 ROM_LOAD( "36.bin", 0xe000, 0x1000, BAD_DUMP CRC(f53ead29) SHA1(f8957b0c0558acc005f418adbfeb66d1d562c9ac) )
12433
12434 ROM_REGION( 0x10000, "audiocpu", 0 )
12435 ROM_LOAD( "5.5j", 0x0000, 0x1000, CRC(59028fb6) SHA1(94105b5b03c81a948a409f7ea20312bb9c79c150) )
12436 ROM_LOAD( "6.6j", 0x1000, 0x1000, CRC(5427670f) SHA1(ffc3f7186d0319f0fd7ed25eb97bb0db7bc107c6) )
12437
12438 ROM_REGION( 0x10000, "audio2", 0 )
12439 ROM_LOAD( "1.1j", 0x0000, 0x1000, CRC(2f172c58) SHA1(4706d55fcfad4d5a87d96a0a0187f59997ef9720) )
12440 ROM_LOAD( "2.2j", 0x1000, 0x1000, CRC(a6ad2f6b) SHA1(14d1a93e507c349b14a1b26408cce23f089fa33c) )
12441 ROM_LOAD( "3.3j", 0x2000, 0x1000, CRC(fa1274fa) SHA1(e98cb602b265b209eaa4a9b3972e47c869ff863b) )
12442 ROM_LOAD( "4.4j", 0x3000, 0x1000, CRC(1cd33f3a) SHA1(cf9248fd6cb56ec81d354afe032a2dea810e834b) )
12443 ROM_LOAD( "10.bin", 0x4000, 0x1000, CRC(2c719de2) SHA1(0953e96f8be1cbab3f4a8e166457c74e986a87b1) )
12444 ROM_LOAD( "8.bin", 0x5000, 0x1000, CRC(350379dd) SHA1(e979251b11d6702170dd60ffd28fc15ea737588b) )
12445
12446 ROM_REGION( 0x2000, "gfx1", 0 )
12447 ROM_LOAD( "38.bin", 0x0000, 0x1000, CRC(2fffa8b1) SHA1(6a6032f55b9fe1da209e4ed4423042efec773d4d) )
12448 ROM_LOAD( "39.bin", 0x1000, 0x1000, CRC(a854b5de) SHA1(dd038f20ee366d439f09f0c82fd6432101b3781a) )
12449
12450 ROM_REGION( 0x0020, "proms", 0 )
12451 ROM_LOAD( "6331.9g", 0x0000, 0x0020, CRC(ca1d9ccd) SHA1(27124759a06497c1bc1a64b6d3faa6ba924a8447) )
12452 ROM_END
12453
12454 /*
12455 Monster Zero
12456
12457 CPU: Z80 (x3)
12458 Sound: AY-3-8910 (x2)
12459 Other: 8255 (x3)
12460 RAM: 2114 (x2), 2114 (x2), TMM2016P, TMM314A (x4), MPB8216 (x2), MPB8216 (x2), 2114 (x2), TMM314A (x2), D2125A (x5)
12461 PAL: 16R8C (protected x2)
12462 PROM: 82S123
12463 X1: 1431818
12464 X2: 16000
12465 */
12466
12467 ROM_START( monsterz )
12468 ROM_REGION( 0x10000, "maincpu", 0 )
12469 ROM_LOAD( "b-1e.a1", 0x0000, 0x1000, CRC(97886542) SHA1(01f4f9bd55f9eae28162cbb22a26f7cda22cd3f3) )
12470 ROM_LOAD( "b-2e.c1", 0x1000, 0x1000, CRC(184ffcb4) SHA1(829d6ca13773aba7c3a81e122171befbe3666110) )
12471 ROM_LOAD( "b-3e.d1", 0x2000, 0x1000, CRC(b7b10ac7) SHA1(51d544d4db456df756a95d7f1853fffed9259647) )
12472 ROM_LOAD( "b-4e.e1", 0x3000, 0x1000, CRC(fb02c736) SHA1(24466116dd07b856b1afff62b8312c67ff466b95) )
12473 ROM_LOAD( "b-5e.g1", 0xc000, 0x1000, CRC(b2788ab9) SHA1(eb1a6b41f4c7a243481bfccf2b068ce1bc292366) )
12474 ROM_LOAD( "b-6e.h1", 0xd000, 0x1000, CRC(77d7aa8d) SHA1(62aaf582ba55f7b21f6cf13b4fb6c2c54bb729f5) )
12475
12476 ROM_REGION( 0x10000, "audiocpu", 0 )
12477 ROM_LOAD( "a-1e.k1", 0x0000, 0x1000, CRC(b88ba44e) SHA1(85c141fb411d541b1e20412f5fefd18395f635ae) )
12478 ROM_LOAD( "a-2.k2", 0x1000, 0x1000, CRC(8913c94e) SHA1(6c4fe065217a234d45761f8ad4d2c4e7078a0abd) )
12479 ROM_LOAD( "a-3e.k3", 0x2000, 0x1000, CRC(a8fa5095) SHA1(5cabe5497a79a0c43e78a84ae87c824af60a2a3f) )
12480 ROM_LOAD( "a-4.k4", 0x3000, 0x1000, CRC(93f81317) SHA1(167708be94cb9a47290067a20bc5ff6f018b93b6) )
12481
12482 ROM_REGION( 0x10000, "audio2", 0 )
12483 ROM_LOAD( "a-5e.k5", 0x0000, 0x1000, CRC(b5bcdb4e) SHA1(db0965e5636e0f4e9cd4f4a7d808c413ecf733db) )
12484 ROM_LOAD( "a-6.k6", 0x1000, 0x1000, CRC(24832b2e) SHA1(2a67888e86ce1a3182303e841513ba2a07977359) )
12485 ROM_LOAD( "a-7e.k7", 0x2000, 0x1000, CRC(20ebea81) SHA1(473c688365b256d8593663ff95768f4a5bb1289d) )
12486 // 0x3000 empty ?
12487 ROM_LOAD( "a-8.k8", 0x4000, 0x1000, CRC(b833a15b) SHA1(0d21aaa0ca5ccba89118b205a6b3b36b15663c47) )
12488 ROM_LOAD( "a-9.k9", 0x5000, 0x1000, CRC(cbd76ec2) SHA1(9434350ee93ca71efe78018b69913386353306ff) )
12489
12490 ROM_REGION( 0x2000, "gfx1", 0 )
12491 ROM_LOAD( "b-7e.a5", 0x0000, 0x1000, CRC(ddd4158d) SHA1(9701e2d8a0226455dfbed650e58bb4be05918fe8) )
12492 ROM_LOAD( "b-8e.c5", 0x1000, 0x1000, CRC(b1331b4c) SHA1(fa1af406ecd6919b4846aea68d3edb70106f9273) )
12493
12494 ROM_REGION( 0x0020, "proms", 0 )
12495 ROM_LOAD( "prom.g9", 0x0000, 0x0020, CRC(b7ea00d7) SHA1(f658c6ac8123ae1e6b68ae513cc02c4d9d2b4e47) )
12496 ROM_END
12497
12498
12499 ROM_START( scobra )
12500 ROM_REGION( 0x10000, "maincpu", 0 )
12501 ROM_LOAD( "epr1265.2c", 0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
12502 ROM_LOAD( "2e", 0x1000, 0x1000, CRC(8e7245cd) SHA1(281504ff364c3ddbf901c92729b139afd93b9785) )
12503 ROM_LOAD( "epr1267.2f", 0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
12504 ROM_LOAD( "2h", 0x3000, 0x1000, CRC(7244f21c) SHA1(f5fff565ed3f6c5f277a4db53c9f569813fcec1d) )
12505 ROM_LOAD( "epr1269.2j", 0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
12506 ROM_LOAD( "2l", 0x5000, 0x1000, CRC(d52affde) SHA1(5681771ed51d504bdcc2999fcbf926a30b137828) )
12507
12508 ROM_REGION( 0x10000, "audiocpu", 0 )
12509 ROM_LOAD( "5c", 0x0000, 0x0800, CRC(d4346959) SHA1(5eab4505beb69a5bdd88b23db60e1193371250cf) )
12510 ROM_LOAD( "5d", 0x0800, 0x0800, CRC(cc025d95) SHA1(2b0784c4d05c466e0b7648f16e14f34393d792c3) )
12511 ROM_LOAD( "5e", 0x1000, 0x0800, CRC(1628c53f) SHA1(ec79a73e4a2d7373454b227dd7eff255f1cc60cc) )
12512
12513 ROM_REGION( 0x1000, "gfx1", 0 )
12514 ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
12515 ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
12516
12517 ROM_REGION( 0x0020, "proms", 0 )
12518 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
12519 ROM_END
12520
12521 ROM_START( scobrase )
12522 ROM_REGION( 0x10000, "maincpu", 0 )
12523 ROM_LOAD( "epr1265.2c", 0x0000, 0x1000, CRC(a0744b3f) SHA1(8949298a04f8ba8a82d5d84a7b012a0e7cff11df) )
12524 ROM_LOAD( "epr1266.2e", 0x1000, 0x1000, CRC(65306279) SHA1(f6e10d57c9b88e3fcd7333f76708e190a97b4faa) )
12525 ROM_LOAD( "epr1267.2f", 0x2000, 0x1000, CRC(47a4e6fb) SHA1(01775ad11dc23469649539ee8fb8a5800df031c6) )
12526 ROM_LOAD( "epr1268.2h", 0x3000, 0x1000, CRC(53eecaf2) SHA1(08ca34097f63af8ab69b1d836a12a8bd4d42e4a2) )
12527 ROM_LOAD( "epr1269.2j", 0x4000, 0x1000, CRC(e1f8a801) SHA1(2add8270352d6596052d3ff22c891ceccaa92071) )
12528 ROM_LOAD( "epr1270.2l", 0x5000, 0x1000, CRC(f7709710) SHA1(dff9ae72ba00a98d4f5acdd6d506e3d7add6b2c6) )
12529
12530 ROM_REGION( 0x10000, "audiocpu", 0 )
12531 ROM_LOAD( "epr1275.5c", 0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
12532 ROM_LOAD( "epr1276.5d", 0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
12533 ROM_LOAD( "epr1277.5e", 0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
12534
12535 ROM_REGION( 0x1000, "gfx1", 0 )
12536 ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
12537 ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
12538
12539 ROM_REGION( 0x0020, "proms", 0 )
12540 ROM_LOAD( "pr1278.6e", 0x0000, 0x0020, CRC(fd35c561) SHA1(590f60beb443dd689c890c37cc100e0b936bf8c9) )
12541 ROM_END
12542
12543 ROM_START( scobras )
12544 ROM_REGION( 0x10000, "maincpu", 0 )
12545 ROM_LOAD( "scobra2c.bin", 0x0000, 0x1000, CRC(e15ade38) SHA1(21cf26d1781d133fa336d275d8a61d3f95d10b77) )
12546 ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
12547 ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
12548 ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
12549 ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
12550 ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
12551
12552 ROM_REGION( 0x10000, "audiocpu", 0 )
12553 ROM_LOAD( "epr1275.5c", 0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
12554 ROM_LOAD( "epr1276.5d", 0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
12555 ROM_LOAD( "epr1277.5e", 0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
12556
12557 ROM_REGION( 0x1000, "gfx1", 0 )
12558 ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
12559 ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
12560
12561 ROM_REGION( 0x0020, "proms", 0 )
12562 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
12563 ROM_END
12564
12565 ROM_START( scobrab )
12566 ROM_REGION( 0x10000, "maincpu", 0 )
12567 ROM_LOAD( "vid_2c.bin", 0x0000, 0x0800, CRC(aeddf391) SHA1(87632469e943cfe38a9676de5e8ed839a63c5da2) )
12568 ROM_LOAD( "vid_2e.bin", 0x0800, 0x0800, CRC(72b57eb7) SHA1(978d0acbfccb7c1edddb073ad9417d4cbd9b7e63) )
12569 ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) )
12570 ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) )
12571 ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) )
12572 ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) )
12573 ROM_LOAD( "scobra2l.bin", 0x5000, 0x1000, CRC(6f80f3a9) SHA1(817d212454c5eb16c5d7471d2ccefc4f8708d57f) )
12574
12575 ROM_REGION( 0x10000, "audiocpu", 0 )
12576 ROM_LOAD( "epr1275.5c", 0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) ) /* snd_5c.bin */
12577 ROM_LOAD( "epr1276.5d", 0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) ) /* snd_5d.bin */
12578 ROM_LOAD( "epr1277.5e", 0x1000, 0x0800, CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) ) /* snd_5e.bin */
12579
12580 ROM_REGION( 0x1000, "gfx1", 0 )
12581 ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
12582 ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
12583
12584 ROM_REGION( 0x0020, "proms", 0 )
12585 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
12586 ROM_END
12587
12588 /*
12589 A PCB picture shows the following label format for the audio ROMs:
12590
12591 SUPER COBRA
12592 RA1 5C
12593 1981 STERN
12594
12595 On the A970 ASS'Y REV.B PCB:
12596 SUPER COBRA RA1 5C 1981 STERN (black dot on label)
12597 SUPER COBRA RA1 5D 1981 STERN (black dot on label)
12598 SUPER COBRA RA1 5E 1981 STERN (black dot on label)
12599 */
12600 ROM_START( scobrae ) // main program is identical to the scobras set once decrypted
12601 ROM_REGION( 0x10000, "maincpu", 0 ) // all roms have STERN labels
12602 ROM_LOAD( "super cobra ra1 2c 1981.2c", 0x0000, 0x1000, CRC(ba9d4152) SHA1(f1792c0049804ac956ab7f95f699559fca4df960) )
12603 ROM_LOAD( "super cobra ra1 2e 1981.2e", 0x1000, 0x1000, CRC(f9b77b27) SHA1(7974761456aaabcf016158ee5f5c32c89e43c748) )
12604 ROM_LOAD( "super cobra ra1 2f 1981.2f", 0x2000, 0x1000, CRC(e6109c2c) SHA1(1749ac277b1af45b1f6722d2ddaf46be043b2b25) )
12605 ROM_LOAD( "super cobra ra1 2h 1981.2h", 0x3000, 0x1000, CRC(8762735b) SHA1(07dd9b390d44fec9f83c88abf28d167c1710dcc9) )
12606 ROM_LOAD( "super cobra ra1 2j 1981.2j", 0x4000, 0x1000, CRC(5648f404) SHA1(5cfbada816fd614508c7cd41196a350176c5882d) )
12607 ROM_LOAD( "super cobra ra1 2l 1981.2l", 0x5000, 0x1000, CRC(34476cc3) SHA1(b8b1c9572e0c5e25f3d2a33d5a0ce40de007b478) )
12608
12609 ROM_REGION( 0x1000, "gfx1", 0 )
12610 ROM_LOAD( "super cobra ra1 5f 1981.5f", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
12611 ROM_LOAD( "super cobra ra1 5h 1981.5h", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
12612
12613 // roms below were missing, so not verified for this set but likely the same because the main program is.
12614 ROM_REGION( 0x10000, "audiocpu", 0 )
12615 ROM_LOAD( "5c", 0x0000, 0x0800, BAD_DUMP CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) )
12616 ROM_LOAD( "5d", 0x0800, 0x0800, BAD_DUMP CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) )
12617 ROM_LOAD( "5e", 0x1000, 0x0800, BAD_DUMP CRC(ccd7a110) SHA1(5a247e360530be0f94c90fcc7d0ce628d460449f) )
12618
12619 ROM_REGION( 0x0020, "proms", 0 )
12620 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, BAD_DUMP CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
12621 ROM_END
12622
12623
12624 ROM_START( scobrae2 ) // same encryption as scobrae
12625 ROM_REGION( 0x10000, "maincpu", 0 )
12626 ROM_LOAD( "2c", 0x0000, 0x1000, CRC(5f38340b) SHA1(8479a294e3dd20192896fc13607a048a2a738878) )
12627 ROM_LOAD( "2e", 0x1000, 0x1000, CRC(a3edcdb4) SHA1(3c11701621b868a8a08dca981d13349bea70be8d) )
12628 ROM_LOAD( "2f", 0x2000, 0x1000, CRC(c6291ea6) SHA1(df1dc819ead011b0d5b64f62c1ac301794195b99) )
12629 ROM_LOAD( "2h", 0x3000, 0x1000, CRC(c2197fac) SHA1(937e0652a73fae69f0a0b79c93f48facd6706af6) )
12630 ROM_LOAD( "2j", 0x4000, 0x1000, CRC(80b8270f) SHA1(7f73d43e436fe2ef59058aa9e5791fd9940ea302) )
12631 ROM_LOAD( "2l", 0x5000, 0x1000, CRC(f03475f6) SHA1(d2d7807fc4bb72465a4ccb78ac672f8aec9e00f1) )
12632
12633 ROM_REGION( 0x1000, "gfx1", 0 )
12634 ROM_LOAD( "5f", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
12635 ROM_LOAD( "5h", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
12636
12637 ROM_REGION( 0x10000, "audiocpu", 0 )
12638 ROM_LOAD( "5c", 0x0000, 0x0800, CRC(d4346959) SHA1(5eab4505beb69a5bdd88b23db60e1193371250cf) )
12639 ROM_LOAD( "5d", 0x0800, 0x0800, CRC(cc025d95) SHA1(2b0784c4d05c466e0b7648f16e14f34393d792c3) )
12640 ROM_LOAD( "5e", 0x1000, 0x0800, CRC(1628c53f) SHA1(ec79a73e4a2d7373454b227dd7eff255f1cc60cc) )
12641
12642 ROM_REGION( 0x0020, "proms", 0 )
12643 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
12644 ROM_END
12645
12646
12647 // two board stack MU1 and MU2A. Has different colors and level sequence. Came from an A.V.G. by Zaccaria cabinet with Konami license, but still has only Konami copyright.
12648 // https://www.youtube.com/watch?v=CZRRVACtC3A
12649 ROM_START( scobrag )
12650 ROM_REGION( 0x10000, "maincpu", 0 )
12651 ROM_LOAD( "2c_32.bin", 0x0000, 0x1000, CRC(04ffab61) SHA1(302ae8b224d98c405aadd363623eddf88bdc3f0e) )
12652 ROM_LOAD( "2e_32.bin", 0x1000, 0x1000, CRC(f82a52de) SHA1(4d8f714b9ae58b180d5293d85517f1a422b5ce3f) )
12653 ROM_LOAD( "2f_32.bin", 0x2000, 0x1000, CRC(9dee81cc) SHA1(e842ad873cd5370f2c5d23334a320ebc448bfcdc) )
12654 ROM_LOAD( "2h_32.bin", 0x3000, 0x1000, CRC(99dee0c6) SHA1(1f026a40f59fe33cb2ac54a7712d6d259db3ecc8) )
12655 ROM_LOAD( "2j_32.bin", 0x4000, 0x1000, CRC(db7fb865) SHA1(94f1382dae4f3c12d177fd74b3493e91989b4654) )
12656 ROM_LOAD( "2l_32.bin", 0x5000, 0x1000, CRC(6493d2d3) SHA1(9a3dca56a65bc9e36ae1d665aa3d8112ba293b56) )
12657
12658 ROM_REGION( 0x10000, "audiocpu", 0 )
12659 ROM_LOAD( "c5_16.bin", 0x0000, 0x0800, CRC(d4346959) SHA1(5eab4505beb69a5bdd88b23db60e1193371250cf) )
12660 ROM_LOAD( "d5_16.bin", 0x0800, 0x0800, CRC(cc025d95) SHA1(2b0784c4d05c466e0b7648f16e14f34393d792c3) )
12661 ROM_LOAD( "e5_16.bin", 0x1000, 0x0800, CRC(1628c53f) SHA1(ec79a73e4a2d7373454b227dd7eff255f1cc60cc) )
12662
12663 ROM_REGION( 0x1000, "gfx1", 0 )
12664 ROM_LOAD( "h5_16.bin", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) )
12665 ROM_LOAD( "f5_16.bin", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) )
12666
12667 ROM_REGION( 0x0020, "proms", 0 )
12668 ROM_LOAD( "super_cobra_288_6e", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) )
12669 ROM_END
12670
12671
12672 // Super Cobra bootleg (Cocamatic). PCB by "GGI Corp."
12673 ROM_START( scobraggi )
12674 ROM_REGION( 0x10000, "maincpu", 0 )
12675 ROM_LOAD( "2c_b.bin", 0x0000, 0x1000, CRC(04ffab61) SHA1(302ae8b224d98c405aadd363623eddf88bdc3f0e) ) // 2732
12676 ROM_LOAD( "2e_b.bin", 0x1000, 0x1000, CRC(4e29d35f) SHA1(f48358f30e886c65b0e38220a44d3c2d09a31fee) ) // 2732
12677 ROM_LOAD( "2f_b.bin", 0x2000, 0x1000, CRC(9dee81cc) SHA1(e842ad873cd5370f2c5d23334a320ebc448bfcdc) ) // 2732
12678 ROM_LOAD( "2h_b.bin", 0x3000, 0x1000, CRC(99dee0c6) SHA1(1f026a40f59fe33cb2ac54a7712d6d259db3ecc8) ) // 2732
12679 ROM_LOAD( "2j_b.bin", 0x4000, 0x1000, CRC(db7fb865) SHA1(94f1382dae4f3c12d177fd74b3493e91989b4654) ) // 2732
12680 ROM_LOAD( "2l_b.bin", 0x5000, 0x1000, CRC(5825d73b) SHA1(482128d723986fdf586f9ac53a0139b687cb0b58) ) // 2732
12681
12682 ROM_REGION( 0x10000, "audiocpu", 0 )
12683 ROM_LOAD( "1_13_a.bin", 0x0000, 0x0800, CRC(d4346959) SHA1(5eab4505beb69a5bdd88b23db60e1193371250cf) ) // MB8516 readed as 2716
12684 ROM_LOAD( "2_13_a.bin", 0x0800, 0x0800, CRC(cc025d95) SHA1(2b0784c4d05c466e0b7648f16e14f34393d792c3) ) // 2716
12685 ROM_LOAD( "3_13_a.bin", 0x1000, 0x0800, CRC(1628c53f) SHA1(ec79a73e4a2d7373454b227dd7eff255f1cc60cc) ) // MB8516 readed as 2716
12686
12687 ROM_REGION( 0x1000, "gfx1", 0 )
12688 ROM_LOAD( "5h_b.bin", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) ) // 2716
12689 ROM_LOAD( "5f_b.bin", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) ) // 2716
12690
12691 ROM_REGION( 0x0020, "proms", 0 )
12692 ROM_LOAD( "6e_b.bin", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // MB7051 readed as N82S123
12693 ROM_END
12694
12695
12696 ROM_START( suprheli )
12697 /* this is a bootleg of Super Cobra */
12698 ROM_REGION( 0x10000, "maincpu", 0 )
12699 ROM_LOAD( "1.2c", 0x0000, 0x1000, CRC(b25141d8) SHA1(9df638ad2c482cc7d8b8c8b61c9f8872bfaff4d5) )
12700 ROM_LOAD( "scobra2e.bin", 0x1000, 0x1000, CRC(a270e44d) SHA1(8b7307af458b9cd3c45bb72b35e682d6d109ed01) ) /* labeled "2" */
12701 ROM_LOAD( "scobra2f.bin", 0x2000, 0x1000, CRC(bdd70346) SHA1(bda0dc5777233a86a3a0aceb6eded45145057ba8) ) /* labeled "3" */
12702 ROM_LOAD( "scobra2h.bin", 0x3000, 0x1000, CRC(dca5ec31) SHA1(50073d44ccef76a3c36c73a6ed4479127f2c98ee) ) /* labeled "4" */
12703 ROM_LOAD( "scobra2j.bin", 0x4000, 0x1000, CRC(0d8f6b6e) SHA1(0ca0096cd55cdb87d14cb7f4c7c7b853ec1661c7) ) /* labeled "5" */
12704 ROM_LOAD( "6.2l", 0x5000, 0x1000, CRC(10a474d9) SHA1(3ba7ea791ab7b97bb4276550591812134f891708) )
12705
12706 ROM_REGION( 0x10000, "audiocpu", 0 )
12707 ROM_LOAD( "epr1275.5c", 0x0000, 0x0800, CRC(deeb0dd3) SHA1(b815a586f05361b75078d58f1fddfdb36f9d8fae) ) /* all the rom stickers are reflective and have white printing, except this one has green and was labeled "10" and is at position 11D */
12708 ROM_LOAD( "epr1276.5d", 0x0800, 0x0800, CRC(872c1a74) SHA1(20f05bf398ad2690f5ba4e4158ad62aeec226413) ) /* also labeled "10" but in white and is at position 10D */
12709 ROM_LOAD( "9.9d", 0x1000, 0x0800, CRC(2b69b8f3) SHA1(89ed25e7295eff63b53046b78fcb7f6e78796873) )
12710
12711 ROM_REGION( 0x1000, "gfx1", 0 )
12712 ROM_LOAD( "epr1274.5h", 0x0000, 0x0800, CRC(64d113b4) SHA1(7b439bb74d5ecc792e0ca8964bcca8c6b7a51262) ) /* labeled "7" and is at position 5F, not H */
12713 ROM_LOAD( "epr1273.5f", 0x0800, 0x0800, CRC(a96316d3) SHA1(9de0e94932e91dc34aea7c81880bde6a486d103b) ) /* labeled "8" and is at position 5H, not F */
12714
12715 ROM_REGION( 0x0020, "proms", 0 )
12716 ROM_LOAD( "k.6e", 0x0000, 0x0020, CRC(fd35c561) SHA1(590f60beb443dd689c890c37cc100e0b936bf8c9) ) /* this dump matches the prom from scobrase, it was labeled "K" with a marker here at 6E */
12717 ROM_END
12718
12719
12720 /*
12721 Moonwar
12722
12723 Although the game displays Moonwar as the title the "original" Moon War is/was a prototype on Stern Berzerk/Frenzy hardware,
12724 see berzerk.cpp So this version is commonly refered to as Moon War II becuase the ROMs & PCB were labeled as MOON WAR II
12725
12726 NOTE: This version the title screen shows MOONWAR, on the prototype it specifically shows "MOON WAR"
12727
12728 A PCB picture shows the following label format:
12729
12730 MOON WAR II
12731 RA22 2C(-37)
12732 1981 STERN
12733
12734 ROMs labels:
12735
12736 On the A969 ASS'Y REV.B PCB:
12737 MOON WAR II RA22 2C(--37) 1981 STERN
12738 MOON WAR II RA22 2E(--37) 1981 STERN
12739 MOON WAR II RA22 2F(--37) 1981 STERN
12740 MOON WAR II RA22 2H(--36) 1981 STERN (yes this one is actually --36)
12741
12742 MOON WAR II RA20 5F(--37) 1981 STERN (blue dot on label)
12743 MOON WAR II RA20 5H(--37) 1981 STERN (blue dot on label)
12744
12745 MOONWAR II COLOR 6EA1 (color BPROM)
12746
12747 On the A970 ASS'Y REV.B PCB:
12748 MOON WAR II RA20 5C(--36) 1981 STERN
12749 MOON WAR II RA20 5D(--36) 1981 STERN
12750 - socket 5E NOT populated
12751
12752 NOTE: A PCB with ROMs at 2F & 2H specifically labeled as "RXA22" was dumped and verified to match the moonwara set below,
12753 it is unknown if the data is different then the ROMs labeled as "RA22" as shown above. However, according to these
12754 notes in the input code:
12755 Player 1 Dial: P1 dial works normally, P2 dial is reversed, both share same port
12756 Player 2 Dial: doesn't actually work due to bug in game code
12757 It would seem to indicate the code is different becuase for moonwar the issue was corrected.
12758 */
12759 ROM_START( moonwar )
12760 ROM_REGION( 0x10000, "maincpu", 0 )
12761 ROM_LOAD( "mw2.2c", 0x0000, 0x1000, CRC(7c11b4d9) SHA1(a27bdff6ce728647ec811df843ac235c32c293d6) ) /* Are these 4 the RA20 revision or a latter version?? not verified */
12762 ROM_LOAD( "mw2.2e", 0x1000, 0x1000, CRC(1b6362be) SHA1(2fbd95869146adcc0c8be1df653251fda8849e8e) )
12763 ROM_LOAD( "mw2.2f", 0x2000, 0x1000, CRC(4fd8ba4b) SHA1(3da784267a96d05f66b00626a22cb3f06211d202) )
12764 ROM_LOAD( "mw2.2h", 0x3000, 0x1000, CRC(56879f0d) SHA1(d1e9932863aebc5761e71fca8d24f3c400e1250d) )
12765
12766 ROM_REGION( 0x10000, "audiocpu", 0 )
12767 ROM_LOAD( "moon_war_ii_ra20_5c.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
12768 ROM_LOAD( "moon_war_ii_ra20_5d.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
12769
12770 ROM_REGION( 0x1000, "gfx1", 0 )
12771 ROM_LOAD( "moon_war_ii_ra20_5f.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
12772 ROM_LOAD( "moon_war_ii_ra20_5h.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
12773
12774 ROM_REGION( 0x0020, "proms", 0 )
12775 ROM_LOAD( "moonwar_ii_color_6ea1.6e", 0x0000, 0x0020, CRC(99614c6c) SHA1(f068985f3c5e0cd88551a02c32f9baeabfd50241) ) /* Labeled MOONWAR II COLOR 6EA1 */
12776 ROM_END
12777
12778 ROM_START( moonwara )
12779 ROM_REGION( 0x10000, "maincpu", 0 )
12780 ROM_LOAD( "moon_war_ii_ra22_2c.2c", 0x0000, 0x1000, CRC(bc20b734) SHA1(c6fe550987d0052979aad43c67aa1b9248049669) ) /* These 4 are verified RA22, but all were "--36" if that makes a difference */
12781 ROM_LOAD( "moon_war_ii_ra22_2e.2e", 0x1000, 0x1000, CRC(db6ffec2) SHA1(0fcd55b1e415e2e7041d10778052a235251f85fe) )
12782 ROM_LOAD( "moon_war_ii_rxa22_2f.2f", 0x2000, 0x1000, CRC(378931b8) SHA1(663f1eea9b0e8dc38de818df66c5211dac41c33b) ) /* These 2 were specifically labeled as "RXA22" for the revision */
12783 ROM_LOAD( "moon_war_ii_rxa22_2h.2h", 0x3000, 0x1000, CRC(031dbc2c) SHA1(5f2ca8b8763398bf161ee0c2c748a12d36cb40ec) ) /* These 2 were specifically labeled as "RXA22" for the revision */
12784
12785 ROM_REGION( 0x10000, "audiocpu", 0 )
12786 ROM_LOAD( "moon_war_ii_ra20_5c.5c", 0x0000, 0x0800, CRC(c26231eb) SHA1(5b19edfaefe1a535059311d067ea53405879d627) )
12787 ROM_LOAD( "moon_war_ii_ra20_5d.5d", 0x0800, 0x0800, CRC(bb48a646) SHA1(cf51202d16b03bbed12ff24501be68683f28c992) )
12788
12789 ROM_REGION( 0x1000, "gfx1", 0 )
12790 ROM_LOAD( "moon_war_ii_ra20_5f.5f", 0x0000, 0x0800, CRC(c5fa1aa0) SHA1(6c6b5b2ce5de278ff436d3e7252ece5b086cc41d) )
12791 ROM_LOAD( "moon_war_ii_ra20_5h.5h", 0x0800, 0x0800, CRC(a6ccc652) SHA1(286b3dc1f3a7da3ac66664e774b441ef075745f1) )
12792
12793 ROM_REGION( 0x0020, "proms", 0 )
12794 ROM_LOAD( "moonwar_ii_color_6ea1.6e", 0x0000, 0x0020, CRC(99614c6c) SHA1(f068985f3c5e0cd88551a02c32f9baeabfd50241) ) /* Labeled MOONWAR II COLOR 6EA1 */
12795 ROM_END
12796
12797
12798 ROM_START( armorcar )
12799 ROM_REGION( 0x10000, "maincpu", 0 )
12800 ROM_LOAD( "cpu.2c", 0x0000, 0x1000, CRC(0d7bfdfb) SHA1(47791d4fc298c25d29584dfcddcd92618e3750c5) )
12801 ROM_LOAD( "cpu.2e", 0x1000, 0x1000, CRC(76463213) SHA1(86dbbed25325cc8855c1eb39bbb11b0473b7f4b5) )
12802 ROM_LOAD( "cpu.2f", 0x2000, 0x1000, CRC(2cc6d5f0) SHA1(94abb33760aed206f0f90f035fe2977c1f2e26cf) )
12803 ROM_LOAD( "cpu.2h", 0x3000, 0x1000, CRC(61278dbb) SHA1(e12cd6c499af75f77e549499093fe6d2e8eddb1d) )
12804 ROM_LOAD( "cpu.2j", 0x4000, 0x1000, CRC(fb158d8c) SHA1(efa70e92c56678d4a404a96c72cfee317b15648c) )
12805
12806 ROM_REGION( 0x10000, "audiocpu", 0 )
12807 ROM_LOAD( "sound.5c", 0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
12808 ROM_LOAD( "sound.5d", 0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
12809
12810 ROM_REGION( 0x1000, "gfx1", 0 )
12811 ROM_LOAD( "cpu.5f", 0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
12812 ROM_LOAD( "cpu.5h", 0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
12813
12814 ROM_REGION( 0x0020, "proms", 0 )
12815 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
12816 ROM_END
12817
12818 ROM_START( armorcar2 )
12819 ROM_REGION( 0x10000, "maincpu", 0 )
12820 ROM_LOAD( "2c", 0x0000, 0x1000, CRC(e393bd2f) SHA1(6a5079d1f5d724e5f643cbc5352fc43d0b652e05) )
12821 ROM_LOAD( "2e", 0x1000, 0x1000, CRC(b7d443af) SHA1(1ce41e11a7fcfd039fbff03c4382ae29b601ed50) )
12822 ROM_LOAD( "2g", 0x2000, 0x1000, CRC(e67380a4) SHA1(a9a87e769d1ef223ae26241e9211c97b3d469656) )
12823 ROM_LOAD( "2h", 0x3000, 0x1000, CRC(72af7b37) SHA1(c9cd0a0a3e34fc7b12822f75eb511f0850703f55) )
12824 ROM_LOAD( "2j", 0x4000, 0x1000, CRC(e6b0dd7f) SHA1(98292fea03bff028ba924a49f0bfa49377018860) )
12825
12826 ROM_REGION( 0x10000, "audiocpu", 0 )
12827 ROM_LOAD( "sound.5c", 0x0000, 0x0800, CRC(54ee7753) SHA1(3ebfa2cadf33acb4d24aa50cfa4713355cc780a3) )
12828 ROM_LOAD( "sound.5d", 0x0800, 0x0800, CRC(5218fec0) SHA1(c8f84f1e6aafc544e5acf48b245e8b1edb63211e) )
12829
12830 ROM_REGION( 0x1000, "gfx1", 0 )
12831 ROM_LOAD( "cpu.5f", 0x0000, 0x0800, CRC(8a3da4d1) SHA1(4d2ef48aeb9099fdd145e11e2485e0bf8d87290d) )
12832 ROM_LOAD( "cpu.5h", 0x0800, 0x0800, CRC(85bdb113) SHA1(f62da0ea0c29feb10d8d1ce8de28fd750a53b40a) )
12833
12834 ROM_REGION( 0x0020, "proms", 0 )
12835 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
12836 ROM_END
12837
12838
12839 ROM_START( tazmania )
12840 ROM_REGION( 0x10000, "maincpu", 0 )
12841 ROM_LOAD( "2c.cpu", 0x0000, 0x1000, CRC(932c5a06) SHA1(f90040a12f579a05cb91eacbe49dae9b2c725592) )
12842 ROM_LOAD( "2e.cpu", 0x1000, 0x1000, CRC(ef17ce65) SHA1(e1372886a4a2ae58278772f49b4f3be35e0b65d1) )
12843 ROM_LOAD( "2f.cpu", 0x2000, 0x1000, CRC(43c7c39d) SHA1(3cfe97009e3c9236b118fa1beadc50f41584bd7e) )
12844 ROM_LOAD( "2h.cpu", 0x3000, 0x1000, CRC(be829694) SHA1(3885c95ae1704e7a472139740b87fc8dd9610e07) )
12845 ROM_LOAD( "2j.cpu", 0x4000, 0x1000, CRC(6e197271) SHA1(231141a95e4dcb54d8bbee346825702e52824c42) )
12846 ROM_LOAD( "2k.cpu", 0x5000, 0x1000, CRC(a1eb453b) SHA1(50ddfd1dd8cc8c2cde97e52d4ef90e6d10e27a53) )
12847
12848 ROM_REGION( 0x10000, "audiocpu", 0 )
12849 ROM_LOAD( "rom0.snd", 0x0000, 0x0800, CRC(b8d741f1) SHA1(a1bb8a1e0d6b34111f05c539c8e92fffacf5aa5c) )
12850
12851 ROM_REGION( 0x1000, "gfx1", 0 )
12852 ROM_LOAD( "5f.cpu", 0x0000, 0x0800, CRC(2c5b612b) SHA1(32e3a41a9a4a8b1285b6a195213ff0d98012360a) )
12853 ROM_LOAD( "5h.cpu", 0x0800, 0x0800, CRC(3f5ff3ac) SHA1(bc70eef54a45b52c14e35464e5f06b5eec554eb6) )
12854
12855 ROM_REGION( 0x0020, "proms", 0 )
12856 ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
12857 ROM_END
12858
12859
12860 ROM_START( anteater )
12861 ROM_REGION( 0x10000, "maincpu", 0 )
12862 ROM_LOAD( "ra1-2c", 0x0000, 0x1000, CRC(58bc9393) SHA1(7122782a69ef0d2196ec16833f229b6286802668) )
12863 ROM_LOAD( "ra1-2e", 0x1000, 0x1000, CRC(574fc6f6) SHA1(a1a213d215fe8502edf22383c3a6fb7c9b279d94) )
12864 ROM_LOAD( "ra1-2f", 0x2000, 0x1000, CRC(2f7c1fe5) SHA1(4cea7e66a85766a9cf9846bb5bc1ca4e6ee1f4e2) )
12865 ROM_LOAD( "ra1-2h", 0x3000, 0x1000, CRC(ae8a5da3) SHA1(1893d8293b25431d080b89f5b0874440d14e8d17) )
12866
12867 ROM_REGION( 0x10000, "audiocpu", 0 )
12868 ROM_LOAD( "ra4-5c", 0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
12869 ROM_LOAD( "ra4-5d", 0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
12870
12871 ROM_REGION( 0x1000, "gfx1", 0 )
12872 ROM_LOAD( "ra6-5f", 0x0000, 0x0800, CRC(4c3f8a08) SHA1(3152eef64903be1a82f09764821a3654f316197d) )
12873 ROM_LOAD( "ra6-5h", 0x0800, 0x0800, CRC(b30c7c9f) SHA1(d4ae040d1fd7e5a5d08c2f6968735c551119c207) )
12874
12875 ROM_REGION( 0x0020, "proms", 0 )
12876 ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
12877 ROM_END
12878
12879
12880 ROM_START( anteateruk )
12881 ROM_REGION( 0x10000, "maincpu", 0 )
12882 ROM_LOAD( "ant1.bin", 0x0000, 0x0400, CRC(69debc90) SHA1(2ad4c86a1cbaf86d0b76bb07b885f61bc6604009) )
12883 ROM_CONTINUE( 0x4600, 0x0a00 )
12884 ROM_CONTINUE( 0x6400, 0x1200 )
12885 ROM_LOAD( "ant2.bin", 0x7600, 0x0500, CRC(ab352805) SHA1(858928f2b57c324a7942c13e0e6a7717a36f6ffc) )
12886 ROM_CONTINUE( 0x8300, 0x1600 )
12887 ROM_CONTINUE( 0xa300, 0x0500 )
12888
12889 ROM_REGION( 0x10000, "audiocpu", 0 )
12890 ROM_LOAD( "ra4-5c", 0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
12891 ROM_LOAD( "ra4-5d", 0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
12892
12893 ROM_REGION( 0x1000, "gfx1", 0 )
12894 ROM_LOAD( "gfx_1.bin", 0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
12895 ROM_LOAD( "gfx_2.bin", 0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
12896
12897 ROM_REGION( 0x0020, "proms", 0 )
12898 ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
12899 ROM_END
12900
12901
12902 ROM_START( anteaterg )
12903 ROM_REGION( 0x10000, "maincpu", 0 )
12904 ROM_LOAD( "prg_2.bin", 0x0000, 0x0400, CRC(2ba793a8) SHA1(a97c96dcd55804d3b41856ece6477ec1c1e45892) )
12905 ROM_CONTINUE( 0x4600, 0x0a00 )
12906 ROM_CONTINUE( 0x6400, 0x1200 )
12907 ROM_LOAD( "prg_1.bin", 0x7600, 0x0500, CRC(7a798af5) SHA1(b4c8672c92b207a7a334dd3b78e57537b7d99b71) )
12908 ROM_CONTINUE( 0x8300, 0x1600 )
12909 ROM_CONTINUE( 0xa300, 0x0500 )
12910
12911 ROM_REGION( 0x10000, "audiocpu", 0 )
12912 ROM_LOAD( "ra4-5c", 0x0000, 0x0800, CRC(87300b4f) SHA1(b81b685ac1d353ff1cd40b876a7478b87b85e7a9) )
12913 ROM_LOAD( "ra4-5d", 0x0800, 0x0800, CRC(af4e5ffe) SHA1(62717a233cf9f58267af4a9e1c80479b373ab317) )
12914
12915 ROM_REGION( 0x1000, "gfx1", 0 )
12916 ROM_LOAD( "gfx_1.bin", 0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
12917 ROM_LOAD( "gfx_2.bin", 0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
12918
12919 ROM_REGION( 0x0020, "proms", 0 )
12920 ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
12921 ROM_END
12922
12923
12924 ROM_START( anteatergg )
12925 ROM_REGION( 0x10000, "maincpu", 0 )
12926 ROM_LOAD( "for1.bin", 0x0000, 0x0800, CRC(e28cd0be) SHA1(c7f648455a527077c6b8124628a2689e60222668) )
12927 ROM_LOAD( "for2.bin", 0x0800, 0x0800, CRC(be8de95c) SHA1(1bee4eadf190e9967fd5c1eea0a3b9b1e7658088) )
12928 ROM_LOAD( "for3.bin", 0x1000, 0x0800, CRC(5d79f4d0) SHA1(81a286469d08a5d9281f9f3c21ae479f5f62073e) )
12929 ROM_LOAD( "for4.bin", 0x1800, 0x0800, CRC(b8d981a5) SHA1(16972d26df8cb1a0a0616d9d80d3d383be5e8b71) )
12930 ROM_LOAD( "for5.bin", 0x2000, 0x0800, CRC(cdc89fda) SHA1(a3ceda7afccd4455fe627e1877797d5975ec92de) )
12931 ROM_LOAD( "for6.bin", 0x2800, 0x0800, CRC(8a80f838) SHA1(9ab7848ffd279ba99fbcb43ef3719db37731a5dd) )
12932 ROM_LOAD( "for7.bin", 0x3000, 0x0800, CRC(41966df4) SHA1(b9655fc257fe8d67861a737337fc0a185e68f602) )
12933 ROM_LOAD( "for8.bin", 0x3800, 0x0800, CRC(dc58265c) SHA1(763460aec5627fde9d75b77ee4ec7cbcdb9cc337) )
12934
12935 ROM_REGION( 0x1000, "gfx1", 0 )
12936 ROM_LOAD( "forb.bin", 0x0000, 0x0800, CRC(1e2824b1) SHA1(9527937db618505181f4d5a22bc532977a767232) )
12937 ROM_LOAD( "fora.bin", 0x0800, 0x0800, CRC(784319b3) SHA1(0c3612a428d0906b07b35782cc0f84fda13aab73) )
12938
12939 ROM_REGION( 0x0020, "proms", 0 )
12940 ROM_LOAD( "colr6f.cpu", 0x0000, 0x0020, CRC(fce333c7) SHA1(f63a214dc47c5e7c80db000b0b6a261ca8da6629) )
12941 ROM_END
12942
12943
12944 ROM_START( calipso )
12945 ROM_REGION( 0x10000, "maincpu", 0 )
12946 ROM_LOAD( "calipso.2c", 0x0000, 0x1000, CRC(0fcb703c) SHA1(2bb096f114911973afdf3088c860c9566df06f60) )
12947 ROM_LOAD( "calipso.2e", 0x1000, 0x1000, CRC(c6622f14) SHA1(475164aed703a97275ff285ecaec9d8fd4fe723b) )
12948 ROM_LOAD( "calipso.2f", 0x2000, 0x1000, CRC(7bacbaba) SHA1(d321d6d09c689123eb1e5d758d95ccecec225252) )
12949 ROM_LOAD( "calipso.2h", 0x3000, 0x1000, CRC(a3a8111b) SHA1(3d9500c676563ebfc27aebb07716e6a966f00c35) )
12950 ROM_LOAD( "calipso.2j", 0x4000, 0x1000, CRC(fcbd7b9e) SHA1(5cc1edcc8b9867bb7849c8d97d1096bb6464f562) )
12951 ROM_LOAD( "calipso.2l", 0x5000, 0x1000, CRC(f7630cab) SHA1(482ee91cccd8a7c5768a1d6a9772d797769fe2dc) )
12952
12953 ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for sound code */
12954 ROM_LOAD( "calipso.5c", 0x0000, 0x0800, CRC(9cbc65ab) SHA1(b4ce04d18f9536c0ddd2f9c15edda75570e750e5) )
12955 ROM_LOAD( "calipso.5d", 0x0800, 0x0800, CRC(a225ee3b) SHA1(dba111f89851c69fb6fce16219cb2b0cb3294c15) )
12956
12957 ROM_REGION( 0x4000, "gfx1", 0 )
12958 ROM_LOAD( "calipso.5f", 0x0000, 0x2000, CRC(fd4252e9) SHA1(881b988cdc9b7913f577573f8a15af7a7c7cc67f) )
12959 ROM_LOAD( "calipso.5h", 0x2000, 0x2000, CRC(1663a73a) SHA1(95b6ed25b656afdfb70fac35efa2e005185e4343) )
12960
12961 ROM_REGION( 0x0020, "proms", 0 )
12962 ROM_LOAD( "calipso.clr", 0x0000, 0x0020, CRC(01165832) SHA1(bfef0459492dbd5febf3030916b6438eb6be71de) )
12963 ROM_END
12964
12965
12966 /*
12967 Lost Tomb
12968
12969 CPU/Sound Board: A969
12970 Video Board: A2048
12971 */
12972
12973 ROM_START( losttomb )
12974 ROM_REGION( 0x10000, "maincpu", 0 )
12975 ROM_LOAD( "2c", 0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
12976 ROM_LOAD( "2e", 0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
12977 ROM_LOAD( "2f", 0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
12978 ROM_LOAD( "2h-easy", 0x3000, 0x1000, CRC(054481b6) SHA1(b0f5d19af0336883e4d9813e58a75c176a63a987) )
12979 ROM_LOAD( "2j", 0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
12980 ROM_LOAD( "2l", 0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
12981 ROM_LOAD( "2m", 0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
12982
12983 ROM_REGION( 0x10000, "audiocpu", 0 )
12984 ROM_LOAD( "5c", 0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
12985 ROM_LOAD( "5d", 0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
12986
12987 ROM_REGION( 0x1000, "gfx1", 0 )
12988 ROM_LOAD( "5f", 0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
12989 ROM_LOAD( "5h", 0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
12990
12991 ROM_REGION( 0x0020, "proms", 0 )
12992 ROM_LOAD( "ltprom", 0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
12993 ROM_END
12994
12995 ROM_START( losttombh )
12996 ROM_REGION( 0x10000, "maincpu", 0 )
12997 ROM_LOAD( "2c", 0x0000, 0x1000, CRC(d6176d2c) SHA1(bc2bf63ee8d3e376f155d218704ceb5adcdf8e54) )
12998 ROM_LOAD( "2e", 0x1000, 0x1000, CRC(a5f55f4a) SHA1(3609fc2b15b6856e81738bbd370250735dba694d) )
12999 ROM_LOAD( "2f", 0x2000, 0x1000, CRC(0169fa3c) SHA1(2c06b1deca6c80d067032bfc2386da6ab0111e5f) )
13000 ROM_LOAD( "lthard", 0x3000, 0x1000, CRC(e32cbf0e) SHA1(c4a63e01fad7bd450def5c4412690d4bb8d12691) )
13001 ROM_LOAD( "2j", 0x4000, 0x1000, CRC(249ee040) SHA1(7297039e95e67220fa3e75fc50635f4df4c46a86) )
13002 ROM_LOAD( "2l", 0x5000, 0x1000, CRC(c7d2e608) SHA1(8aabecabd1dcd6833fb581e4571d71a680e6563a) )
13003 ROM_LOAD( "2m", 0x6000, 0x1000, CRC(bc4bc5b1) SHA1(95ffa72e57d1da10ddeda4d9333c9e0a2fb33e82) )
13004
13005 ROM_REGION( 0x10000, "audiocpu", 0 )
13006 ROM_LOAD( "5c", 0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
13007 ROM_LOAD( "5d", 0x0800, 0x0800, CRC(6907af31) SHA1(8496c8db5342129d81381eec196facbca45bca77) )
13008
13009 ROM_REGION( 0x1000, "gfx1", 0 )
13010 ROM_LOAD( "5f", 0x0000, 0x0800, CRC(61f137e7) SHA1(8bff09bc29fa829e21e6b36f7b3f67f19f6bbb26) )
13011 ROM_LOAD( "5h", 0x0800, 0x0800, CRC(5581de5f) SHA1(763dacb0d2183c159e7f1f04c7ecb1182da18abf) )
13012
13013 ROM_REGION( 0x0020, "proms", 0 )
13014 ROM_LOAD( "ltprom", 0x0000, 0x0020, CRC(1108b816) SHA1(49fdb08f8f31fefa2f3dca3d3455318cb21847a3) )
13015 ROM_END
13016
13017
13018 ROM_START( spdcoin )
13019 ROM_REGION( 0x10000, "maincpu", 0 )
13020 ROM_LOAD( "spdcoin.2c", 0x0000, 0x1000, CRC(65cf1e49) SHA1(a4570f0d7868fcdd378de3fd9e5346780afcf427) )
13021 ROM_LOAD( "spdcoin.2e", 0x1000, 0x1000, CRC(1ee59232) SHA1(b58c1de69d33cf80432012b9b6d8b1e3d8b00662) )
13022
13023 ROM_REGION( 0x10000, "audiocpu", 0 )
13024 ROM_LOAD( "spdcoin.5c", 0x0000, 0x0800, CRC(b4cf64b7) SHA1(a95d94be2e374b78b4ba49b6931f0c214ff9d033) )
13025 ROM_LOAD( "spdcoin.5d", 0x0800, 0x0800, CRC(92304df0) SHA1(01471bf7cbea0090933a253b1b46f80c8f240df5) )
13026
13027 ROM_REGION( 0x1000, "gfx1", 0 )
13028 ROM_LOAD( "spdcoin.5f", 0x0000, 0x0800, CRC(dd5f1dbc) SHA1(e7c40972a7530cac19ce04de3272244959d337ab) )
13029 ROM_LOAD( "spdcoin.5h", 0x0800, 0x0800, CRC(ab1fe81b) SHA1(98057932cb5faad60d425b547590ab22bfc67ff6) )
13030
13031 ROM_REGION( 0x0020, "proms", 0 )
13032 ROM_LOAD( "spdcoin.clr", 0x0000, 0x0020, CRC(1a2ccc56) SHA1(58bedaa8b3e21e916295603b38529084b6c0099a) )
13033 ROM_END
13034
13035
13036 ROM_START( superbon )
13037 ROM_REGION( 0x10000, "maincpu", 0 )
13038 ROM_LOAD( "2d.cpu", 0x0000, 0x1000, CRC(60c0ba18) SHA1(6ad09e01dd3c86c8d9c465916227c9b00f38e025) )
13039 ROM_LOAD( "2e.cpu", 0x1000, 0x1000, CRC(ddcf44bf) SHA1(b862622f4aa8af6da568b4f82ef043359ece530f) )
13040 ROM_LOAD( "2f.cpu", 0x2000, 0x1000, CRC(bb66c2d5) SHA1(cbb7f4279ae48460790cb8abf976b978ae6a1a25) )
13041 ROM_LOAD( "2h.cpu", 0x3000, 0x1000, CRC(74f4f04d) SHA1(d51c5d2c21453ee0dab60253c3124b6112d1f859) )
13042 ROM_LOAD( "2j.cpu", 0x4000, 0x1000, CRC(78effb08) SHA1(64f211b34c2f37c25a36200b393f145b39ae67b5) )
13043 ROM_LOAD( "2l.cpu", 0x5000, 0x1000, CRC(e9dcecbd) SHA1(ec61cec2b66c041872a2ca29cf724a89c73fc9a3) )
13044 ROM_LOAD( "2m.cpu", 0x6000, 0x1000, CRC(3ed0337e) SHA1(975b93aee851867e335614419aa6db16fbf8063f) )
13045
13046 ROM_REGION( 0x10000, "audiocpu", 0 )
13047 ROM_LOAD( "5c", 0x0000, 0x0800, CRC(b899be2a) SHA1(9b343a682531255104db61177a43ad933c3af34e) )
13048 ROM_LOAD( "5d.snd", 0x0800, 0x0800, CRC(80640a04) SHA1(83f2bafcfa5737441194d3058a76b2582317cfcb) )
13049
13050 ROM_REGION( 0x1000, "gfx1", 0 )
13051 ROM_LOAD( "5f.cpu", 0x0000, 0x0800, CRC(5b9d4686) SHA1(c7814aefaccab9c8a3a0b015447d366cd2e43c3a) )
13052 ROM_LOAD( "5h.cpu", 0x0800, 0x0800, CRC(58c29927) SHA1(b88515d9c3108d2ad59f30fed5d74877b1636280) )
13053
13054 /* The conversion instructions do not mention color proms: */
13055 /* http://www.arcadeflyers.com/?page=flyer&db=videodb&id=5353&image=2 */
13056 /* However, pages may be missing. In addition, it is mentioned that the */
13057 /* conversion kit may be used for Scramble, Amidar and Frogger as well. */
13058 /* They all have different color proms. We use the prom from Super Cobra */
13059 /* for now and mark it as bad dump until we have more information. */
13060 ROM_REGION( 0x0020, "proms", 0 )
13061 ROM_LOAD( "82s123.6e", 0x0000, 0x0020, BAD_DUMP CRC(9b87f90d) SHA1(d11ac5e4a6057301ea2a9cbb404c2b978eb4c1dc) )
13062 ROM_END
13063
13064 ROM_START( jungsub )
13065 ROM_REGION( 0x10000, "maincpu", 0 )
13066 ROM_LOAD( "j1.2b", 0x0000, 0x1000, CRC(15735d45) SHA1(3546154dcd3cf9ce47e921b9b687c00b3b550ccb) )
13067 ROM_LOAD( "j2.2d", 0x1000, 0x1000, CRC(7147a43d) SHA1(3f82da4b61626737f02e32db75c437cafcd5e5e3) )
13068 ROM_LOAD( "j3.3b", 0x2000, 0x1000, CRC(f65484ee) SHA1(b971a9c857813f0c83f5d73a2a3842d91569170d) )
13069 ROM_LOAD( "jc4.3d", 0x3000, 0x1000, CRC(16d23732) SHA1(ca4327709f1af5d4c97ae64e377022055595c215) )
13070
13071 ROM_REGION( 0x10000, "audiocpu", 0 )
13072 ROM_LOAD( "j13.1c", 0x0000, 0x0800, CRC(414b011e) SHA1(2f714ce4266f192ff4e86c347f90811bcc896429) )
13073 ROM_LOAD( "j14.1d", 0x0800, 0x0800, CRC(1f8c6a58) SHA1(e07ae7e4968ac8ec3c22a30ebd1e9f75abeec776) )
13074
13075 /* There is twice as much GFX data here as an original 'Jungler'
13076
13077 This appears to be because the Rally X / Jungler hardware supports both X and Y tile flipping, a feature
13078 which Jungler needs. Galaxian / Scramble hardware does not support tile flipping.
13079
13080 Adding flipped copies of all the tiles would require 4x ROM capacity (normal, Flip X, Flip Y, Flip XY)
13081 but instead of doing this Subelectro worked out which tiles needed flipped copies and managed to squeeze
13082 them into twice the space instead. Unfortunately this means constructing data to replace the bad rom
13083 is NOT a process that can be automated. */
13084 ROM_REGION( 0x2000, "gfx1", 0 )
13085 ROM_LOAD( "j9.4b", 0x0000, 0x0800, CRC(230e6b60) SHA1(9f0dd68bf760567f0e56455ac72e819b3e677743) )
13086 ROM_LOAD( "j10.4c", 0x0800, 0x0800, CRC(4b32a431) SHA1(701a4e2dfa7686de50bdec7c7f9182192ec25159) )
13087 ROM_LOAD( "jc11.4d", 0x1000, 0x0800, BAD_DUMP CRC(5dee4e2d) SHA1(86b98e55602ef2a740f978bb2fcc4b3f81fcc61a) ) // rom is bad, dump entirely garbage
13088 ROM_LOAD( "jc12.4f", 0x1800, 0x0800, CRC(6de4827a) SHA1(ffd04abb9f64f88adea81892caa919f84c68ced5) )
13089
13090 ROM_REGION( 0x0020, "cpuprom", 0 )
13091 ROM_LOAD( "kap.cpu", 0x0000, 0x0020, CRC(27efa693) SHA1(b2ad3b52c254193a7492fe5e6785c167326ce866) )
13092
13093 ROM_REGION( 0x0020, "proms", 0 )
13094 ROM_LOAD( "prom.6e", 0x0000, 0x0020, CRC(2430f47c) SHA1(f7725f4768cb57717feb18891766642f6d7cbcde) )
13095 ROM_END
13096
13097 ROM_START( victoryc )
13098 ROM_REGION( 0x4000, "maincpu", ROMREGION_ERASEFF )
13099 ROM_LOAD( "1.1", 0x0000, 0x0800, CRC(8a590687) SHA1(71558a9eb8020f3769f07089d5704317f6018d9a) )
13100 ROM_LOAD( "2.2", 0x0800, 0x0800, CRC(575ac583) SHA1(352cb6c5cdc898ef2935aaae582455dc0237ac49) )
13101 ROM_LOAD( "3.3", 0x1000, 0x0800, CRC(cbe67cfb) SHA1(80b42e2443ba36f2a4b2b27f22be7292d6bc9689) )
13102 ROM_LOAD( "4.4", 0x1800, 0x0800, CRC(025b6626) SHA1(b6b80c2a9aa991cd0c5ff7127f4495dcd8c2fbe5) )
13103 // ROM_LOAD( "5.5", 0x2000, 0x0800, NO_DUMP ) // wasn't populated, not used?
13104
13105 ROM_REGION( 0x1000, "gfx1", 0 )
13106 ROM_LOAD( "df.1k", 0x0000, 0x0800, CRC(15e98c93) SHA1(af273ec2df93b78b439d4aff649eb4b6c6d05ee3) )
13107 ROM_LOAD( "a4.1h", 0x0800, 0x0800, CRC(cd35a7e2) SHA1(deeb853f924dd964a254bcdb6924cd2fd71aabdc) )
13108
13109 ROM_REGION( 0x0020, "proms", 0 )
13110 ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(25329e5a) SHA1(aff60d02aa4d1d5f16e2d32155c315deee8b4089) )
13111 ROM_END
13112
13113 /* The bootleg is just a decrypted version of the above, although there was an additional rom '5' on the bootleg PCB
13114 The extra rom contains a repeating pattern and looks like it might be a bad dump, but doesn't even seem to be used
13115 by the game. It is not the result of applying the decryption process to blank data either.
13116
13117 The PCB had a Laboratorios F.A.R. sticker on it, this might have been a distributor rather than the manufacturer tho.
13118 */
13119 ROM_START( victorycb )
13120 ROM_REGION( 0x4000, "maincpu", ROMREGION_ERASEFF )
13121 ROM_LOAD( "v1.bin", 0x0000, 0x0800, CRC(de985696) SHA1(20f5cb7b9efd9f1a2896eb65fe5c54e0ffb1f61f) )
13122 ROM_LOAD( "v2.bin", 0x0800, 0x0800, CRC(59042c1e) SHA1(94498ca14f66c8f5ae9a08b0d7c057f033ccfb3b) )
13123 ROM_LOAD( "v3.bin", 0x1000, 0x0800, CRC(ca3a6965) SHA1(36ba8659a1fb616f2247eb1b50c67c2c45723a68) )
13124 ROM_LOAD( "v4.bin", 0x1800, 0x0800, CRC(16b47fad) SHA1(8af840f3fd523283a605005f6a91ad2ea10be04b) )
13125 ROM_LOAD( "v5.bin", 0x2000, 0x0800, BAD_DUMP CRC(f60be3be) SHA1(ef45bec22db10c485ae2ddf5723c5cf241edb823) ) // unused? there was no rom5 on the original
13126
13127 ROM_REGION( 0x1000, "gfx1", 0 )
13128 ROM_LOAD( "v6.bin", 0x0000, 0x0800, CRC(15e98c93) SHA1(af273ec2df93b78b439d4aff649eb4b6c6d05ee3) )
13129 ROM_LOAD( "v7.bin", 0x0800, 0x0800, CRC(cd35a7e2) SHA1(deeb853f924dd964a254bcdb6924cd2fd71aabdc) )
13130
13131 ROM_REGION( 0x0020, "proms", 0 )
13132 ROM_LOAD( "prom.6l", 0x0000, 0x0020, CRC(25329e5a) SHA1(aff60d02aa4d1d5f16e2d32155c315deee8b4089) )
13133 ROM_END
13134
13135
13136 /*************************************
13137 *
13138 * Game drivers
13139 * Galaxian-derived games
13140 *
13141 *************************************/
13142
13143 // Basic galaxian hardware
13144 GAME( 1979, galaxian, 0, galaxian, galaxian, galaxian_state, init_galaxian, ROT90, "Namco", "Galaxian (Namco set 1)", MACHINE_SUPPORTS_SAVE )
13145 GAME( 1979, galaxiana, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "Namco", "Galaxian (Namco set 2)", MACHINE_SUPPORTS_SAVE )
13146 GAME( 1979, galaxianm, galaxian, galaxian, galaxian, galaxian_state, init_galaxian, ROT90, "Namco (Midway license)", "Galaxian (Midway set 1)", MACHINE_SUPPORTS_SAVE )
13147 GAME( 1979, galaxianmo, galaxian, galaxian, galaxianmo, galaxian_state, init_galaxian, ROT90, "Namco (Midway license)", "Galaxian (Midway set 2)", MACHINE_SUPPORTS_SAVE )
13148 GAME( 1979, galaxiant, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "Namco (Taito license)", "Galaxian (Taito)", MACHINE_SUPPORTS_SAVE )
13149 GAME( 1979, galaxiani, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "Namco (Irem license)", "Galaxian (Irem)", MACHINE_SUPPORTS_SAVE )
13150
13151 // Straight Galaxian ripoffs on basic galaxian hardware
13152 GAME( 1979, superg, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "hack", "Super Galaxians (galaxiana hack)", MACHINE_SUPPORTS_SAVE )
13153 GAME( 1979, supergs, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "hack", "Super Galaxians (Silver Systems)", MACHINE_SUPPORTS_SAVE )
13154 GAME( 1979, galturbo, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "hack", "Galaxian Turbo (superg hack)", MACHINE_SUPPORTS_SAVE )
13155 GAME( 1979, galap1, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "hack", "Space Invaders Galactica (galaxiana hack)", MACHINE_SUPPORTS_SAVE )
13156 GAME( 1979, galap4, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "hack (G.G.I)", "Galaxian Part 4 (hack)", MACHINE_SUPPORTS_SAVE )
13157 GAME( 1979, zerotime, galaxian, galaxian, zerotime, galaxian_state, init_galaxian, ROT90, "bootleg? (Petaco S.A.)", "Zero Time (Petaco S.A.)", MACHINE_SUPPORTS_SAVE )
13158 GAME( 1979, galaktron, galaxian, galaxian, zerotime, galaxian_state, init_galaxian, ROT90, "bootleg (Petaco S.A.)", "Galaktron (Petaco S.A.)", MACHINE_SUPPORTS_SAVE )
13159 GAME( 1979, zerotimed, galaxian, galaxian, zerotime, galaxian_state, init_galaxian, ROT90, "bootleg (Datamat)", "Zero Time (Datamat)", MACHINE_SUPPORTS_SAVE ) // a 1994 bootleg of the Petaco bootleg
13160 GAME( 1979, zerotimemc, galaxian, galaxian, zerotime, galaxian_state, init_galaxian, ROT90, "bootleg (Marti Colls)", "Zero Time (Marti Colls)", MACHINE_SUPPORTS_SAVE )
13161 GAME( 1979, zerotimeu, galaxian, galaxian, zerotime, galaxian_state, init_galaxian, ROT90, "bootleg", "Zero Time (Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13162 GAME( 1979, galaxcirsa, galaxian, galaxian, zerotime, galaxian_state, init_galaxian, ROT90, "bootleg (Cirsa)", "Galaxian (Cirsa Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13163 GAME( 1979, starfght, galaxian, galaxian, swarm, galaxian_state, init_galaxian, ROT90, "bootleg (Jeutel)", "Star Fighter", MACHINE_SUPPORTS_SAVE )
13164 GAME( 1979, galaxbsf, galaxian, galaxian, galaxian, galaxian_state, init_galaxian, ROT90, "bootleg", "Galaxian (bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
13165 GAME( 1979, galaxianbl, galaxian, galaxian, galaxianbl, galaxian_state, init_galaxian, ROT90, "bootleg", "Galaxian (bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
13166 GAME( 1979, galaxbsf2, galaxian, galaxian, galaxian, galaxian_state, init_galaxian, ROT90, "bootleg", "Galaxian (bootleg, set 3)", MACHINE_SUPPORTS_SAVE )
13167 GAME( 1979, galaxianbl2, galaxian, galaxian, galaxianbl, galaxian_state, init_galaxian, ROT90, "bootleg", "Galaxian (bootleg, set 4)", MACHINE_SUPPORTS_SAVE )
13168 GAME( 1979, galaxianbl3, galaxian, galaxian, zerotime, galaxian_state, init_galaxian, ROT90, "bootleg", "Galaxian (Spanish bootleg)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // unique color PROM that gives strange colors. Unfortunately PCB doesn't work so it cannot be verified
13169 GAME( 1980, galaxrf, galaxian, galaxian, galaxrf, galaxian_state, init_galaxian, ROT90, "bootleg (Recreativos Franco S.A.)", "Galaxian (Recreativos Franco S.A. Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13170 GAME( 1980, galaxrfgg, galaxian, galaxian, galaxrf, galaxian_state, init_galaxian, ROT90, "bootleg (Recreativos Franco S.A.)", "Galaxian Growing Galaxip / Galaxian Nave Creciente (Recreativos Franco S.A. Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13171 GAME( 1980, galaxrcgg, galaxian, galaxian, galaxrf, galaxian_state, init_galaxian, ROT90, "bootleg (Recreativos Covadonga)", "Galaxian Growing Galaxip / Galaxian Nave Creciente (Recreativos Covadonga Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13172 GAME( 1979, galaxianrp, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "bootleg (Valadon Automation / Rene Pierre)", "Galaxian (Rene Pierre bootleg)", MACHINE_SUPPORTS_SAVE )
13173 GAME( 1979, galaxyx, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "bootleg", "Galaxy X (bootleg of Galaxian)", MACHINE_SUPPORTS_SAVE )
13174
13175 // These have the extra 'linescroll effect' title screens, like Moon Alien 2 but made out of a random tile, they lack an energy bar.
13176 GAME( 1979, moonaln, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "Namco / Nichibutsu (Karateco license?)", "Moon Alien", MACHINE_SUPPORTS_SAVE ) // or bootleg?
13177 GAME( 1979, galapx, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "hack", "Galaxian Part X (moonaln hack)", MACHINE_SUPPORTS_SAVE )
13178
13179 // Like above but does have the energy bar, also GFX changed to planes.
13180 GAME( 1979, kamikazp, galaxian, galaxian, kamikazp, galaxian_state, init_galaxian, ROT90, "bootleg (Potomac Games)", "Kamikaze (Potomac Games, bootleg of Galaxian)", MACHINE_SUPPORTS_SAVE )
13181
13182 // This has the tiles to display the energy bar, but use the flag gfx for the 'linescroll effect' title screen, also doesn't work due to bad rom.
13183 GAME( 1980, supergx, galaxian, galaxian, superg, galaxian_state, init_galaxian, ROT90, "Namco / Nichibutsu", "Super GX", MACHINE_NOT_WORKING | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
13184
13185 // These have the energy bar, and the tiles needed to display a less corrupt 'linescroll effect' title, but don't display one
13186 GAME( 1979, swarm, galaxian, galaxian, swarm, galaxian_state, init_galaxian, ROT90, "bootleg? (Subelectro)", "Swarm (bootleg?)", MACHINE_SUPPORTS_SAVE )
13187 GAME( 1980, astrians, galaxian, galaxian, swarm, galaxian_state, init_galaxian, ROT90, "bootleg (BGV Ltd.)", "Astrians (clone of Swarm)", MACHINE_SUPPORTS_SAVE )
13188
13189 GAME( 19??, tst_galx, galaxian, galaxian, galaxian, galaxian_state, init_galaxian, ROT90, "<unknown>", "Galaxian Test ROM", MACHINE_SUPPORTS_SAVE )
13190
13191
13192 // Other games on basic galaxian hardware
13193 GAME( 1981, blkhole, 0, galaxian, blkhole, galaxian_state, init_galaxian, ROT90, "TDS & MINTS", "Black Hole", MACHINE_SUPPORTS_SAVE )
13194 GAME( 1982, orbitron, 0, galaxian, orbitron, galaxian_state, init_galaxian, ROT270, "Comsoft (Signatron USA license)", "Orbitron", MACHINE_SUPPORTS_SAVE ) // there's a Comsoft copyright in one of the roms, and the gameplay is the same as Victory below
13195 GAME( 1980, luctoday, 0, galaxian, luctoday, galaxian_state, init_galaxian, ROT270, "Sigma", "Lucky Today", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
13196 GAME( 19??, chewing, luctoday, galaxian, luctoday, galaxian_state, init_galaxian, ROT90, "<unknown>", "Chewing Gum", MACHINE_SUPPORTS_SAVE )
13197 GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian_state, init_galaxian, ROT90, "MTM Games", "Catacomb", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
13198 GAME( 19??, omegab, theend, galaxian, omegab, galaxian_state, init_galaxian, ROT270, "bootleg?", "Omega (bootleg?)", MACHINE_SUPPORTS_SAVE )
13199 GAME( 1982, highroll, 0, highroll, highroll, galaxian_state, init_highroll, ROT90, "bootleg?", "High Roller", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // auto starts game after inserting coin, bad cards GFX, bad inputs response, not all inputs are mapped
13200
13201 // Basic hardware + extra RAM
13202 GAME( 1982, victoryc, 0, victoryc, victoryc, galaxian_state, init_victoryc, ROT270, "Comsoft", "Victory (Comsoft)", MACHINE_SUPPORTS_SAVE )
13203 GAME( 1982, victorycb, victoryc, victoryc, victoryc, galaxian_state, init_galaxian, ROT270, "bootleg", "Victory (Comsoft) (bootleg)", MACHINE_SUPPORTS_SAVE )
13204
13205 // These games require the coin lockout mechanism to be disabled
13206 GAME( 1981, warofbug, 0, galaxian, warofbug, galaxian_state, init_nolock, ROT90, "Armenia / Food and Fun Corp", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", MACHINE_SUPPORTS_SAVE )
13207 GAME( 1981, warofbugu, warofbug, galaxian, warofbug, galaxian_state, init_nolock, ROT90, "Armenia / Super Video Games", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (US)", MACHINE_SUPPORTS_SAVE )
13208 GAME( 1981, warofbugg, warofbug, galaxian, warofbug, galaxian_state, init_warofbugg, ROT90, "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (German)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
13209 GAME( 1981, spactrai, warofbug, spactrai, spactrai, galaxian_state, init_nolock, ROT90, "Celv", "Space Train", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
13210 GAME( 1981, redufo, 0, galaxian, redufo, galaxian_state, init_nolock, ROT270, "Artic", "Defend the Terra Attack on the Red UFO", MACHINE_SUPPORTS_SAVE ) // is this the original?
13211 GAME( 1981, redufob, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) // rev A?
13212 GAME( 1981, redufob2, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
13213 GAME( 19??, exodus, redufo, galaxian, redufo, galaxian_state, init_nolock, ROT90, "bootleg? (Subelectro)", "Exodus (bootleg?)", MACHINE_SUPPORTS_SAVE )
13214 GAME( 1983, tdpgal, 0, galaxian, tdpgal, galaxian_state, init_nolock, ROT90, "Design Labs / Thomas Automatics", "Triple Draw Poker", MACHINE_SUPPORTS_SAVE )
13215 GAME( 1979, kamakazi3, galaxian, galaxian, superg, galaxian_state, init_nolock, ROT90, "hack", "Kamakazi III (superg hack)", MACHINE_SUPPORTS_SAVE )
13216
13217 // Different bullet color
13218 GAME( 1982, azurian, 0, galaxian, azurian, galaxian_state, init_azurian, ROT90, "Rait Electronics Ltd", "Azurian Attack", MACHINE_SUPPORTS_SAVE )
13219
13220 // Extra characters controlled via bank at $6002
13221 GAME( 19??, pisces, 0, galaxian, pisces, galaxian_state, init_pisces, ROT90, "Subelectro", "Pisces", MACHINE_SUPPORTS_SAVE )
13222 GAME( 19??, piscesb, pisces, galaxian, piscesb, galaxian_state, init_pisces, ROT90, "bootleg", "Pisces (bootleg)", MACHINE_SUPPORTS_SAVE )
13223 GAME( 19??, omni, pisces, galaxian, piscesb, galaxian_state, init_pisces, ROT90, "bootleg", "Omni", MACHINE_SUPPORTS_SAVE )
13224 GAME( 1980, uniwars, 0, galaxian, superg, galaxian_state, init_pisces, ROT90, "Irem", "UniWar S", MACHINE_SUPPORTS_SAVE )
13225 GAME( 1980, uniwarsa, uniwars, galaxian, superg, galaxian_state, init_pisces, ROT90, "bootleg (Karateco)", "UniWar S (bootleg)", MACHINE_SUPPORTS_SAVE )
13226 GAME( 1980, mltiwars, uniwars, galaxian, superg, galaxian_state, init_pisces, ROT90, "bootleg (Gayton Games)", "Multi Wars (bootleg of UniWar S)", MACHINE_SUPPORTS_SAVE )
13227 GAME( 1980, gteikoku, uniwars, galaxian, superg, galaxian_state, init_pisces, ROT90, "Irem", "Gingateikoku no Gyakushu", MACHINE_SUPPORTS_SAVE )
13228 GAME( 1980, gteikokub, uniwars, galaxian, gteikokub, galaxian_state, init_pisces, ROT270, "bootleg", "Gingateikoku no Gyakushu (bootleg set 1)", MACHINE_SUPPORTS_SAVE )
13229 GAME( 1980, gteikokub2, uniwars, galaxian, gteikokub2, galaxian_state, init_pisces, ROT90, "bootleg", "Gingateikoku no Gyakushu (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
13230 GAME( 1980, gteikokub3, uniwars, galaxian, superg, galaxian_state, init_pisces, ROT90, "bootleg (Honly)", "Gingateikoku no Gyakushu (bootleg set 3)", MACHINE_SUPPORTS_SAVE )
13231 GAME( 1980, spacbatt, uniwars, galaxian, spacbatt, galaxian_state, init_pisces, ROT90, "bootleg", "Space Battle (bootleg set 1)", MACHINE_SUPPORTS_SAVE )
13232 GAME( 1980, spacbat2, uniwars, galaxian, spacbatt, galaxian_state, init_pisces, ROT90, "bootleg", "Space Battle (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
13233 GAME( 1980, spacempr, uniwars, galaxian, spacbatt, galaxian_state, init_pisces, ROT90, "bootleg", "Space Empire (bootleg)", MACHINE_SUPPORTS_SAVE )
13234 GAME( 1980, skyraidr, uniwars, galaxian, superg, galaxian_state, init_pisces, ROT90, "bootleg", "Sky Raider (Uniwars bootleg)", MACHINE_SUPPORTS_SAVE )
13235 GAME( 1980, galemp, uniwars, galaxian, superg, galaxian_state, init_pisces, ROT90, "bootleg (Taito do Brasil)", "Galaxy Empire (bootleg?)", MACHINE_SUPPORTS_SAVE ) // Clearly a hack, but was it licensed?
13236 GAME( 1980, asideral, uniwars, galaxian, asideral, galaxian_state, init_pisces, ROT90, "bootleg (Electrogame S.A.)", "Ataque Sideral (Spanish bootleg of UniWar S)", MACHINE_SUPPORTS_SAVE )
13237 GAME( 1980, pajaroes, uniwars, galaxian, asideral, galaxian_state, init_pisces, ROT90, "bootleg (PSV S.A.)", "Pajaro del Espacio (Spanish bootleg of UniWar S)", MACHINE_SUPPORTS_SAVE ) // Very similar to 'asideral'
13238
13239 // Artic Multi-System games - separate tile/sprite ROMs
13240 GAME( 1980, streakng, 0, pacmanbl, streakng, galaxian_state, init_galaxian, ROT90, "Shoei", "Streaking (set 1)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
13241 GAME( 1980, streaknga, streakng, pacmanbl, streakng, galaxian_state, init_galaxian, ROT90, "Shoei", "Streaking (set 2)", MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE )
13242 GAME( 1981, pacmanbl, puckman, pacmanbl, pacmanbl, galaxian_state, init_pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 1)", MACHINE_SUPPORTS_SAVE )
13243 GAME( 1981, pacmanbla, puckman, pacmanbl, pacmanbl, galaxian_state, init_pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 2)", MACHINE_SUPPORTS_SAVE )
13244 GAME( 1981, pacmanblb, puckman, pacmanbl, pacmanblb, galaxian_state, init_pacmanbl, ROT90, "bootleg", "Pac-Man (Moon Alien 'AL-10A1' hardware)", MACHINE_SUPPORTS_SAVE ) // Doesn't have separate tile / sprite roms, probably should move it
13245 GAME( 1981, pacmanblc, puckman, pacmanbl, pacmanbl, galaxian_state, init_pacmanbl, ROT270, "bootleg (Calfesa)", "Pac-Man (Calfesa, Spanish bootleg on Galaxian hardware)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // same PROM as Moon Cresta, gives very strange colors and sprites get cut
13246 GAME( 1981, pacmanblv, puckman, pacmanbl, pacmanbl, galaxian_state, init_pacmanbl, ROT270, "bootleg (Video Dens)", "Pac-Man (Video Dens, Spanish bootleg on Galaxian hardware)", MACHINE_SUPPORTS_SAVE )
13247 GAME( 1981, ghostmun, puckman, pacmanbl, streakng, galaxian_state, init_ghostmun, ROT90, "bootleg (Leisure and Allied)", "Ghost Muncher", MACHINE_SUPPORTS_SAVE )
13248 GAME( 1981, phoenxp2, phoenix, galaxian, phoenxp2, galaxian_state, init_batman2, ROT270, "bootleg", "Phoenix Part 2", MACHINE_SUPPORTS_SAVE )
13249 GAME( 1981, batman2, phoenix, galaxian, batman2, galaxian_state, init_batman2, ROT270, "bootleg", "Batman Part 2", MACHINE_SUPPORTS_SAVE ) // Similar to pisces, but with different video banking characteristics
13250 GAME( 1983, ladybugg, ladybug, galaxian, ladybugg, galaxian_state, init_batman2, ROT270, "bootleg", "Lady Bug (bootleg on Galaxian hardware)", MACHINE_SUPPORTS_SAVE )
13251 GAME( 1981, atlantisb, atlantis, galaxian, atlantib, galaxian_state, init_galaxian, ROT270, "bootleg", "Battle of Atlantis (bootleg)", MACHINE_SUPPORTS_SAVE ) // I don't know if this should have a starfield...
13252 GAME( 1982, tenspot, 0, tenspot, tenspot, galaxian_state, init_tenspot, ROT270, "Thomas Automatics", "Ten Spot", MACHINE_NOT_WORKING ) // Work out how menu works
13253
13254 // Separate tile/sprite ROMs, plus INT instead of NMI
13255 GAME( 1984, devilfsg, devilfsh, pacmanbl, devilfsg, galaxian_state, init_devilfsg, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", MACHINE_SUPPORTS_SAVE )
13256
13257 // Sound hardware replaced with AY8910
13258 // We're missing the original set by Taito do Brasil, we only have the bootlegs
13259 GAME( 1982, zigzagb, 0, zigzag, zigzag, galaxian_state, init_zigzag, ROT90, "bootleg (LAX)", "Zig Zag (Dig Dug conversion on Galaxian hardware, bootleg set 1)", MACHINE_SUPPORTS_SAVE ) // rewrite of Dig Dug (!) not a clone
13260 GAME( 1982, zigzagb2, zigzagb, zigzag, zigzag, galaxian_state, init_zigzag, ROT90, "bootleg (LAX)", "Zig Zag (Dig Dug conversion on Galaxian hardware, bootleg set 2)", MACHINE_SUPPORTS_SAVE )
13261
13262 // multi-game select via external switch
13263 GAME( 1981, gmgalax, 0, gmgalax, gmgalax, gmgalax_state, init_gmgalax, ROT90, "bootleg", "Ghostmuncher Galaxian (bootleg)", MACHINE_SUPPORTS_SAVE )
13264
13265 // Multigames
13266 GAME( 2002, fourplay, 0, fourplay, galaxian, galaxian_state, init_fourplay, ROT90, "Macro", "Four Play", MACHINE_SUPPORTS_SAVE )
13267 GAME( 2001, videight, 0, videight, warofbug, galaxian_state, init_videight, ROT90, "Macro", "Video Eight", MACHINE_SUPPORTS_SAVE )
13268
13269
13270 /*************************************
13271 *
13272 * Game drivers
13273 * Moon Cresta-derived games
13274 *
13275 *************************************/
13276
13277 // Based on Galaxian, but with altered address map for more ROM
13278 GAME( 1980, mooncrst, 0, mooncrst, mooncrst, galaxian_state, init_mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu)", MACHINE_SUPPORTS_SAVE )
13279 GAME( 1980, mooncrstuk, mooncrst, mooncrst, mooncrst, galaxian_state, init_mooncrst, ROT90, "Nichibutsu UK", "Moon Cresta (Nichibutsu UK)", MACHINE_SUPPORTS_SAVE )
13280 GAME( 1980, mooncrstuku, mooncrst, mooncrst, mooncrst, galaxian_state, init_mooncrsu, ROT90, "Nichibutsu UK", "Moon Cresta (Nichibutsu UK, unencrypted)", MACHINE_SUPPORTS_SAVE )
13281 GAME( 1980, mooncrstu, mooncrst, mooncrst, mooncrst, galaxian_state, init_mooncrst, ROT90, "Nichibutsu USA", "Moon Cresta (Nichibutsu USA, encrypted)", MACHINE_SUPPORTS_SAVE )
13282 GAME( 1980, mooncrstuu, mooncrst, mooncrst, mooncrst, galaxian_state, init_mooncrsu, ROT90, "Nichibutsu USA", "Moon Cresta (Nichibutsu USA, unencrypted)", MACHINE_SUPPORTS_SAVE )
13283 GAME( 1980, mooncrsto, mooncrst, mooncrst, mooncrsa, galaxian_state, init_mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu, old rev)", MACHINE_SUPPORTS_SAVE )
13284 GAME( 1980, mooncrstg, mooncrst, mooncrst, mooncrsg, galaxian_state, init_mooncrsu, ROT90, "Nichibutsu (Gremlin license)", "Moon Cresta (Gremlin)", MACHINE_SUPPORTS_SAVE )
13285
13286 // Straight Moon Cresta ripoffs on basic mooncrst hardware
13287 GAME( 1980, eagle, mooncrst, eagle, mooncrsa, galaxian_state, init_mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 1)", MACHINE_SUPPORTS_SAVE ) // Or bootleg?
13288 GAME( 1980, eagle2, mooncrst, eagle, eagle2, galaxian_state, init_mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 2)", MACHINE_SUPPORTS_SAVE ) // "
13289 GAME( 1980, eagle3, mooncrst, eagle, mooncrsa, galaxian_state, init_mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 3)", MACHINE_SUPPORTS_SAVE ) // "
13290 GAME( 1980, mooncrsb, mooncrst, mooncrst, mooncrsa, galaxian_state, init_mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 1)", MACHINE_SUPPORTS_SAVE )
13291 GAME( 1980, mooncrs2, mooncrst, mooncrst, mooncrsa, galaxian_state, init_mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 2)", MACHINE_SUPPORTS_SAVE )
13292 GAME( 1980, mooncrs3, mooncrst, mooncrst, mooncrst, galaxian_state, init_mooncrsu, ROT90, "bootleg (Jeutel)", "Moon Cresta (bootleg set 3)", MACHINE_SUPPORTS_SAVE ) // Jeutel bootleg, similar to bootleg set 2
13293 GAME( 1980, mooncrs4, mooncrst, mooncrst, mooncrst, galaxian_state, init_mooncrsu, ROT90, "bootleg (SG-Florence)", "Moon Crest (Moon Cresta bootleg)", MACHINE_SUPPORTS_SAVE )
13294 GAME( 1980, mooncrs5, mooncrst, mooncrst, mooncrst, galaxian_state, init_mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 4)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
13295 GAME( 1980, fantazia, mooncrst, mooncrst, fantazia, galaxian_state, init_mooncrsu, ROT90, "bootleg (Subelectro)", "Fantazia (bootleg?)", MACHINE_SUPPORTS_SAVE )
13296 GAME( 1981?,spctbird, mooncrst, mooncrst, eagle2, galaxian_state, init_mooncrsu, ROT90, "bootleg (Fortrek)", "Space Thunderbird", MACHINE_SUPPORTS_SAVE )
13297 GAME( 1980?,smooncrs, mooncrst, mooncrst, smooncrs, galaxian_state, init_mooncrsu, ROT90, "bootleg (Gremlin)", "Super Moon Cresta (Gremlin, bootleg)", MACHINE_SUPPORTS_SAVE ) // Probably a bootleg, still has the 'POR' text in the bottom right corner that the Sonic version has?!
13298 GAME( 1980, mooncrstso, mooncrst, mooncrst, mooncptc, galaxian_state, init_mooncrsu, ROT90, "bootleg (Sonic)", "Moon Cresta (SegaSA / Sonic)", MACHINE_SUPPORTS_SAVE )
13299 GAME( 1980?,mooncptc, mooncrst, mooncrst, mooncptc, galaxian_state, init_mooncrsu, ROT90, "bootleg (Petaco S.A.)", "Moon Cresta (Petaco S.A. Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13300 GAME( 1980?,sirio2, mooncrst, mooncrst, mooncptc, galaxian_state, init_mooncrsu, ROT90, "bootleg (Calfesa S.L.)", "Sirio II (Calfesa S.L. Spanish Moon Cresta bootleg)", MACHINE_SUPPORTS_SAVE )
13301 GAME( 1980?,ataqandr, mooncrst, mooncrst, mooncptc, galaxian_state, init_mooncrsu, ROT90, "bootleg (FAR S.A.)", "Ataque Androide - Moon Cresta (FAR S.A. Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13302 // There may be an alternate version called "Star Crest" according to flyers; is it the same?
13303 GAME( 1980?,sstarcrs, mooncrst, mooncrst, mooncrsg, galaxian_state, init_mooncrsu, ROT90, "bootleg (Taito do Brasil)", "Super Star Crest", MACHINE_SUPPORTS_SAVE )
13304 GAME( 198?, mooncmw, mooncrst, mooncrst, mooncrsa, galaxian_state, init_mooncrsu, ROT90, "bootleg", "Moon War (Moon Cresta bootleg)", MACHINE_SUPPORTS_SAVE )
13305 GAME( 198?, starfgmc, mooncrst, mooncrst, mooncrsa, galaxian_state, init_mooncrsu, ROT90, "bootleg (Samyra Engineering)", "Starfighter (Moon Cresta bootleg)", MACHINE_SUPPORTS_SAVE )
13306 // The boards were marked 'Space Dragon' although this doesn't appear in the games.
13307 GAME( 1980, spcdrag, mooncrst, mooncrst, smooncrs, galaxian_state, init_mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
13308 GAME( 1980, spcdraga, mooncrst, mooncrst, smooncrs, galaxian_state, init_mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 2)", MACHINE_SUPPORTS_SAVE )
13309 GAME( 1980, mooncreg, mooncrst, mooncrst, mooncreg, galaxian_state, init_mooncrsu, ROT90, "bootleg (Electrogame S.A.)", "Moon Cresta (Electrogame S.A. Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13310 GAME( 1980, mooncrsl, mooncrst, mooncrst, mooncrsl, galaxian_state, init_mooncrsu, ROT90, "bootleg (Laguna S.A.)", "Cresta Mundo (Laguna S.A. Spanish Moon Cresta bootleg)", MACHINE_SUPPORTS_SAVE )
13311 GAME( 1980, stera, mooncrst, mooncrst, smooncrs, galaxian_state, init_mooncrsu, ROT90, "bootleg", "Steraranger (Moon Cresta bootleg)", MACHINE_SUPPORTS_SAVE )
13312 GAME( 1980, mooncrgx, mooncrst, galaxian, mooncrgx, galaxian_state, init_mooncrgx, ROT270, "bootleg", "Moon Cresta (Galaxian hardware)", MACHINE_SUPPORTS_SAVE )
13313
13314 GAME( 1980, moonqsr, 0, moonqsr, moonqsr, galaxian_state, init_moonqsr, ROT90, "Nichibutsu", "Moon Quasar", MACHINE_SUPPORTS_SAVE )
13315
13316 // These have an energy bar, and 'rowscroll effect' title made out of the energy bar tiles.
13317 GAME( 1980, moonal2, 0, mooncrst, moonal2, galaxian_state, init_galaxian, ROT90, "Namco / Nichibutsu", "Moon Alien Part 2", MACHINE_SUPPORTS_SAVE )
13318 GAME( 1980, moonal2b, moonal2, mooncrst, moonal2, galaxian_state, init_galaxian, ROT90, "Namco / Nichibutsu", "Moon Alien Part 2 (older version)", MACHINE_SUPPORTS_SAVE )
13319
13320 // Larger romspace, interrupt enable moved
13321 GAME( 198?, thepitm, thepit, thepitm, thepitm, galaxian_state, init_mooncrsu, ROT90, "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", MACHINE_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta
13322
13323 // Other games on basic mooncrst hardware
13324 GAME( 1982, skybase, 0, skybase, skybase, galaxian_state, init_skybase, ROT90, "Omori Electric Co., Ltd.", "Sky Base", MACHINE_SUPPORTS_SAVE )
13325 GAME( 198?, kong, 0, kong, kong, galaxian_state, init_kong, ROT90, "Taito do Brasil", "Kong (Donkey Kong conversion on Galaxian hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_WRONG_COLORS ) // rewrite of Donkey Kong (!) not a clone
13326
13327 // Larger romspace, 2*AY8910, based on Super Star Crest board?
13328 // There may be an alternate version called "Fantasy" according to flyers; is it the same?
13329 GAME( 198?, fantastc, 0, fantastc, fantastc, galaxian_state, init_fantastc, ROT90, "Taito do Brasil", "Fantastic (Galaga conversion on Galaxian hardware)", MACHINE_SUPPORTS_SAVE ) // rewrite of Galaga (!) not a clone
13330
13331 // Like fantastc, plus larger spriteram, and maybe different bullet hw(?)
13332 GAME( 198?, timefgtr, 0, timefgtr, timefgtr, galaxian_state, init_timefgtr, ROT90, "Taito do Brasil", "Time Fighter (Time Pilot conversion on Galaxian hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_WRONG_COLORS ) // rewrite of Time Pilot (!) not a clone
13333
13334 // Extra ROMs, protection, and sound hardware replaced with AY8910
13335 GAME( 1981, jumpbug, 0, jumpbug, jumpbug, galaxian_state, init_jumpbug, ROT90, "Hoei (Rock-Ola license)", "Jump Bug", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // or by Alpha Denshi Co. under contract from Hoei?
13336 GAME( 1981, jumpbugb, jumpbug, jumpbug, jumpbug, galaxian_state, init_jumpbug, ROT90, "bootleg", "Jump Bug (bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // bootleg of Sega license
13337 GAME( 1983, levers, 0, jumpbug, levers, galaxian_state, init_jumpbug, ROT90, "Rock-Ola", "Levers", MACHINE_SUPPORTS_SAVE )
13338
13339 // 2nd CPU driving AY8910 for sound
13340 GAME( 1982, checkman, 0, checkman, checkman, galaxian_state, init_checkman, ROT90, "Zilec-Zenitone", "Check Man", MACHINE_SUPPORTS_SAVE )
13341 GAME( 1982, checkmanj, checkman, checkmaj, checkmaj, galaxian_state, init_checkmaj, ROT90, "Zilec-Zenitone (Jaleco license)", "Check Man (Japan)", MACHINE_SUPPORTS_SAVE )
13342 GAME( 1983, dingo, 0, checkmaj, dingo, galaxian_state, init_dingo, ROT90, "Ashby Computers and Graphics Ltd. (Jaleco license)", "Dingo", MACHINE_SUPPORTS_SAVE )
13343 GAME( 1983, dingoe, dingo, checkman, dingo, galaxian_state, init_dingoe, ROT90, "Ashby Computers and Graphics Ltd.", "Dingo (encrypted)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
13344
13345 // Crazy Climber sound plus AY8910 instead of galaxian sound, plus INT instead of NMI
13346 GAME( 1981, mshuttle, 0, mshuttle, mshuttle, galaxian_state, init_mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US? set 1)", MACHINE_SUPPORTS_SAVE )
13347 GAME( 1981, mshuttle2, mshuttle, mshuttle, mshuttle, galaxian_state, init_mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US? set 2)", MACHINE_SUPPORTS_SAVE )
13348 GAME( 1981, mshuttlea, mshuttle, mshuttle, mshuttle, galaxian_state, init_mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US, version A)", MACHINE_SUPPORTS_SAVE )
13349 GAME( 1981, mshuttlej, mshuttle, mshuttle, mshuttle, galaxian_state, init_mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 1)", MACHINE_SUPPORTS_SAVE )
13350 GAME( 1981, mshuttlej2, mshuttle, mshuttle, mshuttle, galaxian_state, init_mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 2)", MACHINE_SUPPORTS_SAVE )
13351
13352 // 2nd CPU driving DAC for sound
13353 GAME( 1980, kingball, 0, kingball, kingball, galaxian_state, init_kingball, ROT90, "Namco", "King & Balloon (US)", MACHINE_SUPPORTS_SAVE )
13354 GAME( 1980, kingballj, kingball, kingball, kingball, galaxian_state, init_kingball, ROT90, "Namco", "King & Balloon (Japan)", MACHINE_SUPPORTS_SAVE )
13355
13356
13357
13358 /*************************************
13359 *
13360 * Game drivers
13361 * Konami games
13362 *
13363 *************************************/
13364
13365 // Frogger based hardware: 2nd Z80, AY-8910A, 2 8255 PPI for I/O, custom background
13366 GAME( 1981, frogger, 0, frogger, frogger, galaxian_state, init_frogger, ROT90, "Konami", "Frogger", MACHINE_SUPPORTS_SAVE )
13367 GAME( 1981, froggers1, frogger, frogger, frogger, galaxian_state, init_frogger, ROT90, "Konami (Sega license)", "Frogger (Sega set 1)", MACHINE_SUPPORTS_SAVE )
13368 GAME( 1981, froggers2, frogger, frogger, frogger, galaxian_state, init_frogger, ROT90, "Konami (Sega license)", "Frogger (Sega set 2)", MACHINE_SUPPORTS_SAVE )
13369 GAME( 1981, froggers3, frogger, frogger, frogger, galaxian_state, init_frogger, ROT90, "Konami (Sega license)", "Frogger (Sega set 3)", MACHINE_SUPPORTS_SAVE )
13370 GAME( 1981, froggermc, frogger, froggermc, froggermc, galaxian_state, init_froggermc, ROT90, "Konami (Sega license)", "Frogger (Moon Cresta hardware)", MACHINE_SUPPORTS_SAVE )
13371 GAME( 1981, froggers, frogger, froggers, frogger, galaxian_state, init_froggers, ROT90, "bootleg", "Frog", MACHINE_SUPPORTS_SAVE )
13372 GAME( 1981, frogf, frogger, frogf, frogger, galaxian_state, init_froggers, ROT90, "bootleg (Falcon)", "Frog (Falcon bootleg)", MACHINE_SUPPORTS_SAVE )
13373 GAME( 1981, frogg, frogger, frogg, frogg, galaxian_state, init_frogg, ROT90, "bootleg", "Frog (Galaxian hardware)", MACHINE_SUPPORTS_SAVE )
13374 GAME( 1981, froggrs, frogger, froggers, frogger, galaxian_state, init_froggrs, ROT90, "bootleg (Coin Music)", "Frogger (Coin Music, bootleg on Scramble hardware)", MACHINE_SUPPORTS_SAVE )
13375 GAME( 1981, froggervd, frogger, froggervd, frogger, galaxian_state, init_quaak, ROT90, "bootleg (Hermatic)", "Frogger (Hermatic, bootleg on Scramble hardware from Video Dens)", MACHINE_SUPPORTS_SAVE )
13376 GAME( 1981, quaak, frogger, quaak, frogger, galaxian_state, init_quaak, ROT90, "bootleg", "Quaak (bootleg of Frogger)", MACHINE_SUPPORTS_SAVE ) // closest to Super Cobra hardware, presumably a bootleg from Germany (Quaak is the German frog sound)
13377 GAME( 1981, froggeram, frogger, froggeram, froggeram, galaxian_state, init_quaak, ROT90, "bootleg", "Frogger (bootleg on Amigo? hardware)", MACHINE_SUPPORTS_SAVE ) // meant to be Amigo hardware, but maybe a different bootleg than the one we have?
13378
13379 // Turtles based hardware
13380 // CPU/Video Board: KT-4108-2
13381 // Sound Board: KT-4108-1
13382 GAME( 1981, turtles, 0, turtles, turtles, galaxian_state, init_turtles, ROT90, "Konami (Stern Electronics license)", "Turtles", MACHINE_SUPPORTS_SAVE )
13383 GAME( 1981, turpin, turtles, turtles, turpin, galaxian_state, init_turtles, ROT90, "Konami (Sega license)", "Turpin", MACHINE_SUPPORTS_SAVE )
13384 GAME( 1981, 600, turtles, turtles, turtles, galaxian_state, init_turtles, ROT90, "Konami", "600", MACHINE_SUPPORTS_SAVE )
13385 GAME( 1981, turpins, turtles, turpins, turtles, galaxian_state, init_turtles, ROT90, "bootleg", "Turpin (bootleg on Super Cobra hardware)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // needs different sound timer
13386
13387 GAME( 1982, amidar, 0, turtles, amidaru, galaxian_state, init_turtles, ROT90, "Konami", "Amidar", MACHINE_SUPPORTS_SAVE )
13388 GAME( 1981, amidar1, amidar, turtles, amidar, galaxian_state, init_turtles, ROT90, "Konami", "Amidar (older)", MACHINE_SUPPORTS_SAVE )
13389 GAME( 1982, amidaru, amidar, turtles, amidaru, galaxian_state, init_turtles, ROT90, "Konami (Stern Electronics license)", "Amidar (Stern Electronics)", MACHINE_SUPPORTS_SAVE )
13390 GAME( 1982, amidaro, amidar, turtles, amidaro, galaxian_state, init_turtles, ROT90, "Konami (Olympia license)", "Amidar (Olympia)", MACHINE_SUPPORTS_SAVE )
13391 GAME( 1982, amidarb, amidar, turtles, amidaru, galaxian_state, init_turtles, ROT90, "bootleg", "Amidar (bootleg)", MACHINE_SUPPORTS_SAVE ) // Similar to Amigo bootleg
13392 GAME( 1982, amigo, amidar, turtles, amidaru, galaxian_state, init_turtles, ROT90, "bootleg", "Amigo (bootleg of Amidar, set 1)", MACHINE_SUPPORTS_SAVE )
13393 GAME( 1982, amigo2, amidar, amigo2, amidaru, galaxian_state, init_amigo2, ROT90, "bootleg", "Amigo (bootleg of Amidar, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // sound timer might be different?
13394 GAME( 1982, amidars, amidar, scramble, amidars, galaxian_state, init_scramble, ROT90, "Konami", "Amidar (Scramble hardware)", MACHINE_SUPPORTS_SAVE )
13395 GAME( 1982, mandinga, amidar, scramble, amidars, galaxian_state, init_mandinga, ROT90, "bootleg (Artemi)", "Mandinga (Artemi bootleg of Amidar)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // color PROM needs bitswap<8> on addressing, reference: http://www.youtube.com/watch?v=6uGK4AZxV2U
13396 GAME( 1982, mandingaeg, amidar, scramble, amidars, galaxian_state, init_mandingaeg, ROT90, "bootleg (Electrogame S.A.)", "Mandinga (Electrogame S.A. bootleg of Amidar)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
13397 GAME( 1982, mandingarf, amidar, mandingarf, mandingarf, galaxian_state, init_galaxian, ROT90, "bootleg (Recreativos Franco S.A.)", "Mandanga (bootleg of Mandinga on Galaxian hardware, set 1)", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // assume same issue as mandinga
13398 GAME( 1982, mandingac, amidar, mandingarf, mandingarf, galaxian_state, init_galaxian, ROT90, "bootleg (Centromatic)", "Mandanga (bootleg of Mandinga on Galaxian hardware, set 2)", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // assume same issue as mandinga
13399 GAME( 1982, olmandingo, amidar, mandingarf, olmandingo, galaxian_state, init_galaxian, ROT90, "bootleg", "Olivmandingo (Spanish bootleg of Mandinga on Galaxian hardware, set 1)", MACHINE_SUPPORTS_SAVE )
13400 GAME( 1982, olmandingc, amidar, mandingarf, olmandingo, galaxian_state, init_galaxian, ROT90, "bootleg (Calfesa)", "Olivmandingo (Spanish bootleg of Mandinga on Galaxian hardware, set 2)", MACHINE_SUPPORTS_SAVE )
13401
13402 // The End/Scramble based hardware
13403 GAME( 1980, theend, 0, theend, theend, galaxian_state, init_theend, ROT90, "Konami", "The End", MACHINE_SUPPORTS_SAVE )
13404 GAME( 1980, theends, theend, theend, theend, galaxian_state, init_theend, ROT90, "Konami (Stern Electronics license)", "The End (Stern Electronics)", MACHINE_SUPPORTS_SAVE )
13405 GAME( 1981, theendss, theend, theend, theend, galaxian_state, init_theend, ROT90, "bootleg (Sonic)", "The End (SegaSA / Sonic)", MACHINE_SUPPORTS_SAVE )
13406 GAME( 1981, takeoff, theend, takeoff, explorer, galaxian_state, init_explorer, ROT90, "bootleg (Sidam)", "Take Off (bootleg of The End)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // colors likely need bitswap<8> somewhere; needs different sound timer. reference: https://www.youtube.com/watch?v=iPYX3yJORTE
13407
13408 GAME( 1981, scramble, 0, scramble, scramble, galaxian_state, init_scramble, ROT90, "Konami", "Scramble", MACHINE_SUPPORTS_SAVE )
13409 GAME( 1981, scrambles, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "Konami (Stern Electronics license)", "Scramble (Stern Electronics set 1)", MACHINE_SUPPORTS_SAVE )
13410 GAME( 1981, scrambles2, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "Konami (Stern Electronics license)", "Scramble (Stern Electronics set 2)", MACHINE_SUPPORTS_SAVE )
13411 GAME( 1981, strfbomb, scramble, scramble, strfbomb, galaxian_state, init_scramble, ROT90, "bootleg (Omni)", "Strafe Bomb (bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
13412 GAME( 1981, explorer, scramble, explorer, explorer, galaxian_state, init_explorer, ROT90, "bootleg (Sidam)", "Explorer (bootleg of Scramble)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // needs different sound timer
13413 GAME( 1981, scramblebf, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Karateco)", "Scramble (Karateco, French bootleg)", MACHINE_SUPPORTS_SAVE )
13414 GAME( 1981, scrambp, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Billport S.A.)", "Impacto (Billport S.A., Spanish bootleg of Scramble)", MACHINE_SUPPORTS_SAVE ) // similar to the Karateco set above
13415 GAME( 1981, spctrek, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Video Game S.A.)", "Space Trek (Video Game S.A., Spanish bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
13416 GAME( 1981, scramce, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Centromatic S.A.)", "Scramble (Centromatic S.A., Spanish bootleg)", MACHINE_SUPPORTS_SAVE ) // similar to above
13417 GAME( 1981, scrampt, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Petaco S.A.)", "Scramble (Petaco S.A., Spanish bootleg)", MACHINE_SUPPORTS_SAVE ) // ^^
13418 GAME( 1981, scramrf, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Recreativos Franco)", "Scramble (Recreativos Franco, Spanish bootleg)", MACHINE_SUPPORTS_SAVE )
13419 GAME( 1981, offensiv, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Video Dens)", "Offensive (Spanish bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
13420 GAME( 1981, ncentury, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Petaco S.A.)", "New Century (Spanish bootleg of Scramble)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // irq isn't enabled correctly
13421 GAME( 1981, scrammr, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Model Racing)", "Scramble (Model Racing, Italian bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // irq isn't enabled correctly
13422 GAME( 1981, scramblebb, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg?", "Scramble (bootleg?)", MACHINE_SUPPORTS_SAVE )
13423 GAME( 1981, kamikazesp, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Euromatic S.A.)", "Kamikaze (Euromatic S.A., Spanish bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
13424 GAME( 198?, bomber, scramble, scramble, scramble, galaxian_state, init_scramble, ROT90, "bootleg (Alca)", "Bomber (bootleg of Scramble)", MACHINE_SUPPORTS_SAVE )
13425
13426 GAME( 1981, atlantis, 0, theend, atlantis, galaxian_state, init_atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 1)", MACHINE_SUPPORTS_SAVE )
13427 GAME( 1981, atlantis2, atlantis, theend, atlantis, galaxian_state, init_atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 2)", MACHINE_SUPPORTS_SAVE )
13428
13429 // Konami L-1200-2 base board with custom Subelectro 113 rom board
13430 GAME( 1981, jungsub, jungler, jungsub, jungsub, galaxian_state, init_jungsub, ROT90, "bootleg (Subelectro)", "Jungler (Subelectro, bootleg on Scramble hardware)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // mostly works, bad GFX ROM causes lots of glitches
13431
13432 // Scorpion hardware; based on Scramble but with a 3rd AY-8910 and a speech chip
13433 GAME( 1982, scorpion, 0, scorpion, scorpion, galaxian_state, init_scorpion, ROT90, "Zaccaria", "Scorpion (set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE)
13434 GAME( 1982, scorpiona, scorpion, scorpion, scorpion, galaxian_state, init_scorpion, ROT90, "Zaccaria", "Scorpion (set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE)
13435 GAME( 1982, scorpionb, scorpion, scorpion, scorpion, galaxian_state, init_scorpion, ROT90, "Zaccaria", "Scorpion (set 3)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE)
13436 GAME( 19??, scorpionmc, scorpion, scorpnmc, scorpnmc, galaxian_state, init_scorpnmc, ROT90, "bootleg? (Dorneer)", "Scorpion (Moon Cresta hardware)", MACHINE_SUPPORTS_SAVE )
13437 GAME( 19??, aracnis, scorpion, scorpnmc, aracnis, galaxian_state, init_scorpnmc, ROT90, "bootleg", "Aracnis (bootleg of Scorpion on Moon Cresta hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS )
13438
13439 // SF-X hardware; based on Scramble with extra Z80 and 8255 driving a DAC-based sample player
13440 GAME( 1983, sfx, 0, sfx, sfx, galaxian_state, init_sfx, ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", MACHINE_SUPPORTS_SAVE )
13441 GAME( 1983, skelagon, sfx, sfx, sfx, galaxian_state, init_sfx, ORIENTATION_FLIP_X, "Nichibutsu USA", "Skelagon", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE)
13442 GAME( 1982, monsterz, 0, monsterz, sfx, galaxian_state, init_sfx, ORIENTATION_FLIP_X, "Nihon Game", "Monster Zero", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
13443
13444
13445 /*
13446 Super Cobra
13447
13448 CPU/Video Board: A969
13449 Sound Board: A970
13450 */
13451 GAME( 1981, scobra, 0, scobra, scobra, galaxian_state, init_scobra, ROT90, "Konami", "Super Cobra", MACHINE_SUPPORTS_SAVE )
13452 GAME( 1981, scobrase, scobra, scobra, scobra, galaxian_state, init_scobra, ROT90, "Konami (Sega license)", "Super Cobra (Sega)", MACHINE_SUPPORTS_SAVE )
13453 GAME( 1981, scobras, scobra, scobra, scobras, galaxian_state, init_scobra, ROT90, "Konami (Stern Electronics license)", "Super Cobra (Stern Electronics)", MACHINE_SUPPORTS_SAVE )
13454 GAME( 1981, scobrae, scobra, scobra, scobras, galaxian_state, init_scobrae, ROT90, "Konami (Stern Electronics license)", "Super Cobra (Stern Electronics) (encrypted, KONATEC XC-103SS CPU)", MACHINE_SUPPORTS_SAVE )
13455 GAME( 1981, scobrae2, scobra, scobra, scobras, galaxian_state, init_scobrae, ROT90, "Konami", "Super Cobra (encrypted)", MACHINE_SUPPORTS_SAVE ) // same encryption as scobrae, no PCB pic so not sure it has the Konatec CPU or only some logic to simulate it
13456 GAME( 1981, scobrab, scobra, scobra, scobras, galaxian_state, init_scobra, ROT90, "bootleg (Karateco)", "Super Cobra (bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
13457 GAME( 1981, scobrag, scobra, scobra, scobras, galaxian_state, init_scobra, ROT90, "bootleg (A.V.G. by Zaccaria)", "Super Cobra (bootleg, set 2)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // uses the scramble color PROM
13458 GAME( 1981, scobraggi, scobra, scobra, scobras, galaxian_state, init_scobra, ROT90, "bootleg (Cocamatic)", "Super Cobra (bootleg, set 3)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // uses the scramble color PROM
13459 GAME( 1981, suprheli, scobra, scobra, scobras, galaxian_state, init_scobra, ROT90, "bootleg", "Super Heli (Super Cobra bootleg)", MACHINE_SUPPORTS_SAVE )
13460
13461 GAME( 1981, moonwar, 0, moonwar, moonwar, galaxian_state, init_moonwar, ROT90, "Stern Electronics", "Moonwar", MACHINE_SUPPORTS_SAVE )
13462 GAME( 1981, moonwara, moonwar, moonwar, moonwara, galaxian_state, init_moonwar, ROT90, "Stern Electronics", "Moonwar (older)", MACHINE_SUPPORTS_SAVE )
13463
13464 GAME( 1981, armorcar, 0, scobra, armorcar, galaxian_state, init_scobra, ROT90, "Stern Electronics", "Armored Car (set 1)", MACHINE_SUPPORTS_SAVE )
13465 GAME( 1981, armorcar2, armorcar, scobra, armorcar2, galaxian_state, init_scobra, ROT90, "Stern Electronics", "Armored Car (set 2)", MACHINE_SUPPORTS_SAVE )
13466
13467 GAME( 1982, tazmania, 0, scobra, tazmania, galaxian_state, init_scobra, ROT90, "Stern Electronics", "Tazz-Mania (set 1)", MACHINE_SUPPORTS_SAVE )
13468
13469
13470 /*
13471 Anteater (sold as conversion kit)
13472 CPU/Video Board: A969 (Has various wire mods)
13473 Sound Board: A970
13474 */
13475 GAME( 1982, anteater, 0, anteater, anteater, galaxian_state, init_anteater, ROT90, "Tago Electronics", "Anteater", MACHINE_SUPPORTS_SAVE )
13476 GAME( 1982, anteateruk, anteater, anteateruk, anteateruk, galaxian_state, init_anteateruk, ROT90, "Tago Electronics (Free Enterprise Games license", "The Anteater (UK)", MACHINE_SUPPORTS_SAVE ) // distributed in 1983
13477 GAME( 1982, anteaterg, anteater, anteaterg, anteateruk, galaxian_state, init_anteateruk, ROT90, "Tago Electronics (TV-Tuning license from Free Enterprise Games)", "Ameisenbaer (German)", MACHINE_SUPPORTS_SAVE )
13478 GAME( 1982, anteatergg, anteater, anteatergg, anteatergg, galaxian_state, init_galaxian, ROT90, "bootleg", "Ameisenbaer (German, Galaxian hardware)", MACHINE_SUPPORTS_SAVE )
13479
13480 GAME( 1982, calipso, 0, scobra, calipso, galaxian_state, init_calipso, ROT90, "Tago Electronics", "Calipso", MACHINE_SUPPORTS_SAVE )
13481
13482
13483 /*
13484 Lost Tomb
13485 CPU/Video Board: A969 (Has various wire mods)
13486 Sound Board: A2048
13487 */
13488 GAME( 1982, losttomb, 0, scobra, losttomb, galaxian_state, init_losttomb, ROT90, "Stern Electronics", "Lost Tomb (easy)", MACHINE_SUPPORTS_SAVE )
13489 GAME( 1982, losttombh, losttomb, scobra, losttomb, galaxian_state, init_losttomb, ROT90, "Stern Electronics", "Lost Tomb (hard)", MACHINE_SUPPORTS_SAVE )
13490
13491 GAME( 1984, spdcoin, 0, scobra, spdcoin, galaxian_state, init_scobra, ROT90, "Stern Electronics", "Speed Coin (prototype)", MACHINE_SUPPORTS_SAVE )
13492
13493 GAME( 1985, superbon, 0, scobra, superbon, galaxian_state, init_superbon, ROT90, "Signatron USA", "Agent Super Bond (Super Cobra conversion)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
13494