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