1 // license:BSD-3-Clause
2 // copyright-holders:Aaron Giles
3 /***************************************************************************
4 
5     Bally/Sente SAC-1 system
6 
7     driver by Aaron Giles
8 
9     Games supported:
10         * Chicken Shift
11         * Gimme a Break
12         * Goalie Ghost
13         * Gimme A Break (7/7/85)
14         * Grudge Match (v00.90, Italy, location test?)
15         * Grudge Match (v00.80, prototype)
16         * Hat Trick
17         * Mini Golf (11/25/85)
18         * Mini Golf (10/8/85)
19         * Name That Tune (set 1)
20         * Name That Tune (3/23/86)
21         * Night Stocker (10/6/86)
22         * Night Stocker (8/27/86)
23         * Off the Wall
24         * Rescue Raider (5/11/87) (non-cartridge)
25         * Rescue Raider (stand-alone)
26         * Sente Diagnostic Cartridge
27         * Shrike Avenger (prototype)
28         * Snacks'n Jaxson
29         * Snake Pit
30         * Snake Pit (9/14/84)
31         * Spiker
32         * Spiker (5/5/86)
33         * Spiker (6/9/86)
34         * Stocker (3/19/85)
35         * Stompin' (4/4/86)
36         * Street Football (11/12/86)
37         * Team Hat Trick
38         * Toggle (prototype)
39         * Trivial Pursuit (Think Tank - Genus Edition) (set 1)
40         * Trivial Pursuit (Think Tank - Genus Edition) (12/14/84)
41         * Trivial Pursuit (Genus II Edition)
42         * Trivial Pursuit (All Star Sports Edition)
43         * Trivial Pursuit (Young Players Edition)
44         * Trivial Pursuit (Baby Boomer Edition) (3/20/85)
45         * Trivial Pursuit (Volumen III, Spanish, Maibesa license)
46         * Trivial Pursuit (Volumen II, Spanish, Maibesa license)
47         * Trivial Pursuit (Volumen IV, Spanish, Maibesa hardware)
48         * Trivial Pursuit (Volumen V, Spanish, Maibesa hardware)
49 
50     Looking for ROMs for these:
51         * Euro Stocker
52         * Trivial Pursuit (Volumen I, Spanish, Maibesa)
53 
54     Known bugs:
55         * CEM3394 emulation is not perfect
56         * Shrike Avenger doesn't work properly
57         * triviaes4 and triviaes5 sets run on different hardware (from Maibesa) which isn't emulated yet
58 
59     Other:
60         * Some of the cartridge types are unknown
61         * Do any of the remaining unknown cartridge types contain a PAL
62           that needs to be dumped?
63 
64 ****************************************************************************
65 
66     Memory map
67 
68 ****************************************************************************
69 
70     ========================================================================
71     68A09E CPU
72     ========================================================================
73     0000-007F   R/W   xxxxxxxx    Sprite RAM (32 entries x 4 bytes)
74                 R/W   x-------       (0: Vertical flip)
75                 R/W   -x------       (0: Horizontal flip)
76                 R/W   ------xx       (0: Upper 2 bits of image number)
77                 R/W   xxxxxxxx       (1: Lower 8 bits of image number)
78                 R/W   xxxxxxxx       (2: Y position, offset by 17 pixels)
79                 R/W   xxxxxxxx       (3: X position)
80     0080-00DF   R/W   xxxxxxxx    Program RAM
81     00E0-00FF   R/W   xxxxxxxx    Additional sprite RAM (8 entries x 4 bytes)
82     0100-07FF   R/W   xxxxxxxx    Program RAM
83     0800-7FFF   R/W   xxxxxxxx    Video RAM (256x240 pixels)
84                 R/W   xxxx----       (left pixel)
85                 R/W   ----xxxx       (right pixel)
86     8000-8FFF   R/W   ----xxxx    Palette RAM (1024 entries x 4 bytes)
87                 R/W   ----xxxx       (0: red entry)
88                 R/W   ----xxxx       (1: green entry)
89                 R/W   ----xxxx       (2: blue entry)
90     9000-9007     W   --------    ADC start trigger, inputs 0-7
91     9400        R     xxxxxxxx    ADC data read
92     9800-9801     W   x-------    External output #0
93     9802-9803     W   x-------    External output #1
94     9804-9805     W   x-------    External output #2
95     9806-9807     W   x-------    External output #3
96     9808-9809     W   x-------    External output #4
97     980A-980B     W   x-------    External output #5
98     980C-980D     W   x-------    External output #6
99     980E-980F     W   x-------    NVRAM recall
100     9880          W   --------    Random number generator reset
101     98A0          W   -xxx----    A000-DFFF bank select
102     98C0          W   ------xx    Palette bank select
103     98E0          W   --------    Watchdog reset
104     9900        R     xxxxxxxx    DIP switch bank 1 (G) (active low)
105     9901        R     xxxxxxxx    DIP switch bank 2 (H) (active low)
106     9902        R     x-------    Self test (active low)
107                 R     -x------    Left coin (active low)
108                 R     --xxxxxx    External inputs (active low)
109     9903        R     x-------    VBLANK state (active high)
110                 R     -x------    Right coin (active low)
111                 R     --xxxx--    External inputs (active low)
112                 R     ------x-    Player 2 start (active low)
113                 R     -------x    Player 1 start (active low)
114     9A00        R     xxxxxxxx    Random number generator
115     9A04-9A05   R/W   xxxxxxxx    6850 UART I/O (to sound board)
116     9B00-9CFF   R/W   xxxxxxxx    NOVRAM
117     9F00          W   --x--xxx    Independent bank select (Night Stocker only?)
118     9e00-9fff   R/W               Shrike Avenger shares with 68k at 0x18000 (see Shrike notes below)
119     A000-BFFF   R     xxxxxxxx    Banked A/B ROM
120     C000-DFFF   R     xxxxxxxx    Banked C/D ROM
121     E000-FFFF   R     xxxxxxxx    Fixed program ROM
122     ========================================================================
123     Interrupts:
124         NMI not connected
125         IRQ generated by 32L
126         FIRQ generated by 6850 UART
127     ========================================================================
128 
129 
130     ========================================================================
131     Shrike SHM
132     Many thanks to Owen Rubin and Brian Deuel ( http://www.atarimuseum.com/orubin/ ) for their time,
133     interest, and memories!
134 
135     From Owen: The motor drive included 2 motors side by side at the rear of the cabinet with a U joint pivot
136     at the front. L & R motors were used independently for side to side "roll" motion, and together for pitch.
137     The motors were guarded by two sets of h/w limit switches - stop switch and (emergency) auto-reverse
138     switch - in tandem with soft limiting. The software calibrated the motors by running the motors slowly to
139     full limits and using the data for the soft limiting. (max chops?)
140 
141     The proto was never completed, there was to be a final round against a mother ship where you would have
142     to shoot out 4 engines and a target array. (He thinks there was another bank of sprite ROMs for this that
143     may never have been included.) He also says 'There was going to be a "death blossom" shot you could
144     use once that would have been a wild ride as well, but that motion was VERY tough in the simulator, so I
145     did not complete it.'
146 
147     Owen's recollection of the motion diagnostics screen, the second cursor is the controllers feedback
148     and should match the yoke cursor. Two of the channels (sine/bar) are probably calculated/reported
149     motor pos. Red sine meant over/underspeed or calculated/reported discrepancy. All memories came with
150     a disclaimer ;)
151 
152     Shrike shares 9e00 - 9fff as 18000 - 181ff, 9e00-9e0f as registers, and the rest as GFX RAM.
153     10000-1001f appear to be the interface to the motors/sensors.
154 
155     For more detailed (but unfinished as yet) disassembly of 68000, get me at my hotmail address, 'nuapete'
156     ========================================================================
157     m6809        m68000
158     9e00 RW - RW 18000 ($0,A3) : 6809 command register, commands in range 0-19
159                                 cmd $0 nop
160                                 cmd $10 check RAM
161                                 cmd $11 check u22 ( 0000-3FFE )
162                                 cmd $12 check u24 ( 0001-3FFF )
163                                 cmd $13 check "u26" ( 8000-BFFE ) \ these appear to be for unused expansion slots
164                                 cmd $14 check "u28" ( 8001-BFFF ) /
165                                 cmd $15 check IRQs
166                                 cmd $16 check FIRQs
167                                 cmd $17 fetch max chops
168                                 cmd $18 fetch pulse width
169     9e01 W  - R  18001 ($1,A3) : &0x80 sprite bank select
170     9e02 W  - R  18002 ($2,A3) : \ joy x
171     9e03 W  - R  18003 ($3,A3) : / joy y
172     9e04 R  - W  18004 ($4,A3) : \ cursor y pos in diags screen
173     9e05 R  - W  18005 ($5,A3) : / cursor x pos in diags screen
174     9e06 R  - W  18006 ($6,A3) : 68k status
175                                     00 = OK
176                                     02 = cmd 3 or a failed
177                                     01 = Initial status (not OK)
178                                     10 = RAM bad
179                                     11 = ROM(s) bad
180                                     15 = IRQs bad
181                                     16 = FIRQs bad
182                                     F7 = 68k didn't get handshake from 6809
183                                     F8 = Too many spurious interrupts
184                                     F9 = Both limit switches at once
185                                     FA = 120 Hz signal slower than 80Hz
186                                     FB = Excess current sensor not working
187                                     FC = Motor range outside of expected
188                                     FD = Failed to detect limit switch
189                                     FE = No mech movement detected
190                                     FF = Excess current for too long
191     9e07 W  -  R 18007 ($7,A3) : \ writes random stuff from 9A00 which is the random number generator?
192     9e08 RW -  R 18008 ($8,A3) : / as 9e07
193     9e09 RW -  W 18009 ($9,A3) : \ 68k watchdog writes 0xaa
194     9e0a W  - RW 1800a ($a,A3) : / 6809 watchdog writes 0x55
195     9e0b    - RW 1800b ($b,A3) : Only writes are 0
196     9e0c R  - RW 1800c ($c,A3) : \ ypos returned from controller (affects enemy ship pos)
197     9e0d R  -  W 1800d ($d,A3) : / xpos returned from controller
198     9e0e W  -  R 1800e ($e,A3) : \
199     9e0f W  -    1800f ($f,A3) : / partial pointer into SHM gfx data
200 
201 ***************************************************************************
202 
203 DIP locations verified for:
204     - stompin (manual)
205 
206 ***************************************************************************/
207 
208 #include "emu.h"
209 #include "includes/balsente.h"
210 
211 #include "cpu/z80/z80.h"
212 #include "cpu/m6809/m6809.h"
213 #include "cpu/m68000/m68000.h"
214 #include "machine/nvram.h"
215 #include "machine/watchdog.h"
216 #include "audio/sente6vb.h"
217 #include "machine/6821pia.h"
218 #include "machine/z80ctc.h"
219 #include "sound/ay8910.h"
220 #include "sound/msm5205.h"
221 #include "video/mc6845.h"
222 #include "speaker.h"
223 
224 #include "stocker.lh"
225 
226 
227 
228 /*************************************
229  *
230  *  Main CPU memory handlers
231  *
232  *************************************/
233 
cpu1_base_map(address_map & map)234 void balsente_state::cpu1_base_map(address_map &map)
235 {
236 	map(0x0000, 0x07ff).ram().share("spriteram");
237 	map(0x0800, 0x7fff).ram().w(FUNC(balsente_state::videoram_w)).share("videoram");
238 	map(0x8000, 0x8fff).ram().w(FUNC(balsente_state::paletteram_w)).share("paletteram");
239 	map(0x9000, 0x9007).w(FUNC(balsente_state::adc_select_w));
240 	map(0x9400, 0x9401).r(FUNC(balsente_state::adc_data_r));
241 	map(0x9800, 0x981f).mirror(0x0060).lw8(NAME([this] (offs_t offset, u8 data) { m_outlatch->write_d7(offset >> 2, data); }));
242 	map(0x9880, 0x989f).w(FUNC(balsente_state::random_reset_w));
243 	map(0x98a0, 0x98bf).w(FUNC(balsente_state::rombank_select_w));
244 	map(0x98c0, 0x98df).w(FUNC(balsente_state::palette_select_w));
245 	map(0x98e0, 0x98ff).w("watchdog", FUNC(watchdog_timer_device::reset_w));
246 	map(0x9900, 0x9900).portr("SWH");
247 	map(0x9901, 0x9901).portr("SWG");
248 	map(0x9902, 0x9902).portr("IN0");
249 	map(0x9903, 0x9903).portr("IN1").nopw();
250 	map(0x9a00, 0x9a03).r(FUNC(balsente_state::random_num_r));
251 	map(0x9a04, 0x9a05).r("acia", FUNC(acia6850_device::read)).w(FUNC(balsente_state::acia_w));
252 	map(0xa000, 0xbfff).bankr("bankab");
253 	map(0xc000, 0xdfff).bankr("bankcd");
254 	map(0xe000, 0xffff).bankr("bankef");
255 }
256 
cpu1_map(address_map & map)257 void balsente_state::cpu1_map(address_map &map)
258 {
259 	cpu1_base_map(map);
260 	map(0x9b00, 0x9bff).rw("nov0", FUNC(x2212_device::read), FUNC(x2212_device::write));
261 	map(0x9c00, 0x9cff).rw("nov1", FUNC(x2212_device::read), FUNC(x2212_device::write));
262 }
263 
cpu1_teamht_map(address_map & map)264 void balsente_state::cpu1_teamht_map(address_map &map)
265 {
266 	cpu1_map(map);
267 	map(0x9404, 0x9404).r(FUNC(balsente_state::teamht_extra_r));
268 	map(0x9000, 0x9007).w(FUNC(balsente_state::teamht_multiplex_select_w));
269 }
270 
cpu1_grudge_map(address_map & map)271 void balsente_state::cpu1_grudge_map(address_map &map)
272 {
273 	cpu1_map(map);
274 	map(0x9400, 0x9400).r(FUNC(balsente_state::grudge_steering_r));
275 }
276 
cpu1_st1002_map(address_map & map)277 void balsente_state::cpu1_st1002_map(address_map &map)
278 {
279 	cpu1_map(map);
280 	map(0x9f00, 0x9f00).w(FUNC(balsente_state::rombank2_select_w));
281 }
282 
cpu1_spiker_map(address_map & map)283 void balsente_state::cpu1_spiker_map(address_map &map)
284 {
285 	cpu1_st1002_map(map);
286 	map(0x9f80, 0x9f8f).rw(FUNC(balsente_state::spiker_expand_r), FUNC(balsente_state::spiker_expand_w));
287 }
288 
cpu1_shrike_map(address_map & map)289 void balsente_state::cpu1_shrike_map(address_map &map)
290 {
291 	cpu1_map(map);
292 	map(0x9e00, 0x9fff).rw(FUNC(balsente_state::shrike_shared_6809_r), FUNC(balsente_state::shrike_shared_6809_w));
293 	map(0x9e01, 0x9e01).w(FUNC(balsente_state::shrike_sprite_select_w));
294 }
295 
cpu1_smudge_map(address_map & map)296 void balsente_state::cpu1_smudge_map(address_map &map)
297 {
298 	cpu1_base_map(map);
299 	map(0x9b00, 0x9bff).rw(FUNC(balsente_state::novram_8bit_r), FUNC(balsente_state::novram_8bit_w));
300 }
301 
cpu1_triviamb_map(address_map & map)302 void balsente_state::cpu1_triviamb_map(address_map &map)
303 {
304 	map(0x0000, 0x00ff).ram().share("spriteram");
305 	map(0x0100, 0x0100).portr("SWH");
306 	map(0x0101, 0x0101).portr("SWG");
307 	map(0x0102, 0x0102).portr("IN0");
308 	map(0x0103, 0x0103).portr("IN1");
309 	map(0x0320, 0x0323).rw("pia", FUNC(pia6821_device::read_alt), FUNC(pia6821_device::write_alt));
310 	map(0x0340, 0x0340).rw("crtc", FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w));
311 	map(0x0341, 0x0341).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
312 	map(0x0360, 0x0360).w(FUNC(balsente_state::random_reset_w));
313 	map(0x0380, 0x0380).r(FUNC(balsente_state::random_num_r));
314 	map(0x03a0, 0x03a0).w(FUNC(balsente_state::rombank_select_w));
315 	map(0x03c0, 0x03c0).w(FUNC(balsente_state::palette_select_w));
316 	map(0x03e0, 0x03e0).w("watchdog", FUNC(watchdog_timer_device::reset_w));
317 	map(0x0800, 0x7fff).ram().w(FUNC(balsente_state::videoram_w)).share("videoram");
318 	map(0x8000, 0x83ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
319 	map(0x8800, 0x8fff).ram().share("nvram");
320 	map(0xa000, 0xbfff).bankr("bankab");
321 	map(0xc000, 0xdfff).bankr("bankcd");
322 	map(0xe000, 0xffff).bankr("bankef");
323 }
324 
325 
326 
327 /*************************************
328  *
329  *  Sound CPU memory handlers
330  *
331  *************************************/
332 
333 // TODO: banking (Trivial hardware from Maibesa)
cpu2_triviamb_map(address_map & map)334 void balsente_state::cpu2_triviamb_map(address_map &map)
335 {
336 	map(0x0000, 0x7fff).rom();
337 	map(0x8000, 0x9fff).ram();
338 }
339 
340 // TODO: hookup 2x Z80CTC, 2x AY8910A, 1x M5205 (Trivial hardware from Maibesa)
cpu2_triviamb_io_map(address_map & map)341 void balsente_state::cpu2_triviamb_io_map(address_map &map)
342 {
343 	map.global_mask(0xff);
344 }
345 
346 
347 /*************************************
348  *
349  *  Shrike Avenger CPU memory handlers
350  *
351  *************************************/
352 
353 /* CPU 1 read addresses */
shrike68k_map(address_map & map)354 void balsente_state::shrike68k_map(address_map &map)
355 {
356 	map(0x000000, 0x003fff).rom();
357 	map(0x010000, 0x01001f).ram().share("shrike_io").rw(FUNC(balsente_state::shrike_io_68k_r), FUNC(balsente_state::shrike_io_68k_w));
358 	map(0x018000, 0x018fff).ram().share("shrike_shared");
359 }
360 
361 
362 
363 /*************************************
364  *
365  *  Port definitions
366  *
367  *************************************/
368 
369 #define UNUSED_ANALOG PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
370 
371 #define BALSENTE_COINAGE_ALT \
372 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) )      PORT_DIPLOCATION("H1:1,2") \
373 	PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) ) \
374 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) ) \
375 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) ) \
376 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
377 
378 #define BALSENTE_COINAGE_ALT2 \
379 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )      PORT_DIPLOCATION("H1:1,2") \
380 	PORT_DIPSETTING(    0x03, DEF_STR( 3C_1C ) ) \
381 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) ) \
382 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) ) \
383 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
384 
385 #define BALSENTE_PLAYERS_PER_COIN \
386 	PORT_DIPNAME( 0x04, 0x04, "Players Per Credit" )    PORT_DIPLOCATION("H1:3") \
387 	PORT_DIPSETTING(    0x00, "1" ) \
388 	PORT_DIPSETTING(    0x04, "1 Or 2" )
389 
390 static INPUT_PORTS_START( sentetst )
391 	PORT_START("SWH")
DEF_STR(Coinage)392 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )      PORT_DIPLOCATION("H1:1,2")
393 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
394 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
395 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
396 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
397 	PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "H1:3" )
398 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "H1:4" )
399 	PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "H1:5" )
400 	PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "H1:6" )
401 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "H1:7" )
402 	PORT_DIPNAME( 0x80, 0x80, "High Scores" )           PORT_DIPLOCATION("H1:8")
403 	PORT_DIPSETTING(    0x80, "Keep Top 5" )
404 	PORT_DIPSETTING(    0x00, "Keep All" )
405 
406 	PORT_START("SWG")
407 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("G1:1,2")
408 	PORT_DIPSETTING(    0x00, "Every 10,000" )
409 	PORT_DIPSETTING(    0x01, "Every 15,000" )
410 	PORT_DIPSETTING(    0x02, "Every 20,000" )
411 	PORT_DIPSETTING(    0x03, "Every 25,000" )
412 	PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) )        PORT_DIPLOCATION("G1:3,4")
413 	PORT_DIPSETTING(    0x00, "2" )
414 	PORT_DIPSETTING(    0x04, "3" )
415 	PORT_DIPSETTING(    0x08, "4" )
416 	PORT_DIPSETTING(    0x0c, "5" )
417 	PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "G1:5" )
418 	PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "G1:6" )
419 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("G1:7")
420 	PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
421 	PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
422 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("G1:8")
423 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
424 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
425 
426 	PORT_START("IN0")
427 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_PLAYER(1)
428 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_PLAYER(1)
429 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_PLAYER(1)
430 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_PLAYER(1)
431 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
432 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
433 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
434 
435 	PORT_START("IN1")
436 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
437 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
438 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
439 	PORT_BIT( 0x38, IP_ACTIVE_LOW, IPT_UNUSED )
440 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
441 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
442 
443 	/* Analog ports */
444 	PORT_START("AN0")
445 	UNUSED_ANALOG
446 
447 	PORT_START("AN1")
448 	UNUSED_ANALOG
449 
450 	/* Player 1 Trackball */
451 	PORT_START("AN2")
452 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(1)
453 
454 	PORT_START("AN3")
455 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(1)
456 INPUT_PORTS_END
457 
458 
459 static INPUT_PORTS_START( cshift )
460 	PORT_INCLUDE( sentetst )
461 
462 	PORT_MODIFY("SWG")
463 	PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "G1:1" )
464 	PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "G1:2" )
465 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )        PORT_DIPLOCATION("G1:3")
466 	PORT_DIPSETTING(    0x00, "2" )
467 	PORT_DIPSETTING(    0x04, "3" )
468 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
469 	PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "G1:5" )
470 	PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "G1:6" )
471 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
472 
473 	PORT_MODIFY("IN0")
474 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
475 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
476 	PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED )
477 
478 	PORT_MODIFY("IN1")
479 	PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED )
480 
481 	PORT_MODIFY("AN2")
482 	UNUSED_ANALOG
483 
484 	PORT_MODIFY("AN3")
485 	UNUSED_ANALOG
486 INPUT_PORTS_END
487 
488 
489 static INPUT_PORTS_START( gghost )
490 	PORT_INCLUDE( sentetst )
491 
492 	PORT_MODIFY("SWH")
493 	BALSENTE_PLAYERS_PER_COIN
494 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "H1:7" )
495 
496 	PORT_MODIFY("SWG")
497 	PORT_DIPNAME( 0x07, 0x05, "Game Duration" )         PORT_DIPLOCATION("G1:1,2,3")
498 	PORT_DIPSETTING(    0x00, "9 Points" )
499 	PORT_DIPSETTING(    0x02, "11 Points" )
500 	PORT_DIPSETTING(    0x04, "15 Points" )
501 	PORT_DIPSETTING(    0x06, "21 Points" )
502 	PORT_DIPSETTING(    0x01, "Timed, 1:15" )
503 	PORT_DIPSETTING(    0x03, "Timed, 1:30" )
504 	PORT_DIPSETTING(    0x05, "Timed, 2:00" )
505 	PORT_DIPSETTING(    0x07, "Timed, 2:30" )
506 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
507 	PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "G1:5" )
508 	PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "G1:6" )
509 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
510 
511 	PORT_MODIFY("IN0")
512 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
513 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
514 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
515 
516 	PORT_MODIFY("IN1")
517 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
518 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
519 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
520 
521 	/* Player 2 Trackball */
522 	PORT_MODIFY("AN0")
523 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(2)
524 
525 	PORT_MODIFY("AN1")
526 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(2)
527 
528 	/* Player 1 Trackball */
529 	PORT_MODIFY("AN2")
530 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(1)
531 
532 	PORT_MODIFY("AN3")
533 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(1)
534 INPUT_PORTS_END
535 
536 
537 static INPUT_PORTS_START( hattrick )
538 	PORT_INCLUDE( sentetst )
539 
540 	PORT_MODIFY("SWH")
541 	BALSENTE_PLAYERS_PER_COIN
542 	PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "H1:8" )
543 
544 	PORT_MODIFY("SWG")
545 	PORT_DIPNAME( 0x07, 0x02, DEF_STR( Game_Time ) )    PORT_DIPLOCATION("G1:1,2,3")
546 	PORT_DIPSETTING(    0x00, "1:15" )
547 	PORT_DIPSETTING(    0x01, "1:30" )
548 	PORT_DIPSETTING(    0x02, "1:45" )
549 	PORT_DIPSETTING(    0x03, "2:00" )
550 	PORT_DIPSETTING(    0x04, "2:15" )
551 	PORT_DIPSETTING(    0x05, "2:30" )
552 	PORT_DIPSETTING(    0x06, "2:45" )
553 	PORT_DIPSETTING(    0x07, "3:00" )
554 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
555 	PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "G1:5" )
556 	PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "G1:6" )
557 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
558 
559 	PORT_MODIFY("IN0")
560 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
561 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
562 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
563 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
564 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
565 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
566 
567 	PORT_MODIFY("IN1")
568 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
569 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
570 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
571 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
572 
573 	PORT_MODIFY("AN2")
574 	UNUSED_ANALOG
575 
576 	PORT_MODIFY("AN3")
577 	UNUSED_ANALOG
578 INPUT_PORTS_END
579 
580 static INPUT_PORTS_START( teamht )
581 	PORT_INCLUDE( sentetst )
582 
583 	PORT_MODIFY("SWH")
584 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) )      PORT_DIPLOCATION("H1:1,2")
585 	PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
586 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
587 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
588 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
589 	PORT_DIPNAME( 0x1c, 0x00, "Bonus Coin" )    PORT_DIPLOCATION("H1:3,4,5")
590 	PORT_DIPSETTING(    0x00, "None" )
591 	PORT_DIPSETTING(    0x04, "2 Coins +1" )
592 	PORT_DIPSETTING(    0x08, "3 Coins +1" )
593 	PORT_DIPSETTING(    0x0c, "4 Coins +1" )
594 	PORT_DIPSETTING(    0x10, "4 Coins +2" )
595 	PORT_DIPSETTING(    0x14, "5 Coins +1" )
596 	PORT_DIPSETTING(    0x18, "5 Coins +2" )
597 	PORT_DIPSETTING(    0x1c, "5 Coins +3" )
598 	PORT_DIPNAME( 0x20, 0x00, "Left Multiplier" )    PORT_DIPLOCATION("H1:6")
599 	PORT_DIPSETTING(    0x00, "1" )
600 	PORT_DIPSETTING(    0x20, "2" )
601 	PORT_DIPNAME( 0xc0, 0x00, "Right Multiplier" )    PORT_DIPLOCATION("H1:7,8")
602 	PORT_DIPSETTING(    0x00, "1" )
603 	PORT_DIPSETTING(    0x40, "4" )
604 	PORT_DIPSETTING(    0x80, "5" )
605 	PORT_DIPSETTING(    0xc0, "6" )
606 
607 	PORT_MODIFY("SWG")
608 	PORT_DIPNAME( 0x07, 0x02, DEF_STR( Game_Time ) )    PORT_DIPLOCATION("G1:1,2,3")
609 	PORT_DIPSETTING(    0x00, "1:15" )
610 	PORT_DIPSETTING(    0x01, "1:30" )
611 	PORT_DIPSETTING(    0x02, "1:45" )
612 	PORT_DIPSETTING(    0x03, "2:00" )
613 	PORT_DIPSETTING(    0x04, "2:15" )
614 	PORT_DIPSETTING(    0x05, "2:30" )
615 	PORT_DIPSETTING(    0x06, "2:45" )
616 	PORT_DIPSETTING(    0x07, "3:00" )
617 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
618 	PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "G1:5" )
619 	PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "G1:6" )
620 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
621 
622 	PORT_MODIFY("IN0")
623 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
624 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
625 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
626 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
627 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
628 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
629 
630 	PORT_MODIFY("IN1")
631 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
632 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
633 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
634 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
635 
636 	PORT_MODIFY("AN2")
637 	UNUSED_ANALOG
638 
639 	PORT_MODIFY("AN3")
640 	UNUSED_ANALOG
641 
642 	PORT_START("EX0")
643 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
644 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
645 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
646 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
647 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
648 
649 	PORT_START("EX1")
650 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
651 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
652 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
653 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
654 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
655 
656 	// reversed wrt p1 and p2
657 	PORT_START("EX2")
658 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
659 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(3)
660 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3)
661 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(3)
662 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(3)
663 
664 	PORT_START("EX3")
665 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
666 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(4)
667 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(4)
668 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(4)
669 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(4)
670 INPUT_PORTS_END
671 
672 
673 static INPUT_PORTS_START( otwalls )
674 	PORT_INCLUDE( sentetst )
675 
676 	PORT_MODIFY("SWH")
677 	BALSENTE_PLAYERS_PER_COIN
678 	PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "H1:8" )
679 
680 	PORT_MODIFY("SWG")
681 	PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "G1:1" )
682 	PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "G1:2" )
683 	PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "G1:3" )
684 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
685 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
686 
687 	PORT_MODIFY("IN0")
688 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_PLAYER(2)
689 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_PLAYER(2)
690 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_PLAYER(1)
691 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_PLAYER(1)
692 
693 	PORT_MODIFY("IN1")
694 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
695 
696 	/* Player 1 Dial */
697 	PORT_MODIFY("AN2")
698 	PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(1)
699 
700 	/* Player 2 Dial */
701 	PORT_MODIFY("AN3")
702 	PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(2)
703 INPUT_PORTS_END
704 
705 
706 static INPUT_PORTS_START( snakjack )
707 	PORT_INCLUDE( sentetst )
708 
709 	PORT_MODIFY("SWG")
710 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("G1:1,2")
711 	PORT_DIPSETTING(    0x00, "Every 15,000" )
712 	PORT_DIPSETTING(    0x01, "Every 20,000" )
713 	PORT_DIPSETTING(    0x02, "Every 25,000" )
714 	PORT_DIPSETTING(    0x03, "Every 30,000" )
715 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
716 
717 	PORT_MODIFY("IN0")
718 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
719 INPUT_PORTS_END
720 
721 
722 static INPUT_PORTS_START( stocker )
723 	PORT_INCLUDE( sentetst )
724 
725 	PORT_MODIFY("SWH")
726 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) )      PORT_DIPLOCATION("H1:1,2")
727 	PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
728 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
729 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
730 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
731 
732 	PORT_DIPNAME( 0x1c, 0x00, "Bonus Coins" )       PORT_DIPLOCATION("H1:3,4,5")
733 	PORT_DIPSETTING(    0x00, DEF_STR( None ) )
734 	PORT_DIPSETTING(    0x04, "2 Coins = 1 Bonus" )
735 	PORT_DIPSETTING(    0x08, "3 Coins = 1 Bonus" )
736 	PORT_DIPSETTING(    0x0c, "4 Coins = 1 Bonus" )
737 	PORT_DIPSETTING(    0x10, "4 Coins = 2 Bonus" )
738 	PORT_DIPSETTING(    0x14, "5 Coins = 1 Bonus" )
739 	PORT_DIPSETTING(    0x18, "5 Coins = 2 Bonus" )
740 	PORT_DIPSETTING(    0x1c, "5 Coins = 3 Bonus" )
741 	PORT_DIPNAME( 0x20, 0x00, "Left Coin Mech" )    PORT_DIPLOCATION("H1:6")
742 	PORT_DIPSETTING(    0x00, "x1" )
743 	PORT_DIPSETTING(    0x20, "x2" )
744 	PORT_DIPNAME( 0xc0, 0x00, "Right Coin Mech" )   PORT_DIPLOCATION("H1:7,8")
745 	PORT_DIPSETTING(    0x00, "x1" )
746 	PORT_DIPSETTING(    0x40, "x4" )
747 	PORT_DIPSETTING(    0x80, "x5" )
748 	PORT_DIPSETTING(    0xc0, "x6" )
749 
750 	PORT_MODIFY("SWG")
751 	PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "G1:1" )
752 	PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "G1:2" )
753 	PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "G1:3" )
754 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
755 	PORT_DIPNAME( 0x40, 0x40, "End Of Game" )       PORT_DIPLOCATION("G1:7")
756 	PORT_DIPSETTING(    0x40, DEF_STR( Normal ) )
757 	PORT_DIPSETTING(    0x00, "3 Tickets" )
758 
759 	PORT_MODIFY("IN0")
760 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
761 
762 	PORT_MODIFY("IN1")
763 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
764 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
765 
766 	PORT_MODIFY("AN2")
767 	UNUSED_ANALOG
768 
769 	/* Player 1 Wheel */
770 	PORT_MODIFY("AN3")
771 	PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(1)
772 INPUT_PORTS_END
773 
774 
775 static INPUT_PORTS_START( triviag1 )
776 	PORT_INCLUDE( sentetst )
777 
778 	PORT_MODIFY("SWH")
779 	PORT_DIPNAME( 0x20, 0x00, "Sound" )         PORT_DIPLOCATION("H1:6")
780 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
781 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
782 	PORT_DIPNAME( 0x40, 0x00, "Sound Test" )    PORT_DIPLOCATION("H1:7")
783 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
784 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
785 	PORT_DIPNAME( 0x80, 0x80, "High Scores" )   PORT_DIPLOCATION("H1:8")
786 	PORT_DIPSETTING(    0x00, "Keep Top 5" )
787 	PORT_DIPSETTING(    0x80, "Keep Top 10" )
788 
789 	PORT_MODIFY("SWG")
790 	PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "G1:1" )
791 	PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "G1:2" )
792 	PORT_DIPNAME( 0x0c, 0x04, "Guesses" )       PORT_DIPLOCATION("G1:3,4")
793 	PORT_DIPSETTING(    0x00, "3" )
794 	PORT_DIPSETTING(    0x04, "4" )
795 	PORT_DIPSETTING(    0x08, "5" )
796 	PORT_DIPSETTING(    0x0c, "6" )
797 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
798 
799 	PORT_MODIFY("IN0")
800 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
801 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
802 
803 	PORT_MODIFY("IN1")
804 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START3 )
805 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START4 )
806 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Red Button")
807 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Green Button")
808 
809 	PORT_MODIFY("AN2")
810 	UNUSED_ANALOG
811 
812 	PORT_MODIFY("AN3")
813 	UNUSED_ANALOG
814 INPUT_PORTS_END
815 
816 
817 static INPUT_PORTS_START( triviaes )
818 	PORT_INCLUDE( triviag1 )
819 
820 	PORT_MODIFY("SWH")
821 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )  PORT_DIPLOCATION("H1:1,2")
822 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
823 	PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ) )
824 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C) )
825 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
826 
827 	PORT_MODIFY("SWG")
828 	PORT_DIPNAME( 0x0c, 0x04, "Guesses" )           PORT_DIPLOCATION("G1:3,4")
829 	PORT_DIPSETTING(    0x00, "2" )
830 	PORT_DIPSETTING(    0x04, "3" )
831 	PORT_DIPSETTING(    0x08, "4" )
832 	PORT_DIPSETTING(    0x0c, "5" )
833 INPUT_PORTS_END
834 
835 
836 static INPUT_PORTS_START( gimeabrk )
837 	PORT_INCLUDE( stocker )
838 
839 	PORT_MODIFY("SWH")
840 	BALSENTE_COINAGE_ALT
841 
842 	PORT_MODIFY("SWG")
843 	PORT_DIPNAME( 0x03, 0x01, "Bonus Shot" )            PORT_DIPLOCATION("G1:1,2")
844 	PORT_DIPSETTING(    0x00, "Every 6 Balls" )
845 	PORT_DIPSETTING(    0x01, "Every 8 Balls" )
846 	PORT_DIPSETTING(    0x02, "Every 10 Balls" )
847 	PORT_DIPSETTING(    0x03, "Every 12 Balls" )
848 	PORT_DIPNAME( 0x0c, 0x08, "Initial Shots" )         PORT_DIPLOCATION("G1:3,4")
849 	PORT_DIPSETTING(    0x00, "8" )
850 	PORT_DIPSETTING(    0x04, "10" )
851 	PORT_DIPSETTING(    0x08, "12" )
852 	PORT_DIPSETTING(    0x0c, "14" )
853 	PORT_DIPNAME( 0x10, 0x00, "Players Per Credit" )    PORT_DIPLOCATION("G1:5")
854 	PORT_DIPSETTING(    0x00, "1" )
855 	PORT_DIPSETTING(    0x10, "1 Or 2" )
856 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("G1:6")
857 	PORT_DIPSETTING(    0x20, DEF_STR( Upright ) )
858 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
859 	PORT_DIPNAME( 0x40, 0x40, "High Scores" )           PORT_DIPLOCATION("G1:7")
860 	PORT_DIPSETTING(    0x40, "Keep Top 5" )
861 	PORT_DIPSETTING(    0x00, "Keep All" )
862 
863 	PORT_MODIFY("IN0")
864 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )    PORT_COCKTAIL
865 
866 	PORT_MODIFY("IN1")
867 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
868 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
869 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
870 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
871 
872 	/* Player 1 Trackball, Cocktail acts as Player 2*/
873 	PORT_MODIFY("AN0")
874 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(1)
875 	PORT_MODIFY("AN1")
876 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(1)
877 
878 	/* Player 2 Trackball, Cocktail acts as Player 1 */
879 	PORT_MODIFY("AN2")
880 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_COCKTAIL PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(2)
881 	PORT_MODIFY("AN3")
882 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_COCKTAIL PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(2)
883 INPUT_PORTS_END
884 
885 
886 static INPUT_PORTS_START( minigolf )
887 	PORT_INCLUDE( stocker )
888 
889 	PORT_MODIFY("SWH")
890 	BALSENTE_COINAGE_ALT2
891 
892 	PORT_MODIFY("SWG")
893 	PORT_DIPNAME( 0x01, 0x01, "Add-A-Coin" )            PORT_DIPLOCATION("G1:1")
894 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
895 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
896 	PORT_DIPNAME( 0x02, 0x02, "Display Kids" )          PORT_DIPLOCATION("G1:2")
897 	PORT_DIPSETTING(    0x02, DEF_STR( No ) )
898 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
899 	PORT_DIPNAME( 0x04, 0x04, "Kid On Left Located" )   PORT_DIPLOCATION("G1:3")
900 	PORT_DIPSETTING(    0x04, DEF_STR( No ) )
901 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
902 	PORT_DIPNAME( 0x08, 0x08, "Kid On Right Located" )  PORT_DIPLOCATION("G1:4")
903 	PORT_DIPSETTING(    0x08, DEF_STR( No ) )
904 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
905 	PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "G1:5" )
906 	PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "G1:6" )
907 	PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "G1:7" )
908 
909 	PORT_MODIFY("IN1")
910 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
911 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START3 )
912 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START4 )
913 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
914 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
915 
916 	/* Player 1 Trackball */
917 	PORT_MODIFY("AN2")
918 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(1)
919 
920 	PORT_MODIFY("AN3")
921 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(1)
922 INPUT_PORTS_END
923 
924 
925 static INPUT_PORTS_START( minigolf2 )
926 	PORT_INCLUDE( minigolf )
927 
928 	PORT_MODIFY("SWH")
929 	BALSENTE_COINAGE_ALT
930 
931 	PORT_MODIFY("SWG")
932 	PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "G1:2" )
933 	PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "G1:3" )
934 	PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "G1:4" )
935 INPUT_PORTS_END
936 
937 
938 static INPUT_PORTS_START( toggle )
939 	PORT_INCLUDE( sentetst )
940 
941 	PORT_MODIFY("SWG")
942 	PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "G1:1" )
943 	PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "G1:2" )
944 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )    PORT_DIPLOCATION("G1:3")
945 	PORT_DIPSETTING(    0x00, "2" )
946 	PORT_DIPSETTING(    0x04, "3" )
947 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
948 	PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "G1:5" )
949 	PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "G1:6" )
950 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
951 
952 	PORT_MODIFY("IN0")
953 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
954 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
955 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
956 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
957 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
958 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
959 
960 	PORT_MODIFY("IN1")
961 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
962 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
963 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
964 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
965 
966 	PORT_MODIFY("AN2")
967 	UNUSED_ANALOG
968 
969 	PORT_MODIFY("AN3")
970 	UNUSED_ANALOG
971 INPUT_PORTS_END
972 
973 
974 static INPUT_PORTS_START( nametune )
975 	PORT_INCLUDE( stocker )
976 
977 	PORT_MODIFY("SWH")
978 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )  PORT_DIPLOCATION("H1:1,2")
979 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
980 	PORT_DIPSETTING(    0x03, DEF_STR( 3C_2C ) )
981 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
982 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
983 
984 	PORT_MODIFY("SWG")
985 	PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "G1:1" )
986 	PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "G1:2" )
987 	PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "G1:3" )
988 	PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "G1:4" )
989 	PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "G1:5" )
990 	PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "G1:6" )
991 	PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "G1:7" )
992 
993 	PORT_MODIFY("IN0")
994 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 Blue Button") PORT_PLAYER(1)
995 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P1 Green Button") PORT_PLAYER(1)
996 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Yellow Button") PORT_PLAYER(1)
997 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Red Button") PORT_PLAYER(1)
998 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
999 
1000 	PORT_MODIFY("IN1")
1001 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
1002 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P2 Red Button") PORT_PLAYER(2)
1003 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P2 Yellow Button") PORT_PLAYER(2)
1004 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P2 Green Button") PORT_PLAYER(2)
1005 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P2 Blue Button") PORT_PLAYER(2)
1006 
1007 	PORT_MODIFY("AN3")
1008 	UNUSED_ANALOG
1009 INPUT_PORTS_END
1010 
1011 
1012 static INPUT_PORTS_START( nstocker )
1013 	PORT_INCLUDE( stocker )
1014 
1015 	PORT_MODIFY("SWH")
1016 	BALSENTE_COINAGE_ALT2
1017 
1018 	PORT_MODIFY("SWG")
1019 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("G1:1")
1020 	PORT_DIPSETTING(    0x01, DEF_STR( Easy ) )
1021 	PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
1022 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
1023 
1024 	PORT_MODIFY("IN0")
1025 	PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(balsente_state, nstocker_bits_r)
1026 
1027 	/* cheese alert -- we have to map this to player 2 so that it doesn't interfere with
1028 	   the crosshair controls */
1029 	PORT_MODIFY("AN3")
1030 	PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20)
1031 					PORT_CODE_DEC(KEYCODE_S) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(KEYCODE_F) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_RESET PORT_PLAYER(2)
1032 
1033 	/* extra ports for shooters */
1034 	PORT_START("FAKEX") /* fake analog X */
1035 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
1036 
1037 	PORT_START("FAKEY") /* fake analog Y */
1038 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(10)
1039 INPUT_PORTS_END
1040 
1041 
1042 static INPUT_PORTS_START( sfootbal )
1043 	PORT_INCLUDE( stocker )
1044 
1045 	PORT_MODIFY("SWH")
1046 	BALSENTE_COINAGE_ALT2
1047 
1048 	PORT_MODIFY("SWG")
1049 	PORT_DIPNAME( 0x07, 0x03, DEF_STR( Game_Time ) )    PORT_DIPLOCATION("G1:1,2,3")
1050 	PORT_DIPSETTING(    0x00, "1:30" )
1051 	PORT_DIPSETTING(    0x01, "1:40" )
1052 	PORT_DIPSETTING(    0x02, "1:50" )
1053 	PORT_DIPSETTING(    0x03, "2:00" )
1054 	PORT_DIPSETTING(    0x04, "2:20" )
1055 	PORT_DIPSETTING(    0x05, "2:40" )
1056 	PORT_DIPSETTING(    0x06, "3:00" )
1057 	PORT_DIPSETTING(    0x07, "3:30" )
1058 	PORT_DIPNAME( 0x08, 0x00, "Players Per Credit" )    PORT_DIPLOCATION("G1:4")
1059 	PORT_DIPSETTING(    0x00, "1" )
1060 	PORT_DIPSETTING(    0x08, "1 Or 2" )
1061 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
1062 
1063 	PORT_MODIFY("IN0")
1064 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1065 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1066 	PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
1067 
1068 	PORT_MODIFY("IN1")
1069 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
1070 	PORT_BIT( 0x38, IP_ACTIVE_LOW, IPT_UNUSED )
1071 
1072 	/* Player 2 Analog Joystick */
1073 	PORT_MODIFY("AN0")
1074 	PORT_BIT( 0xff, 0, IPT_AD_STICK_Y ) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(2)
1075 
1076 	PORT_MODIFY("AN1")
1077 	PORT_BIT( 0xff, 0, IPT_AD_STICK_X ) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_REVERSE PORT_PLAYER(2)
1078 
1079 	/* Player 1 Analog Joystick */
1080 	PORT_MODIFY("AN2")
1081 	PORT_BIT( 0xff, 0, IPT_AD_STICK_Y ) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1)
1082 
1083 	PORT_MODIFY("AN3")
1084 	PORT_BIT( 0xff, 0, IPT_AD_STICK_X ) PORT_MINMAX(0x80,0x7f) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_REVERSE PORT_PLAYER(1)
1085 INPUT_PORTS_END
1086 
1087 
1088 static INPUT_PORTS_START( spiker )
1089 	PORT_INCLUDE( stocker )
1090 
1091 	PORT_MODIFY("SWH")
1092 	BALSENTE_COINAGE_ALT2
1093 
1094 	PORT_MODIFY("SWG")
1095 	PORT_DIPNAME( 0x01, 0x00, "Game Duration" )         PORT_DIPLOCATION("G1:1")
1096 	PORT_DIPSETTING(    0x00, "11 Points" )
1097 	PORT_DIPSETTING(    0x01, "15 Points" )
1098 	PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "G1:2" )
1099 	PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "G1:3" )
1100 	PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "G1:4" )
1101 	PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "G1:5" )
1102 	PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "G1:6" )
1103 	PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "G1:7" )
1104 
1105 	PORT_MODIFY("IN0")
1106 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1107 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
1108 
1109 	PORT_MODIFY("IN1")
1110 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
1111 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1112 
1113 	/* Player 2 Trackball */
1114 	PORT_MODIFY("AN0")
1115 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(2)
1116 
1117 	PORT_MODIFY("AN1")
1118 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(2)
1119 
1120 	/* Player 1 Trackball */
1121 	PORT_MODIFY("AN2")
1122 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_PLAYER(1)
1123 
1124 	PORT_MODIFY("AN3")
1125 	PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_REVERSE PORT_PLAYER(1)
1126 INPUT_PORTS_END
1127 
1128 
1129 static INPUT_PORTS_START( stompin )
1130 	PORT_INCLUDE( stocker )
1131 	/* Set H:1-8 all to OFF to enable Free Play */
1132 	PORT_MODIFY("SWH")
1133 	BALSENTE_COINAGE_ALT2
1134 
1135 	PORT_MODIFY("SWG")
1136 	PORT_DIPNAME( 0x01, 0x00, "Display Kids" )          PORT_DIPLOCATION("G1:1")
1137 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
1138 	PORT_DIPSETTING(    0x01, DEF_STR( Yes ) )
1139 	PORT_DIPNAME( 0x02, 0x02, "Kid On Right Located" )  PORT_DIPLOCATION("G1:2")
1140 	PORT_DIPSETTING(    0x02, DEF_STR( No ) )
1141 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
1142 	PORT_DIPNAME( 0x04, 0x04, "Kid On Left Located" )   PORT_DIPLOCATION("G1:3")
1143 	PORT_DIPSETTING(    0x04, DEF_STR( No ) )
1144 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
1145 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("G1:6")
1146 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1147 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1148 	PORT_DIPNAME( 0x40, 0x00, "Bee In Game" )           PORT_DIPLOCATION("G1:7")
1149 	PORT_DIPSETTING(    0x40, DEF_STR( No ) )
1150 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
1151 	PORT_DIPNAME( 0x80, 0x00, "Bug Generation" )        PORT_DIPLOCATION("G1:8")
1152 	PORT_DIPSETTING(    0x00, "Regular" )
1153 	PORT_DIPSETTING(    0x80, DEF_STR( None ) )
1154 
1155 	PORT_MODIFY("IN0")
1156 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
1157 
1158 	PORT_MODIFY("IN1")
1159 	PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED )
1160 
1161 	PORT_MODIFY("AN0")
1162 	PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED )
1163 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Top-Right") PORT_CODE(KEYCODE_9_PAD) PORT_PLAYER(1)
1164 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Top") PORT_CODE(KEYCODE_8_PAD) PORT_PLAYER(1)
1165 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Top-Left") PORT_CODE(KEYCODE_7_PAD) PORT_PLAYER(1)
1166 
1167 	PORT_MODIFY("AN1")
1168 	PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED )
1169 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Right") PORT_CODE(KEYCODE_6_PAD) PORT_PLAYER(1)
1170 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
1171 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Left") PORT_CODE(KEYCODE_4_PAD) PORT_PLAYER(1)
1172 
1173 	PORT_MODIFY("AN2")
1174 	PORT_BIT( 0x1f, IP_ACTIVE_LOW, IPT_UNUSED )
1175 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Bot-Right") PORT_CODE(KEYCODE_3_PAD) PORT_PLAYER(1)
1176 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Bottom") PORT_CODE(KEYCODE_2_PAD) PORT_PLAYER(1)
1177 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Bot-Left") PORT_CODE(KEYCODE_1_PAD) PORT_PLAYER(1)
1178 
1179 	PORT_MODIFY("AN3")
1180 	UNUSED_ANALOG
1181 INPUT_PORTS_END
1182 
1183 
1184 static INPUT_PORTS_START( grudge )
1185 	PORT_INCLUDE( sentetst )
1186 
1187 	PORT_MODIFY("SWH")
1188 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Unknown ) )      PORT_DIPLOCATION("H1:1,2")
1189 	PORT_DIPSETTING(    0x00, "0" )
1190 	PORT_DIPSETTING(    0x01, "1" )
1191 	PORT_DIPSETTING(    0x02, "2" )
1192 	PORT_DIPSETTING(    0x03, "3" )
1193 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Free_Play ) )    PORT_DIPLOCATION("H1:8")
1194 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1195 	PORT_DIPSETTING(    0x80, "On (buggy)" )
1196 
1197 	PORT_MODIFY("SWG")
1198 	PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "G1:1" )
1199 	PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "G1:2" )
1200 	PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "G1:3" )
1201 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
1202 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "G1:7" )
1203 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Players ) )      PORT_DIPLOCATION("G1:8")
1204 	PORT_DIPSETTING(    0x80, "2" )
1205 	PORT_DIPSETTING(    0x00, "3" )
1206 
1207 	PORT_MODIFY("IN0")
1208 	PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
1209 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
1210 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
1211 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
1212 
1213 	PORT_MODIFY("IN1")
1214 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START3 )
1215 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1216 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1217 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
1218 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
1219 
1220 	PORT_MODIFY("AN0")
1221 	PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_PLAYER(1)
1222 
1223 	PORT_MODIFY("AN1")
1224 	PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_PLAYER(2)
1225 
1226 	PORT_MODIFY("AN2")
1227 	PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_PLAYER(3)
1228 
1229 	PORT_MODIFY("AN3")
1230 	UNUSED_ANALOG
1231 INPUT_PORTS_END
1232 
1233 static INPUT_PORTS_START( grudgep )
1234 	PORT_INCLUDE( sentetst )
1235 
1236 	PORT_MODIFY("SWH")
1237 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("H1:8") // default to "ON" because Coin mode is buggy on this revision of the prototype
1238 	PORT_DIPSETTING(    0x00, "Off (buggy)" )
1239 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1240 INPUT_PORTS_END
1241 
1242 
1243 static INPUT_PORTS_START( rescraid )
1244 	PORT_INCLUDE( stocker )
1245 
1246 	PORT_MODIFY("SWH")
1247 	BALSENTE_COINAGE_ALT2
1248 
1249 	PORT_MODIFY("SWG")
1250 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )        PORT_DIPLOCATION("G1:1")
1251 	PORT_DIPSETTING(    0x00, "4" )
1252 	PORT_DIPSETTING(    0x01, "5" )
1253 	PORT_DIPNAME( 0x0c, 0x04, "Minimum Game Time" )     PORT_DIPLOCATION("G1:3,4")
1254 	PORT_DIPSETTING(    0x08, "45" )
1255 	PORT_DIPSETTING(    0x04, "60" )
1256 	PORT_DIPSETTING(    0x00, "90" )
1257 	PORT_DIPSETTING(    0x0c, "120" )
1258 	PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "G1:5" )
1259 	PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "G1:6" )
1260 	PORT_DIPNAME( 0x40, 0x40, "Keep High Scores" )      PORT_DIPLOCATION("G1:7")
1261 	PORT_DIPSETTING(    0x40, DEF_STR( No ) )
1262 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
1263 
1264 	PORT_MODIFY("IN0")
1265 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_PLAYER(1)
1266 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_PLAYER(1)
1267 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_PLAYER(1)
1268 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_PLAYER(1)
1269 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
1270 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
1271 
1272 	PORT_MODIFY("IN1")
1273 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
1274 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_PLAYER(1)
1275 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_PLAYER(1)
1276 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_PLAYER(1)
1277 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_PLAYER(1)
1278 
1279 	PORT_MODIFY("AN3")
1280 	UNUSED_ANALOG
1281 INPUT_PORTS_END
1282 
1283 
1284 static INPUT_PORTS_START( shrike )
1285 	PORT_INCLUDE( sentetst )
1286 
1287 	PORT_MODIFY("SWH")
1288 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ))   PORT_DIPLOCATION("H1:1,2")
1289 	PORT_DIPSETTING(    0x02, DEF_STR( 4C_1C ))
1290 	PORT_DIPSETTING(    0x01, DEF_STR( 3C_1C ))
1291 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ))
1292 	PORT_DIPSETTING(    0x03, DEF_STR( Free_Play ))
1293 	PORT_DIPNAME( 0x40, 0x40, "Reset High Scores" ) PORT_DIPLOCATION("H1:7")
1294 	PORT_DIPSETTING(    0x40, DEF_STR( No ))
1295 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ))
1296 	PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "H1:8" )
1297 
1298 	PORT_MODIFY("SWG")
1299 	PORT_DIPNAME( 0x03, 0x03, "Minimum Game Time" ) PORT_DIPLOCATION("G1:1,2")
1300 	PORT_DIPSETTING(    0x00, "1:00" )
1301 	PORT_DIPSETTING(    0x01, "1:30" )
1302 	PORT_DIPSETTING(    0x02, "2:00" )
1303 	PORT_DIPSETTING(    0x03, "2:30" )
1304 	PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "G1:3" )
1305 	PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "G1:4" )
1306 	PORT_DIPUNUSED_DIPLOC( 0x40, 0x20, "G1:7" )
1307 
1308 	PORT_MODIFY("IN0")
1309 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
1310 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
1311 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1312 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
1313 
1314 	PORT_MODIFY("IN1")
1315 	PORT_BIT( 0x1c, IP_ACTIVE_LOW, IPT_UNUSED )
1316 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) // carpet switch
1317 
1318 	PORT_MODIFY("AN0")
1319 	PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1)
1320 
1321 	PORT_MODIFY("AN1")
1322 	PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_PLAYER(1)
1323 
1324 	PORT_MODIFY("AN2")
1325 	UNUSED_ANALOG
1326 
1327 	PORT_MODIFY("AN3")
1328 	UNUSED_ANALOG
1329 INPUT_PORTS_END
1330 
1331 
1332 /*************************************
1333  *
1334  *  Machine driver
1335  *
1336  *************************************/
1337 
1338 void balsente_state::balsente(machine_config &config)
1339 {
1340 	/* basic machine hardware */
1341 	MC6809E(config, m_maincpu, 20_MHz_XTAL / 16); /* xtal verified but not speed */
1342 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_map);
1343 	m_maincpu->set_vblank_int("screen", FUNC(balsente_state::update_analog_inputs));
1344 
1345 	ACIA6850(config, m_acia, 0);
1346 	m_acia->txd_handler().set("audio6vb", FUNC(sente6vb_device::rec_w));
1347 	m_acia->irq_handler().set_inputline(m_maincpu, M6809_FIRQ_LINE);
1348 
1349 	X2212(config, "nov0").set_auto_save(true); // system NOVRAM
1350 	X2212(config, "nov1").set_auto_save(true); // cart NOVRAM
1351 
1352 	WATCHDOG_TIMER(config, "watchdog");
1353 
1354 	TIMER(config, m_scanline_timer, 0).configure_generic(FUNC(balsente_state::interrupt_timer));
1355 
1356 	LS259(config, m_outlatch); // U9H
1357 	// these outputs are generally used to control the various lamps
1358 	m_outlatch->q_out_cb<0>().set(FUNC(balsente_state::out0_w));
1359 	m_outlatch->q_out_cb<1>().set(FUNC(balsente_state::out1_w));
1360 	m_outlatch->q_out_cb<2>().set(FUNC(balsente_state::out2_w));
1361 	m_outlatch->q_out_cb<3>().set(FUNC(balsente_state::out3_w));
1362 	m_outlatch->q_out_cb<4>().set(FUNC(balsente_state::out4_w));
1363 	m_outlatch->q_out_cb<5>().set(FUNC(balsente_state::out5_w));
1364 	m_outlatch->q_out_cb<6>().set(FUNC(balsente_state::out6_w));
1365 	// special case is output 7, which recalls the NVRAM data
1366 	m_outlatch->q_out_cb<7>().set(FUNC(balsente_state::nvrecall_w));
1367 
1368 	/* video hardware */
1369 	SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
1370 	m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
1371 	m_screen->set_raw(BALSENTE_PIXEL_CLOCK, BALSENTE_HTOTAL, BALSENTE_HBEND, BALSENTE_HBSTART, BALSENTE_VTOTAL, BALSENTE_VBEND, BALSENTE_VBSTART);
1372 	m_screen->set_screen_update(FUNC(balsente_state::screen_update_balsente));
1373 	m_screen->set_palette(m_palette);
1374 
1375 	PALETTE(config, m_palette).set_entries(1024);
1376 
1377 
1378 	/* sound hardware */
1379 	sente6vb_device &audio6vb(SENTE6VB(config, "audio6vb"));
1380 	audio6vb.send_cb().set(m_acia, FUNC(acia6850_device::write_rxd));
1381 	audio6vb.clock_out_cb().set(m_acia, FUNC(acia6850_device::write_txc));
1382 	audio6vb.clock_out_cb().append(m_acia, FUNC(acia6850_device::write_rxc));
1383 }
1384 
1385 
teamht(machine_config & config)1386 void balsente_state::teamht(machine_config &config)
1387 {
1388 	balsente(config);
1389 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_teamht_map);
1390 }
1391 
1392 
grudge(machine_config & config)1393 void balsente_state::grudge(machine_config &config)
1394 {
1395 	balsente(config);
1396 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_grudge_map);
1397 }
1398 
1399 
st1002(machine_config & config)1400 void balsente_state::st1002(machine_config &config)
1401 {
1402 	balsente(config);
1403 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_st1002_map);
1404 }
1405 
1406 
spiker(machine_config & config)1407 void balsente_state::spiker(machine_config &config)
1408 {
1409 	balsente(config);
1410 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_spiker_map);
1411 }
1412 
1413 
shrike(machine_config & config)1414 void balsente_state::shrike(machine_config &config)
1415 {
1416 	balsente(config);
1417 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_shrike_map);
1418 
1419 	M68000(config, m_68k, 8000000);
1420 	m_68k->set_addrmap(AS_PROGRAM, &balsente_state::shrike68k_map);
1421 
1422 	config.set_maximum_quantum(attotime::from_hz(6000));
1423 }
1424 
1425 
rescraid(machine_config & config)1426 void balsente_state::rescraid(machine_config &config)
1427 {
1428 	balsente(config);
1429 
1430 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_smudge_map);
1431 }
1432 
1433 /*  Trivial hardware from Maibesa */
triviamb(machine_config & config)1434 void balsente_state::triviamb(machine_config &config)
1435 {
1436 	balsente(config);
1437 
1438 	config.device_remove("outlatch");
1439 	config.device_remove("acia");
1440 	config.device_remove("audio6vb");
1441 	config.device_remove("nov0");
1442 	config.device_remove("nov1");
1443 
1444 	m_maincpu->set_clock(10_MHz_XTAL / 8);
1445 	m_maincpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu1_triviamb_map);
1446 
1447 	NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // HY6116AP-10 + battery (only 512x4 bits are actually saved)
1448 
1449 	pia6821_device &pia(PIA6821(config, "pia")); // Thomson EF6821P
1450 	pia.writepb_handler().set(FUNC(balsente_state::out0_w)).bit(0);
1451 	pia.writepb_handler().append(FUNC(balsente_state::out1_w)).bit(1);
1452 	pia.writepb_handler().append(FUNC(balsente_state::out2_w)).bit(2);
1453 	pia.writepb_handler().append(FUNC(balsente_state::out3_w)).bit(3);
1454 	pia.writepb_handler().append(FUNC(balsente_state::out4_w)).bit(4);
1455 	pia.writepb_handler().append(FUNC(balsente_state::out5_w)).bit(5);
1456 	pia.writepb_handler().append(FUNC(balsente_state::out6_w)).bit(6);
1457 
1458 	mc6845_device &crtc(C6545_1(config, "crtc", 10_MHz_XTAL / 8)); // specific type unknown, but must allow VBLANK polling
1459 	crtc.set_screen(nullptr);
1460 	crtc.set_show_border_area(false);
1461 	crtc.set_char_width(4);
1462 
1463 	m_palette->set_format(palette_device::BGR_233, 1024);
1464 
1465 	// sound PCB has: 2x Z80CTC, 2x AY8910A, 1x M5205, 1x 8MHz XTAL (divisor unknown for every device)
1466 	Z80(config, m_audiocpu, 8_MHz_XTAL / 2);
1467 	m_audiocpu->set_addrmap(AS_PROGRAM, &balsente_state::cpu2_triviamb_map);
1468 	m_audiocpu->set_addrmap(AS_IO, &balsente_state::cpu2_triviamb_io_map);
1469 
1470 	Z80CTC(config, "ctc1", 8_MHz_XTAL / 2);
1471 	Z80CTC(config, "ctc2", 8_MHz_XTAL / 2);
1472 
1473 	SPEAKER(config, "mono").front_center();
1474 
1475 	AY8910(config, "ay1", 8_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "mono", 0.90);
1476 	AY8910(config, "ay2", 8_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "mono", 0.90);
1477 
1478 	MSM5205(config, "msm", 384000).add_route(ALL_OUTPUTS, "mono", 0.90);
1479 }
1480 
1481 /*************************************
1482  *
1483  *  ROM definitions
1484  *
1485  *************************************/
1486 
1487 #define MOTHERBOARD_PALS \
1488 	ROM_REGION( 0x00104, "motherbrd_pals", 0) /* Motherboard PAL's */ \
1489 	ROM_LOAD( "u01508001100b.u20f", 0x00000, 0x00104, CRC(2d2e2102) SHA1(de094f9955d6085f1714f1aa7c71e1f047e96c5f) ) /* PAL16L8, dumped from Board 007-8001-01-0C Rev C1 */
1490 
1491 ROM_START( sentetst )
1492 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1493 	ROM_LOAD( "sdiagef.bin",  0x1e000, 0x2000, CRC(2a39fc53) SHA1(04ea68bfad455cc928e57390eba5597c38bbab69) )
1494 
1495 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1496 	ROM_LOAD( "sdiaggr0.bin", 0x00000, 0x2000, CRC(5e0ff62a) SHA1(3f0ebebb2f58530af7fac57a4780dfb37ef1ee1d) )
1497 
1498 	MOTHERBOARD_PALS
1499 ROM_END
1500 
1501 
ROM_START(cshift)1502 ROM_START( cshift )
1503 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1504 	ROM_LOAD( "cs-ab0.bin", 0x00000, 0x2000, CRC(d2069e75) SHA1(17d5719e6e1976cebb332932cf3e900a88136928) ) /* Labeled as CHICKEN SHIFT, then name (like AB0) & dated 11/23/84 */
1505 	ROM_LOAD( "cs-ab1.bin", 0x02000, 0x2000, CRC(198f25a8) SHA1(5ca25fe57e94d8362896c903196e0080efd35ef5) )
1506 	ROM_LOAD( "cs-ab2.bin", 0x04000, 0x2000, CRC(2e2b2b82) SHA1(a540f3ff2a0a10b19aafe1528b7dcaeae9b7393d) )
1507 	ROM_LOAD( "cs-ab3.bin", 0x06000, 0x2000, CRC(b97fc520) SHA1(f45c5ec93eab1bfd1f9533df7ac624c2e99f6573) )
1508 	ROM_LOAD( "cs-ab4.bin", 0x08000, 0x2000, CRC(b4f0d673) SHA1(cb97dc8836c497fa03a862227340f8c351986a39) )
1509 	ROM_LOAD( "cs-ab5.bin", 0x0a000, 0x2000, CRC(b1f8e589) SHA1(d837beff063ed987571c5af6130f2c7d637d7c39) )
1510 	ROM_LOAD( "cs-cd.bin",  0x1c000, 0x2000, CRC(f555a0b2) SHA1(49668f8363fdcec4686ec80bf2e99003cd11e2c1) )
1511 	ROM_LOAD( "cs-ef.bin",  0x1e000, 0x2000, CRC(368b1ce3) SHA1(8003ef99adcb26feb42e1b0945b1185e438582b2) )
1512 
1513 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1514 	ROM_LOAD( "cs-gr0.bin", 0x00000, 0x2000, CRC(67f9d3b3) SHA1(4f3f80e4272b20611206636b6ccb627087efd0c3) )
1515 	ROM_LOAD( "cs-gr1.bin", 0x02000, 0x2000, CRC(78973d50) SHA1(de7891ef47c277d733d9b4810d68621718644655) )
1516 	ROM_LOAD( "cs-gr2.bin", 0x04000, 0x2000, CRC(1784f939) SHA1(ff7f43451580e3b314c24b00a66765c0b395ddf6) )
1517 	ROM_LOAD( "cs-gr3.bin", 0x06000, 0x2000, CRC(b43916a2) SHA1(8d42fb6ae7cf8b2d94eb0c14e00bb115f8ef01b4) )
1518 	ROM_LOAD( "cs-gr4.bin", 0x08000, 0x2000, CRC(a94cd35b) SHA1(0ca0497a1b055ff1ae6b7bc36ae45749dff50caa) )
1519 
1520 	MOTHERBOARD_PALS
1521 ROM_END
1522 
1523 
1524 ROM_START( gghost )
1525 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1526 	ROM_LOAD( "ggh-ab0.bin", 0x00000, 0x2000, CRC(ed0fdeac) SHA1(294cee47c0541c58d4d766388c281ed30b8f5426) )
1527 	ROM_LOAD( "ggh-ab1.bin", 0x02000, 0x2000, CRC(5bfbae58) SHA1(65c795354223cd5e2474ad9e779b77f58ed5b896) )
1528 	ROM_LOAD( "ggh-ab2.bin", 0x04000, 0x2000, CRC(f0baf921) SHA1(4b7ee06838dcdb68ddec51f5eafab53ff3f25bfe) )
1529 	ROM_LOAD( "ggh-ab3.bin", 0x06000, 0x2000, CRC(ed0fdeac) SHA1(294cee47c0541c58d4d766388c281ed30b8f5426) )
1530 	ROM_LOAD( "ggh-ab4.bin", 0x08000, 0x2000, CRC(5bfbae58) SHA1(65c795354223cd5e2474ad9e779b77f58ed5b896) )
1531 	ROM_LOAD( "ggh-ab5.bin", 0x0a000, 0x2000, CRC(f0baf921) SHA1(4b7ee06838dcdb68ddec51f5eafab53ff3f25bfe) )
1532 	ROM_LOAD( "ggh-cd.bin",  0x1c000, 0x2000, CRC(d3d75f84) SHA1(f19f99ea05ad5b7e4b0485e80d7b6a329b8ef4d8) )
1533 	ROM_LOAD( "ggh-ef.bin",  0x1e000, 0x2000, CRC(a02b4243) SHA1(f242fc017c9ae1997409825c34e8f5c6e6a0615e) )
1534 
1535 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1536 	ROM_LOAD( "ggh-gr0.bin", 0x00000, 0x2000, CRC(03515526) SHA1(bceb7c8c3aa4c39b6cf1b976c5765c920399fe31) )
1537 	ROM_LOAD( "ggh-gr1.bin", 0x02000, 0x2000, CRC(b4293435) SHA1(5e2b96c19c4f5c63a5afa2de504d29fe64a4c908) )
1538 	ROM_LOAD( "ggh-gr2.bin", 0x04000, 0x2000, CRC(ece0cb97) SHA1(13bfb38de30992b9597c9d0f87f7b2a5c061ba51) )
1539 	ROM_LOAD( "ggh-gr3.bin", 0x06000, 0x2000, CRC(dd7e25d0) SHA1(cc6402835d1b46d160869ba1d1cad54f24d3fe86) )
1540 	ROM_LOAD( "ggh-gr4.bin", 0x08000, 0x2000, CRC(b4293435) SHA1(5e2b96c19c4f5c63a5afa2de504d29fe64a4c908) )
1541 	ROM_LOAD( "ggh-gr5.bin", 0x0a000, 0x2000, CRC(d3da0093) SHA1(7474901b089ea62abad0a2f657fd8c4a1be09bf0) )
1542 
1543 	MOTHERBOARD_PALS
1544 ROM_END
1545 
1546 
1547 ROM_START( hattrick )
1548 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1549 	ROM_LOAD( "rom-ab0.u9a", 0x00000, 0x2000, CRC(f25c1b99) SHA1(43b2334be7cfb8091eea963e10547295362372d3) ) /* Labeled as HAT TRK, then name (like AB0) & dated 11/12/84 */
1550 	ROM_LOAD( "rom-ab1.u8a", 0x02000, 0x2000, CRC(c1df3d1f) SHA1(754f537d12efe8891638fd11a2ee8a5b234fb079) ) /* The Hat Trick cartridge does not have any PAL's */
1551 	ROM_LOAD( "rom-ab2.u7a", 0x04000, 0x2000, CRC(f6c41257) SHA1(05f5e71d08241c559da3bfc286c76cbb22710586) )
1552 	ROM_LOAD( "rom-cd.u3a",  0x1c000, 0x2000, CRC(fc44f36c) SHA1(227d0c93c579d743b615b1fa6da56128e8202e51) )
1553 	ROM_LOAD( "rom-ef.u2a",  0x1e000, 0x2000, CRC(d8f910fb) SHA1(b74a305dd848c7bf574e4b0aa32147b8d5c89e9e) )
1554 
1555 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1556 	ROM_LOAD( "rom-gr0.u9b", 0x00000, 0x2000, CRC(9f41baba) SHA1(fa817a8e4d2f7b86a2294132e3991f7b6d8cb11a) )
1557 	ROM_LOAD( "rom-gr1.u8b", 0x02000, 0x2000, CRC(951f08c9) SHA1(059a575dd35cd8e822e12ac2606b47b6272bbb41) )
1558 
1559 	MOTHERBOARD_PALS
1560 ROM_END
1561 
1562 
1563 ROM_START( teamht )
1564 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1565 	ROM_LOAD( "hattrk.u8a", 0x00000, 0x4000, CRC(cb746de8) SHA1(b0e5003370b65f2aed4dc9ccb2a2d3eb29050245) )
1566 	ROM_LOAD( "hattrk.u7a", 0x04000, 0x4000, CRC(5f2a0b24) SHA1(da1950a7e11014e47438a7c5831433390c1b1fd3) )
1567 	ROM_LOAD( "hattrk.u1a", 0x1c000, 0x4000, CRC(6c6cf2be) SHA1(80e82ae4bd129000e74c4a5fd06d2109d5417e39) )
1568 
1569 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1570 	ROM_LOAD( "hattrk.u6b", 0x00000, 0x4000, CRC(6e299728) SHA1(f10fc020fdf8f61d059ac57306b0353ac7dbfb24) )
1571 
1572 	MOTHERBOARD_PALS
1573 ROM_END
1574 
1575 
1576 ROM_START( otwalls )
1577 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1578 	ROM_LOAD( "otw-ab0.bin", 0x00000, 0x2000, CRC(474441c7) SHA1(16fb5be9f94e072d4f3003abcc9dcf6d7af2359a) )
1579 	ROM_LOAD( "otw-ab1.bin", 0x02000, 0x2000, CRC(2e9e9411) SHA1(7dfd8dafa34e4d22fa0c5e472e3e98a1c0969f43) )
1580 	ROM_LOAD( "otw-ab2.bin", 0x04000, 0x2000, CRC(ba092128) SHA1(a38305c3ea9c8bf3596c18829655049f9468166e) )
1581 	ROM_LOAD( "otw-ab3.bin", 0x06000, 0x2000, CRC(74bc479d) SHA1(905dab90aa11f3f4359185bb67d8c2bdc957516d) )
1582 	ROM_LOAD( "otw-ab4.bin", 0x08000, 0x2000, CRC(f5f67619) SHA1(e3eb1434dff987d27056ae0749046f32f280160b) )
1583 	ROM_LOAD( "otw-ab5.bin", 0x0a000, 0x2000, CRC(f5f67619) SHA1(e3eb1434dff987d27056ae0749046f32f280160b) )
1584 	ROM_LOAD( "otw-cd.bin",  0x1c000, 0x2000, CRC(8e2d15ab) SHA1(8043fdf637de7752e8d42554ebad2e155a6f5939) )
1585 	ROM_LOAD( "otw-ef.bin",  0x1e000, 0x2000, CRC(57eab299) SHA1(475d800c03d6b2786bd23861d61dc113b837a585) )
1586 
1587 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1588 	ROM_LOAD( "otw-gr0.bin", 0x00000, 0x2000, CRC(210bad3c) SHA1(703769c6a569b17f2ad18441da7de0237be4721e) )
1589 	ROM_LOAD( "otw-gr1.bin", 0x02000, 0x2000, CRC(13e6aaa5) SHA1(ac8b9d16d2159d4a578d8fa988b59c058c5efc88) )
1590 	ROM_LOAD( "otw-gr2.bin", 0x04000, 0x2000, CRC(5cfefee5) SHA1(9aa74f0e1116098f43a4f8b4957db8923ddaf780) )
1591 	ROM_LOAD( "otw-gr3.bin", 0x06000, 0x2000, CRC(6b17e4a9) SHA1(f9c57da863d613a456ee056569a87a9552ad3874) )
1592 	ROM_LOAD( "otw-gr4.bin", 0x08000, 0x2000, CRC(15985c8c) SHA1(94f21c348bfbe4db6d0cfa5b5e35d2df4b8f936d) )
1593 	ROM_LOAD( "otw-gr5.bin", 0x0a000, 0x2000, CRC(448f7e3c) SHA1(505724e90f17b05ccf0137dbed0d33e39db1d5ab) )
1594 
1595 	MOTHERBOARD_PALS
1596 ROM_END
1597 
1598 
1599 ROM_START( snakepit )
1600 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1601 	ROM_LOAD( "spit-ab0.bin", 0x00000, 0x2000, CRC(5aa86081) SHA1(e65e256661b13a0631398e115dd02fce281bafa4) )
1602 	ROM_LOAD( "spit-ab1.bin", 0x02000, 0x2000, CRC(588228b8) SHA1(b64032a4fd1f52179d38e2073380bba6ec321302) )
1603 	ROM_LOAD( "spit-ab2.bin", 0x04000, 0x2000, CRC(60173ab6) SHA1(45b27492023771a53ea5857592a2a113746a72b6) )
1604 	ROM_LOAD( "spit-ab3.bin", 0x06000, 0x2000, CRC(56cb51a8) SHA1(fceb2fbae91bbab0b25410072805449ef531f360) )
1605 	ROM_LOAD( "spit-ab4.bin", 0x08000, 0x2000, CRC(40ba61e0) SHA1(91b06d116633c5261f3aa97d4e65bd61bae3c0eb) )
1606 	ROM_LOAD( "spit-ab5.bin", 0x0a000, 0x2000, CRC(2a1d9d8f) SHA1(3364f4bc507576323560bf14fc99036c47d0297c) )
1607 	ROM_LOAD( "spit-cd.bin",  0x1c000, 0x2000, CRC(54095cbb) SHA1(a43b78b2876359a29ecb2f169c876a0026375ea2) )
1608 	ROM_LOAD( "spit-ef.bin",  0x1e000, 0x2000, CRC(5f836a66) SHA1(cc3c11003f9e49cac10c0296ab6d156e5677d0f8) )
1609 
1610 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1611 	ROM_LOAD( "spit-gr0.bin", 0x00000, 0x2000, CRC(f77fd85d) SHA1(f8e69d1d0030412d6129a8ebfee40b3f1f189d8d) )
1612 	ROM_LOAD( "spit-gr1.bin", 0x02000, 0x2000, CRC(3ad10334) SHA1(1d82a7948fbee627c80a9e03ade90e57972a6a31) )
1613 	ROM_LOAD( "spit-gr2.bin", 0x04000, 0x2000, CRC(24887703) SHA1(089f077400c9a3e3f5b43e8aa60b41160e296d52) )
1614 	ROM_LOAD( "spit-gr3.bin", 0x06000, 0x2000, CRC(c6703ec2) SHA1(0f5d7c17ee508f8fea316b7f92cdd7cc174b155f) )
1615 	ROM_LOAD( "spit-gr4.bin", 0x08000, 0x2000, CRC(b4293435) SHA1(5e2b96c19c4f5c63a5afa2de504d29fe64a4c908) )
1616 	ROM_LOAD( "spit-gr5.bin", 0x0a000, 0x2000, CRC(dc27c970) SHA1(291ef10a8c330ef8e47622246b6301d2e5171df7) )
1617 
1618 	MOTHERBOARD_PALS
1619 ROM_END
1620 
1621 
1622 ROM_START( snakepit2 )
1623 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1624 	ROM_LOAD( "ab0.bin", 0x00000, 0x2000, CRC(5aa86081) SHA1(e65e256661b13a0631398e115dd02fce281bafa4) )
1625 	ROM_LOAD( "ab1.bin", 0x02000, 0x2000, CRC(588228b8) SHA1(b64032a4fd1f52179d38e2073380bba6ec321302) )
1626 	ROM_LOAD( "ab2.bin", 0x04000, 0x2000, CRC(d573e33e) SHA1(47ff4f2f28f3d1830da82bef09ebc9b4f5cedaa5) )
1627 	ROM_LOAD( "ab3.bin", 0x06000, 0x2000, CRC(0e3b6cfe) SHA1(2bac5869d1ed01744a7fc07679fc59307e845f97) )
1628 	ROM_LOAD( "ab4.bin", 0x08000, 0x2000, CRC(5de588a7) SHA1(aebd6710bee56fdfa15916404f120469ab710de0) )
1629 	ROM_LOAD( "ab5.bin", 0x0a000, 0x2000, CRC(2a1d9d8f) SHA1(3364f4bc507576323560bf14fc99036c47d0297c) )
1630 	ROM_LOAD( "cd.bin",  0x1c000, 0x2000, CRC(f357172e) SHA1(822012360526459e85196692e4cb408fe25fb1cc) )
1631 	ROM_LOAD( "ef.bin",  0x1e000, 0x2000, CRC(5e9d1de2) SHA1(5a04c4444aed9c2677fc85ad733fec69398403d6) )
1632 
1633 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1634 	ROM_LOAD( "gr0.bin", 0x00000, 0x2000, CRC(f77fd85d) SHA1(f8e69d1d0030412d6129a8ebfee40b3f1f189d8d) )
1635 	ROM_LOAD( "gr1.bin", 0x02000, 0x2000, CRC(3ad10334) SHA1(1d82a7948fbee627c80a9e03ade90e57972a6a31) )
1636 	ROM_LOAD( "gr2.bin", 0x04000, 0x2000, CRC(24887703) SHA1(089f077400c9a3e3f5b43e8aa60b41160e296d52) )
1637 	ROM_LOAD( "gr3.bin", 0x06000, 0x2000, CRC(c6703ec2) SHA1(0f5d7c17ee508f8fea316b7f92cdd7cc174b155f) )
1638 
1639 	MOTHERBOARD_PALS
1640 ROM_END
1641 
1642 
1643 ROM_START( snakjack )
1644 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1645 	ROM_LOAD( "rom-ab0.u9a", 0x00000, 0x2000, CRC(da2dd119) SHA1(85ae452b137e69e051fa66648f295d180339794e) )
1646 	ROM_LOAD( "rom-ab1.u8a", 0x02000, 0x2000, CRC(657ddf26) SHA1(48591a6b0c30d576f0e08dd54c95cbda76b5dfbd) )
1647 	ROM_LOAD( "rom-ab2.u7a", 0x04000, 0x2000, CRC(15333dcf) SHA1(13546bd058a10513fe4cbe3a3fa268b7c38b5993) )
1648 	ROM_LOAD( "rom-ab3.u6a", 0x06000, 0x2000, CRC(57671f6f) SHA1(49e76e03d828fed28e7e0608985172af20084f7f) )
1649 	ROM_LOAD( "rom-ab4.u5a", 0x08000, 0x2000, CRC(c16c5dc0) SHA1(93e36758f4e5bb8dac29f9a2bc3ac5f9589e8c9a) )
1650 	ROM_LOAD( "rom-ab5.u4a", 0x0a000, 0x2000, CRC(d7019747) SHA1(c8b1a6ea463b5932bc9ed2c91faea2e2639d7934) )
1651 	ROM_LOAD( "rom-cd.u3a",  0x1c000, 0x2000, CRC(7b44ca4c) SHA1(8697055da489fcf0244dc94fe5393418a8003bf7) )
1652 	ROM_LOAD( "rom-ef.u1a",  0x1e000, 0x2000, CRC(f5309b38) SHA1(864f759dc6822b548742140b7ea2ea2aba43beba) )
1653 
1654 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1655 	ROM_LOAD( "rom-gr0.u9b", 0x00000, 0x2000, CRC(3e64b5d5) SHA1(ab681eabb4f8e5b946c288ffb8df0624c0473d82) )
1656 	ROM_LOAD( "rom-gr1.u8b", 0x02000, 0x2000, CRC(b3b8baee) SHA1(b37638784a3903f2dcd698104da75b4ab59e8257) )
1657 	ROM_LOAD( "rom-gr2.u7b", 0x04000, 0x2000, CRC(e9d89dac) SHA1(570809ec5f8a64f280e13cbf801664cb548997e9) )
1658 	ROM_LOAD( "rom-gr3.u6b", 0x06000, 0x2000, CRC(b6602be8) SHA1(c5bc95e0116fb2cf86a694561dc2c21612ba4434) )
1659 	ROM_LOAD( "rom-gr4.u5b", 0x08000, 0x2000, CRC(3fbfa686) SHA1(6c137d177c7aa2701497ac3ac922fdb8cd9f52b3) )
1660 	ROM_LOAD( "rom-gr5.u4b", 0x0a000, 0x2000, CRC(345f94fb) SHA1(0af24f4e1a797efe5272f64b8a34483fe6002436) )
1661 
1662 	/* From a picture in an eBay auction the board appears to have a PAL that needs to be dumped. */
1663 
1664 	MOTHERBOARD_PALS
1665 ROM_END
1666 
1667 
1668 ROM_START( stocker )
1669 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1670 	ROM_LOAD( "ab01.u8a", 0x00000, 0x4000, CRC(6a914d99) SHA1(0df23fcdcb3743d84ce0363424b7c5dd249c6dcf) )
1671 	ROM_LOAD( "ab23.u7a", 0x04000, 0x4000, CRC(48e432c2) SHA1(af87009089a3e83fab5c935696edbbf2a15215f9) )
1672 	ROM_LOAD( "cd6ef.u1a",0x1c000, 0x4000, CRC(83e6e5c9) SHA1(f0e38a95cb2ea385a587f330c48fc787db0cc65e) )
1673 
1674 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1675 	ROM_LOAD( "gr01.u6b", 0x00000, 0x4000, CRC(2e66ac35) SHA1(c65b4991a88f8359c85f904f66a7fe73330aface) )
1676 	ROM_LOAD( "gr23.u5b", 0x04000, 0x4000, CRC(6fa43631) SHA1(7000907b914bf851b09811e3736af8c02e1aeda9) )
1677 
1678 	ROM_REGION( 0x00100, "cart_pals", 0) /* PAL's located on the cartridge */
1679 	ROM_LOAD( "pal10l8.u1c.bin", 0x0000, 0x002c, CRC(b4f6b0b7) SHA1(5a439bfb02b4b2cbcbd9b009ccfce1d300a2435e) ) /* PAL10L8CN */
1680 
1681 	MOTHERBOARD_PALS
1682 ROM_END
1683 
1684 // the old dump for reference, it had a different cart layout.
1685 #if 0
1686 ROM_START( stocker )
1687 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1688 	ROM_LOAD( "stkr-ab0.bin", 0x00000, 0x2000, CRC(784a00ad) SHA1(33e76be44207bc24dbb9c2f04204df22ba5154ff) )
1689 	ROM_LOAD( "stkr-ab1.bin", 0x02000, 0x2000, CRC(cdae01dc) SHA1(7c2956acae639fd2f2cf061d1c32ae9edabe9270) )
1690 	ROM_LOAD( "stkr-ab2.bin", 0x04000, 0x2000, CRC(18527d57) SHA1(cbb85f9e0b6169f4c2e03dc54b4937043535fc42) )
1691 	ROM_LOAD( "stkr-ab3.bin", 0x06000, 0x2000, CRC(028f6c06) SHA1(f1d30efcd7e967b0390f441848bb655111fdde65) )
1692 	ROM_LOAD( "stkr-cd.bin",  0x1c000, 0x2000, BAD_DUMP CRC(53dbc4e5) SHA1(e389978b5472174681fa180c6a2edf49903a6514) ) // 1 bad byte
1693 	ROM_LOAD( "stkr-ef.bin",  0x1e000, 0x2000, BAD_DUMP CRC(cdcf46bc) SHA1(8b1e801dab1efed002d484135264998d255dc041) ) // 1 bad byte
1694 
1695 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1696 	ROM_LOAD( "stkr-gr0.bin", 0x00000, 0x2000, CRC(76d5694c) SHA1(e2b155fc7178886eb37a532d961b99b8c864397c) )
1697 	ROM_LOAD( "stkr-gr1.bin", 0x02000, 0x2000, CRC(4a5cc00b) SHA1(9ce46ed94e715a5997998aee6377baf2869ab3a6) )
1698 	ROM_LOAD( "stkr-gr2.bin", 0x04000, 0x2000, CRC(70002382) SHA1(c151ad3df2714a2f9f8b047894e7585ca16bd29e) )
1699 	ROM_LOAD( "stkr-gr3.bin", 0x06000, 0x2000, CRC(68c862d8) SHA1(302ce10e23d17af9aa7fa13d18c602656a262eaa) ) // the data here also differs from the good set, although the change is meaningless (data at the end blanked out here)
1700 
1701 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
1702 	ROM_LOAD( "pal10l8.u1c", 0x0000, 0x0001, NO_DUMP ) /* PAL10L8CN */
1703 
1704 	MOTHERBOARD_PALS
1705 ROM_END
1706 #endif
1707 
1708 ROM_START( triviag1 )
1709 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1710 	ROM_LOAD( "tpg1-ab0.bin", 0x00000, 0x2000, CRC(79fd3ac3) SHA1(52db0ba445f9a953f6ceb43c3d173b73c71af192) )
1711 	ROM_LOAD( "tpg1-ab1.bin", 0x02000, 0x2000, CRC(0ff677e9) SHA1(14fdc1ee87893ea91eea40949aeac5381c569bdd) )
1712 	ROM_LOAD( "tpg1-ab2.bin", 0x04000, 0x2000, CRC(3b4d03e7) SHA1(b5bb541daf59b2a62b17a10afa37bfae50563393) )
1713 	ROM_LOAD( "tpg1-ab3.bin", 0x06000, 0x2000, CRC(2c6c0651) SHA1(9ff5dcc4a54df653ae43d503e153f4e48ea4735b) )
1714 	ROM_LOAD( "tpg1-ab4.bin", 0x08000, 0x2000, CRC(397529e7) SHA1(af1898dc35545981513ec251eed162b329709692) )
1715 	ROM_LOAD( "tpg1-ab5.bin", 0x0a000, 0x2000, CRC(499773a4) SHA1(c0c0ad2a63a9dbb7585cab7e21162bbc58fec0d8) )
1716 	ROM_LOAD( "tpg1-cd.bin",  0x1c000, 0x2000, CRC(35c9b9c2) SHA1(aac57022098656dac99bf9ceeaa2bf9a3d139986) )
1717 	ROM_LOAD( "tpg1-ef.bin",  0x1e000, 0x2000, CRC(64878342) SHA1(dd93d64b3fe351a9d2bd4c473ecefde58f0b0041) )
1718 
1719 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1720 	ROM_LOAD( "tpg1-gr0.bin", 0x00000, 0x2000, CRC(20c9217a) SHA1(79ef058633149da8d2835405954ac31c661bf660) )
1721 	ROM_LOAD( "tpg1-gr1.bin", 0x02000, 0x2000, CRC(d7f44504) SHA1(804dbc4c006b20bdb01bdf02754e0d98f6fbacbe) )
1722 	ROM_LOAD( "tpg1-gr2.bin", 0x04000, 0x2000, CRC(4e59a15d) SHA1(c584bae32e2e5d8b5a48c44a31272b4f9dadfcd1) )
1723 	ROM_LOAD( "tpg1-gr3.bin", 0x06000, 0x2000, CRC(323a8640) SHA1(7ec6f8f9bcfa5de442dce4f6e81e697da34dbab8) )
1724 	ROM_LOAD( "tpg1-gr4.bin", 0x08000, 0x2000, CRC(673acf42) SHA1(7b36a86441732ba14576f9c1dd14fe0da575d4bf) )
1725 	ROM_LOAD( "tpg1-gr5.bin", 0x0a000, 0x2000, CRC(067bfd66) SHA1(32f5973f2f0aed67c8f9b5886f52b9dc516a611e) )
1726 
1727 	MOTHERBOARD_PALS
1728 ROM_END
1729 
1730 ROM_START( trivia12 )
1731 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1732 	ROM_LOAD( "ab0.u9a", 0x00000, 0x2000, CRC(41ca9a81) SHA1(127beee924d4213de874f7def9875fd3a26c6b5f) )
1733 	ROM_LOAD( "ab1.u8a", 0x02000, 0x2000, CRC(b3b48a3d) SHA1(e9554887430014116ff8e5e3d0ef5678d13f224c) )
1734 	ROM_LOAD( "ab2.u7a", 0x04000, 0x2000, CRC(ab652ce9) SHA1(06f47c274b94f046a59a1dc432c55ee8f450a246) )
1735 	ROM_LOAD( "ab3.u6a", 0x06000, 0x2000, CRC(4b382c77) SHA1(4a14166c90542ecec3677d9098a26723be6a26e2) )
1736 	ROM_LOAD( "ab4.u5a", 0x08000, 0x2000, CRC(9b4a8c4e) SHA1(c0354862b428ad8a5b1d229cadfcfc7e688b06c1) )
1737 	ROM_LOAD( "ab5.u4a", 0x0a000, 0x2000, CRC(499773a4) SHA1(c0c0ad2a63a9dbb7585cab7e21162bbc58fec0d8) )
1738 	ROM_LOAD( "cd.u3a",  0x1c000, 0x2000, CRC(12d870ba) SHA1(b86a8cbf8037df78437056f5ff57e7b8b5e4c94e) )
1739 	ROM_LOAD( "ef.u2a",  0x1e000, 0x2000, CRC(d902ee28) SHA1(18e3c96e1ac50f847d1b9f4f868f19e074d147ff) )
1740 
1741 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1742 	ROM_LOAD( "gr0.u9b", 0x00000, 0x2000, CRC(20c9217a) SHA1(79ef058633149da8d2835405954ac31c661bf660) )
1743 	ROM_LOAD( "gr1.u8b", 0x02000, 0x2000, CRC(d7f44504) SHA1(804dbc4c006b20bdb01bdf02754e0d98f6fbacbe) )
1744 	ROM_LOAD( "gr2.u7b", 0x04000, 0x2000, CRC(4e59a15d) SHA1(c584bae32e2e5d8b5a48c44a31272b4f9dadfcd1) )
1745 	ROM_LOAD( "gr3.u6b", 0x06000, 0x2000, CRC(323a8640) SHA1(7ec6f8f9bcfa5de442dce4f6e81e697da34dbab8) )
1746 	ROM_LOAD( "gr4.u5b", 0x08000, 0x2000, CRC(673acf42) SHA1(7b36a86441732ba14576f9c1dd14fe0da575d4bf) )
1747 	ROM_LOAD( "gr5.u4b", 0x0a000, 0x2000, CRC(d17d5431) SHA1(b92741f6eda01f2e360e73a9f4df728fc44d7e1b) )
1748 
1749 	MOTHERBOARD_PALS
1750 ROM_END
1751 
1752 
1753 ROM_START( triviag2 )
1754 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1755 	ROM_LOAD( "ab01.bin",  0x00000, 0x4000, CRC(4fca20c5) SHA1(595b32ff035036cafbf49d75aa170f39e9f52b38) ) /* Labeled as GENUS II, then name (like ROM AB01R) & dated 3/22/85 */
1756 	ROM_LOAD( "ab23.bin",  0x04000, 0x4000, CRC(6cf2ddeb) SHA1(0d6667babd9ab70820cf165900d90003f0893be7) )
1757 	ROM_LOAD( "ab45.bin",  0x08000, 0x4000, CRC(a7ff789c) SHA1(a3421ae46dadd6f514cfc514ff07dfcca2cb1478) )
1758 	ROM_LOAD( "ab67.bin",  0x0c000, 0x4000, CRC(cc5c68ef) SHA1(38713796e07f84c9a1b21d8c66f76e620132d77e) )
1759 	ROM_LOAD( "cd45.bin",  0x18000, 0x4000, CRC(fc9c752a) SHA1(239507fb5d75e86aca295978aab1dd4514d8d761) )
1760 	ROM_RELOAD(            0x10000, 0x4000 )
1761 	ROM_RELOAD(            0x14000, 0x4000 )
1762 	ROM_LOAD( "cd6ef.bin", 0x1c000, 0x4000, CRC(23b56fb8) SHA1(9ac726de69e4b374886a3542829745f7477d7556) )
1763 
1764 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1765 	ROM_LOAD( "gr01.bin",  0x00000, 0x4000, CRC(6829de8e) SHA1(4ec494883ba358f2ac7ce8d5a623a2f34b5bc843) )
1766 	ROM_LOAD( "gr23.bin",  0x04000, 0x4000, CRC(89398700) SHA1(771ee04baa9a31d435a6234490105878713e7845) )
1767 	ROM_LOAD( "gr45.bin",  0x08000, 0x4000, CRC(1e870293) SHA1(32149c9c8047854f2b2ad8844c4bd00a8ded588e) )
1768 
1769 	MOTHERBOARD_PALS
1770 ROM_END
1771 
1772 
1773 ROM_START( triviasp )
1774 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1775 	ROM_LOAD( "allsport.8a", 0x00000, 0x4000, CRC(54b7ff31) SHA1(1bdf9c9eb1a0fb4c1013680372d289882abf4b47) )
1776 	ROM_LOAD( "allsport.7a", 0x04000, 0x4000, CRC(59fae9d2) SHA1(a555f0679c59bf7c9dad0ecb9656a2f8faf39902) )
1777 	ROM_LOAD( "allsport.6a", 0x08000, 0x4000, CRC(237b6b95) SHA1(9d2937c1ecea9d92775f380d40f465f68c44fe06) )
1778 	ROM_LOAD( "allsport.5a", 0x0c000, 0x4000, CRC(b64d7f61) SHA1(25a7034b18a1623209dc0d06bdb4490243d43261) )
1779 	ROM_LOAD( "allsport.3a", 0x18000, 0x4000, CRC(e45d09d6) SHA1(8bde18d25f8bd1056e42672d428473be23eab260) )
1780 	ROM_LOAD( "allsport.1a", 0x1c000, 0x4000, CRC(8bb3e831) SHA1(ecc8fb0f2143e3ea03bb52773cc0a81d4dcc742d) )
1781 
1782 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1783 	ROM_LOAD( "gr01.bin",    0x00000, 0x4000, CRC(6829de8e) SHA1(4ec494883ba358f2ac7ce8d5a623a2f34b5bc843) )
1784 	ROM_LOAD( "gr23.bin",    0x04000, 0x4000, CRC(89398700) SHA1(771ee04baa9a31d435a6234490105878713e7845) )
1785 	ROM_LOAD( "allsport.3b", 0x08000, 0x4000, CRC(7415a7fc) SHA1(93d832434f359ce7b02aef276c89456b16438979) )
1786 
1787 	MOTHERBOARD_PALS
1788 ROM_END
1789 
1790 
1791 ROM_START( triviayp )
1792 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1793 	ROM_LOAD( "ab01.bin",  0x00000, 0x4000, CRC(97d35a85) SHA1(3ee8400fc3a2bf8a2f6374ffc34a4d295ee13bab) )
1794 	ROM_LOAD( "ab23.bin",  0x04000, 0x4000, CRC(2ff67c70) SHA1(c45b5fde4ec979322c9e251e66183632552d35bd) )
1795 	ROM_LOAD( "ab45.bin",  0x08000, 0x4000, CRC(511a0fab) SHA1(a2fefe2b86028c7e8c15d6a737509b7dc30430cd) )
1796 	ROM_LOAD( "ab67.bin",  0x0c000, 0x4000, CRC(df99d00c) SHA1(7eba6b85e2d9a06635e97d12123fd2a17368e6bc) )
1797 	ROM_LOAD( "cd45.bin",  0x18000, 0x4000, CRC(ac45809e) SHA1(1151c4e55f21a7e2eb8e163ac782b4449af84cdc) )
1798 	ROM_LOAD( "cd6ef.bin", 0x1c000, 0x4000, CRC(a008059f) SHA1(45e4cfc259e801a189ec19fdc58135dbbbe130ea) )
1799 
1800 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1801 	ROM_LOAD( "gr01.bin", 0x00000, 0x4000, CRC(6829de8e) SHA1(4ec494883ba358f2ac7ce8d5a623a2f34b5bc843) )
1802 	ROM_LOAD( "gr23.bin", 0x04000, 0x4000, CRC(89398700) SHA1(771ee04baa9a31d435a6234490105878713e7845) )
1803 	ROM_LOAD( "gr45.bin", 0x08000, 0x4000, CRC(1242033e) SHA1(1a3fe186bb261e2c7d9fbbb2a3103b39bf029b35) )
1804 
1805 	MOTHERBOARD_PALS
1806 ROM_END
1807 
1808 
1809 ROM_START( triviabb )
1810 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1811 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(1b7c439d) SHA1(8b3020dcb375b2f2e5e975a8067df6504aa8691e) )
1812 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(e4f1e704) SHA1(e5135134b54e1e2e95c5bfe6e5f0e2dd280db69d) )
1813 	ROM_LOAD( "ab45.u6a",  0x08000, 0x4000, CRC(daa2d8bc) SHA1(feae215877ba42ab33182dfd74083f1d48443d8c) )
1814 	ROM_LOAD( "ab67.u5a",  0x0c000, 0x4000, CRC(3622c4f1) SHA1(d180bb1c4a73d95c369cc507697421fb38a92d2c) )
1815 	ROM_LOAD( "cd45.u2a",  0x18000, 0x4000, CRC(07fd88ff) SHA1(c3168ecf6562e09790c4f18cdd91c7a347223323) )
1816 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(2d03f241) SHA1(986ca6ea20c306e83ae88acc2d6837c7ed5fe351) )
1817 
1818 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1819 	ROM_LOAD( "gr01.u6b", 0x00000, 0x4000, CRC(6829de8e) SHA1(4ec494883ba358f2ac7ce8d5a623a2f34b5bc843) )
1820 	ROM_LOAD( "gr23.u5b", 0x04000, 0x4000, CRC(89398700) SHA1(771ee04baa9a31d435a6234490105878713e7845) )
1821 	ROM_LOAD( "gr45.u4b", 0x08000, 0x4000, CRC(92fb6fb1) SHA1(1a322bd3cfacdf82d4fcc4b4d47f78a701411919) )
1822 
1823 	ROM_REGION( 0x00100, "cart_pals", 0) /* PAL's located on the cartridge */
1824 	ROM_LOAD( "pal10l8.u1d.bin", 0x0000, 0x002c, CRC(175a5168) SHA1(4f5e090a8ae1e35f9cb1b649ef1e1805f6f32284) ) /* PAL10L8CN */
1825 
1826 	MOTHERBOARD_PALS
1827 ROM_END
1828 
1829 ROM_START( triviaes )
1830 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1831 	ROM_LOAD( "tp_a2.bin",  0x00000, 0x04000, CRC(b4d69463) SHA1(8d6b2024600ab0a5d76d2b8ec53cf4c6c6618901) )
1832 	ROM_LOAD( "tp_a7.bin",  0x04000, 0x04000, CRC(d78bd4b6) SHA1(0542fc4ef2501c7649b9fd257340c4392a19d7ad) )
1833 	ROM_LOAD( "tp_a4.bin",  0x08000, 0x04000, CRC(0de9e14d) SHA1(3d5fdf8531cb10a41e3f604165fce682e7e019d5) )
1834 	ROM_LOAD( "tp_a5.bin",  0x0c000, 0x04000, CRC(e749adac) SHA1(426665249a57ba6f4a890808a1c84edeade149bb) )
1835 	ROM_LOAD( "tp_a8.bin",  0x10000, 0x04000, CRC(168ef5ed) SHA1(677a83dfcb12af7e13f00213e2eec48fa2fa63c8) )
1836 	ROM_LOAD( "tp_a1.bin",  0x14000, 0x04000, CRC(1f6ef37f) SHA1(c399404e05d817ffb361eb8ef274a86f07085940) )
1837 	ROM_LOAD( "tp_a6.bin",  0x18000, 0x04000, CRC(421c1a29) SHA1(3e0de8734a39fb887aff40e89cb0936d4cacf9a5) )
1838 	ROM_LOAD( "tp_a3.bin",  0x1c000, 0x04000, CRC(c6254f46) SHA1(47f3d05d0c31983ed1576f91fa193fe58e80bb60) )
1839 
1840 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1841 	ROM_LOAD( "tp_gr3.bin", 0x00000, 0x4000, CRC(6829de8e) SHA1(4ec494883ba358f2ac7ce8d5a623a2f34b5bc843) )
1842 	ROM_LOAD( "tp_gr2.bin", 0x04000, 0x4000, CRC(89398700) SHA1(771ee04baa9a31d435a6234490105878713e7845) )
1843 	ROM_LOAD( "tp_gr1.bin", 0x08000, 0x4000, CRC(1242033e) SHA1(1a3fe186bb261e2c7d9fbbb2a3103b39bf029b35) )
1844 
1845 	MOTHERBOARD_PALS
1846 ROM_END
1847 
1848 ROM_START( triviaes2 )
1849 	ROM_REGION( 0x20000, "maincpu", 0 ) // all 27128
1850 	ROM_LOAD( "tpe-2cd45.u2a",  0x00000, 0x04000, CRC(ef26b178) SHA1(7bf0453de9192f37f7c8855aaa752c5374e72eb8) )
1851 	ROM_LOAD( "tpe-2ab23.u7a",  0x04000, 0x04000, CRC(348dc874) SHA1(eb5719db02f9cdfcfba47a93f0a4f2745ba96836) )
1852 	ROM_LOAD( "tpe-2cd01.u4a",  0x08000, 0x04000, CRC(9695d8ed) SHA1(9849dbe3303335f7f0568aa0f45a431d60602e54) )
1853 	ROM_LOAD( "tpe-2ab67.u5a",  0x0c000, 0x04000, CRC(808a3e1e) SHA1(ac34a131fea30729bb81a47cc6742a296ce65770) )
1854 	ROM_LOAD( "tpe-2ab01.u8a",  0x10000, 0x04000, CRC(39ddbafd) SHA1(bb06ad80be7c49d0e2c6762b3e2220a85c273c99) )
1855 	ROM_LOAD( "tpe-2cd23.u3a",  0x1c000, 0x04000, CRC(dacd287e) SHA1(3667c835a2b1f35ff69aa28d4f33824f4e457e1a) )
1856 	ROM_LOAD( "tpe-2cdef.u1a",  0x14000, 0x04000, CRC(22f9e1b4) SHA1(f5f5d9dadcd12f8e8f3a715854243f6da8678c23) )
1857 	ROM_LOAD( "tpe-2ab45.u6a",  0x18000, 0x04000, CRC(cf48b8eb) SHA1(f63590bcdd7e17d85f4f490640785e8828358f93) )
1858 
1859 	// 2764 on sound board labeled with handwritten 'PANEA'
1860 
1861 	ROM_REGION( 0x10000, "gfx1", 0 ) // all 27128
1862 	ROM_LOAD( "tpegr01.u6b", 0x00000, 0x4000, CRC(6829de8e) SHA1(4ec494883ba358f2ac7ce8d5a623a2f34b5bc843) )
1863 	ROM_LOAD( "tpegr23.u5b", 0x04000, 0x4000, CRC(89398700) SHA1(771ee04baa9a31d435a6234490105878713e7845) )
1864 	ROM_LOAD( "tpegr45.u4b", 0x08000, 0x4000, CRC(1242033e) SHA1(1a3fe186bb261e2c7d9fbbb2a3103b39bf029b35) )
1865 
1866 	MOTHERBOARD_PALS
1867 ROM_END
1868 
1869 ROM_START( gimeabrk )
1870 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1871 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(18cc53db) SHA1(3bb47c349b3ab7b81e3557e3b4877617fb549c9e) ) /* Labeled as GimmeABreak, then name (like AB01) & dated 7/7/85 */
1872 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(6bd4190a) SHA1(b6562b3575dc8265c01719cfbcb554b69bc1b37f) )
1873 	ROM_LOAD( "ab45.u6a",  0x08000, 0x4000, CRC(5dca4f33) SHA1(aa45d5a960491c85f332f22cffe61999fe3db826) )
1874 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(5e2b3510) SHA1(e3501b9bd73bc724aee0436700625bd2af94f72d) )
1875 
1876 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1877 	ROM_LOAD( "gr01.u6b", 0x00000, 0x4000, CRC(e3cdc476) SHA1(2f17c3f84767850d45192dfb507dd2716ecadc20) )
1878 	ROM_LOAD( "gr23.u5b", 0x04000, 0x4000, CRC(0555d9c0) SHA1(da0d1f207ad056b2d82a5ad6382372066883d161) )
1879 
1880 	ROM_REGION( 0x00100, "cart_pals", 0) /* PAL's located on the cartridge */
1881 	ROM_LOAD( "pal10l8.u1c.bin", 0x0000, 0x002c, CRC(b4f6b0b7) SHA1(5a439bfb02b4b2cbcbd9b009ccfce1d300a2435e) ) /* PAL10L8CN */
1882 
1883 	MOTHERBOARD_PALS
1884 ROM_END
1885 
1886 ROM_START( grudge )
1887 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1888 	ROM_LOAD( "gm-3a.bin", 0x00000, 0x8000, CRC(eabeec2b) SHA1(92098512e3dbcda36f42e10fada01323fab4b08a) )
1889 	ROM_LOAD( "gm-4a.bin", 0x08000, 0x8000, CRC(72664f18) SHA1(98202d7a775792d2d1c44a26540ac35afaffa6b2) )
1890 	ROM_LOAD( "gm-1a.bin", 0x10000, 0x8000, CRC(ad168726) SHA1(c4d084e3752d6c4365d2460ca3146b148dcccc1d) )
1891 	ROM_LOAD( "gm-2a.bin", 0x18000, 0x8000, CRC(1de8dd2e) SHA1(6b538dcf35105bca1ae1bb5387a08b4d1d4f410c) )
1892 	ROM_LOAD( "gm-5a.bin", 0x18000, 0x8000, CRC(1de8dd2e) SHA1(6b538dcf35105bca1ae1bb5387a08b4d1d4f410c) ) // same as 2a, confirmed as identical on PCB
1893 	ROM_LOAD( "gm-6b.bin", 0x1e000, 0x2000, CRC(513d8cdd) SHA1(563e5a2b7e71b4e1447bd41339174129a5884517) ) // mostly the same as 2a/5a except for a small table, corrupt text if we don't use this here..
1894 
1895 	ROM_REGION( 0x10000, "gfx1", 0 )     /* up to 64k of sprites */
1896 	ROM_LOAD( "gm-6a.bin", 0x00000, 0x8000, CRC(b9681f53) SHA1(bb0c516408f1769e018f0ec8707786d4d1e9ef7e) )
1897 
1898 	MOTHERBOARD_PALS
1899 ROM_END
1900 
1901 ROM_START( grudgep )
1902 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1903 	ROM_LOAD( "grudge.ab0", 0x00000, 0x8000, CRC(260965ca) SHA1(79eb5dc6605974ece3d5564f10c4598204907398) )
1904 	ROM_LOAD( "grudge.ab4", 0x08000, 0x8000, CRC(c6cd734d) SHA1(076546569e9c8ff40f96bd2cac014bcabc53099d) )
1905 	ROM_LOAD( "grudge.cd0", 0x10000, 0x8000, CRC(e51db1f2) SHA1(57fc0f1df358dd6ea982dcbe9c3f79b3f072be53) )
1906 	ROM_LOAD( "grudge.cd4", 0x18000, 0x8000, CRC(6b60e47e) SHA1(5a399942d4ef9b7349fffd07c07092b667cf6247) )
1907 
1908 	ROM_REGION( 0x8000, "gfx1", 0 )     /* up to 64k of sprites */
1909 	ROM_LOAD( "grudge.gr0", 0x00000, 0x8000, CRC(b9681f53) SHA1(bb0c516408f1769e018f0ec8707786d4d1e9ef7e) )
1910 
1911 	MOTHERBOARD_PALS
1912 ROM_END
1913 
1914 ROM_START( minigolf )
1915 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1916 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(348f827f) SHA1(a013ef3068e14e0738bcfa4de26c0c2df4c0a7f6) )
1917 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(19a6ff47) SHA1(70b6da3b4186e5b9463f2ea0fefefad21ec80637) )
1918 	ROM_LOAD( "ab45.u6a",  0x08000, 0x4000, CRC(925d76eb) SHA1(29d2d7b26d2e81817c4d135935dab70a5aa2d146) )
1919 	ROM_LOAD( "ab67.u5a",  0x0c000, 0x4000, CRC(6a311c9a) SHA1(b0409e5f4bd3bf898b8701561aac6dbbc28417bd) )
1920 	ROM_LOAD( "1a-ver2",   0x10000, 0x10000, CRC(60b6cd58) SHA1(f79bf2d1f6c4e63f666073c5ecb22604c1ab57d8) )
1921 
1922 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1923 	ROM_LOAD( "gr01.u6b", 0x00000, 0x4000, CRC(8e24d594) SHA1(d35329fb78f90ec478418917aa1ef06d0967e6f8) )
1924 	ROM_LOAD( "gr23.u5b", 0x04000, 0x4000, CRC(3bf355ef) SHA1(691df25b35b00e21ad09d17a21fe98a353aa3dda) )
1925 	ROM_LOAD( "gr45.u4b", 0x08000, 0x4000, CRC(8eb14921) SHA1(fda8b8f8e801360310f7cb1aa4c6aea1fa0a4b25) )
1926 
1927 	ROM_REGION( 0x00100, "cart_pals", 0) /* PAL's located on the cartridge */
1928 	ROM_LOAD( "pal10l8.u1c", 0x0000, 0x002c, CRC(5cc09374) SHA1(07798579aeb1e2514034acea6555c0f81c48a41c) ) /* PAL10L8CN */
1929 
1930 	MOTHERBOARD_PALS
1931 ROM_END
1932 
1933 
1934 ROM_START( minigolf2 )
1935 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1936 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(348f827f) SHA1(a013ef3068e14e0738bcfa4de26c0c2df4c0a7f6) ) /* Labeled as MINI GOLF UR, then name (like AB01) & dated 11/25/85 */
1937 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(19a6ff47) SHA1(70b6da3b4186e5b9463f2ea0fefefad21ec80637) )
1938 	ROM_LOAD( "ab45.u6a",  0x08000, 0x4000, CRC(925d76eb) SHA1(29d2d7b26d2e81817c4d135935dab70a5aa2d146) )
1939 	ROM_LOAD( "ab67.u5a",  0x0c000, 0x4000, CRC(6a311c9a) SHA1(b0409e5f4bd3bf898b8701561aac6dbbc28417bd) )
1940 	ROM_LOAD( "cd23.u3a",  0x14000, 0x4000, CRC(52279801) SHA1(d8de92c296d5c91db3bea7a0093260158961036e) )
1941 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(34c64f4c) SHA1(ce55f5f6ebddcacf20cb78fb738b5f569b531b61) )
1942 
1943 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1944 	ROM_LOAD( "gr01.u6b", 0x00000, 0x4000, CRC(8e24d594) SHA1(d35329fb78f90ec478418917aa1ef06d0967e6f8) )
1945 	ROM_LOAD( "gr23.u5b", 0x04000, 0x4000, CRC(3bf355ef) SHA1(691df25b35b00e21ad09d17a21fe98a353aa3dda) )
1946 	ROM_LOAD( "gr45.u4b", 0x08000, 0x4000, CRC(8eb14921) SHA1(fda8b8f8e801360310f7cb1aa4c6aea1fa0a4b25) )
1947 
1948 	ROM_REGION( 0x00100, "cart_pals", 0) /* PAL's located on the cartridge */
1949 	ROM_LOAD( "pal10l8.u1c", 0x0000, 0x002c, CRC(5cc09374) SHA1(07798579aeb1e2514034acea6555c0f81c48a41c) ) /* PAL10L8CN */
1950 
1951 	MOTHERBOARD_PALS
1952 ROM_END
1953 
1954 
1955 ROM_START( toggle )
1956 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1957 	ROM_LOAD( "tgle-ab0.bin", 0x00000, 0x2000, CRC(8c7b7fad) SHA1(13eaf5b3727ff8b7ce2cfbab99541ca1e538aeba) )
1958 	ROM_LOAD( "tgle-ab1.bin", 0x02000, 0x2000, CRC(771e5434) SHA1(b1bcefc81054c81a22a91106c5bc99ef204cd009) )
1959 	ROM_LOAD( "tgle-ab2.bin", 0x04000, 0x2000, CRC(9b4baa3f) SHA1(5b0776d983ad40a0051939810bb854f014fea28b) )
1960 	ROM_LOAD( "tgle-ab3.bin", 0x06000, 0x2000, CRC(35308a41) SHA1(3846446b60897bfce8fcfd1561b5b74cdd19c36e) )
1961 	ROM_LOAD( "tgle-ab4.bin", 0x08000, 0x2000, CRC(baf5617b) SHA1(95c91fc81c975f522c1bd4f14bfb5f453801ffb6) )
1962 	ROM_LOAD( "tgle-ab5.bin", 0x0a000, 0x2000, CRC(88077dad) SHA1(51b36177a4bfbb62c91d87282bfc1ff791626d19) )
1963 	ROM_LOAD( "tgle-cd.bin",  0x1c000, 0x2000, CRC(0a2bb949) SHA1(350dc782fc21640794c6ecb502554cb693adbb7d) )
1964 	ROM_LOAD( "tgle-ef.bin",  0x1e000, 0x2000, CRC(3ec10804) SHA1(ae719081e8114ccc23c6b24c7fe904a11fbdd992) )
1965 
1966 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1967 	ROM_LOAD( "tgle-gr0.bin", 0x00000, 0x2000, CRC(0e0e5d0e) SHA1(363858ce08767f8a9b8eaec56405377cdd74b178) )
1968 	ROM_LOAD( "tgle-gr1.bin", 0x02000, 0x2000, CRC(3b141ad2) SHA1(72430fd616adbc72d86a5f10672572a31bed0b5d) )
1969 
1970 	MOTHERBOARD_PALS
1971 ROM_END
1972 
1973 
1974 ROM_START( nametune )
1975 	ROM_REGION( 0x40000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
1976 	ROM_LOAD( "nttab01.bin",  0x00000, 0x4000, CRC(f99054f1) SHA1(aaa3aae71f67be2df34b9682b1b4092a208fbf26) )
1977 	ROM_CONTINUE(             0x20000, 0x4000 )
1978 	ROM_LOAD( "nttab23.bin",  0x04000, 0x4000, CRC(f2b8f7fa) SHA1(b9f81a29b031af31118b77e77fc29e59f2059109) )
1979 	ROM_CONTINUE(             0x24000, 0x4000 )
1980 	ROM_LOAD( "nttab45.bin",  0x08000, 0x4000, CRC(89e1c769) SHA1(8e976182d99b93bb1cf6e306d134b66ba6fe6052) )
1981 	ROM_CONTINUE(             0x28000, 0x4000 )
1982 	ROM_LOAD( "nttab67.bin",  0x0c000, 0x4000, CRC(7e5572a1) SHA1(d957a495ad4100b857e163d7399528f62e8a39a7) )
1983 	ROM_CONTINUE(             0x2c000, 0x4000 )
1984 	ROM_LOAD( "nttcd01.bin",  0x10000, 0x4000, CRC(db9d6154) SHA1(8db17fda6c4113f5b791163fc9e289cf3f003a51) )
1985 	ROM_CONTINUE(             0x30000, 0x4000 )
1986 	ROM_LOAD( "nttcd23.bin",  0x14000, 0x4000, CRC(9d2e458f) SHA1(f08c2d7ba6be9745d13fc9dc7141ad101a8b747e) )
1987 	ROM_CONTINUE(             0x34000, 0x4000 )
1988 	ROM_LOAD( "nttcd45.bin",  0x18000, 0x4000, CRC(9a4b87aa) SHA1(ca82ddd4d8d40b35ba21cb9333e182b8a2e7f95e) )
1989 	ROM_CONTINUE(             0x38000, 0x4000 )
1990 	ROM_LOAD( "nttcd6ef.bin", 0x1c000, 0x4000, CRC(0459e6f8) SHA1(7dbdbfa8f2e9e3956af926f5f782b8d3c3334099) )
1991 	ROM_CONTINUE(             0x3c000, 0x4000 )
1992 
1993 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
1994 	ROM_LOAD( "nttgr0.bin",  0x00000, 0x8000, CRC(6b75bb4b) SHA1(e7131d112fb0b36985c5b6383700f55728a1c4fd) )
1995 
1996 	MOTHERBOARD_PALS
1997 ROM_END
1998 
1999 ROM_START( nametune2 )
2000 	ROM_REGION( 0x40000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2001 	ROM_LOAD( "ab 01.u8a",   0x00000, 0x4000, CRC(4044891d) SHA1(4e1e7cb9846939e03b035b95ba04f62a78719bb2) ) /* Labeled as NMETNEUR, then name (like AB 01) & dated 3/23/86 */
2002 	ROM_CONTINUE(                     0x20000, 0x4000 )
2003 	ROM_LOAD( "ab 23.u7a",   0x04000, 0x4000, CRC(df3454bc) SHA1(82faf87ca8974629e546b6854718908721b64ad0) )
2004 	ROM_CONTINUE(                     0x24000, 0x4000 )
2005 	ROM_LOAD( "ab 45.u6a",   0x08000, 0x4000, CRC(fb4050b0) SHA1(a4d185e02aa08e886b90454f681f49de3de76f86) )
2006 	ROM_CONTINUE(                     0x28000, 0x4000 )
2007 	ROM_LOAD( "ab 67.u5a",   0x0c000, 0x4000, CRC(276a28f4) SHA1(cceeb9c05ff72cfe86ab55555055cf8195d3ea16) )
2008 	ROM_CONTINUE(                     0x2c000, 0x4000 )
2009 	ROM_LOAD( "cd 01.u4a",   0x10000, 0x4000, CRC(88bed028) SHA1(69c83ba07f34dd1d45f432e2ed6a50e2d13c4acb) )
2010 	ROM_CONTINUE(                     0x30000, 0x4000 )
2011 	ROM_LOAD( "cd 23.u3a",   0x14000, 0x4000, CRC(38c63308) SHA1(1a26642cbe91ebc96444eb05fa1454c9175d370c) )
2012 	ROM_CONTINUE(                     0x34000, 0x4000 )
2013 	ROM_LOAD( "cd 45.u2a",   0x18000, 0x4000, CRC(d19a3671) SHA1(b68010ad235175c73258f64f9a64b37b2a06efdc) )
2014 	ROM_CONTINUE(                     0x38000, 0x4000 )
2015 	ROM_LOAD( "cd 6 ef.u1a", 0x1c000, 0x4000, CRC(e73c7cda) SHA1(c6f751923d0c7930db2e173f680674759f94c8bb) )
2016 	ROM_CONTINUE(                     0x3c000, 0x4000 )
2017 
2018 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2019 	ROM_LOAD( "gr 0.u3c",    0x00000, 0x8000, CRC(a0121b80) SHA1(ba38e9b738baac85fa33ae3751d02cb223fa3e65) )
2020 
2021 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2022 	ROM_LOAD( "pal16r8.u7c", 0x00000, 0x0001, NO_DUMP )  /* PAL16R8ANC */
2023 
2024 	MOTHERBOARD_PALS
2025 ROM_END
2026 
2027 /*
2028     Night Stocker
2029 
2030     This game utilizes the standard motherboard and sound board, but in addition it
2031     also uses a Gun Interface Board (Board: 006-8032-01-0B) and video interface? board.
2032 */
2033 
2034 ROM_START( nstocker )
2035 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2036 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(a635f973) SHA1(edb12469818a3114fb97d21e11c63eb37678a07b) ) /* Labeled as NIGHT STOCKER, then name (like AB 01) & dated 10/06/86 */
2037 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(223acbb2) SHA1(195ebd349722cce323616c81cc4e86f0a9c6fa13) )
2038 	ROM_LOAD( "ab45.u6a",  0x08000, 0x4000, CRC(27a728b5) SHA1(c72634112a04d58a695fb43bf30f44e3f7ba7de2) )
2039 	ROM_LOAD( "ab67.u5a",  0x0c000, 0x4000, CRC(2999cdf2) SHA1(a64ae04f264ad286a87069cfb176e7511df08e78) )
2040 	ROM_LOAD( "cd01.u4a",  0x10000, 0x4000, CRC(75e9b51a) SHA1(dbe575d37836245746ea85ffe85e8e6665ec37ea) )
2041 	ROM_LOAD( "cd23.u3a",  0x14000, 0x4000, CRC(0a32e0a5) SHA1(dedbe08aed483bae27e1a607334e24cdfcb2f851) )
2042 	ROM_LOAD( "cd45.u2a",  0x18000, 0x4000, CRC(9bb292fe) SHA1(6fc7abcc110c2cf7399d11a478cfdadb3439b6ab) )
2043 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(e77c1aea) SHA1(9e2e595530cb15c634a6052c773ff5d998c0c828) )
2044 
2045 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2046 	ROM_LOAD( "gr01.u4c", 0x00000, 0x4000, CRC(fd0c38be) SHA1(b9e12e76f44f2b2b3ca6a57c58f0cbb019b1971f) )
2047 	ROM_LOAD( "gr23.u3c", 0x04000, 0x4000, CRC(35d4433e) SHA1(399d04c2a29d993f77d0d5c2d62915081d4a85dd) )
2048 	ROM_LOAD( "gr45.u2c", 0x08000, 0x4000, CRC(734b858a) SHA1(71763789807021938b840a88af34aad7f4751298) )
2049 	ROM_LOAD( "gr67.u1c", 0x0c000, 0x4000, CRC(3311f9c0) SHA1(63b185c761b258113c31cc269ce0b1462bf37f40) )
2050 
2051 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2052 	ROM_LOAD( "pal16r8.u7c", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2053 
2054 	ROM_REGION( 0x00004, "gun_io_bd_pals", 0) /* Gun I/O Board PALs */
2055 	ROM_LOAD( "pal16r8acn.u6", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2056 	ROM_LOAD( "pal16r8acn.u7", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2057 	ROM_LOAD( "pal16r8acn.u8", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2058 	ROM_LOAD( "pal16r8acn.u9", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2059 
2060 	MOTHERBOARD_PALS
2061 ROM_END
2062 
2063 ROM_START( nstocker2 )
2064 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2065 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(a635f973) SHA1(edb12469818a3114fb97d21e11c63eb37678a07b) ) /* Labeled as NIGHT STOCKER, then name (like AB 01) & dated 8/27/86 */
2066 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(223acbb2) SHA1(195ebd349722cce323616c81cc4e86f0a9c6fa13) )
2067 	ROM_LOAD( "ab45.u6a",  0x08000, 0x4000, CRC(27a728b5) SHA1(c72634112a04d58a695fb43bf30f44e3f7ba7de2) )
2068 	ROM_LOAD( "ab67.u5a",  0x0c000, 0x4000, CRC(2999cdf2) SHA1(a64ae04f264ad286a87069cfb176e7511df08e78) )
2069 	ROM_LOAD( "cd01.u4a",  0x10000, 0x4000, CRC(75e9b51a) SHA1(dbe575d37836245746ea85ffe85e8e6665ec37ea) )
2070 	ROM_LOAD( "cd23.u3a",  0x14000, 0x4000, CRC(0a32e0a5) SHA1(dedbe08aed483bae27e1a607334e24cdfcb2f851) )
2071 	ROM_LOAD( "cd45.u2a",  0x18000, 0x4000, CRC(9bb292fe) SHA1(6fc7abcc110c2cf7399d11a478cfdadb3439b6ab) )
2072 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(c77d2302) SHA1(2b0956a7d6bdff5e4f77084149a9528fb07154dc) ) // sldh
2073 
2074 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2075 	ROM_LOAD( "gr01.u4c", 0x00000, 0x4000, CRC(fd0c38be) SHA1(b9e12e76f44f2b2b3ca6a57c58f0cbb019b1971f) )
2076 	ROM_LOAD( "gr23.u3c", 0x04000, 0x4000, CRC(35d4433e) SHA1(399d04c2a29d993f77d0d5c2d62915081d4a85dd) )
2077 	ROM_LOAD( "gr45.u2c", 0x08000, 0x4000, CRC(734b858a) SHA1(71763789807021938b840a88af34aad7f4751298) )
2078 	ROM_LOAD( "gr67.u1c", 0x0c000, 0x4000, CRC(3311f9c0) SHA1(63b185c761b258113c31cc269ce0b1462bf37f40) )
2079 
2080 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2081 	ROM_LOAD( "pal16r8.u7c", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2082 
2083 	ROM_REGION( 0x00004, "gun_io_bd_pals", 0) /* Gun I/O Board PALs */
2084 	ROM_LOAD( "pal16r8acn.u6", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2085 	ROM_LOAD( "pal16r8acn.u7", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2086 	ROM_LOAD( "pal16r8acn.u8", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2087 	ROM_LOAD( "pal16r8acn.u9", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8 */
2088 
2089 	MOTHERBOARD_PALS
2090 ROM_END
2091 
2092 
2093 ROM_START( sfootbal )
2094 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2095 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(2a69803f) SHA1(ca86c9d079fbebae4c93c889d98a8573facc05da) ) /* Labeled as STREET FOOTBALL, then name (like AB 01) & dated 11/12/86 */
2096 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(89f157c2) SHA1(59701b7770dce7ec01d0feb01d67450943e6cfbb) )
2097 	ROM_LOAD( "ab45.u6a",  0x08000, 0x4000, CRC(91ad42c5) SHA1(0b6fc3ed3a633c825809668d49f209c130f3e978) )
2098 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(bf80bb1a) SHA1(2b70b36d946c36e3f354c7edfd3e34784ffce406) )
2099 
2100 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2101 	ROM_LOAD( "gr01.u4c", 0x00000, 0x4000, CRC(e3108d35) SHA1(05b7f1a1a18d7f72a3d3f6102cb8ab42421b7366) )
2102 	ROM_LOAD( "gr23.u3c", 0x04000, 0x4000, CRC(5c5af726) SHA1(04cdd476e6689d17273659fb1fe0ca642edbe5a8) )
2103 	ROM_LOAD( "gr45.u2c", 0x08000, 0x4000, CRC(e767251e) SHA1(3c05295317a673fb1de5924f27de276d2846d805) )
2104 	ROM_LOAD( "gr67.u1c", 0x0c000, 0x4000, CRC(42452a7a) SHA1(37479d6e9071ac775215a6815dbaf280b3c6a57f) )
2105 
2106 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2107 	ROM_LOAD( "pal16r8.u7c", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8ANC */
2108 
2109 	MOTHERBOARD_PALS
2110 ROM_END
2111 
2112 
2113 ROM_START( spiker )
2114 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2115 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(2d53d023) SHA1(01c1d2cd7d8be60c40527e9c1571b84388a39bd8) )
2116 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(3be87edf) SHA1(0d4f1ff501d5d865abc3906f6b232ec04586d3dc) )
2117 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(f2c73ece) SHA1(4fc108823102fd17c5b7d9be1a0c76667788ba1a) )
2118 
2119 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2120 	ROM_LOAD( "gr01.u4c", 0x00000, 0x4000, CRC(0caa6e3e) SHA1(ce6765d44e444d24129ec99f04a41a866a32eee2) )
2121 	ROM_LOAD( "gr23.u3c", 0x04000, 0x4000, CRC(970c81f6) SHA1(f22189e172a795d115597feb48ccbc04be3859b9) )
2122 	ROM_LOAD( "gr45.u2c", 0x08000, 0x4000, CRC(90ddd737) SHA1(8e1dde2f42e9bf755dedeef218745d1fc54faac7) )
2123 
2124 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2125 	ROM_LOAD( "pal16r8.u7c", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8ANC */
2126 
2127 	MOTHERBOARD_PALS
2128 ROM_END
2129 
2130 
2131 ROM_START( spiker2 ) /* Spiker U.R. 5/5/86 */
2132 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2133 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(59025e39) SHA1(f0e3e45bb32cc6664831c4ef6b0cfabf3fc71f58) ) // sldh
2134 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(ffb23288) SHA1(3458e486794f6c936d15e837be0f419027b01311) ) // sldh
2135 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(7f04774d) SHA1(c49ac3aa86425cdbab9877fc253999329bb99a49) ) // sldh
2136 
2137 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2138 	ROM_LOAD( "gr01.u4c", 0x00000, 0x4000, CRC(1228b7a3) SHA1(70a207714ba7bc4f4dbc492768480afa424b31c0) ) // sldh
2139 	ROM_LOAD( "gr23.u3c", 0x04000, 0x4000, CRC(970c81f6) SHA1(f22189e172a795d115597feb48ccbc04be3859b9) )
2140 	ROM_LOAD( "gr45.u2c", 0x08000, 0x4000, CRC(bf2b413d) SHA1(f0f797853ac1b6e45ff606d7aa5c9350765efd48) ) // sldh
2141 
2142 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2143 	ROM_LOAD( "pal16r8.u7c", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8ANC */
2144 
2145 	MOTHERBOARD_PALS
2146 ROM_END
2147 
2148 
2149 ROM_START( spiker3 ) /* Spiker U.R. 6/9/86 */
2150 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2151 	ROM_LOAD( "ab01.u8a",  0x00000, 0x4000, CRC(2d53d023) SHA1(01c1d2cd7d8be60c40527e9c1571b84388a39bd8) )
2152 	ROM_LOAD( "ab23.u7a",  0x04000, 0x4000, CRC(3be87edf) SHA1(0d4f1ff501d5d865abc3906f6b232ec04586d3dc) )
2153 	ROM_LOAD( "cd6ef.u1a", 0x1c000, 0x4000, CRC(5b5a6d86) SHA1(a173637991601adc87f0fc8fd1ee9102f5fb2b81) ) // sldh
2154 
2155 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2156 	ROM_LOAD( "gr01.u4c", 0x00000, 0x4000, CRC(0caa6e3e) SHA1(ce6765d44e444d24129ec99f04a41a866a32eee2) )
2157 	ROM_LOAD( "gr23.u3c", 0x04000, 0x4000, CRC(970c81f6) SHA1(f22189e172a795d115597feb48ccbc04be3859b9) )
2158 	ROM_LOAD( "gr45.u2c", 0x08000, 0x4000, CRC(90ddd737) SHA1(8e1dde2f42e9bf755dedeef218745d1fc54faac7) )
2159 
2160 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2161 	ROM_LOAD( "pal16r8.u7c", 0x0000, 0x0001, NO_DUMP ) /* PAL16R8ANC */
2162 
2163 	MOTHERBOARD_PALS
2164 ROM_END
2165 
2166 
2167 ROM_START( stompin )
2168 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2169 	ROM_LOAD( "ab 01.u8a",   0x00000, 0x4000, CRC(46f428c6) SHA1(06c59d06ccc0bd7067e419f12781050ab4ac98c2) )
2170 	ROM_LOAD( "ab 23.u7a",   0x04000, 0x4000, CRC(0e13132f) SHA1(d572e5d170df99bb99db7d41ede881c24e5b8d1c) )
2171 	ROM_LOAD( "ab 45.u6a",   0x08000, 0x4000, CRC(6ed26069) SHA1(35f6b8cff54c35a1a0eeb9c23e446ade69d13375) )
2172 	ROM_LOAD( "ab 67.u5a",   0x0c000, 0x4000, CRC(7f63b516) SHA1(4ffd9dd579c8c4574f2f039b30761e901ee6dd5c) )
2173 	ROM_LOAD( "cd 23.u3a",   0x14000, 0x4000, CRC(52b29048) SHA1(e0873137201ad9b2e87a17dd68046e88dbeeb5e1) )
2174 	ROM_LOAD( "cd 6 ef.u1a", 0x1c000, 0x4000, CRC(b880961a) SHA1(11700af516517b7176a840fd5a8fd5ed0fb9bd6e) )
2175 
2176 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2177 	ROM_LOAD( "gr 01.u4c",   0x00000, 0x4000, CRC(14ffdd1e) SHA1(4528548c07789f9dca2cabd2c64ea1ff8f36a99e) )
2178 	ROM_LOAD( "gr 23.u3c",   0x04000, 0x4000, CRC(761abb80) SHA1(a1278e93a4fa66cc4d347954dd45121120da568d) )
2179 	ROM_LOAD( "gr 45.u2c",   0x08000, 0x4000, CRC(0d2cf2e6) SHA1(beccb1342127e79a845c4b6b20f20052097ebb98) )
2180 	ROM_LOAD( "gr 67.u2c",   0x0c000, 0x4000, CRC(2bab2784) SHA1(a4020fd8f5ca2fdb37efd37cbccf86cae0468eb0) )
2181 
2182 	ROM_REGION( 0x00001, "cart_pals", 0) /* PAL's located on the cartridge */
2183 	ROM_LOAD( "pal16r8.u7c", 0x00000, 0x0001, NO_DUMP ) /* PAL16R8ACN */
2184 
2185 	MOTHERBOARD_PALS
2186 ROM_END
2187 
2188 
2189 ROM_START( rescraid )
2190 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2191 	ROM_LOAD( "ab 1.a10",  0x00000, 0x8000, CRC(33a76b47) SHA1(72cefb3ae7d0ecfc099f9d09a26533dd7ca7c4f2) )
2192 	ROM_LOAD( "ab 12.a12", 0x08000, 0x8000, CRC(7c7a9f12) SHA1(2dbe1158d124ecd24aeb6e46079a8e08fda61208) )
2193 	ROM_LOAD( "cd 8.a16",  0x10000, 0x8000, CRC(90917a43) SHA1(3abd68d0c147ed792ace41f701c04bc225efede4) )
2194 	ROM_LOAD( "cd 12.a18", 0x18000, 0x8000, CRC(0450e9d7) SHA1(b5d0a79d1bac3596d241f80ac4e3e13c98d28709) )
2195 
2196 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2197 	ROM_LOAD( "gr 0.a5",   0x00000, 0x8000, CRC(e0dfc133) SHA1(0b120b4410098d8db26b5819043d4fe7c426b948) )
2198 	ROM_LOAD( "gr 4.a7",   0x08000, 0x8000, CRC(952ade30) SHA1(f065368f645616d6d84be469ba45a9afa8788eda) )
2199 
2200 	ROM_REGION( 0x000100, "pals", 0) /* PAL's */
2201 	ROM_LOAD( "12 b.12b",  0x00000, 0x00001, NO_DUMP ) /* PAL16L8 */
2202 	ROM_LOAD( "11b.11b.bin", 0x00000, 0x0002c, CRC(771eff5d) SHA1(4f008659f30bc9b0ec37e543ccafd7893e53d5a6) ) /* PAL10L8 */
2203 	ROM_LOAD( "4 c.4c",    0x00000, 0x00001, NO_DUMP ) /* PAL16R6 */
2204 	ROM_LOAD( "10 d.10d",  0x00000, 0x00001, NO_DUMP ) /* PAL16R6 */
2205 	ROM_LOAD( "16 e.16e",  0x00000, 0x00001, NO_DUMP ) /* PAL16R6 */
2206 	ROM_LOAD( "15 e.15e",  0x00000, 0x00001, NO_DUMP ) /* PAL16R6 */
2207 	ROM_LOAD( "8 g.8g",    0x00000, 0x00001, NO_DUMP ) /* PAL16R6 */
2208 ROM_END
2209 
2210 
2211 ROM_START( rescraida )
2212 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2213 	ROM_LOAD( "ab1-sa.a10",   0x00000, 0x8000, CRC(aa0a9f48) SHA1(b871573df0abdba20de78f655da846423191f0b4) )
2214 	ROM_LOAD( "ab12-sa.a12",  0x08000, 0x8000, CRC(16d4da86) SHA1(240cfe8c5c4c005da9b9f370a04ed32fc245ec64) )
2215 	ROM_LOAD( "cd8-sa.a16",   0x10000, 0x8000, CRC(9dfb50c2) SHA1(24280b48106cbcedeb6d7b10f951db906a123819) )
2216 	ROM_LOAD( "cd12-sa.a18",  0x18000, 0x8000, CRC(18c62613) SHA1(a55b4b948805bdd5d1e8c8ff803826a7bbfa383e) )
2217 
2218 	ROM_REGION( 0x10000, "gfx1", 0 )        /* up to 64k of sprites */
2219 	ROM_LOAD( "gr0.a5",    0x00000, 0x8000, CRC(e0dfc133) SHA1(0b120b4410098d8db26b5819043d4fe7c426b948) )
2220 	ROM_LOAD( "gr4.a7",    0x08000, 0x8000, CRC(952ade30) SHA1(f065368f645616d6d84be469ba45a9afa8788eda) )
2221 
2222 	MOTHERBOARD_PALS
2223 ROM_END
2224 
2225 
2226 
2227 
2228 
2229 ROM_START( shrike )
2230 	ROM_REGION( 0x20000, "maincpu", 0 )     /* 64k for code for the first CPU, plus 128k of banked ROMs */
2231 	ROM_LOAD( "savgu35.bin", 0x00000, 0x2000, CRC(dd2230a0) SHA1(72be0e07d76ee1f170ab457ae62db87111758697) )
2232 	ROM_LOAD( "savgu20.bin", 0x02000, 0x2000, CRC(3d140edc) SHA1(6c7e7dda7718e3f9644aad317da0b2277c2c1402) )
2233 	ROM_LOAD( "savgu34.bin", 0x04000, 0x2000, CRC(779eca9d) SHA1(6783a62885ed129f436471a1c4a93ad898eb7965) )
2234 	ROM_LOAD( "savgu19.bin", 0x06000, 0x2000, CRC(9ec89a80) SHA1(0a862d2a58adaf6726654a9a7b1b4b13e14d4d4b) )
2235 	ROM_LOAD( "savgu33.bin", 0x08000, 0x2000, CRC(20596f48) SHA1(11827b86d184231d3d4f82496a0bb9ac7ac874dc) )
2236 	ROM_LOAD( "savgu18.bin", 0x0a000, 0x2000, CRC(7abc3f14) SHA1(0a18be804927181c1bc86def595b22b3249fb6a0) )
2237 	ROM_LOAD( "savgu32.bin", 0x0c000, 0x2000, CRC(807f0a3b) SHA1(b2df2422751b32a25258134f571a5f874ebc3a09) )
2238 	ROM_LOAD( "savgu17.bin", 0x0e000, 0x2000, CRC(e0dbf6ad) SHA1(4618723116e2d83f9a775bb8b503faea995fda1b) )
2239 	ROM_LOAD( "savgu21.bin", 0x1c000, 0x2000, CRC(c22b93e1) SHA1(15d3925abb3e7e928925f5781f228d1bc0dfe31c) )
2240 	ROM_LOAD( "savgu36.bin", 0x1e000, 0x2000, CRC(28431c4a) SHA1(522df8224c559f51c36d2bc01c189b019fabc5eb) )
2241 
2242 	ROM_REGION( 0x4000, "68k", 0 )      /* 16k for M68000 */
2243 	ROM_LOAD16_BYTE( "savgu22.bin", 0x00000, 0x2000, CRC(c7787162) SHA1(52d8d148206c6ceb9c28ba747b301121a7790802) )
2244 	ROM_LOAD16_BYTE( "savgu24.bin", 0x00001, 0x2000, CRC(a9105ca8) SHA1(1a94a052a4a8d221e1eafec0cd5b0ada6f1987f4) )
2245 
2246 	ROM_REGION( 0x20000, "gfx1", 0 )        /* up to 128k of banked sprites */
2247 	ROM_LOAD( "savgu8.bin",  0x00000, 0x2000, CRC(499a1d06) SHA1(0f3ed5ff345abb655f5a9f926ac3eb5dbca72a14) )
2248 	ROM_LOAD( "savgu7.bin",  0x02000, 0x2000, CRC(ce0607f9) SHA1(0f6708d92e69a67b3eaba98f7ab4ad70eda3c854) )
2249 	ROM_LOAD( "savgu6.bin",  0x04000, 0x2000, CRC(01d1b31e) SHA1(8061227f18f08e3b74bc6fc341ed4902c415db6c) )
2250 	ROM_LOAD( "savgu5.bin",  0x06000, 0x2000, CRC(8bc6d101) SHA1(24f0b3ec3ed56b0496d07caa2475fca49a4a9b19) )
2251 	ROM_LOAD( "savgu4.bin",  0x08000, 0x2000, CRC(72644753) SHA1(01bdb39d32df6d8cf69cbc9370033db46e18cb59) )
2252 	ROM_LOAD( "savgu3.bin",  0x0a000, 0x2000, CRC(606a9cfd) SHA1(ce99a0e6d09580d35ec423177cdf41c35c7eecb7) )
2253 	ROM_LOAD( "savgu2.bin",  0x0c000, 0x2000, CRC(69f600f6) SHA1(5b9545897f59b5049adc0fd910c7d65f38696d30) )
2254 	ROM_LOAD( "savgu1.bin",  0x0e000, 0x2000, CRC(303b8e7b) SHA1(29055b621c68e93649eb0aa9cc9ecc43ac6f6eb8) )
2255 	ROM_LOAD( "savgu16.bin", 0x10000, 0x2000, CRC(b8f60607) SHA1(4971db01a87bd80c23b7a0ab8aaa7c8300be4ec9) )
2256 	ROM_LOAD( "savgu15.bin", 0x12000, 0x2000, CRC(6b332a5d) SHA1(58939cec237db1f741d24eb9f94488e3cf8700d2) )
2257 	ROM_LOAD( "savgu14.bin", 0x14000, 0x2000, CRC(8d5117aa) SHA1(a82911219c49ff96e3c16acec7ef37406dae2be4) )
2258 	ROM_LOAD( "savgu13.bin", 0x16000, 0x2000, CRC(d3ce645e) SHA1(4e775af7886d699675941f74e18be2d4dbd6f41b) )
2259 	ROM_LOAD( "savgu12.bin", 0x18000, 0x2000, CRC(ccdfedb1) SHA1(b87e885df46e814626f46102f323ccd8396bcf8f) )
2260 	ROM_LOAD( "savgu11.bin", 0x1a000, 0x2000, CRC(db11ff4c) SHA1(cd85486cd08ec4392421e9b94d380b81a575c811) )
2261 	ROM_LOAD( "savgu10.bin", 0x1c000, 0x2000, CRC(6f3d9aa1) SHA1(7616dd016f5c8990b4972cf6edf758e27857aa1e) )
2262 
2263 	MOTHERBOARD_PALS
2264 ROM_END
2265 
2266 
2267 /* Trivial Pursuit running on Maibesa PCB MAB-016 connected to a separate sound board (BSU) using a 14-pin connector with this pinout:
2268 -Pin  1 : GND
2269 -Pin  2 : S0
2270 -Pin  3 : S1
2271 -Pin  4 : S2
2272 -Pin  5 : S3
2273 -Pin  6 : S4
2274 -Pin  7 : S5
2275 -Pin  8 : S6
2276 -Pin  9 : S7
2277 -Pin 10 : STROBE
2278 -Pin 11 : CHANNEL A
2279 -Pin 12 : CHANNEL B
2280 -Pin 13 : key (unused)
2281 -Pin 14 : GND
2282 */
2283 ROM_START( triviaes4 )
2284 	ROM_REGION( 0x20000, "maincpu", 0 ) // all 27256, ROM loading order probably wrong
2285 	ROM_LOAD( "tpe-35-volumen 4.ic35",  0x00000, 0x02000, CRC(8233c9af) SHA1(1853cbff5ff9b0bed4c12717ef705f6ee9679622) )
2286 	ROM_CONTINUE(                       0x08000, 0x02000 )
2287 	ROM_CONTINUE(                       0x10000, 0x02000 )
2288 	ROM_CONTINUE(                       0x18000, 0x02000 )
2289 	ROM_LOAD( "tpe-43-volumen 4.ic43",  0x02000, 0x02000, CRC(b404b163) SHA1(de30b47d08765a953b01cc3a6bdd95938af6b3d8) )
2290 	ROM_CONTINUE(                       0x0a000, 0x02000 )
2291 	ROM_CONTINUE(                       0x12000, 0x02000 )
2292 	ROM_CONTINUE(                       0x1a000, 0x02000 )
2293 	ROM_LOAD( "tpe-53-volumen 4.ic53",  0x04000, 0x02000, CRC(64e439d9) SHA1(f5fe3fa38997c1088c16361f8949648acc353c57) )
2294 	ROM_CONTINUE(                       0x0c000, 0x02000 )
2295 	ROM_CONTINUE(                       0x14000, 0x02000 )
2296 	ROM_CONTINUE(                       0x1c000, 0x02000 )
2297 	ROM_LOAD( "tpe-60-volumen 4.ic60",  0x06000, 0x02000, CRC(0773a142) SHA1(5654ece65be7714b25970f08ba876b9766d8ebb5) )
2298 	ROM_CONTINUE(                       0x0e000, 0x02000 )
2299 	ROM_CONTINUE(                       0x16000, 0x02000 )
2300 	ROM_CONTINUE(                       0x1e000, 0x02000 )
2301 
2302 	ROM_REGION( 0x10000, "audiocpu", 0 ) // all 27256
2303 	ROM_LOAD( "tpe-2a0.bin", 0x00000, 0x8000, CRC(9aefea1d) SHA1(2af60e19de37533a5ad111de4c6b58de41be92fd) )
2304 	ROM_LOAD( "tpe-2b0.bin", 0x08000, 0x8000, CRC(ddcb4f6f) SHA1(f29c97ccc6711c433e104a8fc738ff390ba102e8) )
2305 
2306 	ROM_REGION( 0x10000, "gfx1", 0 ) // all 27128, ROM loading order probably wrong
2307 	ROM_LOAD( "tpe-8.ic8",   0x00000, 0x4000, CRC(0cde2421) SHA1(54604817a456f78110458e588c91c5029cf3189b) )
2308 	ROM_LOAD( "tpe-33.ic33", 0x04000, 0x4000, CRC(552c2f4f) SHA1(a72d112c70b2c7ffbb8d51cc76124d507a543e2b) )
2309 	ROM_LOAD( "tpe-57.ic57", 0x08000, 0x4000, CRC(90c8948a) SHA1(4b19bed71889756162dfe226eb531084603cf76f) )
2310 	ROM_LOAD( "tpe-73.ic73", 0x0c000, 0x4000, CRC(b15bc90b) SHA1(dc84717178a177904eb3ddbeeaae5fc9b19b4a12) )
2311 
2312 	ROM_REGION( 0x208, "motherbrd_pals", 0) /* Motherboard PAL's */ \
2313 	ROM_LOAD( "pal16l8a.ic31", 0x000, 0x104, NO_DUMP ) /* PAL16L8 */
2314 	ROM_LOAD( "pal16l8a.ic51", 0x104, 0x104, NO_DUMP ) /* PAL16L8 */
2315 ROM_END
2316 
2317 /* Trivial Pursuit running on Maibesa PCB MAB-016 connected to a separate sound board (BSU) using a 14-pin connector with this pinout:
2318 -Pin  1 : GND
2319 -Pin  2 : S0
2320 -Pin  3 : S1
2321 -Pin  4 : S2
2322 -Pin  5 : S3
2323 -Pin  6 : S4
2324 -Pin  7 : S5
2325 -Pin  8 : S6
2326 -Pin  9 : S7
2327 -Pin 10 : STROBE
2328 -Pin 11 : CHANNEL A
2329 -Pin 12 : CHANNEL B
2330 -Pin 13 : key (unused)
2331 -Pin 14 : GND
2332 */
2333 ROM_START( triviaes5 )
2334 	ROM_REGION( 0x20000, "maincpu", 0 ) // all 27256, ROM loading order probably wrong
2335 	ROM_LOAD( "volu5-trivial.ic35",  0x00000, 0x02000, CRC(011c150e) SHA1(352cab76e91c6e8a2f06db5e0f67a05b47e5d0ae) )
2336 	ROM_CONTINUE(                    0x08000, 0x02000 )
2337 	ROM_CONTINUE(                    0x10000, 0x02000 )
2338 	ROM_CONTINUE(                    0x18000, 0x02000 )
2339 	ROM_LOAD( "volu5-trivial.ic43",  0x02000, 0x02000, CRC(8c13f091) SHA1(799a16a6fd68e9a3a7eafbe7aa02cb647e3161f5) )
2340 	ROM_CONTINUE(                    0x0a000, 0x02000 )
2341 	ROM_CONTINUE(                    0x12000, 0x02000 )
2342 	ROM_CONTINUE(                    0x1a000, 0x02000 )
2343 	ROM_LOAD( "volu5-trivial.ic53",  0x04000, 0x02000, CRC(09c43229) SHA1(8d0a7d1f335903ade2743cffb89a3949a5806218) )
2344 	ROM_CONTINUE(                    0x0c000, 0x02000 )
2345 	ROM_CONTINUE(                    0x14000, 0x02000 )
2346 	ROM_CONTINUE(                    0x1c000, 0x02000 )
2347 	ROM_LOAD( "volu5-trivial.ic60",  0x06000, 0x02000, CRC(30cc920d) SHA1(1adb5beb575d03d2c495db007529ff7abf5ee9f6) )
2348 	ROM_CONTINUE(                    0x0e000, 0x02000 )
2349 	ROM_CONTINUE(                    0x16000, 0x02000 )
2350 	ROM_CONTINUE(                    0x1e000, 0x02000 )
2351 
2352 	ROM_REGION( 0x10000, "audiocpu", 0 ) // all 27256
2353 	ROM_LOAD( "tpe-2a0.bin", 0x00000, 0x8000, CRC(9aefea1d) SHA1(2af60e19de37533a5ad111de4c6b58de41be92fd) )
2354 	ROM_LOAD( "tpe-2b0.bin", 0x08000, 0x8000, CRC(ddcb4f6f) SHA1(f29c97ccc6711c433e104a8fc738ff390ba102e8) )
2355 
2356 	ROM_REGION( 0x10000, "gfx1", 0 ) // all 27128, ROM loading order probably wrong
2357 	ROM_LOAD( "tpe-8.ic8",   0x00000, 0x4000, CRC(0cde2421) SHA1(54604817a456f78110458e588c91c5029cf3189b) )
2358 	ROM_LOAD( "tpe-33.ic33", 0x04000, 0x4000, CRC(552c2f4f) SHA1(a72d112c70b2c7ffbb8d51cc76124d507a543e2b) )
2359 	ROM_LOAD( "tpe-57.ic57", 0x08000, 0x4000, CRC(90c8948a) SHA1(4b19bed71889756162dfe226eb531084603cf76f) )
2360 	ROM_LOAD( "tpe-73.ic73", 0x0c000, 0x4000, CRC(b15bc90b) SHA1(dc84717178a177904eb3ddbeeaae5fc9b19b4a12) )
2361 
2362 	ROM_REGION( 0x30c, "motherbrd_pals", 0) /* Motherboard PAL's */ \
2363 	ROM_LOAD( "pal16l8a-tpe-v.ic31", 0x000, 0x104, NO_DUMP ) /* PAL16L8 */
2364 	ROM_LOAD( "pal16l8a.ic61",       0x104, 0x104, NO_DUMP ) /* PAL16L8 */
2365 	ROM_LOAD( "pal16l8a.ic96",       0x208, 0x104, NO_DUMP ) /* PAL16L8 */
2366 ROM_END
2367 
2368 /*************************************
2369  *
2370  *  Driver initialization
2371  *
2372  *************************************/
2373 
2374 #define EXPAND_ALL      0x00
2375 #define EXPAND_NONE     0x3f
2376 #define SWAP_HALVES     0x80
2377 
2378 void balsente_state::expand_roms(uint8_t cd_rom_mask)
2379 {
2380 	/* load AB bank data from 0x00000-0x10000 */
2381 	/* load CD bank data from 0x10000-0x1e000 */
2382 	/* load EF           from 0x1e000-0x20000 */
2383 
2384 	uint8_t *rom = memregion("maincpu")->base();
2385 	uint32_t len = memregion("maincpu")->bytes();
2386 
2387 	int numbanks = (len > 0x20000) ? 16 : 8;
2388 	uint32_t bxor = (cd_rom_mask & SWAP_HALVES) ? 0x02000 : 0;
2389 
2390 	for (int b = 0; b < numbanks; b += 8)
2391 	{
2392 		uint32_t base = 0x00000 + 0x4000 * b;
2393 		uint8_t *ab_base = &rom[base + 0x00000];
2394 		uint8_t *cd_base = &rom[base + 0x10000];
2395 		uint8_t *cd_common = &rom[base + (0x1c000 ^ bxor)];
2396 		uint8_t *ef_common = &rom[base + (0x1e000 ^ bxor)];
2397 
2398 		m_bankef->configure_entry(b / 8, ef_common);
2399 
2400 		m_bankcd->configure_entry(b + 7, cd_common);
2401 		m_bankab->configure_entry(b + 7, &ab_base[0xe000 ^ bxor]);
2402 
2403 		m_bankcd->configure_entry(b + 6, cd_common);
2404 		m_bankab->configure_entry(b + 6, &ab_base[0xc000 ^ bxor]);
2405 
2406 		m_bankcd->configure_entry(b + 5, BIT(cd_rom_mask, 5) ? &cd_base[0xa000 ^ bxor] : cd_common);
2407 		m_bankab->configure_entry(b + 5, &ab_base[0xa000 ^ bxor]);
2408 
2409 		m_bankcd->configure_entry(b + 4, BIT(cd_rom_mask, 4) ? &cd_base[0x8000 ^ bxor] : cd_common);
2410 		m_bankab->configure_entry(b + 4, &ab_base[0x8000 ^ bxor]);
2411 
2412 		m_bankcd->configure_entry(b + 3, BIT(cd_rom_mask, 3) ? &cd_base[0x6000 ^ bxor] : cd_common);
2413 		m_bankab->configure_entry(b + 3, &ab_base[0x6000 ^ bxor]);
2414 
2415 		m_bankcd->configure_entry(b + 2, BIT(cd_rom_mask, 2) ? &cd_base[0x4000 ^ bxor] : cd_common);
2416 		m_bankab->configure_entry(b + 2, &ab_base[0x4000 ^ bxor]);
2417 
2418 		m_bankcd->configure_entry(b + 1, BIT(cd_rom_mask, 1) ? &cd_base[0x2000 ^ bxor] : cd_common);
2419 		m_bankab->configure_entry(b + 1, &ab_base[0x2000 ^ bxor]);
2420 
2421 		m_bankcd->configure_entry(b + 0, BIT(cd_rom_mask, 0) ? &cd_base[0x0000 ^ bxor] : cd_common);
2422 		m_bankab->configure_entry(b + 0, &ab_base[0x0000 ^ bxor]);
2423 	}
2424 }
2425 
config_shooter_adc(uint8_t shooter,uint8_t adc_shift)2426 inline void balsente_state::config_shooter_adc(uint8_t shooter, uint8_t adc_shift)
2427 {
2428 	m_shooter = shooter;
2429 	m_adc_shift = adc_shift;
2430 }
2431 
init_sentetst()2432 void balsente_state::init_sentetst()  { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 0 /* noanalog */); }
init_cshift()2433 void balsente_state::init_cshift()    { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 0 /* noanalog */); }
init_gghost()2434 void balsente_state::init_gghost()    { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 1); }
init_hattrick()2435 void balsente_state::init_hattrick()  { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 0 /* noanalog */); }
2436 
init_otwalls()2437 void balsente_state::init_otwalls()   { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 0); }
init_snakepit()2438 void balsente_state::init_snakepit()  { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 1); }
init_snakjack()2439 void balsente_state::init_snakjack()  { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 1); }
init_stocker()2440 void balsente_state::init_stocker()   { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 0); }
init_triviag1()2441 void balsente_state::init_triviag1()  { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 0 /* noanalog */); }
init_triviag2()2442 void balsente_state::init_triviag2()  { expand_roms(EXPAND_NONE); config_shooter_adc(false, 0 /* noanalog */); }
init_triviaes()2443 void balsente_state::init_triviaes()  { expand_roms(EXPAND_NONE | SWAP_HALVES); config_shooter_adc(false, 0 /* noanalog */); }
init_triviaes2()2444 void balsente_state::init_triviaes2() { expand_roms(EXPAND_NONE); config_shooter_adc(false, 0 /* noanalog */); }
init_gimeabrk()2445 void balsente_state::init_gimeabrk()  { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 1); }
init_minigolf()2446 void balsente_state::init_minigolf()  { expand_roms(EXPAND_NONE); config_shooter_adc(false, 2); }
init_minigolf2()2447 void balsente_state::init_minigolf2() { expand_roms(0x0c);        config_shooter_adc(false, 2); }
init_toggle()2448 void balsente_state::init_toggle()    { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 0 /* noanalog */); }
init_nametune()2449 void balsente_state::init_nametune()  { expand_roms(EXPAND_NONE | SWAP_HALVES); config_shooter_adc(false, 0 /* noanalog */); }
init_nstocker()2450 void balsente_state::init_nstocker()  { expand_roms(EXPAND_NONE | SWAP_HALVES); config_shooter_adc(true, 1); }
init_sfootbal()2451 void balsente_state::init_sfootbal()  { expand_roms(EXPAND_ALL  | SWAP_HALVES); config_shooter_adc(false, 0); }
init_spiker()2452 void balsente_state::init_spiker()    { expand_roms(EXPAND_ALL  | SWAP_HALVES); config_shooter_adc(false, 1); }
init_stompin()2453 void balsente_state::init_stompin()   { expand_roms(0x0c | SWAP_HALVES); config_shooter_adc(false, 32); }
init_rescraid()2454 void balsente_state::init_rescraid()  { expand_roms(EXPAND_NONE); config_shooter_adc(false, 0 /* noanalog */); }
init_grudge()2455 void balsente_state::init_grudge()    { expand_roms(EXPAND_NONE); config_shooter_adc(false, 0); }
init_shrike()2456 void balsente_state::init_shrike()    { expand_roms(EXPAND_ALL);  config_shooter_adc(false, 32); }
2457 
2458 
2459 
2460 /*************************************
2461  *
2462  *  Game drivers
2463  *
2464  *************************************/
2465 
2466 /* Board: Unknown */
2467 GAME( 1984, sentetst,  0,        balsente, sentetst, balsente_state, init_sentetst, ROT0, "Bally/Sente",  "Sente Diagnostic Cartridge", MACHINE_SUPPORTS_SAVE )
2468 GAME( 1984, cshift,    0,        balsente, cshift,   balsente_state, init_cshift,   ROT0, "Bally/Sente",  "Chicken Shift", MACHINE_SUPPORTS_SAVE )
2469 GAME( 1984, gghost,    0,        balsente, gghost,   balsente_state, init_gghost,   ROT0, "Bally/Sente",  "Goalie Ghost", MACHINE_SUPPORTS_SAVE )
2470 
2471 /* Board: 006-8003-01-0D Rev D */
2472 GAME( 1984, hattrick,  0,        balsente, hattrick, balsente_state, init_hattrick, ROT0, "Bally/Sente",  "Hat Trick", MACHINE_SUPPORTS_SAVE )
2473 GAME( 1984, trivia12,  triviag1, balsente, triviag1, balsente_state, init_triviag1, ROT0, "Bally/Sente",  "Trivial Pursuit (Think Tank - Genus Edition) (12/14/84)", MACHINE_SUPPORTS_SAVE )
2474 
2475 /* Board: Unknown (From a picture on eBay Snacks'n Jaxson does not match any documented types here.) */
2476 GAME( 1984, otwalls,   0,        balsente, otwalls,  balsente_state, init_otwalls,   ROT0, "Bally/Sente",  "Off the Wall (Sente)", MACHINE_SUPPORTS_SAVE )
2477 GAME( 1984, snakepit,  0,        balsente, sentetst, balsente_state, init_snakepit,  ROT0, "Bally/Sente",  "Snake Pit", MACHINE_SUPPORTS_SAVE )
2478 GAME( 1984, snakepit2, snakepit, balsente, sentetst, balsente_state, init_snakepit,  ROT0, "Sente Technologies Inc.", "Snake Pit (9/14/84)", MACHINE_SUPPORTS_SAVE ) // 1984, even though titlescreen says 1983
2479 GAME( 1984, snakjack,  0,        balsente, snakjack, balsente_state, init_snakjack,  ROT0, "Bally/Sente",  "Snacks'n Jaxson", MACHINE_SUPPORTS_SAVE )
2480 
2481 /* Board: 006-8025-01-0B Rev B */
2482 GAMEL(1984, stocker,   0,        balsente, stocker,  balsente_state, init_stocker,   ROT0, "Bally/Sente",  "Stocker (3/19/85)", MACHINE_SUPPORTS_SAVE, layout_stocker ) // date from ROM chips
2483 GAME( 1985, gimeabrk,  0,        balsente, gimeabrk, balsente_state, init_gimeabrk,  ROT0, "Bally/Sente",  "Gimme A Break (7/7/85)", MACHINE_SUPPORTS_SAVE )
2484 GAME( 1985, minigolf,  0,        balsente, minigolf, balsente_state, init_minigolf,  ROT0, "Bally/Sente",  "Mini Golf (11/25/85)", MACHINE_SUPPORTS_SAVE )
2485 GAME( 1985, minigolf2, minigolf, balsente, minigolf2,balsente_state, init_minigolf2, ROT0, "Bally/Sente",  "Mini Golf (10/8/85)", MACHINE_SUPPORTS_SAVE )
2486 GAME( 1984, triviabb,  0,        balsente, triviag1, balsente_state, init_triviag2,  ROT0, "Bally/Sente",  "Trivial Pursuit (Baby Boomer Edition) (3/20/85)", MACHINE_SUPPORTS_SAVE )
2487 GAME( 198?, grudge,    0,        grudge,   grudge,   balsente_state, init_grudge,    ROT0, "Bally Midway", "Grudge Match (v00.90, Italy, location test?)", MACHINE_SUPPORTS_SAVE ) // newer than set below, had a complete cabinet + art
2488 GAME( 198?, grudgep,   grudge,   grudge,   grudgep,  balsente_state, init_grudge,    ROT0, "Bally Midway", "Grudge Match (v00.80, prototype)", MACHINE_SUPPORTS_SAVE )
2489 
2490 /* Board: Unknown  */
2491 GAME( 1984, triviag1,  0,        balsente, triviag1, balsente_state, init_triviag1,  ROT0, "Bally/Sente",  "Trivial Pursuit (Think Tank - Genus Edition) (set 1)", MACHINE_SUPPORTS_SAVE )
2492 GAME( 1984, triviag2,  0,        balsente, triviag1, balsente_state, init_triviag2,  ROT0, "Bally/Sente",  "Trivial Pursuit (Genus II Edition)", MACHINE_SUPPORTS_SAVE )
2493 GAME( 1984, triviasp,  0,        balsente, triviag1, balsente_state, init_triviag2,  ROT0, "Bally/Sente",  "Trivial Pursuit (All Star Sports Edition)", MACHINE_SUPPORTS_SAVE )
2494 GAME( 1984, triviayp,  0,        balsente, triviag1, balsente_state, init_triviag2,  ROT0, "Bally/Sente",  "Trivial Pursuit (Young Players Edition)", MACHINE_SUPPORTS_SAVE )
2495 GAME( 1987, triviaes,  0,        balsente, triviaes, balsente_state, init_triviaes,  ROT0, "Bally/Sente (Maibesa license)",  "Trivial Pursuit (Volumen III, Spanish, Maibesa license)", MACHINE_SUPPORTS_SAVE ) // Genus Edition?
2496 GAME( 1985, toggle,    0,        balsente, toggle,   balsente_state, init_toggle,    ROT0, "Bally/Sente",  "Toggle (prototype)", MACHINE_SUPPORTS_SAVE )
2497 GAME( 1986, nametune,  0,        st1002,   nametune, balsente_state, init_nametune,  ROT0, "Bally/Sente",  "Name That Tune (Bally, set 1)", MACHINE_SUPPORTS_SAVE )
2498 
2499 /* Board: 007-8001-01-0C Rev C1 */
2500 GAME( 1987, triviaes2, triviaes, balsente, triviaes, balsente_state, init_triviaes2, ROT0, "Bally/Sente (Maibesa license)",  "Trivial Pursuit (Volumen II, Spanish, Maibesa license)", MACHINE_SUPPORTS_SAVE ) // "Jovenes Carrozas" Edition?
2501 
2502 /* Board: 006-8030-01-0A Rev A */
2503 GAME( 1986, nametune2, nametune, st1002,   nametune, balsente_state, init_nametune,  ROT0, "Bally/Sente",  "Name That Tune (Bally, 3/23/86)", MACHINE_SUPPORTS_SAVE )
2504 
2505 /* Board: 006-8027-01-0B Rev B */
2506 GAME( 1986, nstocker,  0,        st1002,   nstocker, balsente_state, init_nstocker,  ROT0, "Bally/Sente",  "Night Stocker (10/6/86)", MACHINE_SUPPORTS_SAVE )
2507 GAME( 1986, nstocker2, nstocker, st1002,   nstocker, balsente_state, init_nstocker,  ROT0, "Bally/Sente",  "Night Stocker (8/27/86)", MACHINE_SUPPORTS_SAVE )
2508 GAME( 1986, sfootbal,  0,        st1002,   sfootbal, balsente_state, init_sfootbal,  ROT0, "Bally/Sente",  "Street Football (11/12/86)", MACHINE_SUPPORTS_SAVE )
2509 GAME( 1986, spiker,    0,        spiker,   spiker,   balsente_state, init_spiker,    ROT0, "Bally/Sente",  "Spiker", MACHINE_SUPPORTS_SAVE )
2510 GAME( 1986, spiker2,   spiker,   spiker,   spiker,   balsente_state, init_spiker,    ROT0, "Bally/Sente",  "Spiker (5/5/86)", MACHINE_SUPPORTS_SAVE )
2511 GAME( 1986, spiker3,   spiker,   spiker,   spiker,   balsente_state, init_spiker,    ROT0, "Bally/Sente",  "Spiker (6/9/86)", MACHINE_SUPPORTS_SAVE )
2512 GAME( 1986, stompin,   0,        st1002,   stompin,  balsente_state, init_stompin,   ROT0, "Bally/Sente",  "Stompin' (4/4/86)", MACHINE_SUPPORTS_SAVE )
2513 
2514 /* Board: A084-91889-A000 (Not a cartridge, but dedicated board) */
2515 GAME( 1987, rescraid,  0,        rescraid, rescraid, balsente_state, init_rescraid,  ROT0, "Bally Midway", "Rescue Raider (5/11/87) (non-cartridge)", MACHINE_SUPPORTS_SAVE )
2516 
2517 /* Board: Unknown */
2518 GAME( 1986, shrike,    0,        shrike,   shrike,   balsente_state, init_shrike,    ROT0, "Bally/Sente",  "Shrike Avenger (prototype)", MACHINE_SUPPORTS_SAVE )
2519 GAME( 1987, rescraida, rescraid, rescraid, rescraid, balsente_state, init_rescraid,  ROT0, "Bally Midway", "Rescue Raider (stand-alone)", MACHINE_SUPPORTS_SAVE )
2520 GAME( 1985, teamht,    0,        teamht,   teamht,   balsente_state, init_hattrick,  ROT0, "Bally/Sente",  "Team Hat Trick", MACHINE_SUPPORTS_SAVE )
2521 
2522 /* Trivial Pursuit running on Maibesa hardware (with Bally/Sente license) */
2523 GAME( 1988, triviaes4, 0,        triviamb, triviaes, balsente_state, init_triviaes2, ROT0, "Bally/Sente (Maibesa license)", "Trivial Pursuit (Volumen IV, Spanish, Maibesa hardware)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // different (bootleg?) hardware. maincpu ROMs structure clearly similar to Trivial Pursuit games
2524 GAME( 19??, triviaes5, 0,        triviamb, triviaes, balsente_state, init_triviaes2, ROT0, "Bally/Sente (Maibesa license)", "Trivial Pursuit (Volumen V, Spanish, Maibesa hardware)",  MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // different (bootleg?) hardware. maincpu ROMs structure clearly similar to Trivial Pursuit games
2525