1 /***************************************************************************
2 
3 						  -= Newer Seta Hardware =-
4 
5 					driver by	Luca Elia (l.elia@tin.it)
6 
7 
8 CPU    :	TMP68301*
9 
10 Custom :	X1-010				Sound: 8 Bit PCM
11 			DX-101				Sprites
12 			DX-102 x3
13 
14 OSC:	50.0000MHz
15         32.5304MHz
16 
17 *	The Toshiba TMP68301 is a 68HC000 + serial I/O, parallel I/O,
18 	3 timers, address decoder, wait generator, interrupt controller,
19 	all integrated in a single chip.
20 
21 -------------------------------------------------------------------------------------------
22 Ordered by Board		Year	Game									By
23 -------------------------------------------------------------------------------------------
24 P-FG01-1				1995	Guardians / Denjin Makai II				Banpresto
25 PO-113A					1994	Mobile Suit Gundam EX Revue				Banpresto
26 P0-123A					1996	Wakakusamonogatari Mahjong Yonshimai	Maboroshi Ware
27 P0-125A ; KE (Namco)	1996	Kosodate Quiz My Angel					Namco
28 P0-136A ; KL (Namco)	1997	Kosodate Quiz My Angel 2				Namco
29 P0-142A					1999	Puzzle De Bowling						Nihon System / Moss
30 P0-142A + extra parts	2000	Penguin Brothers						Subsino
31 -------------------------------------------------------------------------------------------
32 
33 TODO:
34 
35 - Proper emulation of the TMP68301 CPU, in a core file.
36 - Flip screen / Zooming support.
37 - Fix some graphics imperfections (e.g. color depth selection,
38   "tilemap" sprites) [all done? - NS]
39 - I added a kludge involving a -0x10 yoffset, this fixes the lifeline in myangel.
40   I didn't find a better way to do it without breaking pzlbowl's title screen.
41 
42 mj4simai:
43 - test mode doesn't work correctly, the grid is ok but when you press a key to go to the
44   next screen (input test) it stays up a second and then drops back into the game
45 
46 myangel:
47 - some gfx at the end of the game (rays just before fireworks, and the border during
48   the wedding) have wrong colors. You can see the rays red, green and yellow because
49   that's how the palette is preinitialized by MAME, but the game never sets up those
50   palette entries. The game selects color depth "1", whose meaning is uncertain, and
51   color code 0 so I see no way to point to a different section of palette RAM.
52 
53 - there are glitches in the bg horizontal scroll in the wedding sequence at the end of
54   the game. It looks like "scrollx" should be delayed one frame wrt "xoffs".
55 
56 myangel2:
57 - before each level, the background image is shown with completely wrong colors. It
58   corrects itself when the level starts.
59 
60 grdians:
61 - the map screen after the character selection needs zooming. There is a global
62   zoom register that should affect the background map and the level picture but
63   not the frontmost frame. This latter should use color 7ff (the last one)
64   and ignore the individual color codes in the tiles data. Zooming is also
65   used briefly in pengbros.
66 
67 deerhunt,wschamp:
68 - offset tilemap sprite during demo
69 
70 trophyh:
71 - mame hangs for around 15 seconds every now and then, at scene changes.
72   This is probably due to a couple of frames with an odd or corrupt sprites list,
73   taking a long time to render.
74 
75 ***************************************************************************/
76 
77 /***************************************************************************
78 
79 MS Gundam Ex Revue
80 Banpresto, 1994
81 
82 This game runs on Seta/Allumer hardware
83 
84 PCB Layout
85 ----------
86 
87 PO-113A   BP949KA
88 |----------------------------------|
89 |  X1-010  6264  U28               |
90 |                     581001   U19 |
91 |     U3  U5  U2  U4  581001   U17 |
92 |      62256   62256           U15 |
93 |J                             U20 |
94 |A    U77  68301               U18 |
95 |M                     *       U16 |
96 |M    93C46                    U23 |
97 |A                             U22 |
98 |                              U21 |
99 |  DSW1            50MHz           |
100 |  DSW2       PAL  32.5304MHz      |
101 |       20MHz PAL                  |
102 |----------------------------------|
103 
104 Notes:
105       *: unknown QFP208 (has large heatsink on it). Should be similar to other known
106          graphics chips used on Seta hardware of this era.
107       68301 clock: 16.000MHz
108       VSync: 60Hz
109 
110 ***************************************************************************/
111 
112 /***************************************************************************
113 
114 Guardians
115 Banpresto, 1995
116 
117 This hardware is not common Banpresto hardware. Possibly licenced
118 to them from another manufacturer? Or an early design that they decided
119 not to use for future games? Either way, this game is _extremely_ rare :-)
120 
121 PCB Layout
122 ----------
123 
124 P-FG01-1
125 ------------------------------------------------------
126 |        X1-010 6264          U32 CXK581000          |
127 |                                 CXK581000      U16 |
128 |                                                    |
129 |                                                U20 |
130 |    U3 U5 U2 U4 62256 CXK58257                      |
131 |                62256 CXK58257                  U15 |
132 |                                                    |
133 |J                                               U19 |
134 |A    TMP68301AF-16                                  |
135 |M                                               U18 |
136 |M                           NEC                     |
137 |A          NEC              DX-101              U22 |
138 |           DX-102                                   |
139 |                                                U17 |
140 |                   PAL   50MHz                      |
141 |                                                U21 |
142 |           DSW1(8)                                  |
143 |           DSW2(8)                   CXK58257 NEC   |
144 |                                     CXK58257 DX-102|
145 ------------------------------------------------------
146 
147 Notes:
148       HSync: 15.23kHz
149       VSync: 58.5Hz
150 
151 ***************************************************************************/
152 
153 /***************************************************************************
154 
155 							Penguin Brothers (Japan)
156 
157 (c)2000 Subsino
158 Board:	P0-142A
159 CPU:	TMP68301 (68000 core)
160 
161 OSC:	50.0000MHz
162         32.5304MHz
163         28.0000MHz
164 
165 Chips.:	DX-101
166         DX-102 x3
167 Sound:	X1-010
168 
169 Notes:	pzlbowl PCB with extra parts:
170         28MHz OSC
171         2x 62256 SRAM
172         74HC00
173 
174 ***************************************************************************/
175 
176 /***************************************************************************
177 Sammy USA Outdoor Shooting Series PCB
178 Deer Hunting USA (c) 2000 Sammy USA
179 Turkey Hunting USA (c) 2001 Sammy USA
180 Wing Shooting Championship (c) 2001 Sammy USA*
181 Trophy Hunting - Bear & Moose (c) 2002 Sammy USA*
182 * Slightly different PCB then listed below.  Two Player input / connection ports
183    CPU: Toshiba TMP68301AF-16 (100 Pin PQFP)
184  Video: NEC DX-101 (240 Pin PQFP)
185         NEC DX-102 (52 Pin PQFP x3)
186  Sound: X1-010 (Mitsubishi M60016 Gate Array, 80 Pin PQFP)
187 EEPROM: 93LC46BX (1K Low-power 64 x 16-bit organization serial EEPROM)
188    OSC: 50MHz & 28MHz
189  Other: 8 Position Dipswitch x 2
190         Lattice ispLSI2032
191         Lattice isp1016E
192 PCB Number: B0-003B
193 +-----------------------------------------------------------+
194 |             VOL                          +------+         |
195 |                                          |X1-010|     M1  |
196 |   +---+ +---+                            |M60016|         |
197 |   |   | |   |  M    M                    |CALRUA|  +---+  |
198 +-+ | U | | U |  2    1                    +------+  |   |  |
199   | | 0 | | 0 |                                      |   |  |
200 +-+ | 7 | | 6 |  M    M                              | U |  |
201 |   |   | |   |  2    1                              | 1 |  |
202 |   +---+ +---+                                      | 8 |  |
203 |                                          Lattice   |   |  |
204 |   D +---+  C                            ispLSI2032 |   |  |
205 |   S |DX |  N   BAT1           +-------+            +---+  |
206 |   W |102|  5                  |Toshiba|  D                |
207 |   1 +---+                     |  TMP  |  S EEPROM       C |
208 |            C                  | 68301 |  W              N |
209 |            N  Lattice         +-------+  2              2 |
210 |            6  isp1016E                                    |
211 |                               +----------+    50MHz       |
212 |     +---+                     |          |                |
213 |     |DX |  SW1                |   NEC    |    M   M       |
214 |     |102|                     |  DX-101  |    3   3       |
215 |     +---+         M  M        |          |                |
216 |                   1  1        |          |                |
217 |                               +----------+                |
218 |                                                           |
219 |                             +---+      +---++---++---+    |
220 |                             |   |      |   ||   ||   |    |
221 |     +---+        28MHz      |   |      |   ||   ||   |    |
222 +-+   |DX |                   | U |      | U || U || U |    |
223   |   |102|                   | 4 |      | 4 || 3 || 3 |    |
224 +-+   +---+                   | 0 |      | 1 || 8 || 9 |    |
225 |                             |   |      |   ||   ||   |    |
226 |                             |   |      |   ||   ||   |    |
227 |                             +---+      +---++---++---+    |
228 +-----------------------------------------------------------+
229 Ram M1 are Toshiba TC55257DFL-70L
230 Ram M2 are NEC D43001GU-70L
231 Ram M3 are ISSI IS62C1024L-70Q
232 U06 Program rom ST27C801 (even)
233 U07 Program rom ST27C801 (odd)
234 U18 Mask rom (Samples 23C32000 32Mbit (read as 27C322))
235 U38 - U40 Mask roms (Graphics 23c64020 64Mbit) - 23C64020 read as 27C322 with pin11 +5v & 27C322 with pin11 GND
236 ***************************************************************************/
237 
238 #include "driver.h"
239 #include "vidhrdw/generic.h"
240 #include "machine/tmp68301.h"
241 #include "machine/eeprom.h"
242 #include "seta.h"
243 
244 extern VIDEO_UPDATE( seta2_gun );
245 
246 /***************************************************************************
247 
248 
249 							Memory Maps - Main CPU
250 
251 
252 ***************************************************************************/
253 
WRITE16_HANDLER(seta2_sound_bank_w)254 WRITE16_HANDLER( seta2_sound_bank_w )
255 {
256 	if (ACCESSING_LSB && Machine->sample_rate)
257 	{
258 		data8_t *ROM = memory_region( REGION_SOUND1 );
259 		int banks = (memory_region_length( REGION_SOUND1 ) - 0x100000) / 0x20000;
260 		if (data >= banks)
261 		{
262 			log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC %06X: invalid sound bank %04X\n",activecpu_get_pc(),data);
263 			data %= banks;
264 		}
265 		memcpy(ROM + offset * 0x20000, ROM + 0x100000 + data * 0x20000, 0x20000);
266 	}
267 }
268 
269 
270 /***************************************************************************
271 								Guardians
272 ***************************************************************************/
273 
WRITE16_HANDLER(grdians_lockout_w)274 static WRITE16_HANDLER( grdians_lockout_w )
275 {
276 	if (ACCESSING_LSB)
277 	{
278 		/* initially 0, then either $25 (coin 1) or $2a (coin 2)*/
279 		coin_counter_w(0,data & 0x01);	/* or 0x04*/
280 		coin_counter_w(1,data & 0x02);	/* or 0x08*/
281 	}
282 /*	usrintf_showmessage("%04X", data & 0xffff);*/
283 }
284 
MEMORY_READ16_START(grdians_readmem)285 static MEMORY_READ16_START( grdians_readmem )
286 	{ 0x000000, 0x1fffff, MRA16_ROM					},	/* ROM*/
287 	{ 0x200000, 0x20ffff, MRA16_RAM					},	/* RAM*/
288 	{ 0x304000, 0x30ffff, MRA16_RAM					},	/* ? seems tile data*/
289 	{ 0x600000, 0x600001, input_port_0_word_r		},	/* DSW 1*/
290 	{ 0x600002, 0x600003, input_port_1_word_r		},	/* DSW 2*/
291 	{ 0x700000, 0x700001, input_port_2_word_r		},	/* P1*/
292 	{ 0x700002, 0x700003, input_port_3_word_r		},	/* P2*/
293 	{ 0x700004, 0x700005, input_port_4_word_r		},	/* Coins*/
294 	{ 0x70000c, 0x70000d, watchdog_reset16_r		},	/* Watchdog*/
295 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	/* Sound*/
296 	{ 0xc00000, 0xc3ffff, MRA16_RAM					},	/* Sprites*/
297 	{ 0xc40000, 0xc4ffff, MRA16_RAM					},	/* Palette*/
298 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	/* TMP68301 Registers*/
299 MEMORY_END
300 
301 static MEMORY_WRITE16_START( grdians_writemem )
302 	{ 0x000000, 0x1fffff, MWA16_ROM							},	/* ROM*/
303 	{ 0x200000, 0x20ffff, MWA16_RAM							},	/* RAM*/
304 	{ 0x304000, 0x30ffff, MWA16_RAM							},	/* ? seems tile data*/
305 	{ 0x800000, 0x800001, grdians_lockout_w					},
306 	{ 0xb00000, 0xb03fff, seta_sound_word_w 				},	/* Sound*/
307 	{ 0xc00000, 0xc3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	/* Sprites*/
308 	{ 0xc40000, 0xc4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	/* Palette*/
309 	{ 0xc50000, 0xc5ffff, MWA16_RAM							},	/* cleared*/
310 	{ 0xc60000, 0xc6003f, seta2_vregs_w, &seta2_vregs		},	/* Video Registers*/
311 	{ 0xe00010, 0xe0001f, seta2_sound_bank_w				},	/* Samples Banks*/
312 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	/* TMP68301 Registers*/
313 MEMORY_END
314 
315 /***************************************************************************
316 						Mobile Suit Gundam EX Revue
317 ***************************************************************************/
318 
319 static NVRAM_HANDLER(93C46_gundamex)
320 {
321 	if (read_or_write)
322 	{
323 		EEPROM_save(file);
324 	}
325 	else
326 	{
327 		EEPROM_init(&eeprom_interface_93C46);
328 		if (file)
329 		{
330 			EEPROM_load(file);
331 		}
332 		else
333 		{
334 			int length;
335 			UINT8 *dat;
336 
337 			dat = EEPROM_get_data_pointer(&length);
338 			dat[0]=0x70;
339 			dat[1]=0x08;
340 		}
341 	}
342 }
343 
READ16_HANDLER(gundamex_eeprom_r)344 READ16_HANDLER( gundamex_eeprom_r )
345 {
346 	return ((EEPROM_read_bit() & 1)) << 3;
347 }
348 
WRITE16_HANDLER(gundamex_eeprom_w)349 WRITE16_HANDLER( gundamex_eeprom_w )
350 {
351 		EEPROM_set_clock_line((data & 0x2) ? ASSERT_LINE : CLEAR_LINE);
352 		EEPROM_write_bit(data & 0x1);
353 		EEPROM_set_cs_line((data & 0x4) ? CLEAR_LINE : ASSERT_LINE);
354 }
355 
MEMORY_READ16_START(gundamex_readmem)356 static MEMORY_READ16_START( gundamex_readmem )
357 	{ 0x000000, 0x1fffff, MRA16_ROM					},	/* ROM*/
358 	{ 0x200000, 0x20ffff, MRA16_RAM					},	/* RAM*/
359 	{ 0x400000, 0x5fffff, MRA16_ROM					},	/* ROM*/
360 	{ 0x600000, 0x600001, input_port_0_word_r		},	/* DSW 1*/
361 	{ 0x600002, 0x600003, input_port_1_word_r		},	/* DSW 2*/
362 	{ 0x700000, 0x700001, input_port_2_word_r		},	/* P1*/
363 	{ 0x700002, 0x700003, input_port_3_word_r		},	/* P2*/
364 	{ 0x700004, 0x700005, input_port_4_word_r		},	/* Coins*/
365 	{ 0x700008, 0x700009, input_port_5_word_r		},	/* P1*/
366 	{ 0x70000a, 0x70000b, input_port_6_word_r		},	/* P2*/
367 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	/* Sound*/
368 	{ 0xfffd0a, 0xfffd0b, gundamex_eeprom_r			},	/* Parallel Data Register*/
369 MEMORY_END
370 
371 static MEMORY_WRITE16_START( gundamex_writemem )
372 	{ 0x000000, 0x1fffff, MWA16_ROM							},	/* ROM*/
373 	{ 0x200000, 0x20ffff, MWA16_RAM							},	/* RAM*/
374 	{ 0x400000, 0x5fffff, MWA16_ROM							},	/* ROM*/
375 	{ 0x70000c, 0x70000d, watchdog_reset16_w				},
376 	{ 0x800000, 0x800001, grdians_lockout_w					},
377 	{ 0xb00000, 0xb03fff, seta_sound_word_w 				},	/* Sound*/
378 	{ 0xc00000, 0xc3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	/* Sprites*/
379 	{ 0xc40000, 0xc4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	/* Palette*/
380 	{ 0xc50000, 0xc5ffff, MWA16_RAM							},	/* cleared*/
381 	{ 0xc60000, 0xc6003f, seta2_vregs_w, &seta2_vregs		},	/* Video Registers*/
382 	{ 0xe00010, 0xe0001f, seta2_sound_bank_w				},	/* Samples Banks*/
383 	{ 0xfffd0a, 0xfffd0b, gundamex_eeprom_w 				},  /* Parallel Data Register */
384 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	/* TMP68301 Registers*/
385 MEMORY_END
386 
387 /***************************************************************************
388                       Wakakusamonogatari Mahjong Yonshimai
389 ***************************************************************************/
390 
391 static int keyboard_row;
392 
READ16_HANDLER(mj4simai_p1_r)393 static READ16_HANDLER( mj4simai_p1_r )
394 {
395 	switch (keyboard_row)
396 	{
397 		case 0x01: return readinputport(3);
398 		case 0x02: return readinputport(4);
399 		case 0x04: return readinputport(5);
400 		case 0x08: return readinputport(6);
401 		case 0x10: return readinputport(7);
402 		default:   log_cb(RETRO_LOG_DEBUG, LOGPRE "p1_r with keyboard_row = %02x\n",keyboard_row); return 0xffff;
403 	}
404 }
405 
WRITE16_HANDLER(mj4simai_keyboard_w)406 static WRITE16_HANDLER( mj4simai_keyboard_w )
407 {
408 	if (ACCESSING_LSB)
409 		keyboard_row = data & 0xff;
410 }
411 
MEMORY_READ16_START(mj4simai_readmem)412 static MEMORY_READ16_START( mj4simai_readmem )
413 	{ 0x000000, 0x1fffff, MRA16_ROM					},	/* ROM*/
414 	{ 0x200000, 0x20ffff, MRA16_RAM					},	/* RAM*/
415 	{ 0x600000, 0x600001, mj4simai_p1_r				},	/* P1*/
416 	{ 0x600002, 0x600003, mj4simai_p1_r				},	/* P2, but I'm using P1 again*/
417 	{ 0x600006, 0x600007, watchdog_reset16_r		},	/* Watchdog*/
418 	{ 0x600100, 0x600101, input_port_2_word_r		},	/**/
419 	{ 0x600300, 0x600301, input_port_0_word_r		},	/* DSW 1*/
420 	{ 0x600302, 0x600303, input_port_1_word_r		},	/* DSW 2*/
421 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	/* Sound*/
422 	{ 0xc00000, 0xc3ffff, MRA16_RAM					},	/* Sprites*/
423 	{ 0xc40000, 0xc4ffff, MRA16_RAM					},	/* Palette*/
424 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	/* TMP68301 Registers*/
425 MEMORY_END
426 
427 static MEMORY_WRITE16_START( mj4simai_writemem )
428 	{ 0x000000, 0x1fffff, MWA16_ROM						},	/* ROM*/
429 	{ 0x200000, 0x20ffff, MWA16_RAM						},	/* RAM*/
430 	{ 0x600004, 0x600005, mj4simai_keyboard_w			},	/* select keyboard row to read*/
431 	{ 0x600200, 0x600201, MWA16_NOP						},	/* Leds? Coins?*/
432 	{ 0x600300, 0x60030f, seta2_sound_bank_w			},	/* Samples Banks*/
433 	{ 0xb00000, 0xb03fff, seta_sound_word_w 			},	/* Sound*/
434 	{ 0xc00000, 0xc3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	/* Sprites*/
435 	{ 0xc40000, 0xc4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	/* Palette*/
436 	{ 0xc60000, 0xc6003f, seta2_vregs_w, &seta2_vregs	},	/* Video Registers*/
437 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	/* TMP68301 Registers*/
438 MEMORY_END
439 
440 
441 /***************************************************************************
442 							Kosodate Quiz My Angel
443 ***************************************************************************/
444 
445 static MEMORY_READ16_START( myangel_readmem )
446 	{ 0x000000, 0x1fffff, MRA16_ROM					},	/* ROM*/
447 	{ 0x200000, 0x20ffff, MRA16_RAM					},	/* RAM*/
448 	{ 0x700000, 0x700001, input_port_2_word_r		},	/* P1*/
449 	{ 0x700002, 0x700003, input_port_3_word_r		},	/* P2*/
450 	{ 0x700004, 0x700005, input_port_4_word_r		},	/* Coins*/
451 	{ 0x700006, 0x700007, watchdog_reset16_r		},	/* Watchdog*/
452 	{ 0x700300, 0x700301, input_port_0_word_r		},	/* DSW 1*/
453 	{ 0x700302, 0x700303, input_port_1_word_r		},	/* DSW 2*/
454 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	/* Sound*/
455 	{ 0xc00000, 0xc3ffff, MRA16_RAM					},	/* Sprites*/
456 	{ 0xc40000, 0xc4ffff, MRA16_RAM					},	/* Palette*/
457 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	/* TMP68301 Registers*/
458 MEMORY_END
459 
460 static MEMORY_WRITE16_START( myangel_writemem )
461 	{ 0x000000, 0x1fffff, MWA16_ROM						},	/* ROM*/
462 	{ 0x200000, 0x20ffff, MWA16_RAM						},	/* RAM*/
463 	{ 0x700200, 0x700201, MWA16_NOP						},	/* Leds? Coins?*/
464 	{ 0x700310, 0x70031f, seta2_sound_bank_w			},	/* Samples Banks*/
465 	{ 0xb00000, 0xb03fff, seta_sound_word_w 			},	/* Sound*/
466 	{ 0xc00000, 0xc3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	/* Sprites*/
467 	{ 0xc40000, 0xc4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	/* Palette*/
468 	{ 0xc60000, 0xc6003f, seta2_vregs_w, &seta2_vregs	},	/* Video Registers*/
469 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	/* TMP68301 Registers*/
470 MEMORY_END
471 
472 
473 /***************************************************************************
474 							Kosodate Quiz My Angel 2
475 ***************************************************************************/
476 
477 static MEMORY_READ16_START( myangel2_readmem )
478 	{ 0x000000, 0x1fffff, MRA16_ROM					},	/* ROM*/
479 	{ 0x200000, 0x20ffff, MRA16_RAM					},	/* RAM*/
480 	{ 0x600000, 0x600001, input_port_2_word_r		},	/* P1*/
481 	{ 0x600002, 0x600003, input_port_3_word_r		},	/* P2*/
482 	{ 0x600004, 0x600005, input_port_4_word_r		},	/* Coins*/
483 	{ 0x600006, 0x600007, watchdog_reset16_r		},	/* Watchdog*/
484 	{ 0x600300, 0x600301, input_port_0_word_r		},	/* DSW 1*/
485 	{ 0x600302, 0x600303, input_port_1_word_r		},	/* DSW 2*/
486 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	/* Sound*/
487 	{ 0xd00000, 0xd3ffff, MRA16_RAM					},	/* Sprites*/
488 	{ 0xd40000, 0xd4ffff, MRA16_RAM					},	/* Palette*/
489 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	/* TMP68301 Registers*/
490 MEMORY_END
491 
492 static MEMORY_WRITE16_START( myangel2_writemem )
493 	{ 0x000000, 0x1fffff, MWA16_ROM						},	/* ROM*/
494 	{ 0x200000, 0x20ffff, MWA16_RAM						},	/* RAM*/
495 	{ 0x600200, 0x600201, MWA16_NOP						},	/* Leds? Coins?*/
496 	{ 0x600300, 0x60030f, seta2_sound_bank_w			},	/* Samples Banks*/
497 	{ 0xb00000, 0xb03fff, seta_sound_word_w 			},	/* Sound*/
498 	{ 0xd00000, 0xd3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	/* Sprites*/
499 	{ 0xd40000, 0xd4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	/* Palette*/
500 	{ 0xd60000, 0xd6003f, seta2_vregs_w, &seta2_vregs	},	/* Video Registers*/
501 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	/* TMP68301 Registers*/
502 MEMORY_END
503 
504 
505 /***************************************************************************
506 								Puzzle De Bowling
507 ***************************************************************************/
508 
509 /*	The game checks for a specific value read from the ROM region.
510 	The offset to use is stored in RAM at address 0x20BA16 */
511 READ16_HANDLER( pzlbowl_protection_r )
512 {
513 	UINT32 address = (cpu_readmem24bew_word(0x20ba16) << 16) | cpu_readmem24bew_word(0x20ba18);
514 	return memory_region(REGION_CPU1)[address - 2];
515 }
516 
READ16_HANDLER(pzlbowl_coins_r)517 READ16_HANDLER( pzlbowl_coins_r )
518 {
519 	return readinputport(4) | (rand() & 0x80 );
520 }
521 
WRITE16_HANDLER(pzlbowl_coin_counter_w)522 WRITE16_HANDLER( pzlbowl_coin_counter_w )
523 {
524 	if (ACCESSING_LSB)
525 	{
526 		coin_counter_w(0,data & 0x10);
527 		coin_counter_w(1,data & 0x20);
528 	}
529 }
530 
MEMORY_READ16_START(pzlbowl_readmem)531 static MEMORY_READ16_START( pzlbowl_readmem )
532 	{ 0x000000, 0x0fffff, MRA16_ROM					},	/* ROM*/
533 	{ 0x200000, 0x20ffff, MRA16_RAM					},	/* RAM*/
534 	{ 0x400300, 0x400301, input_port_0_word_r		},	/* DSW 1*/
535 	{ 0x400302, 0x400303, input_port_1_word_r		},	/* DSW 2*/
536 	{ 0x500000, 0x500001, input_port_2_word_r		},	/* P1*/
537 	{ 0x500002, 0x500003, input_port_3_word_r		},	/* P2*/
538 	{ 0x500004, 0x500005, pzlbowl_coins_r			},	/* Coins + Protection?*/
539 	{ 0x500006, 0x500007, watchdog_reset16_r		},	/* Watchdog*/
540 	{ 0x700000, 0x700001, pzlbowl_protection_r		},	/* Protection*/
541 	{ 0x800000, 0x83ffff, MRA16_RAM					},	/* Sprites*/
542 	{ 0x840000, 0x84ffff, MRA16_RAM					},	/* Palette*/
543 	{ 0x900000, 0x903fff, seta_sound_word_r 		},	/* Sound*/
544 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	/* TMP68301 Registers*/
545 MEMORY_END
546 
547 static MEMORY_WRITE16_START( pzlbowl_writemem )
548 	{ 0x000000, 0x0fffff, MWA16_ROM						},	/* ROM*/
549 	{ 0x200000, 0x20ffff, MWA16_RAM						},	/* RAM*/
550 	{ 0x400300, 0x40030f, seta2_sound_bank_w			},	/* Samples Banks*/
551 	{ 0x500004, 0x500005, pzlbowl_coin_counter_w		},	/* Coins Counter*/
552 	{ 0x800000, 0x83ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	/* Sprites*/
553 	{ 0x840000, 0x84ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	/* Palette*/
554 	{ 0x860000, 0x86003f, seta2_vregs_w, &seta2_vregs	},	/* Video Registers*/
555 	{ 0x900000, 0x903fff, seta_sound_word_w 			},	/* Sound*/
556 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	/* TMP68301 Registers*/
557 MEMORY_END
558 
559 
560 /***************************************************************************
561 							Penguin Bros
562 ***************************************************************************/
563 
564 static MEMORY_READ16_START( penbros_readmem )
565 	{ 0x000000, 0x0fffff, MRA16_ROM					},	/* ROM*/
566 	{ 0x200000, 0x20ffff, MRA16_RAM					},	/* RAM*/
567 	{ 0x210000, 0x23ffff, MRA16_RAM					},	/* RAM*/
568 	{ 0x300000, 0x30ffff, MRA16_RAM					},	/* RAM*/
569 	{ 0x500300, 0x500301, input_port_0_word_r		},	/* DSW 1*/
570 	{ 0x500302, 0x500303, input_port_1_word_r		},	/* DSW 2*/
571 	{ 0x600000, 0x600001, input_port_2_word_r		},	/* P1*/
572 	{ 0x600002, 0x600003, input_port_3_word_r		},	/* P2*/
573 	{ 0x600004, 0x600005, input_port_4_word_r		},	/* Coins*/
574 	{ 0x600006, 0x600007, watchdog_reset16_r		},	/* Watchdog*/
575 /*	{ 0x700000, 0x700001, pzlbowl_protection_r		},	*/ /* Protection*/
576 	{ 0xb00000, 0xb3ffff, MRA16_RAM					},	/* Sprites*/
577 	{ 0xb40000, 0xb4ffff, MRA16_RAM					},	/* Palette*/
578 	{ 0xa00000, 0xa03fff, seta_sound_word_r 		},	/* Sound*/
579 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	/* TMP68301 Registers*/
580 MEMORY_END
581 
582 static MEMORY_WRITE16_START( penbros_writemem )
583 	{ 0x000000, 0x0fffff, MWA16_ROM						},	/* ROM*/
584 	{ 0x200000, 0x20ffff, MWA16_RAM						},	/* RAM*/
585 	{ 0x300000, 0x30ffff, MWA16_RAM						},	/* RAM*/
586 	{ 0x210000, 0x23ffff, MWA16_RAM						},	/* RAM*/
587 	{ 0x500300, 0x50030f, seta2_sound_bank_w			},	/* Samples Banks*/
588 	{ 0x600004, 0x600005, pzlbowl_coin_counter_w		},	/* Coins Counter*/
589 	{ 0xb00000, 0xb3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	/* Sprites*/
590 	{ 0xb40000, 0xb4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	/* Palette*/
591 	{ 0xb60000, 0xb6003f, seta2_vregs_w, &seta2_vregs	},	/* Video Registers*/
592 	{ 0xa00000, 0xa03fff, seta_sound_word_w 			},	/* Sound*/
593 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	/* TMP68301 Registers*/
594 MEMORY_END
595 
596 /***************************************************************************
597                             Sammy Outdoor Shooting
598 ***************************************************************************/
599 
600 static READ16_HANDLER( samshoot_gun1_r )
601 {
602 	return (readinputport(8) << 8) | readinputport(2);
603 }
604 
READ16_HANDLER(samshoot_gun2_r)605 static READ16_HANDLER( samshoot_gun2_r )
606 {
607 	return (readinputport(9) << 8) | readinputport(3);
608 }
609 
MEMORY_READ16_START(samshoot_readmem)610 static MEMORY_READ16_START( samshoot_readmem )
611     { 0x000000, 0x1fffff, MRA16_ROM },
612 	{ 0x200000, 0x20ffff, MRA16_RAM },
613 	{ 0x300000, 0x30ffff, MRA16_RAM },
614 	{ 0x400000, 0x400001, input_port_0_word_r },			/* DSW 1 */
615 	{ 0x400002, 0x400003, input_port_7_word_r },			/* Buttons */
616 	{ 0x500000, 0x500001, samshoot_gun1_r },				/* P1 */
617 	{ 0x580000, 0x580001, samshoot_gun2_r },				/* P2 */
618 	{ 0x700000, 0x700001, input_port_4_word_r },			/* Trigger */
619 	{ 0x700002, 0x700003, input_port_5_word_r },				/* Pump */
620 	{ 0x700004, 0x700005, input_port_6_word_r },  /* Coins */
621 	{ 0x700006, 0x700007, watchdog_reset16_r },	/* Watchdog? */
622 	{ 0x800000, 0x83ffff, MRA16_RAM },	/* Sprites */
623 	{ 0x840000, 0x84ffff, MRA16_RAM },	/* Palette */
624 	{ 0x900000, 0x903fff, seta_sound_word_r },	/* Sound */
625 	{ 0xfffd0a, 0xfffd0b, input_port_0_word_r },				/* parallel data register (DSW 2) */
626 	{ 0xfffc00, 0xffffff, MRA16_RAM },	/* TMP68301 Registers */
627 MEMORY_END
628 
629 static MEMORY_WRITE16_START( samshoot_writemem )
630     { 0x000000, 0x1fffff, MWA16_ROM },
631 	{ 0x200000, 0x20ffff, MWA16_RAM },
632 	{ 0x300000, 0x30ffff, MWA16_RAM, (data16_t **)&generic_nvram, &generic_nvram_size },
633 	{ 0x400300, 0x40030f, seta2_sound_bank_w },	/* Samples Banks */
634 	{ 0x800000, 0x83ffff, MWA16_RAM, &spriteram16, &spriteram_size },	/* Sprites */
635 	{ 0x840000, 0x84ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16 },	/* Palette */
636 	{ 0x860000, 0x86003f, seta2_vregs_w, &seta2_vregs },	/* Video Registers */
637 	{ 0x900000, 0x903fff, seta_sound_word_w	},	/* Sound */
638 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs },	/* TMP68301 Registers */
639 MEMORY_END
640 
641 /***************************************************************************
642 
643 								Input Ports
644 
645 ***************************************************************************/
646 
647 /***************************************************************************
648 						Mobile Suit Gundam EX Revue
649 ***************************************************************************/
650 
651 INPUT_PORTS_START( gundamex )
652 	PORT_START	/* IN0 - $600000.w*/
653 	PORT_DIPNAME( 0x0001, 0x0001, "1" )
654 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
655 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
656 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
657 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
658 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
659 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
660 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
661 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
662 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
663 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
664 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
665 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
666 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
667 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
668 	PORT_DIPNAME( 0x0020, 0x0020, "Freeze" )
669 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
670 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
671 	PORT_DIPNAME( 0x0040, 0x0040, "Show Targets" )
672 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
673 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
674 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
675 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
676 
677 	PORT_START	/* IN1 - $600002.w*/
678 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
679 	PORT_DIPSETTING(      0x0000, DEF_STR( 4C_1C ) )
680 	PORT_DIPSETTING(      0x0001, DEF_STR( 3C_1C ) )
681 	PORT_DIPSETTING(      0x0002, DEF_STR( 2C_1C ) )
682 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
683 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
684 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
685 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_4C ) )
686 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_5C ) )
687 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
688 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
689 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_3C ) )
690 	PORT_DIPSETTING(      0x0000, "3 Coins/5 Credits" )
691 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_2C ) )
692 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_5C ) )
693 	PORT_DIPSETTING(      0x0028, DEF_STR( 1C_3C ) )
694 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_4C ) )
695 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_5C ) )
696 	PORT_DIPNAME( 0x0040, 0x0040, "Debug Mode" )
697 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
698 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
699 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) )
700 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
701 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
702 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
703 
704 	PORT_START	/* IN2 - $700000.w*/
705 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
706 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
707 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
708 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
709 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
710 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
711 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
712 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1 )
713 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
714 
715 	PORT_START	/* IN3 - $700002.w*/
716 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
717 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
718 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
719 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
720 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
721 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
722 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
723 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2 )
724 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
725 
726 	PORT_START	/* IN4 - $700004.w*/
727 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
728 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
729 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
730 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_UNKNOWN )
731 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN ) /* jumper pad */
732 	PORT_DIPNAME( 0x0020, 0x0020, "Language" ) 		 /* jumper pad */
733 	PORT_DIPSETTING(      0x0020, "English" )
734 	PORT_DIPSETTING(      0x0000, "Japanese" )
735 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
736 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
737 	PORT_BIT(  0xff00, IP_ACTIVE_LOW,  IPT_UNKNOWN )
738 
739 	PORT_START	/* IN5 - $700008.w*/
740 	PORT_BIT(  0x0001, IP_ACTIVE_LOW,  IPT_BUTTON4		 | IPF_PLAYER1 )
741 	PORT_BIT(  0x0002, IP_ACTIVE_LOW,  IPT_UNKNOWN )
742 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_UNKNOWN )
743 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_UNKNOWN )
744 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
745 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
746 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
747 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
748 	PORT_BIT(  0xff00, IP_ACTIVE_LOW,  IPT_UNKNOWN )
749 
750 	PORT_START	/* IN6 - $70000a.w*/
751 	PORT_BIT(  0x0001, IP_ACTIVE_LOW,  IPT_BUTTON4		 | IPF_PLAYER2 )
752 	PORT_BIT(  0x0002, IP_ACTIVE_LOW,  IPT_UNKNOWN )
753 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_UNKNOWN )
754 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_UNKNOWN )
755 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
756 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
757 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
758 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
759 	PORT_BIT(  0xff00, IP_ACTIVE_LOW,  IPT_UNKNOWN )
760 INPUT_PORTS_END
761 
762 /***************************************************************************
763 								Guardians
764 ***************************************************************************/
765 
766 INPUT_PORTS_START( grdians )
767 	PORT_START	/* IN0 - $600000.w*/
768 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
769 	PORT_DIPSETTING(      0x0002, "Easy"    )	/* 0*/
770 	PORT_DIPSETTING(      0x0003, "Normal"  )	/* 1*/
771 	PORT_DIPSETTING(      0x0001, "Hard"    )	/* 2*/
772 	PORT_DIPSETTING(      0x0000, "Hardest" )	/* 3*/
773 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
774 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
775 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
776 	PORT_DIPNAME( 0x0008, 0x0008, "Title" )
777 	PORT_DIPSETTING(      0x0008, "Guardians" )
778 	PORT_DIPSETTING(      0x0000, "Denjin Makai II" )
779 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
780 	PORT_DIPSETTING(      0x0020, "1" )
781 	PORT_DIPSETTING(      0x0030, "2" )
782 	PORT_DIPSETTING(      0x0010, "3" )
783 	PORT_DIPSETTING(      0x0000, "4" )
784 	PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
785 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Demo_Sounds ) )
786 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
787 	PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
788 
789 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
790 
791 	PORT_START	/* IN1 - $600002.w*/
792 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
793 	PORT_DIPSETTING(      0x0002, DEF_STR( 4C_1C ) )
794 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
795 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
796 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
797 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_3C ) )
798 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
799 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
800 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
801 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
802 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
803 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
804 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
805 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
806 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
807 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
808 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
809 	PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) )
810 	PORT_DIPSETTING(      0x0020, DEF_STR( 4C_1C ) )
811 	PORT_DIPSETTING(      0x0050, DEF_STR( 3C_1C ) )
812 	PORT_DIPSETTING(      0x0080, DEF_STR( 2C_1C ) )
813 	PORT_DIPSETTING(      0x0040, DEF_STR( 3C_2C ) )
814 	PORT_DIPSETTING(      0x0010, DEF_STR( 4C_3C ) )
815 	PORT_DIPSETTING(      0x00f0, DEF_STR( 1C_1C ) )
816 	PORT_DIPSETTING(      0x0030, DEF_STR( 3C_4C ) )
817 	PORT_DIPSETTING(      0x0070, DEF_STR( 2C_3C ) )
818 	PORT_DIPSETTING(      0x00e0, DEF_STR( 1C_2C ) )
819 	PORT_DIPSETTING(      0x0060, DEF_STR( 2C_5C ) )
820 	PORT_DIPSETTING(      0x00d0, DEF_STR( 1C_3C ) )
821 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_4C ) )
822 	PORT_DIPSETTING(      0x00b0, DEF_STR( 1C_5C ) )
823 	PORT_DIPSETTING(      0x00a0, DEF_STR( 1C_6C ) )
824 	PORT_DIPSETTING(      0x0090, DEF_STR( 1C_7C ) )
825 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
826 
827 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
828 
829 	PORT_START	/* IN2 - $700000.w*/
830 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
831 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
832 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
833 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
834 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
835 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
836 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
837 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1 )
838 
839 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
840 
841 	PORT_START	/* IN3 - $700002.w*/
842 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
843 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
844 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
845 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
846 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
847 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
848 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
849 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2 )
850 
851 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
852 
853 	PORT_START	/* IN4 - $700004.w*/
854 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
855 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
856 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
857 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, "Test", KEYCODE_F1, IP_JOY_NONE )
858 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
859 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
860 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
861 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
862 
863 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
864 INPUT_PORTS_END
865 
866 
867 /***************************************************************************
868                       Wakakusamonogatari Mahjong Yonshimai
869 ***************************************************************************/
870 
871 INPUT_PORTS_START( mj4simai )
872 	PORT_START	/* IN0 - $600300.w*/
873 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
874 	PORT_DIPSETTING(      0x0000, DEF_STR( 5C_1C ) )
875 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_1C ) )
876 	PORT_DIPSETTING(      0x0002, DEF_STR( 3C_1C ) )
877 	PORT_DIPSETTING(      0x0003, DEF_STR( 2C_1C ) )
878 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
879 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
880 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
881 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_4C ) )
882 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
883 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
884 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
885 	PORT_DIPNAME( 0x0010, 0x0010, "Tumo Pin" )
886 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
887 	PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
888 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Flip_Screen ) )
889 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
890 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
891 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) )
892 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
893 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
894 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
895 
896 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
897 
898 	PORT_START	/* IN1 - $600302.w*/
899 	PORT_DIPNAME( 0x0007, 0x0004, DEF_STR( Difficulty ) )
900 	PORT_DIPSETTING(      0x0004, "0" )
901 	PORT_DIPSETTING(      0x0003, "1" )
902 	PORT_DIPSETTING(      0x0002, "2" )
903 	PORT_DIPSETTING(      0x0001, "3" )
904 	PORT_DIPSETTING(      0x0000, "4" )
905 	PORT_DIPSETTING(      0x0007, "5" )
906 	PORT_DIPSETTING(      0x0006, "6" )
907 	PORT_DIPSETTING(      0x0005, "7" )
908 	PORT_DIPNAME( 0x0008, 0x0008, "Allow Continue" )
909 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
910 	PORT_DIPSETTING(      0x0008, DEF_STR( Yes ) )
911 	PORT_DIPNAME( 0x0010, 0x0000, "Select Girl" )
912 	PORT_DIPSETTING(      0x0010, DEF_STR( No ) )
913 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
914 	PORT_DIPNAME( 0x0020, 0x0000, "Com Put" )
915 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
916 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
917 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
918 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
919 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
920 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
921 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
922 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
923 
924 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
925 
926 	PORT_START	/* IN2 - $600100.w*/
927 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
928 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
929 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
930 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_UNKNOWN )
931 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
932 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
933 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
934 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
935 
936 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
937 
938 	PORT_START	/* IN3 - $600000(0)*/
939 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
940 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
941 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
942 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
943 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
944 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1                              )
945 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
946 
947 	PORT_START	/* IN4 - $600000(1)*/
948 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
949 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
950 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
951 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
952 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
953 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "Bet",   KEYCODE_2,        IP_JOY_NONE )
954 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
955 
956 	PORT_START	/* IN5 - $600000(2)*/
957 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
958 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
959 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
960 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
961 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
962 	PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
963 
964 	PORT_START	/* IN6 - $600000(3)*/
965 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
966 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
967 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
968 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
969 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
970 
971 	PORT_START	/* IN7 - $600000(4)*/
972 	PORT_BITX( 0x0001, IP_ACTIVE_LOW, 0, "Last",   KEYCODE_RALT,      IP_JOY_NONE )
973 	PORT_BITX( 0x0002, IP_ACTIVE_LOW, 0, "Take",   KEYCODE_RCONTROL,  IP_JOY_NONE )
974 	PORT_BITX( 0x0004, IP_ACTIVE_LOW, 0, "Double", KEYCODE_RSHIFT,    IP_JOY_NONE )
975 	PORT_BITX( 0x0008, IP_ACTIVE_LOW, 0, "Flip",   KEYCODE_X,         IP_JOY_NONE )
976 	PORT_BITX( 0x0010, IP_ACTIVE_LOW, 0, "Big",    KEYCODE_ENTER,     IP_JOY_NONE )
977 	PORT_BITX( 0x0020, IP_ACTIVE_LOW, 0, "Small",  KEYCODE_BACKSPACE, IP_JOY_NONE )
978 	PORT_BIT(  0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
979 
980 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
981 INPUT_PORTS_END
982 
983 
984 /***************************************************************************
985 							Kosodate Quiz My Angel
986 ***************************************************************************/
987 
988 INPUT_PORTS_START( myangel )
989 	PORT_START	/* IN0 - $700300.w*/
990 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
991 	PORT_DIPNAME( 0x0002, 0x0002, "Unknown 1-1" )
992 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
993 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
994 	PORT_DIPNAME( 0x0004, 0x0004, "Unknown 1-2" )
995 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
996 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
997 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 1-3*" )
998 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
999 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1000 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
1001 	PORT_DIPSETTING(      0x0020, "2" )
1002 	PORT_DIPSETTING(      0x0030, "3" )
1003 	PORT_DIPSETTING(      0x0010, "4" )
1004 	PORT_DIPSETTING(      0x0000, "5" )
1005 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
1006 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1007 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
1008 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) )
1009 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1010 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1011 
1012 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1013 
1014 	PORT_START	/* IN1 - $700302.w*/
1015 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
1016 	PORT_DIPSETTING(      0x0002, DEF_STR( 4C_1C ) )
1017 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
1018 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
1019 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
1020 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_3C ) )
1021 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
1022 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
1023 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
1024 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
1025 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
1026 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
1027 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
1028 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
1029 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
1030 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
1031 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
1032 	PORT_DIPNAME( 0x0010, 0x0010, "Unknown 2-4" )
1033 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
1034 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1035 	PORT_DIPNAME( 0x0020, 0x0020, "Unknown 2-5" )
1036 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
1037 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1038 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
1039 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1040 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1041 	PORT_BITX(    0x0080, 0x0080, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Push Start To Freeze (Cheat)", IP_KEY_NONE, IP_JOY_NONE )
1042 	PORT_DIPSETTING(      0x0080, DEF_STR( No ) )
1043 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
1044 
1045 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1046 
1047 	PORT_START	/* IN2 - $700000.w*/
1048 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1049 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1050 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
1051 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
1052 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
1053 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1054 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1055 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1  )
1056 
1057 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1058 
1059 	PORT_START	/* IN3 - $700002.w*/
1060 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1061 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1062 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
1063 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
1064 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
1065 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1066 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1067 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2  )
1068 
1069 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1070 
1071 	PORT_START	/* IN4 - $700004.w*/
1072 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
1073 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
1074 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1075 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
1076 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1077 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1078 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1079 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1080 
1081 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1082 INPUT_PORTS_END
1083 
1084 
1085 /***************************************************************************
1086 							Kosodate Quiz My Angel 2
1087 ***************************************************************************/
1088 
1089 INPUT_PORTS_START( myangel2 )
1090 	PORT_START	/* IN0 - $600300.w*/
1091 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
1092 	PORT_DIPNAME( 0x0002, 0x0002, "Unknown 1-1" )
1093 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1094 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1095 	PORT_DIPNAME( 0x0004, 0x0004, "Unknown 1-2" )
1096 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
1097 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1098 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 1-3*" )
1099 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
1100 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1101 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
1102 	PORT_DIPSETTING(      0x0020, "2" )
1103 	PORT_DIPSETTING(      0x0030, "3" )
1104 	PORT_DIPSETTING(      0x0010, "4" )
1105 	PORT_DIPSETTING(      0x0000, "5" )
1106 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
1107 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1108 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
1109 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) )
1110 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1111 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1112 
1113 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1114 
1115 	PORT_START	/* IN1 - $600302.w*/
1116 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
1117 	PORT_DIPSETTING(      0x0002, DEF_STR( 4C_1C ) )
1118 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
1119 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
1120 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
1121 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_3C ) )
1122 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
1123 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
1124 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
1125 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
1126 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
1127 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
1128 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
1129 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
1130 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
1131 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
1132 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
1133 	PORT_DIPNAME( 0x0010, 0x0010, "Unknown 2-4" )
1134 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
1135 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1136 	PORT_DIPNAME( 0x0020, 0x0020, "Unknown 2-5" )
1137 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
1138 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1139 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
1140 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1141 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1142 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
1143 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1144 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1145 
1146 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1147 
1148 	PORT_START	/* IN2 - $600000.w*/
1149 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1150 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1151 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
1152 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
1153 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
1154 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1155 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1156 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1  )
1157 
1158 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1159 
1160 	PORT_START	/* IN3 - $600002.w*/
1161 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1162 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1163 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
1164 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
1165 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
1166 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1167 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1168 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2  )
1169 
1170 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1171 
1172 	PORT_START	/* IN4 - $600004.w*/
1173 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
1174 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
1175 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1176 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
1177 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1178 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1179 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1180 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1181 
1182 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1183 INPUT_PORTS_END
1184 
1185 
1186 /***************************************************************************
1187 								Puzzle De Bowling
1188 ***************************************************************************/
1189 
1190 INPUT_PORTS_START( pzlbowl )
1191 	PORT_START	/* IN0 - $400300.w*/
1192 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
1193 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
1194 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1195 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
1196 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Flip_Screen ) )
1197 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
1198 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1199 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Difficulty ) )
1200 	PORT_DIPSETTING(      0x0030, "Easy" )
1201 	PORT_DIPSETTING(      0x0038, "Normal" )
1202 /*	PORT_DIPSETTING(      0x0028, "Normal" )*/
1203 /*	PORT_DIPSETTING(      0x0020, "Normal" )*/
1204 /*	PORT_DIPSETTING(      0x0018, "Normal" )*/
1205 /*	PORT_DIPSETTING(      0x0010, "Normal" )*/
1206 /*	PORT_DIPSETTING(      0x0008, "Normal" )*/
1207 	PORT_DIPSETTING(      0x0000, "Hard" )
1208 	PORT_DIPNAME( 0x00c0, 0x00c0, "Winning Rounds (Player VS Player)" )
1209 	PORT_DIPSETTING(      0x0040, "1" )
1210 	PORT_DIPSETTING(      0x00c0, "2" )
1211 /*	PORT_DIPSETTING(      0x0000, "2" )*/
1212 	PORT_DIPSETTING(      0x0080, "3" )
1213 
1214 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1215 
1216 	PORT_START	/* IN1 - $400302.w*/
1217 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
1218 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
1219 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
1220 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
1221 /*	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_1C ) )*/
1222 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
1223 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
1224 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
1225 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
1226 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
1227 /*	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )*/
1228 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_3C ) )
1229 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
1230 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
1231 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
1232 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
1233 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
1234 	PORT_DIPNAME( 0x0010, 0x0010, "Allow Continue" )
1235 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
1236 	PORT_DIPSETTING(      0x0010, DEF_STR( Yes ) )
1237 	PORT_DIPNAME( 0x0020, 0x0020, "Join In" )
1238 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
1239 	PORT_DIPSETTING(      0x0020, DEF_STR( Yes ) )
1240 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unused ) )
1241 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1242 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1243 	PORT_DIPNAME( 0x0080, 0x0000, "Language" )
1244 	PORT_DIPSETTING(      0x0000, "English" )
1245 	PORT_DIPSETTING(      0x0080, "Japanese" )
1246 
1247 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1248 
1249 	PORT_START	/* IN2 - $500000.w*/
1250 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1251 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1252 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
1253 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
1254 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1255 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1256 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
1257 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1 )
1258 
1259 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1260 
1261 	PORT_START	/* IN3 - $500002.w*/
1262 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1263 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1264 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
1265 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
1266 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1267 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1268 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
1269 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2 )
1270 
1271 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1272 
1273 	PORT_START	/* IN4 - $500004.w*/
1274 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
1275 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )	/* unused, test mode shows it*/
1276 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1277 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, "Test", KEYCODE_F1, IP_JOY_NONE )
1278 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1279 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1280 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1281 	PORT_BIT(  0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL  )	/* Protection?*/
1282 
1283 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1284 INPUT_PORTS_END
1285 
1286 /***************************************************************************
1287                             Sammy Outdoor Shooting
1288 ***************************************************************************/
1289 
1290 INPUT_PORTS_START( deerhunt )
1291 	PORT_START /* $400000.w */
1292 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
1293 	PORT_DIPSETTING(      0x0005, DEF_STR( 4C_1C ) )
1294 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
1295 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
1296 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
1297 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
1298 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
1299 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
1300 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1301 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_A ) )
1302 	PORT_DIPSETTING(      0x0028, DEF_STR( 4C_1C ) )
1303 	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )
1304 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
1305 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1306 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )
1307 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )
1308 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )
1309 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1310 	PORT_DIPNAME( 0x0040, 0x0040, "Discount To Continue" )
1311 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1312 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1313 	PORT_SERVICE(         0x0080, IP_ACTIVE_LOW )
1314 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1315 
1316 	PORT_START /* fffd0a.w */
1317 	PORT_DIPNAME( 0x0001, 0x0001, "Vert. Flip Screen" )
1318 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1319 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1320 	PORT_DIPNAME( 0x0002, 0x0002, "Horiz. Flip Screen" )
1321 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1322 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1323 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Demo_Sounds ) )
1324 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1325 	PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
1326 	PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) )
1327 	PORT_DIPSETTING(      0x0010, "Easy" )
1328 	PORT_DIPSETTING(      0x0018, "Normal" )
1329 	PORT_DIPSETTING(      0x0008, "Hard" )
1330 	PORT_DIPSETTING(      0x0000, "Hardest" )
1331 	PORT_DIPNAME( 0x0020, 0x0020, "Blood Color" )
1332 	PORT_DIPSETTING(      0x0020, "Red" )
1333 	PORT_DIPSETTING(      0x0000, "Yellow" )
1334 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Lives ) )
1335 	PORT_DIPSETTING(      0x0040, "3" )
1336 	PORT_DIPSETTING(      0x0000, "4" )
1337 	PORT_DIPNAME( 0x0080, 0x0080, "Gun Type" )
1338 	PORT_DIPSETTING(      0x0080, "Pump Action" )
1339 	PORT_DIPSETTING(      0x0000, "Hand Gun" )
1340 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1341 
1342 	PORT_START /* $500000 */
1343 	PORT_ANALOG( 0x00ff, 0x0080, IPT_LIGHTGUN_X | IPF_PLAYER1, 35, 10, 0x0025, 0x00c5 )
1344 
1345 	PORT_START /* $580000.b */
1346 	PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* P2 gun, read but not used */
1347 
1348 	PORT_START /* $700000 */
1349 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* trigger */
1350 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1  )
1351 	PORT_BIT( 0xff3f, IP_ACTIVE_LOW, IPT_UNKNOWN )
1352 
1353 	PORT_START	/* $700003.b */
1354 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* pump */
1355 	PORT_BIT( 0xffbf, IP_ACTIVE_LOW, IPT_UNKNOWN )
1356 
1357 	PORT_START	/* $700005.b */
1358 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
1359 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
1360 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
1361 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
1362 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1363 
1364 	PORT_START	/* $400002 */
1365 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )	/* trigger */
1366 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 )	/* pump */
1367 	PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNKNOWN )
1368 
1369 	PORT_START /* gun1 part 2 */
1370 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER1, 35, 10, 0x08, 0xf8 )
1371 
1372 	PORT_START /* gun2 part 2 */
1373 	PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* P2 gun */
1374 INPUT_PORTS_END
1375 
1376 
1377 INPUT_PORTS_START( turkhunt )
1378 	PORT_START /* $400000.w */
1379 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
1380 	PORT_DIPSETTING(      0x0005, DEF_STR( 4C_1C ) )
1381 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
1382 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
1383 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
1384 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
1385 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
1386 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
1387 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1388 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_A ) )
1389 	PORT_DIPSETTING(      0x0028, DEF_STR( 4C_1C ) )
1390 	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )
1391 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
1392 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1393 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )
1394 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )
1395 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )
1396 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1397 	PORT_DIPNAME( 0x0040, 0x0040, "Discount To Continue" )
1398 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1399 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1400 	PORT_SERVICE(         0x0080, IP_ACTIVE_LOW )
1401 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1402 
1403 	PORT_START /* fffd0a.w */
1404 	PORT_DIPNAME( 0x0001, 0x0001, "Vert. Flip Screen" )
1405 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1406 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1407 	PORT_DIPNAME( 0x0002, 0x0002, "Horiz. Flip Screen" )
1408 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1409 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1410 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Demo_Sounds ) )
1411 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1412 	PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
1413 	PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) )
1414 	PORT_DIPSETTING(      0x0010, "Easy" )
1415 	PORT_DIPSETTING(      0x0018, "Normal" )
1416 	PORT_DIPSETTING(      0x0008, "Hard" )
1417 	PORT_DIPSETTING(      0x0000, "Hardest" )
1418 	PORT_DIPNAME( 0x0020, 0x0020, "Blood Color" )
1419 	PORT_DIPSETTING(      0x0020, "Red" )
1420 	PORT_DIPSETTING(      0x0000, "Yellow" )
1421 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Lives ) )
1422 	PORT_DIPSETTING(      0x0040, "2" )
1423 	PORT_DIPSETTING(      0x0000, "3" )
1424 	PORT_DIPNAME( 0x0080, 0x0080, "Gun Type" )
1425 	PORT_DIPSETTING(      0x0080, "Pump Action" )
1426 	PORT_DIPSETTING(      0x0000, "Hand Gun" )
1427 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1428 
1429 	PORT_START /* $500000 */
1430 	PORT_ANALOG( 0x00ff, 0x0080, IPT_LIGHTGUN_X | IPF_PLAYER1, 35, 10, 0x0025, 0x00c5 )
1431 
1432 	PORT_START	/* $580000.b */
1433 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* P2 gun, read but not used */
1434 
1435 	PORT_START	/* $700000 */
1436 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* trigger */
1437 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1  )
1438 	PORT_BIT( 0xff3f, IP_ACTIVE_LOW, IPT_UNKNOWN )
1439 
1440 	PORT_START	/* $700003.b */
1441 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* pump */
1442 	PORT_BIT( 0xffbf, IP_ACTIVE_LOW, IPT_UNKNOWN )
1443 
1444 	PORT_START	/* $700005.b */
1445 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
1446 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
1447 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
1448 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
1449 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1450 
1451 	PORT_START	/* $400002 */
1452 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )	/* trigger */
1453 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 )	/* pump */
1454 	PORT_BIT( 0xfffc, IP_ACTIVE_LOW, IPT_UNKNOWN )
1455 
1456 	PORT_START /* gun1 part 2 */
1457 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER1, 35, 10, 0x08, 0xf8 )
1458 
1459 	PORT_START /* gun2 part 2 */
1460 	PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* P2 gun */
1461 INPUT_PORTS_END
1462 
1463 INPUT_PORTS_START( wschamp )
1464 	PORT_START /* $400000.w */
1465 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
1466 	PORT_DIPSETTING(      0x0009, "4 Coins Start, 4 Coins Continue" )
1467 	PORT_DIPSETTING(      0x0008, "4 Coins Start, 3 Coins Continue" )
1468 	PORT_DIPSETTING(      0x0007, "4 Coins Start, 2 Coins Continue" )
1469 	PORT_DIPSETTING(      0x0006, "4 Coins Start, 1 Coin Continue" )
1470 	PORT_DIPSETTING(      0x000c, "3 Coins Start, 3 Coins Continue" )
1471 	PORT_DIPSETTING(      0x000b, "3 Coins Start, 2 Coins Continue" )
1472 	PORT_DIPSETTING(      0x000a, "3 Coins Start, 1 Coin Continue" )
1473 	PORT_DIPSETTING(      0x000e, "2 Coins Start, 2 Coins Continue" )
1474 	PORT_DIPSETTING(      0x000d, "2 Coins Start, 1 Coin Continue" )
1475 	PORT_DIPSETTING(      0x000f, "1 Coin Start, 1 Coin Continue" )
1476 	PORT_DIPSETTING(      0x0005, "1 Coin 2 Credits, 1 Credit Start & Continue" )
1477 	PORT_DIPSETTING(      0x0004, "1 Coin 3 Credits, 1 Credit Start & Continue" )
1478 	PORT_DIPSETTING(      0x0003, "1 Coin 4 Credits, 1 Credit Start & Continue" )
1479 	PORT_DIPSETTING(      0x0002, "1 Coin 5 Credits, 1 Credit Start & Continue" )
1480 	PORT_DIPSETTING(      0x0001, "1 Coin 6 Credits, 1 Credit Start & Continue" )
1481 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
1482 	PORT_SERVICE(         0x0080, IP_ACTIVE_LOW )
1483 	PORT_BIT(             0xff70, IP_ACTIVE_LOW, IPT_UNKNOWN )
1484 
1485 	PORT_START /* fffd0a.w */
1486 	PORT_DIPNAME( 0x0001, 0x0001, "Vert. Flip Screen" )
1487 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1488 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1489 	PORT_DIPNAME( 0x0002, 0x0002, "Horiz. Flip Screen" )
1490 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1491 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1492 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Demo_Sounds ) )
1493 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1494 	PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
1495 	PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) )
1496 	PORT_DIPSETTING(      0x0010, "Easy" )
1497 	PORT_DIPSETTING(      0x0018, "Normal" )
1498 	PORT_DIPSETTING(      0x0008, "Hard" )
1499 	PORT_DIPSETTING(      0x0000, "Hardest" )
1500 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Lives ) )
1501 	PORT_DIPSETTING(      0x0040, "2" )
1502 	PORT_DIPSETTING(      0x0000, "3" )
1503 	PORT_DIPNAME( 0x0080, 0x0080, "Gun Type" )
1504 	PORT_DIPSETTING(      0x0080, "Pump Action" )
1505 	PORT_DIPSETTING(      0x0000, "Hand Gun" )
1506 	PORT_BIT(     0xff20, IP_ACTIVE_LOW, IPT_UNKNOWN )
1507 
1508 	PORT_START  /* $500000 */
1509 	PORT_ANALOG( 0x00ff, 0x0080, IPT_LIGHTGUN_X | IPF_PLAYER1, 35, 10, 0x0025, 0x00c5 )
1510 
1511 	PORT_START	/* $580000.b */
1512 	PORT_ANALOG( 0x00ff, 0x0080, IPT_LIGHTGUN_X | IPF_PLAYER2, 35, 10, 0x0025, 0x00c5 )
1513 
1514 	PORT_START	/* $700000 */
1515 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SPECIAL )	/* trigger P2 */
1516 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* trigger P1 */
1517 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1  )
1518 	PORT_BIT( 0xff1f, IP_ACTIVE_LOW, IPT_UNKNOWN )
1519 
1520 	PORT_START	/* $700003.b */
1521 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SPECIAL )	/* pump P2 */
1522 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* pump P1 */
1523 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2  )
1524 	PORT_BIT( 0xff1f, IP_ACTIVE_LOW, IPT_UNKNOWN )
1525 
1526 	PORT_START	/* $700005.b */
1527 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
1528 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
1529 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
1530 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
1531 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1532 
1533 	PORT_START	/* $400002 */
1534 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )	/* trigger P1 */
1535 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 )	/* pump P1 */
1536 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )	/* trigger P2 */
1537 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )	/* pump P2 */
1538 	PORT_BIT( 0xffcc, IP_ACTIVE_LOW, IPT_UNKNOWN )
1539 
1540 	PORT_START /* gun1 part 2 */
1541 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER1, 35, 10, 0x08, 0xf8 )
1542 
1543 	PORT_START /* gun2 part 2 */
1544 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER1, 35, 10, 0x08, 0xf8 )
1545 INPUT_PORTS_END
1546 
1547 
1548 INPUT_PORTS_START( trophyh )
1549 	PORT_START /* $400000.w */
1550 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
1551 	PORT_DIPSETTING(      0x0009, "4 Coins Start, 4 Coins Continue" )
1552 	PORT_DIPSETTING(      0x0008, "4 Coins Start, 3 Coins Continue" )
1553 	PORT_DIPSETTING(      0x0007, "4 Coins Start, 2 Coins Continue" )
1554 	PORT_DIPSETTING(      0x0006, "4 Coins Start, 1 Coin Continue" )
1555 	PORT_DIPSETTING(      0x000c, "3 Coins Start, 3 Coins Continue" )
1556 	PORT_DIPSETTING(      0x000b, "3 Coins Start, 2 Coins Continue" )
1557 	PORT_DIPSETTING(      0x000a, "3 Coins Start, 1 Coin Continue" )
1558 	PORT_DIPSETTING(      0x000e, "2 Coins Start, 2 Coins Continue" )
1559 	PORT_DIPSETTING(      0x000d, "2 Coins Start, 1 Coin Continue" )
1560 	PORT_DIPSETTING(      0x000f, "1 Coin Start, 1 Coin Continue" )
1561 	PORT_DIPSETTING(      0x0005, "1 Coin 2 Credits, 1 Credit Start & Continue" )
1562 	PORT_DIPSETTING(      0x0004, "1 Coin 3 Credits, 1 Credit Start & Continue" )
1563 	PORT_DIPSETTING(      0x0003, "1 Coin 4 Credits, 1 Credit Start & Continue" )
1564 	PORT_DIPSETTING(      0x0002, "1 Coin 5 Credits, 1 Credit Start & Continue" )
1565 	PORT_DIPSETTING(      0x0001, "1 Coin 6 Credits, 1 Credit Start & Continue" )
1566 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
1567 	PORT_SERVICE(         0x0080, IP_ACTIVE_LOW )
1568 	PORT_BIT(             0xff70, IP_ACTIVE_LOW, IPT_UNKNOWN )
1569 
1570 	PORT_START /* fffd0a.w */
1571 	PORT_DIPNAME( 0x0001, 0x0001, "Vert. Flip Screen" )
1572 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1573 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1574 	PORT_DIPNAME( 0x0002, 0x0002, "Horiz. Flip Screen" )
1575 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1576 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1577 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Demo_Sounds ) )
1578 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1579 	PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
1580 	PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Difficulty ) )
1581 	PORT_DIPSETTING(      0x0010, "Easy" )
1582 	PORT_DIPSETTING(      0x0018, "Normal" )
1583 	PORT_DIPSETTING(      0x0008, "Hard" )
1584 	PORT_DIPSETTING(      0x0000, "Hardest" )
1585 	PORT_DIPNAME( 0x0020, 0x0020, "Blood Color" ) /* WSChamp doesn't use Blood Color, so add it back in */
1586 	PORT_DIPSETTING(      0x0020, "Red" )
1587 	PORT_DIPSETTING(      0x0000, "Yellow" )
1588 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Lives ) )
1589 	PORT_DIPSETTING(      0x0040, "2" )
1590 	PORT_DIPSETTING(      0x0000, "3" )
1591 	PORT_DIPNAME( 0x0080, 0x0080, "Gun Type" )
1592 	PORT_DIPSETTING(      0x0080, "Pump Action" )
1593 	PORT_DIPSETTING(      0x0000, "Hand Gun" )
1594 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1595 
1596 	PORT_START /* $500000 */
1597 	PORT_ANALOG( 0x00ff, 0x0080, IPT_LIGHTGUN_X | IPF_PLAYER1, 35, 10, 0x0025, 0x00c5 )
1598 
1599 	PORT_START	/* $580000.b */
1600 	PORT_ANALOG( 0x00ff, 0x0080, IPT_LIGHTGUN_X | IPF_PLAYER2, 35, 10, 0x0025, 0x00c5 )
1601 
1602 	PORT_START	/* $700000 */
1603 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SPECIAL )	/* trigger P2 */
1604 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* trigger P1 */
1605 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1  )
1606 	PORT_BIT( 0xff1f, IP_ACTIVE_LOW, IPT_UNKNOWN )
1607 
1608 	PORT_START	/* $700003.b */
1609 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SPECIAL )	/* pump P2 */
1610 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SPECIAL )	/* pump P1 */
1611 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2  )
1612 	PORT_BIT( 0xff1f, IP_ACTIVE_LOW, IPT_UNKNOWN )
1613 
1614 	PORT_START	/* $700005.b */
1615 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
1616 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
1617 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
1618 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
1619 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1620 
1621 	PORT_START	/* $400002 */
1622 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 )	/* trigger P1 */
1623 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 )	/* pump P1 */
1624 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )	/* trigger P2 */
1625 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )	/* pump P2 */
1626 	PORT_BIT( 0xffcc, IP_ACTIVE_LOW, IPT_UNKNOWN )
1627 
1628 	PORT_START /* gun1 part 2 */
1629 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER1, 35, 10, 0x08, 0xf8 )
1630 
1631 	PORT_START /* gun2 part 2 */
1632 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER1, 35, 10, 0x08, 0xf8 )
1633 INPUT_PORTS_END
1634 
1635 /***************************************************************************
1636 							Penguin Bros
1637 ***************************************************************************/
1638 
1639 INPUT_PORTS_START( penbros )
1640 	PORT_START	/* IN0 - $500300.w*/
1641 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
1642 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
1643 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1644 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1645 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unused ) )
1646 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
1647 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1648 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
1649 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1650 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
1651 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
1652 	PORT_DIPSETTING(      0x0020, DEF_STR( 3C_1C ) )
1653 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
1654 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
1655 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_2C ) )
1656 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
1657 	PORT_DIPSETTING(      0x0080, DEF_STR( 3C_1C ) )
1658 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
1659 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
1660 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_2C ) )
1661 
1662 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1663 
1664 	PORT_START	/* IN1 - $500302.w*/
1665 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
1666 	PORT_DIPSETTING(      0x0002, "Easy" )
1667 	PORT_DIPSETTING(      0x0003, "Normal" )
1668 	PORT_DIPSETTING(      0x0001, "Hard" )
1669 	PORT_DIPSETTING(      0x0000, "Hardest" )
1670 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Lives ) )
1671 	PORT_DIPSETTING(      0x0000, "2" )
1672 	PORT_DIPSETTING(      0x000c, "3" )
1673 	PORT_DIPSETTING(      0x0004, "4" )
1674 	PORT_DIPSETTING(      0x0008, "5" )
1675 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Bonus_Life ) )
1676 	PORT_DIPSETTING(      0x0010, "150k and 500k" )
1677 	PORT_DIPSETTING(      0x0030, "200k and 700k" )
1678 	PORT_DIPSETTING(      0x0000, "Every 250k" )	/* no extra life after the one at 1500k*/
1679 	PORT_DIPSETTING(      0x0020, "None" )
1680 	PORT_DIPNAME( 0x00c0, 0x00c0, "Winning Rounds (Player VS Player)" )
1681 	PORT_DIPSETTING(      0x00c0, "2" )
1682 	PORT_DIPSETTING(      0x0040, "3" )
1683 	PORT_DIPSETTING(      0x0080, "4" )
1684 	PORT_DIPSETTING(      0x0000, "5" )
1685 
1686 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1687 
1688 	PORT_START	/* IN2 - $600000.w*/
1689 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1690 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1691 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
1692 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
1693 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1694 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1695 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )	/* unsure if used*/
1696 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1 )
1697 
1698 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1699 
1700 	PORT_START	/* IN3 - $600002.w*/
1701 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1702 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1703 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
1704 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
1705 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1706 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1707 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )	/* unsure if used*/
1708 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2 )
1709 
1710 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1711 
1712 	PORT_START	/* IN4 - $600004.w*/
1713 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
1714 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )	/* unused, test mode shows it*/
1715 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1716 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, "Test", KEYCODE_F1, IP_JOY_NONE )
1717 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1718 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1719 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1720 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1721 
1722 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
1723 INPUT_PORTS_END
1724 
1725 
1726 /***************************************************************************
1727 
1728 
1729 							Graphics Layouts
1730 
1731 
1732 ***************************************************************************/
1733 
1734 static struct GfxLayout layout_4bpp_lo =
1735 {
1736 	8,8,
1737 	RGN_FRAC(1,4),
1738 	4,
1739 	{	RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
1740 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
1741 	{	STEP8(0,1)		},
1742 	{	STEP8(0,8*2)	},
1743 	8*8*2
1744 };
1745 
1746 static struct GfxLayout layout_4bpp_hi =
1747 {
1748 	8,8,
1749 	RGN_FRAC(1,4),
1750 	4,
1751 	{	RGN_FRAC(3,4)+8,RGN_FRAC(3,4)+0,
1752 		RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0		},
1753 	{	STEP8(0,1)		},
1754 	{	STEP8(0,8*2)	},
1755 	8*8*2
1756 };
1757 
1758 static struct GfxLayout layout_6bpp =
1759 {
1760 	8,8,
1761 	RGN_FRAC(1,4),
1762 	6,
1763 	{
1764 		RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0,
1765 		RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
1766 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
1767 	{	STEP8(0,1)		},
1768 	{	STEP8(0,8*2)	},
1769 	8*8*2
1770 };
1771 
1772 static struct GfxLayout layout_8bpp =
1773 {
1774 	8,8,
1775 	RGN_FRAC(1,4),
1776 	8,
1777 	{	RGN_FRAC(3,4)+8,RGN_FRAC(3,4)+0,
1778 		RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0,
1779 		RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
1780 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
1781 	{	STEP8(0,1)		},
1782 	{	STEP8(0,8*2)	},
1783 	8*8*2
1784 };
1785 
1786 static struct GfxLayout layout_3bpp_lo =
1787 {
1788 	8,8,
1789 	RGN_FRAC(1,4),
1790 	3,
1791 	{	                RGN_FRAC(1,4)+0,
1792 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
1793 	{	STEP8(0,1)		},
1794 	{	STEP8(0,8*2)	},
1795 	8*8*2
1796 };
1797 
1798 static struct GfxLayout layout_2bpp_hi =
1799 {
1800 	8,8,
1801 	RGN_FRAC(1,4),
1802 	2,
1803 	{	RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0 },
1804 	{	STEP8(0,1)		},
1805 	{	STEP8(0,8*2)	},
1806 	8*8*2
1807 };
1808 
1809 /*	Tiles are 8bpp, but the hardware is additionally able to discard
1810 	some bitplanes and use the low 4 bits only, or the high 4 bits only	*/
1811 static struct GfxDecodeInfo gfxdecodeinfo[] =
1812 {
1813 	{ REGION_GFX1, 0, &layout_4bpp_lo, 0, 0x8000/16 },
1814 	{ REGION_GFX1, 0, &layout_4bpp_hi, 0, 0x8000/16 },
1815 	{ REGION_GFX1, 0, &layout_6bpp,    0, 0x8000/16 },	/* 6bpp, but 4bpp granularity */
1816 	{ REGION_GFX1, 0, &layout_8bpp,    0, 0x8000/16 },	/* 8bpp, but 4bpp granularity */
1817 	{ REGION_GFX1, 0, &layout_3bpp_lo, 0, 0x8000/16 },	/* 3bpp, but 4bpp granularity */
1818 	{ REGION_GFX1, 0, &layout_2bpp_hi, 0, 0x8000/16 },	/* ??? */
1819 	{ -1 }
1820 };
1821 
1822 
1823 /***************************************************************************
1824 
1825 								Machine Drivers
1826 
1827 ***************************************************************************/
1828 
INTERRUPT_GEN(seta2_interrupt)1829 static INTERRUPT_GEN( seta2_interrupt )
1830 {
1831 	switch ( cpu_getiloops() )
1832 	{
1833 		case 0:
1834 			/* VBlank is connected to INT0 (external interrupts pin 0) */
1835 			tmp68301_external_interrupt_0();
1836 			break;
1837 	}
1838 }
1839 
INTERRUPT_GEN(samshoot_interrupt)1840 static INTERRUPT_GEN( samshoot_interrupt )
1841 {
1842 	switch ( cpu_getiloops() )
1843 	{
1844 		case 0:
1845 			tmp68301_external_interrupt_0();	/* vblank */
1846 			break;
1847 		case 1:
1848 			tmp68301_external_interrupt_2();	/* to do: hook up x1-10 interrupts */
1849 			break;
1850 	}
1851 }
1852 
1853 static struct x1_010_interface x1_010_sound_intf_16MHz =
1854 {
1855 	50000000/3,	/* clock */
1856 	YM3012_VOL(100,MIXER_PAN_LEFT,100,MIXER_PAN_RIGHT),	/* volume */
1857 	0x0000,		/* address */
1858 };
1859 
1860 
1861 static MACHINE_DRIVER_START( mj4simai )
1862 
1863 	/* basic machine hardware */
1864 	MDRV_CPU_ADD_TAG("main",M68000,32530400 / 2)			/* !! TMP68301 !! */
1865 	MDRV_CPU_MEMORY(mj4simai_readmem,mj4simai_writemem)
1866 	MDRV_CPU_VBLANK_INT(seta2_interrupt,1)
1867 
1868 	MDRV_FRAMES_PER_SECOND(60)
1869 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1870 
1871 	MDRV_MACHINE_INIT( tmp68301 )
1872 
1873 	/* video hardware */
1874 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1875 	MDRV_SCREEN_SIZE(0x200, 0x200)
1876 	MDRV_VISIBLE_AREA(0x40, 0x1c0-1, 0x80, 0x170-1)
1877 	MDRV_GFXDECODE(gfxdecodeinfo)
1878 	MDRV_PALETTE_LENGTH(0x8000)
1879 
1880 	MDRV_VIDEO_START(seta2)
1881 	MDRV_VIDEO_UPDATE(seta2)
1882 	MDRV_VIDEO_EOF(seta2)
1883 
1884 	/* sound hardware */
1885 	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
1886 	MDRV_SOUND_ADD(X1_010, x1_010_sound_intf_16MHz)
1887 MACHINE_DRIVER_END
1888 
1889 static MACHINE_DRIVER_START( gundamex )
1890 
1891 	/* basic machine hardware */
1892 	MDRV_IMPORT_FROM(mj4simai)
1893 	MDRV_CPU_MODIFY("main")
1894 	MDRV_CPU_REPLACE("main",M68000,16000000)
1895 	MDRV_CPU_MEMORY(gundamex_readmem,gundamex_writemem)
1896 	MDRV_NVRAM_HANDLER(93C46_gundamex)
1897 
1898 	/* video hardware */
1899 	MDRV_VISIBLE_AREA(0x00, 0x180-1, 0x100, 0x1e0-1)
1900 MACHINE_DRIVER_END
1901 
1902 static MACHINE_DRIVER_START( grdians )
1903 
1904 	MDRV_IMPORT_FROM(mj4simai)
1905 	MDRV_CPU_MODIFY("main")
1906 	MDRV_CPU_MEMORY(grdians_readmem,grdians_writemem)
1907 
1908 	/* video hardware */
1909 	MDRV_VISIBLE_AREA(0x80, 0x80 + 0x130 -1, 0x80, 0x80 + 0xe8 -1)
1910 MACHINE_DRIVER_END
1911 
1912 
1913 static MACHINE_DRIVER_START( myangel )
1914 
1915 	/* basic machine hardware */
1916 	MDRV_IMPORT_FROM(mj4simai)
1917 	MDRV_CPU_MODIFY("main")
1918 	MDRV_CPU_MEMORY(myangel_readmem,myangel_writemem)
1919 
1920 	/* video hardware */
1921 	MDRV_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
1922 
1923 	MDRV_VIDEO_START(seta2_offset)
1924 MACHINE_DRIVER_END
1925 
1926 
1927 static MACHINE_DRIVER_START( myangel2 )
1928 
1929 	/* basic machine hardware */
1930 	MDRV_IMPORT_FROM(mj4simai)
1931 	MDRV_CPU_MODIFY("main")
1932 	MDRV_CPU_MEMORY(myangel2_readmem,myangel2_writemem)
1933 
1934 	/* video hardware */
1935 	MDRV_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
1936 
1937 	MDRV_VIDEO_START(seta2_offset)
1938 MACHINE_DRIVER_END
1939 
1940 
1941 static MACHINE_DRIVER_START( pzlbowl )
1942 
1943 	/* basic machine hardware */
1944 	MDRV_IMPORT_FROM(mj4simai)
1945 	MDRV_CPU_MODIFY("main")
1946 	MDRV_CPU_MEMORY(pzlbowl_readmem,pzlbowl_writemem)
1947 
1948 	/* video hardware */
1949 	MDRV_VISIBLE_AREA(0x10, 0x190-1, 0x100, 0x1f0-1)
1950 MACHINE_DRIVER_END
1951 
1952 
1953 static MACHINE_DRIVER_START( penbros )
1954 
1955 	/* basic machine hardware */
1956 	MDRV_IMPORT_FROM(mj4simai)
1957 	MDRV_CPU_MODIFY("main")
1958 	MDRV_CPU_MEMORY(penbros_readmem,penbros_writemem)
1959 
1960 	/* video hardware */
1961 	MDRV_VISIBLE_AREA(0, 0x140-1, 0x80, 0x160-1)
1962 MACHINE_DRIVER_END
1963 
1964 static MACHINE_DRIVER_START( samshoot )
1965 
1966 	/* basic machine hardware */
1967 	MDRV_IMPORT_FROM(mj4simai)
1968 	MDRV_CPU_MODIFY("main")
1969 	MDRV_CPU_MEMORY(samshoot_readmem, samshoot_writemem)
1970 	MDRV_CPU_VBLANK_INT(samshoot_interrupt,2)
1971 
1972 	MDRV_NVRAM_HANDLER(generic_0fill)
1973 
1974 	MDRV_VIDEO_UPDATE(seta2_gun)
1975 
1976 	/* video hardware */
1977 	MDRV_VISIBLE_AREA(0x40, 0x180-1, 0x40, 0x130-1)
1978 MACHINE_DRIVER_END
1979 
1980 
1981 /***************************************************************************
1982 
1983 								ROMs Loading
1984 
1985 ***************************************************************************/
1986 
1987 ROM_START( gundamex )
1988 	ROM_REGION( 0x600000, REGION_CPU1, 0 )		/* TMP68301 Code */
1989 	ROM_LOAD16_BYTE(	  "ka002002.u2",  0x000000, 0x080000, CRC(e850f6d8) SHA1(026325e305676b1f8d3d9e7573920f8b70d7bccb) )
1990 	ROM_LOAD16_BYTE(	  "ka002004.u3",  0x000001, 0x080000, CRC(c0fb1208) SHA1(84b25e4c73cb8e023ee5dbf69f588be98700b43f) )
1991 	ROM_LOAD16_BYTE(	  "ka002001.u4",  0x100000, 0x080000, CRC(553ebe6b) SHA1(7fb8a159513d31a1d60520ff14e4c4d133fd3e19) )
1992 	ROM_LOAD16_BYTE(	  "ka002003.u5",  0x100001, 0x080000, CRC(946185aa) SHA1(524911c4c510d6c3e17a7ab42c7077c2fffbf06b) )
1993 	ROM_LOAD16_WORD_SWAP(     "ka001005.u77", 0x500000, 0x080000, CRC(f01d3d00) SHA1(ff12834e99a76261d619f10d186f4b329fb9cb7a) )
1994 
1995 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE|ROMREGION_ERASE)	/* Sprites */
1996 	ROM_LOAD( "ka001009.u16",  0x0000000, 0x200000, CRC(997d8d93) SHA1(4cb4cdb7e8208af4b14483610d9d6aa5e13acd89) )
1997 	ROM_LOAD( "ka001010.u18",  0x0200000, 0x200000, CRC(811b67ca) SHA1(c8cfae6f54c76d63bd625ff011c872ffb75fd2e2) )
1998 	ROM_LOAD( "ka001011.u20",  0x0400000, 0x200000, CRC(08a72700) SHA1(fb8003aa02dd249c30a757cb43b516260b41c1bf) )
1999 	ROM_LOAD( "ka001012.u15",  0x0800000, 0x200000, CRC(b789e4a8) SHA1(400b773f24d677a9d47466fdbbe68cb6efc1ad37) )
2000 	ROM_LOAD( "ka001013.u17",  0x0a00000, 0x200000, CRC(d8a0201f) SHA1(fe8a2407c872adde8aec8e9340b00be4f00a2872) )
2001 	ROM_LOAD( "ka001014.u19",  0x0c00000, 0x200000, CRC(7635e026) SHA1(116a3daab14a17faca85c4a956b356aaf0fc2276) )
2002 	ROM_LOAD( "ka001006.u21",  0x1000000, 0x200000, CRC(6aac2f2f) SHA1(fac5478ca2941a93c57f670a058ff626e537bcde) )
2003 	ROM_LOAD( "ka001007.u22",  0x1200000, 0x200000, CRC(588f9d63) SHA1(ed5148d09d02e3bc12c50c39c5c86e6356b2dd7a) )
2004 	ROM_LOAD( "ka001008.u23",  0x1400000, 0x200000, CRC(db55a60a) SHA1(03d118c7284ca86219891c473e2a89489710ea27) )
2005 	ROM_FILL(                  0x1800000, 0x600000, 0 )	/* 6bpp instead of 8bpp */
2006 
2007 	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2008 	/* Leave 1MB empty (addressable by the chip) */
2009 	ROM_LOAD( "ka001015.u28", 0x100000, 0x200000, CRC(ada2843b) SHA1(09d06026031bc7558da511c3c0e29187ea0a0099) )
2010 ROM_END
2011 
2012 ROM_START( grdians )
2013 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2014 	ROM_LOAD16_BYTE( "u2.bin", 0x000000, 0x080000, CRC(36adc6f2) SHA1(544e87f88179fe1342e7a06a8948ac1828e85108) )
2015 	ROM_LOAD16_BYTE( "u3.bin", 0x000001, 0x080000, CRC(2704f416) SHA1(9081a12cbb9927d36e1c50b52aa2c6003810ee42) )
2016 	ROM_LOAD16_BYTE( "u4.bin", 0x100000, 0x080000, CRC(bb52447b) SHA1(61433f683210ab2bc2cf1cc4b5b7a39cc5b6493d) )
2017 	ROM_LOAD16_BYTE( "u5.bin", 0x100001, 0x080000, CRC(9c164a3b) SHA1(6d688c7af9e7e8e8d54b2e4dfbf41f59c79242eb) )
2018 
2019 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE|ROMREGION_ERASE)	/* Sprites */
2020 	ROM_LOAD( "u16.bin",  0x0000000, 0x400000, CRC(6a65f265) SHA1(6cad11f718f8bbcff464d41eb4717460769237ed) )
2021 	ROM_LOAD( "u20.bin",  0x0600000, 0x200000, CRC(a7226ab7) SHA1(408580dd35c568ffef1ebbd87359e3ec1f867020) )
2022 	ROM_CONTINUE(         0x0400000, 0x200000 )
2023 
2024 	ROM_LOAD( "u15.bin",  0x0800000, 0x400000, CRC(01672dcd) SHA1(f61f60e3343cc5b6ccee391ee529966a141566db) )
2025 	ROM_LOAD( "u19.bin",  0x0e00000, 0x200000, CRC(c0c998a0) SHA1(498fb1877527ed37412537f06a2c39ff0c60f146) )
2026 	ROM_CONTINUE(         0x0c00000, 0x200000 )
2027 
2028 	ROM_LOAD( "u18.bin",  0x1000000, 0x400000, CRC(967babf4) SHA1(42a6311576417c44aeaceb8ba6bb3cd7794e4882) )
2029 	ROM_LOAD( "u22.bin",  0x1600000, 0x200000, CRC(6239997a) SHA1(87b6d6f30f152f625f82fd858c1290176c7e156e) )
2030 	ROM_CONTINUE(         0x1400000, 0x200000 )
2031 
2032 	ROM_LOAD( "u17.bin",  0x1800000, 0x400000, CRC(0fad0629) SHA1(1bdc8e7c5e39e83d327f14a672ec81b049112da6) )
2033 	ROM_LOAD( "u21.bin",  0x1e00000, 0x200000, CRC(6f95e466) SHA1(28482fad16a3ac9302f152d81552e6f84a44f3e4) )
2034 	ROM_CONTINUE(         0x1c00000, 0x200000 )
2035 
2036 	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2037 	/* Leave 1MB empty (addressable by the chip) */
2038 	ROM_LOAD( "u32.bin", 0x100000, 0x100000, CRC(cf0f3017) SHA1(8376d3a674f71aec72f52c72758fbc53d9feb1a1) )
2039 ROM_END
2040 
2041 ROM_START( mj4simai )
2042 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2043 	ROM_LOAD16_BYTE( "ll.u2",       0x000000, 0x080000, CRC(7be9c781) SHA1(d29e579706d98909933f6bed2ee292c88ed10d2c) )
2044 	ROM_LOAD16_BYTE( "lh1.u3",      0x000001, 0x080000, CRC(82aa3f72) SHA1(a93d5dc7cdf12f852a692759d91f6f2951b6b5b5) )
2045 	ROM_LOAD16_BYTE( "hl.u4",       0x100000, 0x080000, CRC(226063b7) SHA1(1737baffc16ff7261f887911187ece96925fa6ff) )
2046 	ROM_LOAD16_BYTE( "hh.u5",       0x100001, 0x080000, CRC(23aaf8df) SHA1(b3d678afce4ddef32e48d690c6d07b723dd0c28f) )
2047 
2048 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
2049 	ROM_LOAD( "cha-03.u16",  0x0000000, 0x400000, CRC(d367429a) SHA1(b32c215ef85c3d0a4c5550cef4f5c4c0e7030b7c) )
2050 	ROM_LOAD( "cha-04.u18",  0x0400000, 0x400000, CRC(7f2008c3) SHA1(e45d863540eb2381f5d7660d64cdfef87c890768) )
2051 	ROM_LOAD( "cha-05.u15",  0x0800000, 0x400000, CRC(e94ec40a) SHA1(2685dbc5680b5f76688c6b4fbe40ae682c525bfe) )
2052 	ROM_LOAD( "cha-06.u17",  0x0c00000, 0x400000, CRC(5cb0b3a9) SHA1(92fb82d45b4c46326d5796981f812e20a8ddb4f2) )
2053 	ROM_LOAD( "cha-01.u21",  0x1000000, 0x400000, CRC(35f47b37) SHA1(4a8eb088890272f2a069e2c3f00fadf6421f7b0e) )
2054 	ROM_LOAD( "cha-02.u22",  0x1400000, 0x400000, CRC(f6346860) SHA1(4eebd3fa315b97964fa39b88224f9de7622ba881) )
2055 	ROM_FILL(                0x1800000, 0x800000, 0 )	/* 6bpp instead of 8bpp */
2056 
2057 	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2058 	/* Leave 1MB empty (addressable by the chip) */
2059 	ROM_LOAD( "cha-07.u32",  0x100000, 0x400000, CRC(817519ee) SHA1(ed09740cdbf61a328f7b50eb569cf498fb749416) )
2060 ROM_END
2061 
2062 ROM_START( myangel )
2063 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2064 	ROM_LOAD16_BYTE( "kq1-prge.u2", 0x000000, 0x080000, CRC(6137d4c0) SHA1(762341e11b56e4a7787a0662833b702b78aee0a9) )
2065 	ROM_LOAD16_BYTE( "kq1-prgo.u3", 0x000001, 0x080000, CRC(4aad10d8) SHA1(a08e1c4f57c64be829e0807ae2791da947fd60aa) )
2066 	ROM_LOAD16_BYTE( "kq1-tble.u4", 0x100000, 0x080000, CRC(e332a514) SHA1(dfd255239c80c48c9865e70681b9ddd175b8bf55) )
2067 	ROM_LOAD16_BYTE( "kq1-tblo.u5", 0x100001, 0x080000, CRC(760cab15) SHA1(fa7ea85ec2ebfaab3111b8631ea6ea3d794d449c) )
2068 
2069 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
2070 	ROM_LOAD( "kq1-cg2.u20", 0x000000, 0x200000, CRC(80b4e8de) SHA1(c8685c4f4e3c0415ce0ec88e0288835e504cab00) )
2071 	ROM_LOAD( "kq1-cg0.u16", 0x200000, 0x200000, CRC(f8ae9a05) SHA1(4f3b41386a48a1608aa96b911e6b74ca775260fb) )
2072 	ROM_LOAD( "kq1-cg3.u19", 0x400000, 0x200000, CRC(9bdc35c9) SHA1(fd0a1eb3dd10705bce5462263667353632558b58) )
2073 	ROM_LOAD( "kq1-cg1.u15", 0x600000, 0x200000, CRC(23bd7ea4) SHA1(e925bbadc33fc2586bb18283cf989ab35f28c1e9) )
2074 	ROM_LOAD( "kq1-cg6.u22", 0x800000, 0x200000, CRC(b25acf12) SHA1(5cca35921f3b376c3cc36f5b009eb845db2e1897) )
2075 	ROM_LOAD( "kq1-cg4.u18", 0xa00000, 0x200000, CRC(dca7f8f2) SHA1(20595c7940a28d01bdc6610b67aaaeac61ba92e2) )
2076 	ROM_LOAD( "kq1-cg7.u21", 0xc00000, 0x200000, CRC(9f48382c) SHA1(80dfc33a55123b5d3cdb3ed97b43a527f0254d61) )
2077 	ROM_LOAD( "kq1-cg5.u17", 0xe00000, 0x200000, CRC(a4bc4516) SHA1(0eb11fa54d16bba1b96f9dd943a68949a3bb9a2f) )
2078 
2079 	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2080 	/* Leave 1MB empty (addressable by the chip) */
2081 	ROM_LOAD( "kq1-snd.u32", 0x100000, 0x200000, CRC(8ca1b449) SHA1(f54096fb5400843af4879135c96760485b6cb319) )
2082 ROM_END
2083 
2084 ROM_START( myangel2 )
2085 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2086 	ROM_LOAD16_BYTE( "kqs1ezpr.u2", 0x000000, 0x080000, CRC(2469aac2) SHA1(7dade2de31252e305d24c659c4801dd4687ad1f6) )
2087 	ROM_LOAD16_BYTE( "kqs1ozpr.u3", 0x000001, 0x080000, CRC(6336375c) SHA1(72089f77e94832e74e0512944acadeccd0dec8b0) )
2088 	ROM_LOAD16_BYTE( "kqs1e-tb.u4", 0x100000, 0x080000, CRC(e759b4cc) SHA1(4f806a144a47935b2710f8af800ec0d771f12a18) )
2089 	ROM_LOAD16_BYTE( "kqs1o-tb.u5", 0x100001, 0x080000, CRC(b6168737) SHA1(4c3de877c0c1dca1c43ac737a0bf231335237d3a) )
2090 
2091 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
2092 	ROM_LOAD( "kqs1-cg4.u20", 0x0000000, 0x200000, CRC(d1802241) SHA1(52c45a13d46f7ee8043e85b99d07b1765ca93dcc) )
2093 	ROM_LOAD( "kqs1-cg0.u16", 0x0200000, 0x400000, CRC(c21a33a7) SHA1(bc6f479a8f4c716ba79a725f160ddeb95fdedbcb) )
2094 	ROM_LOAD( "kqs1-cg5.u19", 0x0600000, 0x200000, CRC(d86cf19c) SHA1(da5a5b576ce107433605b24d8b9dcd0abd46bcde) )
2095 	ROM_LOAD( "kqs1-cg1.u15", 0x0800000, 0x400000, CRC(dca799ba) SHA1(8379b11472c27b1945fe7fc274c7fedf756accba) )
2096 	ROM_LOAD( "kqs1-cg6.u22", 0x0c00000, 0x200000, CRC(3f08886b) SHA1(054546ae44ffa5d0973f4ead080fe720a340e144) )
2097 	ROM_LOAD( "kqs1-cg2.u18", 0x0e00000, 0x400000, CRC(f7f92c7e) SHA1(24a525a15fded0de6e382b346da6bd5e7b9eced5) )
2098 	ROM_LOAD( "kqs1-cg7.u21", 0x1200000, 0x200000, CRC(2c977904) SHA1(2589447f2471cdc414266b34aff552044c680d93) )
2099 	ROM_LOAD( "kqs1-cg3.u17", 0x1400000, 0x400000, CRC(de3b2191) SHA1(d7d6ea07b665cfd834747d3c0776b968ce03bc6a) )
2100 
2101 	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2102 	/* Leave 1MB empty (addressable by the chip) */
2103 	ROM_LOAD( "kqs1-snd.u32", 0x100000, 0x400000, CRC(792a6b49) SHA1(341b4e8f248b5032217733bada32e353c67e3888) )
2104 ROM_END
2105 
2106 ROM_START( pzlbowl )
2107 	ROM_REGION( 0x100000, REGION_CPU1, 0 )		/* TMP68301 Code */
2108 	ROM_LOAD16_BYTE( "kup-u06.i03", 0x000000, 0x080000, CRC(314e03ac) SHA1(999398e55161dd75570d418f4c9899e3bf311cc8) )
2109 	ROM_LOAD16_BYTE( "kup-u07.i03", 0x000001, 0x080000, CRC(a0423a04) SHA1(9539023c5c2f2bf72ee3fb6105443ffd3d61e2f8) )
2110 
2111 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
2112 	ROM_LOAD( "kuc-u38.i00", 0x000000, 0x400000, CRC(3db24172) SHA1(89c39963e15c53b799994185d0c8b2e795478939) )
2113 	ROM_LOAD( "kuc-u39.i00", 0x400000, 0x400000, CRC(9b26619b) SHA1(ea7a0bf46641d15353217b01e761d1a148bee4e7) )
2114 	ROM_LOAD( "kuc-u40.i00", 0x800000, 0x400000, CRC(7e49a2cf) SHA1(d24683addbc54515c33fb620ac500e6702bd9e17) )
2115 	ROM_LOAD( "kuc-u41.i00", 0xc00000, 0x400000, CRC(2febf19b) SHA1(8081ac590c0463529777b5e4817305a1a6f6ea41) )
2116 
2117 	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2118 	/* Leave 1MB empty (addressable by the chip) */
2119 	ROM_LOAD( "kus-u18.i00", 0x100000, 0x400000, CRC(e2b1dfcf) SHA1(fb0b8be119531a1a27efa46ed7b86b05a37ed585) )
2120 ROM_END
2121 
2122 ROM_START( penbros )
2123 	ROM_REGION( 0x100000, REGION_CPU1, 0 )		/* TMP68301 Code */
2124 	ROM_LOAD16_BYTE( "u06.bin", 0x000000, 0x080000, CRC(7bbdffac) SHA1(d5766cb171b8d2e4c04a6bae37181fa5ada9d797) )
2125 	ROM_LOAD16_BYTE( "u07.bin", 0x000001, 0x080000, CRC(d50cda5f) SHA1(fc66f55f2070b447c5db85c948ce40adc37512f7) )
2126 
2127 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
2128 	ROM_LOAD( "u38.bin", 0x000000, 0x400000, CRC(4247b39e) SHA1(f273931293beced312e02c870bf35e9cf0c91a8b) )
2129 	ROM_LOAD( "u39.bin", 0x400000, 0x400000, CRC(f9f07faf) SHA1(66fc4a9ad422fb384d2c775e43619137226898fc) )
2130 	ROM_LOAD( "u40.bin", 0x800000, 0x400000, CRC(dc9e0a96) SHA1(c2c8ccf9039ee0e179b08fdd2d37f29899349cda) )
2131 	ROM_FILL(            0xc00000, 0x400000, 0 )	/* 6bpp instead of 8bpp */
2132 
2133 	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2134 	/* Leave 1MB empty (addressable by the chip) */
2135 	ROM_LOAD( "u18.bin", 0x100000, 0x200000, CRC(de4e65e2) SHA1(82d4e590c714b3e9bf0ffaf1500deb24fd315595) )
2136 ROM_END
2137 
2138 ROM_START( deerhunt ) /* Deer Hunting USA V4.3 (11/1/2000) - The "E05" breaks version label conventions but is correct & verified */
2139 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2140 	ROM_LOAD16_BYTE( "as0906e05.u06", 0x000000, 0x100000, CRC(20c81f17) SHA1(d41d93d6ee88738cec55f7bf3ce6be1dbec68e09) ) /* checksum 694E printed on label */
2141 	ROM_LOAD16_BYTE( "as0907e05.u07", 0x000001, 0x100000, CRC(1731aa2a) SHA1(cffae7a99a7f960a62ef0c4454884df17a93c1a6) ) /* checksum 5D89 printed on label */
2142 
2143 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
2144 	ROM_LOAD( "as0901m01.u38", 0x0000000, 0x800000, CRC(1d6acf8f) SHA1(6f61fe21bebb7c87e8e6c3ef3ba73b8cf327dde9) )
2145 	ROM_LOAD( "as0902m01.u39", 0x0800000, 0x800000, CRC(c7ca2128) SHA1(86be3a3ec2f86f61acfa3d4d261faea3c27dc378) )
2146 	ROM_LOAD( "as0903m01.u40", 0x1000000, 0x800000, CRC(e8ef81b3) SHA1(97666942ca6cca5b8ea6451314a2aaabad9e06ba) )
2147 	ROM_LOAD( "as0904m01.u41", 0x1800000, 0x800000, CRC(d0f97fdc) SHA1(776c9d42d03a9f61155521212305e1ed696eaf47) )
2148 
2149 	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
2150 	/* Leave 1MB empty (addressable by the chip) */
2151 	ROM_LOAD( "as0905m01.u18", 0x100000, 0x400000, CRC(8d8165bb) SHA1(aca7051613d260734ee787b4c3db552c336bd600) )
2152 ROM_END
2153 
2154 
2155 ROM_START( deerhunta ) /* Deer Hunting USA V4.2 (xx/x/2000) */
2156 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2157 	ROM_LOAD16_BYTE( "as0906e04-v4_2.u06", 0x000000, 0x100000, CRC(bb3af36f) SHA1(f04071347e8ad361bf666fcb6c0136e522f19d47) ) /* checksum 6640 printed on label */
2158 	ROM_LOAD16_BYTE( "as0907e04-v4_2.u07", 0x000001, 0x100000, CRC(83f02117) SHA1(70fc2291bc93af3902aae88688be6a8078f7a07e) ) /* checksum 595A printed on label */
2159 
2160 	ROM_REGION( 0x2000000, REGION_GFX1, 0 )	/* Sprites */
2161 	ROM_LOAD( "as0901m01.u38", 0x0000000, 0x800000, CRC(1d6acf8f) SHA1(6f61fe21bebb7c87e8e6c3ef3ba73b8cf327dde9) )
2162 	ROM_LOAD( "as0902m01.u39", 0x0800000, 0x800000, CRC(c7ca2128) SHA1(86be3a3ec2f86f61acfa3d4d261faea3c27dc378) )
2163 	ROM_LOAD( "as0903m01.u40", 0x1000000, 0x800000, CRC(e8ef81b3) SHA1(97666942ca6cca5b8ea6451314a2aaabad9e06ba) )
2164 	ROM_LOAD( "as0904m01.u41", 0x1800000, 0x800000, CRC(d0f97fdc) SHA1(776c9d42d03a9f61155521212305e1ed696eaf47) )
2165 
2166 	ROM_REGION( 0x500000, REGION_SOUND1, 0 )	/* Samples */
2167 	/* Leave 1MB empty (addressable by the chip) */
2168 	ROM_LOAD( "as0905m01.u18", 0x100000, 0x400000, CRC(8d8165bb) SHA1(aca7051613d260734ee787b4c3db552c336bd600) )
2169 ROM_END
2170 
2171 ROM_START( deerhuntb ) /* Deer Hunting USA V4.0 (6/15/2000) */
2172 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2173 	ROM_LOAD16_BYTE( "as0906e04.u06", 0x000000, 0x100000, CRC(07d9b64a) SHA1(f9aac644aab920bbac84b14836ee589ccd51f6db) ) /* checksum 7BBB printed on label */
2174 	ROM_LOAD16_BYTE( "as0907e04.u07", 0x000001, 0x100000, CRC(19973d08) SHA1(da1cc02ce480a62ccaf94d0af1246a340f054b43) ) /* checksum 4C78 printed on label */
2175 
2176 	ROM_REGION( 0x2000000, REGION_GFX1, 0 )	/* Sprites */
2177 	ROM_LOAD( "as0901m01.u38", 0x0000000, 0x800000, CRC(1d6acf8f) SHA1(6f61fe21bebb7c87e8e6c3ef3ba73b8cf327dde9) )
2178 	ROM_LOAD( "as0902m01.u39", 0x0800000, 0x800000, CRC(c7ca2128) SHA1(86be3a3ec2f86f61acfa3d4d261faea3c27dc378) )
2179 	ROM_LOAD( "as0903m01.u40", 0x1000000, 0x800000, CRC(e8ef81b3) SHA1(97666942ca6cca5b8ea6451314a2aaabad9e06ba) )
2180 	ROM_LOAD( "as0904m01.u41", 0x1800000, 0x800000, CRC(d0f97fdc) SHA1(776c9d42d03a9f61155521212305e1ed696eaf47) )
2181 
2182 	ROM_REGION( 0x500000, REGION_SOUND1, 0 )	/* Samples */
2183 	/* Leave 1MB empty (addressable by the chip) */
2184 	ROM_LOAD( "as0905m01.u18", 0x100000, 0x400000, CRC(8d8165bb) SHA1(aca7051613d260734ee787b4c3db552c336bd600) )
2185 ROM_END
2186 
2187 ROM_START( turkhunt ) /* V1.0 is currently the only known version */
2188 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2189 	ROM_LOAD16_BYTE( "asx906e01.u06", 0x000000, 0x100000, CRC(c96266e1) SHA1(0ca462b3b0f27198e36384eee6ea5c5d4e7e1293) ) /* checksum E510 printed on label */
2190 	ROM_LOAD16_BYTE( "asx907e01.u07", 0x000001, 0x100000, CRC(7c67b502) SHA1(6a0e8883a115dac4095d86897e7eca2a007a1c71) ) /* checksum AB40 printed on label */
2191 
2192 	ROM_REGION( 0x2000000, REGION_GFX1, 0 )	/* Sprites */
2193 	ROM_LOAD( "asx901m01.u38", 0x0000000, 0x800000, CRC(eabd3f44) SHA1(5a1ac986d11a8b019e18761cf4ea0a6f49fbdbfc) )
2194 	ROM_LOAD( "asx902m01.u39", 0x0800000, 0x800000, CRC(c32130c8) SHA1(70d56ebed1f51657aaee02f95ac51589733e6eb7) )
2195 	ROM_LOAD( "asx903m01.u40", 0x1000000, 0x800000, CRC(5f86c322) SHA1(5a72adb99eea176199f172384cb051e2b045ab94) )
2196 	ROM_LOAD( "asx904m01.u41", 0x1800000, 0x800000, CRC(c77e0b66) SHA1(0eba30e62e4bd38c198fa6cb69fb94d002ded77a) )
2197 
2198 	ROM_REGION( 0x500000, REGION_SOUND1, 0 )	/* Samples */
2199 	/* Leave 1MB empty (addressable by the chip) */
2200 	ROM_LOAD( "asx905m01.u18", 0x100000, 0x400000, CRC(8d9dd9a9) SHA1(1fc2f3688d2c24c720dca7357bca6bf5f4016c53) )
2201 ROM_END
2202 
2203 ROM_START( wschamp ) /* Wing Shootiong Championship V2.00 (01/23/2002) */
2204 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2205 	ROM_LOAD16_BYTE( "as1006e03.u06", 0x000000, 0x100000, CRC(0ad01677) SHA1(63e09b9f7cc8b781af1756f86caa0cc0962ae584) ) /* checksum 421E printed on label */
2206 	ROM_LOAD16_BYTE( "as1007e03.u07", 0x000001, 0x100000, CRC(572624f0) SHA1(0c2f67daa22f4edd66a2be990dc6cd999faff0fa) ) /* checksum A48F printed on label */
2207 
2208 	ROM_REGION( 0x2000000, REGION_GFX1, 0 )	/* Sprites */
2209 	ROM_LOAD( "as1001m01.u38", 0x0000000, 0x800000, CRC(92595579) SHA1(75a7131aedb18b7103677340c3cca7c91aaca2bf) )
2210 	ROM_LOAD( "as1002m01.u39", 0x0800000, 0x800000, CRC(16c2bb08) SHA1(63926464c8bd8db7d05905a953765e645942beb4) )
2211 	ROM_LOAD( "as1003m01.u40", 0x1000000, 0x800000, CRC(89618858) SHA1(a8bd07f233482e8f5a256af7ff9577648eb58ef4) )
2212 	ROM_LOAD( "as1004m01.u41", 0x1800000, 0x800000, CRC(500c0909) SHA1(73ff27d46b9285f34a50a81c21c54437f21e1939) )
2213 
2214 	ROM_REGION( 0x500000, REGION_SOUND1, 0 )	/* Samples */
2215 	/* Leave 1MB empty (addressable by the chip) */
2216 	ROM_LOAD( "as1005m01.u18", 0x100000, 0x400000, CRC(e4b137b8) SHA1(4d8d15073c51f7d383282cc5755ae5b2eab6226c) )
2217 ROM_END
2218 
2219 ROM_START( wschampa ) /* Wing Shootiong Championship V1.01 */
2220 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2221 	ROM_LOAD16_BYTE( "as1006e02.u06", 0x000000, 0x100000, CRC(d3d3b2b5) SHA1(2d036d795b40a4ed78bb9f7751f875cfc76276a9) ) /* checksum 31EF printed on label */
2222 	ROM_LOAD16_BYTE( "as1007e02.u07", 0x000001, 0x100000, CRC(78ede6d9) SHA1(e6d10f52cd4c6bf97288df44911f23bb64fc012c) ) /* checksum 615E printed on label */
2223 
2224 	ROM_REGION( 0x2000000, REGION_GFX1, 0 )	/* Sprites */
2225 	ROM_LOAD( "as1001m01.u38", 0x0000000, 0x800000, CRC(92595579) SHA1(75a7131aedb18b7103677340c3cca7c91aaca2bf) )
2226 	ROM_LOAD( "as1002m01.u39", 0x0800000, 0x800000, CRC(16c2bb08) SHA1(63926464c8bd8db7d05905a953765e645942beb4) )
2227 	ROM_LOAD( "as1003m01.u40", 0x1000000, 0x800000, CRC(89618858) SHA1(a8bd07f233482e8f5a256af7ff9577648eb58ef4) )
2228 	ROM_LOAD( "as1004m01.u41", 0x1800000, 0x800000, CRC(500c0909) SHA1(73ff27d46b9285f34a50a81c21c54437f21e1939) )
2229 
2230 	ROM_REGION( 0x500000, REGION_SOUND1, 0 )	/* Samples */
2231 	/* Leave 1MB empty (addressable by the chip) */
2232 	ROM_LOAD( "as1005m01.u18", 0x100000, 0x400000, CRC(e4b137b8) SHA1(4d8d15073c51f7d383282cc5755ae5b2eab6226c) )
2233 ROM_END
2234 
2235 ROM_START( trophyh ) /* V1.0 is currently the only known version */
2236 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
2237 	ROM_LOAD16_BYTE( "as1106e01.u06", 0x000000, 0x100000, CRC(b4950882) SHA1(2749f7ffc5b543c9f39815f0913a1d1e385b63f4) ) /* checksum D8DA printed on label */
2238 	ROM_LOAD16_BYTE( "as1107e01.u07", 0x000001, 0x100000, CRC(19ee67cb) SHA1(e75ce66d3ff5aad46ba997c09d6514260e617f55) ) /* checksum CEEF printed on label */
2239 
2240 	ROM_REGION( 0x2000000, REGION_GFX1, 0 )	/* Sprites */
2241 	ROM_LOAD( "as1101m01.u38", 0x0000000, 0x800000, CRC(855ed675) SHA1(84ce229a9feb6331413253a5aed10b362e8102e5) )
2242 	ROM_LOAD( "as1102m01.u39", 0x0800000, 0x800000, CRC(d186d271) SHA1(3c54438b35adfab8be91df0a633270d6db49beef) )
2243 	ROM_LOAD( "as1103m01.u40", 0x1000000, 0x800000, CRC(adf8a54e) SHA1(bb28bf219d18082246f7964851a5c49b9c0ba7f5) )
2244 	ROM_LOAD( "as1104m01.u41", 0x1800000, 0x800000, CRC(387882e9) SHA1(0fdd0c77dabd1066c6f3bd64e357236a76f524ab) )
2245 
2246 	ROM_REGION( 0x500000, REGION_SOUND1, 0 )	/* Samples */
2247 	/* Leave 1MB empty (addressable by the chip) */
2248 	ROM_LOAD( "as1105m01.u18", 0x100000, 0x400000, CRC(633d0df8) SHA1(3401c424f5c207ef438a9269e0c0e7d482771fed) )
2249 ROM_END
2250 
2251 
2252 GAME(  1994, gundamex, 0,        gundamex, gundamex, 0,   ROT0, "Banpresto",                "Mobile Suit Gundam EX Revue" )
2253 GAMEX( 1995, grdians,  0,        grdians,  grdians,  0,   ROT0, "Banpresto",                "Guardians - Denjin Makai II",                  GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )	/* Displays (c) Winky Soft at game's end.*/
2254 GAMEX( 1996, mj4simai, 0,        mj4simai, mj4simai, 0,   ROT0, "Maboroshi Ware",           "Wakakusamonogatari Mahjong Yonshimai (Japan)", GAME_NO_COCKTAIL )
2255 GAMEX( 1996, myangel,  0,        myangel,  myangel,  0,   ROT0, "Namco",                    "Kosodate Quiz My Angel (Japan)",               GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2256 GAMEX( 1997, myangel2, 0,        myangel2, myangel2, 0,   ROT0, "Namco",                    "Kosodate Quiz My Angel 2 (Japan)",             GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2257 GAMEX( 1999, pzlbowl,  0,        pzlbowl,  pzlbowl,  0,   ROT0, "Nihon System / Moss",      "Puzzle De Bowling (Japan)",                    GAME_NO_COCKTAIL )
2258 GAMEX( 2000, penbros,  0,        penbros,  penbros,  0,   ROT0, "Subsino",                  "Penguin Brothers (Japan)",                     GAME_NO_COCKTAIL )
2259 
2260 GAMEX( 2000, deerhunt, 0,        samshoot, deerhunt, 0,   ROT0, "Sammy USA Corporation",    "Deer Hunting USA V4.3",                        GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2261 GAMEX( 2000, deerhunta,deerhunt, samshoot, deerhunt, 0,   ROT0, "Sammy USA Corporation",    "Deer Hunting USA V4.2",                        GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2262 GAMEX( 2000, deerhuntb,deerhunt, samshoot, deerhunt, 0,   ROT0, "Sammy USA Corporation",    "Deer Hunting USA V4.0",                        GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2263 GAMEX( 2001, turkhunt, 0,        samshoot, turkhunt, 0,   ROT0, "Sammy USA Corporation",    "Turkey Hunting USA V1.0",                      GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2264 GAMEX( 2001, wschamp,  0,        samshoot, wschamp,  0,   ROT0, "Sammy USA Corporation",    "Wing Shooting Championship V2.0",              GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2265 GAMEX( 2001, wschampa, wschamp,  samshoot, wschamp,  0,   ROT0, "Sammy USA Corporation",    "Wing Shooting Championship V1.01",             GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2266 GAMEX( 2002, trophyh,  0,        samshoot, trophyh,  0,   ROT0, "Sammy USA Corporation",    "Trophy Hunting - Bear & Moose V1.0",           GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
2267