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