QuarterArcade Coin-Op Tech Net

Quick Nav: # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Coin-Op : Arcade : Guardians Of The 'Hood : VM Driver Source

Source Listing


     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: P0-123A					1996	Wakakusamonogatari Mahjong Yonshimai	Maboroshi Ware
    26: P0-125A ; KE (Namco)	1996	Kosodate Quiz My Angel					Namco
    27: P0-136A ; KL (Namco)	1997	Kosodate Quiz My Angel 2				Namco
    28: P0-142A					1999	Puzzle De Bowling						Nihon System / Moss
    29: P0-142A + extra parts	2000	Penguin Brothers						Subsino
    30: -------------------------------------------------------------------------------------------
    31: 
    32: TODO:
    33: 
    34: - Proper emulation of the TMP68301 CPU, in a core file.
    35: - Flip screen / Zooming support.
    36: - Fix some graphics imperfections (e.g. color depth selection,
    37:   "tilemap" sprites) [all done? - NS]
    38: - I added a kludge involving a -0x10 yoffset, this fixes the lifeline in myangel.
    39:   I didn't find a better way to do it without breaking pzlbowl's title screen.
    40: 
    41: mj4simai:
    42: - test mode doesn't work correctly, the grid is ok but when you press a key to go to the
    43:   next screen (input test) it stays up a second and then drops back into the game
    44: 
    45: myangel:
    46: - some gfx at the end of the game (rays just before fireworks, and the border during
    47:   the wedding) have wrong colors. You can see the rays red, green and yellow because
    48:   that's how the palette is preinitialized by MAME, but the game never sets up those
    49:   palette entries. The game selects color depth "1", whose meaning is uncertain, and
    50:   color code 0 so I see no way to point to a different section of palette RAM.
    51: 
    52: - there are glitches in the bg horizontal scroll in the wedding sequence at the end of
    53:   the game. It looks like "scrollx" should be delayed one frame wrt "xoffs".
    54: 
    55: myangel2:
    56: - before each level, the background image is shown with completely wrong colors. It
    57:   corrects itself when the level starts.
    58: 
    59: grdians:
    60: - the map screen after the character selection needs zooming. There is a global
    61:   zoom register that should affect the background map and the level picture but
    62:   not the frontmost frame. This latter should use color 7ff (the last one)
    63:   and ignore the individual color codes in the tiles data. Zooming is also
    64:   used briefly in pengbros.
    65: 
    66: ***************************************************************************/
    67: 
    68: /***************************************************************************
    69: 
    70: Guardians
    71: Banpresto, 1995
    72: 
    73: This hardware is not common Banpresto hardware. Possibly licenced
    74: to them from another manufacturer? Or an early design that they decided
    75: not to use for future games? Either way, this game is _extremely_ rare :-)
    76: 
    77: PCB Layout
    78: ----------
    79: 
    80: P-FG01-1
    81: ------------------------------------------------------
    82: |        X1-010 6264          U32 CXK581000          |
    83: |                                 CXK581000      U16 |
    84: |                                                    |
    85: |                                                U20 |
    86: |    U3 U5 U2 U4 62256 CXK58257                      |
    87: |                62256 CXK58257                  U15 |
    88: |                                                    |
    89: |J                                               U19 |
    90: |A    TMP68301AF-16                                  |
    91: |M                                               U18 |
    92: |M                           NEC                     |
    93: |A          NEC              DX-101              U22 |
    94: |           DX-102                                   |
    95: |                                                U17 |
    96: |                   PAL   50MHz                      |
    97: |                                                U21 |
    98: |           DSW1(8)                                  |
    99: |           DSW2(8)                   CXK58257 NEC   |
   100: |                                     CXK58257 DX-102|
   101: ------------------------------------------------------
   102: 
   103: Notes:
   104:       HSync: 15.23kHz
   105:       VSync: 58.5Hz
   106: 
   107: ***************************************************************************/
   108: 
   109: /***************************************************************************
   110: 
   111: 							Penguin Brothers (Japan)
   112: 
   113: (c)2000 Subsino
   114: Board:	P0-142A
   115: CPU:	TMP68301 (68000 core)
   116: 
   117: OSC:	50.0000MHz
   118:         32.5304MHz
   119:         28.0000MHz
   120: 
   121: Chips.:	DX-101
   122:         DX-102 x3
   123: Sound:	X1-010
   124: 
   125: Notes:	pzlbowl PCB with extra parts:
   126:         28MHz OSC
   127:         2x 62256 SRAM
   128:         74HC00
   129: 
   130: ***************************************************************************/
   131: 
   132: #include "driver.h" 
   133: #include "vidhrdw/generic.h" 
   134: #include "machine/tmp68301.h" 
   135: #include "seta.h" 
   136: 
   137: /***************************************************************************
   138: 
   139: 
   140: 							Memory Maps - Main CPU
   141: 
   142: 
   143: ***************************************************************************/
   144: 
   145: WRITE16_HANDLER( seta2_sound_bank_w )
   146: {
   147: 	if (ACCESSING_LSB && Machine->sample_rate)
   148: 	{
   149: 		data8_t *ROM = memory_region( REGION_SOUND1 );
   150: 		int banks = (memory_region_length( REGION_SOUND1 ) - 0x100000) / 0x20000;
   151: 		if (data >= banks)
   152: 		{
   153: 			logerror("CPU #0 PC %06X: invalid sound bank %04X\n",activecpu_get_pc(),data);
   154: 			data %= banks;
   155: 		}
   156: 		memcpy(ROM + offset * 0x20000, ROM + 0x100000 + data * 0x20000, 0x20000);
   157: 	}
   158: }
   159: 
   160: 
   161: /***************************************************************************
   162: 								Guardians
   163: ***************************************************************************/
   164: 
   165: static WRITE16_HANDLER( grdians_lockout_w )
   166: {
   167: 	if (ACCESSING_LSB)
   168: 	{
   169: 		// initially 0, then either $25 (coin 1) or $2a (coin 2)
   170: 		coin_counter_w(0,data & 0x01);	// or 0x04
   171: 		coin_counter_w(1,data & 0x02);	// or 0x08
   172: 	}
   173: //	usrintf_showmessage("%04X", data & 0xffff);
   174: }
   175: 
   176: static MEMORY_READ16_START( grdians_readmem )
   177: 	{ 0x000000, 0x1fffff, MRA16_ROM					},	// ROM
   178: 	{ 0x200000, 0x20ffff, MRA16_ROM					},	// RAM
   179: 	{ 0x304000, 0x30ffff, MRA16_RAM					},	// ? seems tile data
   180: 	{ 0x600000, 0x600001, input_port_0_word_r		},	// DSW 1
   181: 	{ 0x600002, 0x600003, input_port_1_word_r		},	// DSW 2
   182: 	{ 0x700000, 0x700001, input_port_2_word_r		},	// P1
   183: 	{ 0x700002, 0x700003, input_port_3_word_r		},	// P2
   184: 	{ 0x700004, 0x700005, input_port_4_word_r		},	// Coins
   185: 	{ 0x70000c, 0x70000d, watchdog_reset16_r		},	// Watchdog
   186: 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	// Sound
   187: 	{ 0xc00000, 0xc3ffff, MRA16_RAM					},	// Sprites
   188: 	{ 0xc40000, 0xc4ffff, MRA16_RAM					},	// Palette
   189: 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	// TMP68301 Registers
   190: MEMORY_END
   191: 
   192: static MEMORY_WRITE16_START( grdians_writemem )
   193: 	{ 0x000000, 0x1fffff, MWA16_ROM							},	// ROM
   194: 	{ 0x200000, 0x20ffff, MWA16_RAM							},	// RAM
   195: 	{ 0x304000, 0x30ffff, MWA16_RAM							},	// ? seems tile data
   196: 	{ 0x800000, 0x800001, grdians_lockout_w					},
   197: 	{ 0xb00000, 0xb03fff, seta_sound_word_w 				},	// Sound
   198: 	{ 0xc00000, 0xc3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	// Sprites
   199: 	{ 0xc40000, 0xc4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	// Palette
   200: 	{ 0xc50000, 0xc5ffff, MWA16_RAM							},	// cleared
   201: 	{ 0xc60000, 0xc6003f, seta2_vregs_w, &seta2_vregs		},	// Video Registers
   202: 	{ 0xe00010, 0xe0001f, seta2_sound_bank_w				},	// Samples Banks
   203: 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	// TMP68301 Registers
   204: MEMORY_END
   205: 
   206: /***************************************************************************
   207:                       Wakakusamonogatari Mahjong Yonshimai
   208: ***************************************************************************/
   209: 
   210: static int keyboard_row;
   211: 
   212: static READ16_HANDLER( mj4simai_p1_r )
   213: {
   214: 	switch (keyboard_row)
   215: 	{
   216: 		case 0x01: return readinputport(3);
   217: 		case 0x02: return readinputport(4);
   218: 		case 0x04: return readinputport(5);
   219: 		case 0x08: return readinputport(6);
   220: 		case 0x10: return readinputport(7);
   221: 		default:   logerror("p1_r with keyboard_row = %02x\n",keyboard_row); return 0xffff;
   222: 	}
   223: }
   224: 
   225: static WRITE16_HANDLER( mj4simai_keyboard_w )
   226: {
   227: 	if (ACCESSING_LSB)
   228: 		keyboard_row = data & 0xff;
   229: }
   230: 
   231: static MEMORY_READ16_START( mj4simai_readmem )
   232: 	{ 0x000000, 0x1fffff, MRA16_ROM					},	// ROM
   233: 	{ 0x200000, 0x20ffff, MRA16_ROM					},	// RAM
   234: 	{ 0x600000, 0x600001, mj4simai_p1_r				},	// P1
   235: 	{ 0x600002, 0x600003, mj4simai_p1_r				},	// P2, but I'm using P1 again
   236: 	{ 0x600006, 0x600007, watchdog_reset16_r		},	// Watchdog
   237: 	{ 0x600100, 0x600101, input_port_2_word_r		},	//
   238: 	{ 0x600300, 0x600301, input_port_0_word_r		},	// DSW 1
   239: 	{ 0x600302, 0x600303, input_port_1_word_r		},	// DSW 2
   240: 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	// Sound
   241: 	{ 0xc00000, 0xc3ffff, MRA16_RAM					},	// Sprites
   242: 	{ 0xc40000, 0xc4ffff, MRA16_RAM					},	// Palette
   243: 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	// TMP68301 Registers
   244: MEMORY_END
   245: 
   246: static MEMORY_WRITE16_START( mj4simai_writemem )
   247: 	{ 0x000000, 0x1fffff, MWA16_ROM						},	// ROM
   248: 	{ 0x200000, 0x20ffff, MWA16_RAM						},	// RAM
   249: 	{ 0x600004, 0x600005, mj4simai_keyboard_w			},	// select keyboard row to read
   250: 	{ 0x600200, 0x600201, MWA16_NOP						},	// Leds? Coins?
   251: 	{ 0x600300, 0x60030f, seta2_sound_bank_w			},	// Samples Banks
   252: 	{ 0xb00000, 0xb03fff, seta_sound_word_w 			},	// Sound
   253: 	{ 0xc00000, 0xc3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	// Sprites
   254: 	{ 0xc40000, 0xc4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	// Palette
   255: 	{ 0xc60000, 0xc6003f, seta2_vregs_w, &seta2_vregs	},	// Video Registers
   256: 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	// TMP68301 Registers
   257: MEMORY_END
   258: 
   259: 
   260: /***************************************************************************
   261: 							Kosodate Quiz My Angel
   262: ***************************************************************************/
   263: 
   264: static MEMORY_READ16_START( myangel_readmem )
   265: 	{ 0x000000, 0x1fffff, MRA16_ROM					},	// ROM
   266: 	{ 0x200000, 0x20ffff, MRA16_ROM					},	// RAM
   267: 	{ 0x700000, 0x700001, input_port_2_word_r		},	// P1
   268: 	{ 0x700002, 0x700003, input_port_3_word_r		},	// P2
   269: 	{ 0x700004, 0x700005, input_port_4_word_r		},	// Coins
   270: 	{ 0x700006, 0x700007, watchdog_reset16_r		},	// Watchdog
   271: 	{ 0x700300, 0x700301, input_port_0_word_r		},	// DSW 1
   272: 	{ 0x700302, 0x700303, input_port_1_word_r		},	// DSW 2
   273: 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	// Sound
   274: 	{ 0xc00000, 0xc3ffff, MRA16_RAM					},	// Sprites
   275: 	{ 0xc40000, 0xc4ffff, MRA16_RAM					},	// Palette
   276: 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	// TMP68301 Registers
   277: MEMORY_END
   278: 
   279: static MEMORY_WRITE16_START( myangel_writemem )
   280: 	{ 0x000000, 0x1fffff, MWA16_ROM						},	// ROM
   281: 	{ 0x200000, 0x20ffff, MWA16_RAM						},	// RAM
   282: 	{ 0x700200, 0x700201, MWA16_NOP						},	// Leds? Coins?
   283: 	{ 0x700310, 0x70031f, seta2_sound_bank_w			},	// Samples Banks
   284: 	{ 0xb00000, 0xb03fff, seta_sound_word_w 			},	// Sound
   285: 	{ 0xc00000, 0xc3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	// Sprites
   286: 	{ 0xc40000, 0xc4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	// Palette
   287: 	{ 0xc60000, 0xc6003f, seta2_vregs_w, &seta2_vregs	},	// Video Registers
   288: 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	// TMP68301 Registers
   289: MEMORY_END
   290: 
   291: 
   292: /***************************************************************************
   293: 							Kosodate Quiz My Angel 2
   294: ***************************************************************************/
   295: 
   296: static MEMORY_READ16_START( myangel2_readmem )
   297: 	{ 0x000000, 0x1fffff, MRA16_ROM					},	// ROM
   298: 	{ 0x200000, 0x20ffff, MRA16_ROM					},	// RAM
   299: 	{ 0x600000, 0x600001, input_port_2_word_r		},	// P1
   300: 	{ 0x600002, 0x600003, input_port_3_word_r		},	// P2
   301: 	{ 0x600004, 0x600005, input_port_4_word_r		},	// Coins
   302: 	{ 0x600006, 0x600007, watchdog_reset16_r		},	// Watchdog
   303: 	{ 0x600300, 0x600301, input_port_0_word_r		},	// DSW 1
   304: 	{ 0x600302, 0x600303, input_port_1_word_r		},	// DSW 2
   305: 	{ 0xb00000, 0xb03fff, seta_sound_word_r 		},	// Sound
   306: 	{ 0xd00000, 0xd3ffff, MRA16_RAM					},	// Sprites
   307: 	{ 0xd40000, 0xd4ffff, MRA16_RAM					},	// Palette
   308: 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	// TMP68301 Registers
   309: MEMORY_END
   310: 
   311: static MEMORY_WRITE16_START( myangel2_writemem )
   312: 	{ 0x000000, 0x1fffff, MWA16_ROM						},	// ROM
   313: 	{ 0x200000, 0x20ffff, MWA16_RAM						},	// RAM
   314: 	{ 0x600200, 0x600201, MWA16_NOP						},	// Leds? Coins?
   315: 	{ 0x600300, 0x60030f, seta2_sound_bank_w			},	// Samples Banks
   316: 	{ 0xb00000, 0xb03fff, seta_sound_word_w 			},	// Sound
   317: 	{ 0xd00000, 0xd3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	// Sprites
   318: 	{ 0xd40000, 0xd4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	// Palette
   319: 	{ 0xd60000, 0xd6003f, seta2_vregs_w, &seta2_vregs	},	// Video Registers
   320: 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	// TMP68301 Registers
   321: MEMORY_END
   322: 
   323: 
   324: /***************************************************************************
   325: 								Puzzle De Bowling
   326: ***************************************************************************/
   327: 
   328: /*	The game checks for a specific sequence of values read from here.
   329: 	Patching out the check from ROM seems to work... */
   330: READ16_HANDLER( pzlbowl_protection_r )
   331: {
   332: 	return 0;
   333: }
   334: 
   335: READ16_HANDLER( pzlbowl_coins_r )
   336: {
   337: 	return readinputport(4) | (rand() & 0x80 );
   338: }
   339: 
   340: WRITE16_HANDLER( pzlbowl_coin_counter_w )
   341: {
   342: 	if (ACCESSING_LSB)
   343: 	{
   344: 		coin_counter_w(0,data & 0x10);
   345: 		coin_counter_w(1,data & 0x20);
   346: 	}
   347: }
   348: 
   349: static MEMORY_READ16_START( pzlbowl_readmem )
   350: 	{ 0x000000, 0x0fffff, MRA16_ROM					},	// ROM
   351: 	{ 0x200000, 0x20ffff, MRA16_ROM					},	// RAM
   352: 	{ 0x400300, 0x400301, input_port_0_word_r		},	// DSW 1
   353: 	{ 0x400302, 0x400303, input_port_1_word_r		},	// DSW 2
   354: 	{ 0x500000, 0x500001, input_port_2_word_r		},	// P1
   355: 	{ 0x500002, 0x500003, input_port_3_word_r		},	// P2
   356: 	{ 0x500004, 0x500005, pzlbowl_coins_r			},	// Coins + Protection?
   357: 	{ 0x500006, 0x500007, watchdog_reset16_r		},	// Watchdog
   358: 	{ 0x700000, 0x700001, pzlbowl_protection_r		},	// Protection
   359: 	{ 0x800000, 0x83ffff, MRA16_RAM					},	// Sprites
   360: 	{ 0x840000, 0x84ffff, MRA16_RAM					},	// Palette
   361: 	{ 0x900000, 0x903fff, seta_sound_word_r 		},	// Sound
   362: 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	// TMP68301 Registers
   363: MEMORY_END
   364: 
   365: static MEMORY_WRITE16_START( pzlbowl_writemem )
   366: 	{ 0x000000, 0x0fffff, MWA16_ROM						},	// ROM
   367: 	{ 0x200000, 0x20ffff, MWA16_RAM						},	// RAM
   368: 	{ 0x400300, 0x40030f, seta2_sound_bank_w			},	// Samples Banks
   369: 	{ 0x500004, 0x500005, pzlbowl_coin_counter_w		},	// Coins Counter
   370: 	{ 0x800000, 0x83ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	// Sprites
   371: 	{ 0x840000, 0x84ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	// Palette
   372: 	{ 0x860000, 0x86003f, seta2_vregs_w, &seta2_vregs	},	// Video Registers
   373: 	{ 0x900000, 0x903fff, seta_sound_word_w 			},	// Sound
   374: 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	// TMP68301 Registers
   375: MEMORY_END
   376: 
   377: 
   378: /***************************************************************************
   379: 							Penguin Bros
   380: ***************************************************************************/
   381: 
   382: static MEMORY_READ16_START( penbros_readmem )
   383: 	{ 0x000000, 0x0fffff, MRA16_ROM					},	// ROM
   384: 	{ 0x200000, 0x20ffff, MRA16_ROM					},	// RAM
   385: 	{ 0x210000, 0x23ffff, MRA16_ROM					},	// RAM
   386: 	{ 0x300000, 0x30ffff, MRA16_RAM					},	// RAM
   387: 	{ 0x500300, 0x500301, input_port_0_word_r		},	// DSW 1
   388: 	{ 0x500302, 0x500303, input_port_1_word_r		},	// DSW 2
   389: 	{ 0x600000, 0x600001, input_port_2_word_r		},	// P1
   390: 	{ 0x600002, 0x600003, input_port_3_word_r		},	// P2
   391: 	{ 0x600004, 0x600005, input_port_4_word_r		},	// Coins
   392: 	{ 0x600006, 0x600007, watchdog_reset16_r		},	// Watchdog
   393: //	{ 0x700000, 0x700001, pzlbowl_protection_r		},	// Protection
   394: 	{ 0xb00000, 0xb3ffff, MRA16_RAM					},	// Sprites
   395: 	{ 0xb40000, 0xb4ffff, MRA16_RAM					},	// Palette
   396: 	{ 0xa00000, 0xa03fff, seta_sound_word_r 		},	// Sound
   397: 	{ 0xfffc00, 0xffffff, MRA16_RAM					},	// TMP68301 Registers
   398: MEMORY_END
   399: 
   400: static MEMORY_WRITE16_START( penbros_writemem )
   401: 	{ 0x000000, 0x0fffff, MWA16_ROM						},	// ROM
   402: 	{ 0x200000, 0x20ffff, MWA16_RAM						},	// RAM
   403: 	{ 0x300000, 0x30ffff, MWA16_RAM						},	// RAM
   404: 	{ 0x210000, 0x23ffff, MWA16_RAM						},	// RAM
   405: 	{ 0x500300, 0x50030f, seta2_sound_bank_w			},	// Samples Banks
   406: 	{ 0x600004, 0x600005, pzlbowl_coin_counter_w		},	// Coins Counter
   407: 	{ 0xb00000, 0xb3ffff, MWA16_RAM, &spriteram16,  &spriteram_size	},	// Sprites
   408: 	{ 0xb40000, 0xb4ffff, paletteram16_xRRRRRGGGGGBBBBB_word_w, &paletteram16	},	// Palette
   409: 	{ 0xb60000, 0xb6003f, seta2_vregs_w, &seta2_vregs	},	// Video Registers
   410: 	{ 0xa00000, 0xa03fff, seta_sound_word_w 			},	// Sound
   411: 	{ 0xfffc00, 0xffffff, tmp68301_regs_w, &tmp68301_regs	},	// TMP68301 Registers
   412: MEMORY_END
   413: 
   414: 
   415: 
   416: /***************************************************************************
   417: 
   418: 								Input Ports
   419: 
   420: ***************************************************************************/
   421: 
   422: /***************************************************************************
   423: 								Guardians
   424: ***************************************************************************/
   425: 
   426: INPUT_PORTS_START( grdians )
   427: 	PORT_START	// IN0 - $600000.w
   428: 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
   429: 	PORT_DIPSETTING(      0x0002, "Easy"    )	// 0
   430: 	PORT_DIPSETTING(      0x0003, "Normal"  )	// 1
   431: 	PORT_DIPSETTING(      0x0001, "Hard"    )	// 2
   432: 	PORT_DIPSETTING(      0x0000, "Hardest" )	// 3
   433: 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
   434: 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
   435: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   436: 	PORT_DIPNAME( 0x0008, 0x0008, "Title" )
   437: 	PORT_DIPSETTING(      0x0008, "Guardians" )
   438: 	PORT_DIPSETTING(      0x0000, "Denjin Makai II" )
   439: 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
   440: 	PORT_DIPSETTING(      0x0020, "1" )
   441: 	PORT_DIPSETTING(      0x0030, "2" )
   442: 	PORT_DIPSETTING(      0x0010, "3" )
   443: 	PORT_DIPSETTING(      0x0000, "4" )
   444: 	PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
   445: 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Demo_Sounds ) )
   446: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   447: 	PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
   448: 
   449: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   450: 
   451: 	PORT_START	// IN1 - $600002.w
   452: 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
   453: 	PORT_DIPSETTING(      0x0002, DEF_STR( 4C_1C ) )
   454: 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
   455: 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
   456: 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
   457: 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_3C ) )
   458: 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
   459: 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
   460: 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
   461: 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
   462: 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
   463: 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
   464: 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
   465: 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
   466: 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
   467: 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
   468: 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
   469: 	PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) )
   470: 	PORT_DIPSETTING(      0x0020, DEF_STR( 4C_1C ) )
   471: 	PORT_DIPSETTING(      0x0050, DEF_STR( 3C_1C ) )
   472: 	PORT_DIPSETTING(      0x0080, DEF_STR( 2C_1C ) )
   473: 	PORT_DIPSETTING(      0x0040, DEF_STR( 3C_2C ) )
   474: 	PORT_DIPSETTING(      0x0010, DEF_STR( 4C_3C ) )
   475: 	PORT_DIPSETTING(      0x00f0, DEF_STR( 1C_1C ) )
   476: 	PORT_DIPSETTING(      0x0030, DEF_STR( 3C_4C ) )
   477: 	PORT_DIPSETTING(      0x0070, DEF_STR( 2C_3C ) )
   478: 	PORT_DIPSETTING(      0x00e0, DEF_STR( 1C_2C ) )
   479: 	PORT_DIPSETTING(      0x0060, DEF_STR( 2C_5C ) )
   480: 	PORT_DIPSETTING(      0x00d0, DEF_STR( 1C_3C ) )
   481: 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_4C ) )
   482: 	PORT_DIPSETTING(      0x00b0, DEF_STR( 1C_5C ) )
   483: 	PORT_DIPSETTING(      0x00a0, DEF_STR( 1C_6C ) )
   484: 	PORT_DIPSETTING(      0x0090, DEF_STR( 1C_7C ) )
   485: 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
   486: 
   487: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   488: 
   489: 	PORT_START	// IN2 - $700000.w
   490: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
   491: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
   492: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
   493: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
   494: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
   495: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
   496: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
   497: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1 )
   498: 
   499: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   500: 
   501: 	PORT_START	// IN3 - $700002.w
   502: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
   503: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
   504: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
   505: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
   506: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
   507: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
   508: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
   509: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2 )
   510: 
   511: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   512: 
   513: 	PORT_START	// IN4 - $700004.w
   514: 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
   515: 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
   516: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
   517: 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, "Test", KEYCODE_F1, IP_JOY_NONE )
   518: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   519: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   520: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   521: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   522: 
   523: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   524: INPUT_PORTS_END
   525: 
   526: 
   527: /***************************************************************************
   528:                       Wakakusamonogatari Mahjong Yonshimai
   529: ***************************************************************************/
   530: 
   531: INPUT_PORTS_START( mj4simai )
   532: 	PORT_START	// IN0 - $600300.w
   533: 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
   534: 	PORT_DIPSETTING(      0x0000, DEF_STR( 5C_1C ) )
   535: 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_1C ) )
   536: 	PORT_DIPSETTING(      0x0002, DEF_STR( 3C_1C ) )
   537: 	PORT_DIPSETTING(      0x0003, DEF_STR( 2C_1C ) )
   538: 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
   539: 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
   540: 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
   541: 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_4C ) )
   542: 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
   543: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   544: 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
   545: 	PORT_DIPNAME( 0x0010, 0x0010, "Tumo Pin" )
   546: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   547: 	PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
   548: 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Flip_Screen ) )
   549: 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
   550: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   551: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) )
   552: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   553: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   554: 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
   555: 
   556: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   557: 
   558: 	PORT_START	// IN1 - $600302.w
   559: 	PORT_DIPNAME( 0x0007, 0x0004, DEF_STR( Difficulty ) )
   560: 	PORT_DIPSETTING(      0x0004, "0" )
   561: 	PORT_DIPSETTING(      0x0003, "1" )
   562: 	PORT_DIPSETTING(      0x0002, "2" )
   563: 	PORT_DIPSETTING(      0x0001, "3" )
   564: 	PORT_DIPSETTING(      0x0000, "4" )
   565: 	PORT_DIPSETTING(      0x0007, "5" )
   566: 	PORT_DIPSETTING(      0x0006, "6" )
   567: 	PORT_DIPSETTING(      0x0005, "7" )
   568: 	PORT_DIPNAME( 0x0008, 0x0008, "Allow Continue" )
   569: 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
   570: 	PORT_DIPSETTING(      0x0008, DEF_STR( Yes ) )
   571: 	PORT_DIPNAME( 0x0010, 0x0000, "Select Girl" )
   572: 	PORT_DIPSETTING(      0x0010, DEF_STR( No ) )
   573: 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
   574: 	PORT_DIPNAME( 0x0020, 0x0000, "Com Put" )
   575: 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
   576: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   577: 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
   578: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   579: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   580: 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
   581: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   582: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   583: 
   584: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   585: 
   586: 	PORT_START	// IN2 - $600100.w
   587: 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
   588: 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
   589: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
   590: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   591: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   592: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   593: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   594: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   595: 
   596: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   597: 
   598: 	PORT_START	// IN3 - $600000(0)
   599: 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
   600: 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
   601: 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
   602: 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
   603: 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
   604: 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1                              )
   605: 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
   606: 
   607: 	PORT_START	// IN4 - $600000(1)
   608: 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
   609: 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
   610: 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
   611: 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
   612: 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
   613: 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "Bet",   KEYCODE_2,        IP_JOY_NONE )
   614: 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
   615: 
   616: 	PORT_START	// IN5 - $600000(2)
   617: 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
   618: 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
   619: 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
   620: 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
   621: 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
   622: 	PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
   623: 
   624: 	PORT_START	// IN6 - $600000(3)
   625: 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
   626: 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
   627: 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
   628: 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
   629: 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
   630: 
   631: 	PORT_START	// IN7 - $600000(4)
   632: 	PORT_BITX( 0x0001, IP_ACTIVE_LOW, 0, "Last",   KEYCODE_RALT,      IP_JOY_NONE )
   633: 	PORT_BITX( 0x0002, IP_ACTIVE_LOW, 0, "Take",   KEYCODE_RCONTROL,  IP_JOY_NONE )
   634: 	PORT_BITX( 0x0004, IP_ACTIVE_LOW, 0, "Double", KEYCODE_RSHIFT,    IP_JOY_NONE )
   635: 	PORT_BITX( 0x0008, IP_ACTIVE_LOW, 0, "Flip",   KEYCODE_X,         IP_JOY_NONE )
   636: 	PORT_BITX( 0x0010, IP_ACTIVE_LOW, 0, "Big",    KEYCODE_ENTER,     IP_JOY_NONE )
   637: 	PORT_BITX( 0x0020, IP_ACTIVE_LOW, 0, "Small",  KEYCODE_BACKSPACE, IP_JOY_NONE )
   638: 	PORT_BIT(  0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
   639: 
   640: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   641: INPUT_PORTS_END
   642: 
   643: 
   644: /***************************************************************************
   645: 							Kosodate Quiz My Angel
   646: ***************************************************************************/
   647: 
   648: INPUT_PORTS_START( myangel )
   649: 	PORT_START	// IN0 - $700300.w
   650: 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
   651: 	PORT_DIPNAME( 0x0002, 0x0002, "Unknown 1-1" )
   652: 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
   653: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   654: 	PORT_DIPNAME( 0x0004, 0x0004, "Unknown 1-2" )
   655: 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
   656: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   657: 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 1-3*" )
   658: 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
   659: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   660: 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
   661: 	PORT_DIPSETTING(      0x0020, "2" )
   662: 	PORT_DIPSETTING(      0x0030, "3" )
   663: 	PORT_DIPSETTING(      0x0010, "4" )
   664: 	PORT_DIPSETTING(      0x0000, "5" )
   665: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
   666: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   667: 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
   668: 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) )
   669: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   670: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   671: 
   672: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   673: 
   674: 	PORT_START	// IN1 - $700302.w
   675: 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
   676: 	PORT_DIPSETTING(      0x0002, DEF_STR( 4C_1C ) )
   677: 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
   678: 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
   679: 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
   680: 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_3C ) )
   681: 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
   682: 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
   683: 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
   684: 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
   685: 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
   686: 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
   687: 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
   688: 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
   689: 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
   690: 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
   691: 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
   692: 	PORT_DIPNAME( 0x0010, 0x0010, "Unknown 2-4" )
   693: 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
   694: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   695: 	PORT_DIPNAME( 0x0020, 0x0020, "Unknown 2-5" )
   696: 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
   697: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   698: 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
   699: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   700: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   701: 	PORT_BITX(    0x0080, 0x0080, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Push Start To Freeze (Cheat)", IP_KEY_NONE, IP_JOY_NONE )
   702: 	PORT_DIPSETTING(      0x0080, DEF_STR( No ) )
   703: 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
   704: 
   705: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   706: 
   707: 	PORT_START	// IN2 - $700000.w
   708: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
   709: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
   710: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
   711: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
   712: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
   713: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
   714: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
   715: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1  )
   716: 
   717: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   718: 
   719: 	PORT_START	// IN3 - $700002.w
   720: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
   721: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
   722: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
   723: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
   724: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
   725: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   726: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   727: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2  )
   728: 
   729: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   730: 
   731: 	PORT_START	// IN4 - $700004.w
   732: 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
   733: 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
   734: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
   735: 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
   736: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   737: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   738: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   739: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   740: 
   741: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   742: INPUT_PORTS_END
   743: 
   744: 
   745: /***************************************************************************
   746: 							Kosodate Quiz My Angel 2
   747: ***************************************************************************/
   748: 
   749: INPUT_PORTS_START( myangel2 )
   750: 	PORT_START	// IN0 - $600300.w
   751: 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
   752: 	PORT_DIPNAME( 0x0002, 0x0002, "Unknown 1-1" )
   753: 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
   754: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   755: 	PORT_DIPNAME( 0x0004, 0x0004, "Unknown 1-2" )
   756: 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
   757: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   758: 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 1-3*" )
   759: 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
   760: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   761: 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
   762: 	PORT_DIPSETTING(      0x0020, "2" )
   763: 	PORT_DIPSETTING(      0x0030, "3" )
   764: 	PORT_DIPSETTING(      0x0010, "4" )
   765: 	PORT_DIPSETTING(      0x0000, "5" )
   766: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Demo_Sounds ) )
   767: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   768: 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
   769: 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) )
   770: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   771: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   772: 
   773: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   774: 
   775: 	PORT_START	// IN1 - $600302.w
   776: 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
   777: 	PORT_DIPSETTING(      0x0002, DEF_STR( 4C_1C ) )
   778: 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
   779: 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
   780: 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
   781: 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_3C ) )
   782: 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
   783: 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
   784: 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
   785: 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
   786: 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
   787: 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
   788: 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
   789: 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
   790: 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
   791: 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
   792: 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
   793: 	PORT_DIPNAME( 0x0010, 0x0010, "Unknown 2-4" )
   794: 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
   795: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   796: 	PORT_DIPNAME( 0x0020, 0x0020, "Unknown 2-5" )
   797: 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
   798: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   799: 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
   800: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   801: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   802: 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
   803: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   804: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   805: 
   806: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   807: 
   808: 	PORT_START	// IN2 - $600000.w
   809: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
   810: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
   811: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
   812: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
   813: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
   814: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
   815: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
   816: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1  )
   817: 
   818: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   819: 
   820: 	PORT_START	// IN3 - $600002.w
   821: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
   822: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
   823: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
   824: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
   825: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
   826: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   827: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   828: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2  )
   829: 
   830: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   831: 
   832: 	PORT_START	// IN4 - $600004.w
   833: 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
   834: 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )
   835: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
   836: 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
   837: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   838: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   839: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   840: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   841: 
   842: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   843: INPUT_PORTS_END
   844: 
   845: 
   846: /***************************************************************************
   847: 								Puzzle De Bowling
   848: ***************************************************************************/
   849: 
   850: INPUT_PORTS_START( pzlbowl )
   851: 	PORT_START	// IN0 - $400300.w
   852: 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
   853: 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
   854: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   855: 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
   856: 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Flip_Screen ) )
   857: 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
   858: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   859: 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Difficulty ) )
   860: 	PORT_DIPSETTING(      0x0030, "Easy" )
   861: 	PORT_DIPSETTING(      0x0038, "Normal" )
   862: //	PORT_DIPSETTING(      0x0028, "Normal" )
   863: //	PORT_DIPSETTING(      0x0020, "Normal" )
   864: //	PORT_DIPSETTING(      0x0018, "Normal" )
   865: //	PORT_DIPSETTING(      0x0010, "Normal" )
   866: //	PORT_DIPSETTING(      0x0008, "Normal" )
   867: 	PORT_DIPSETTING(      0x0000, "Hard" )
   868: 	PORT_DIPNAME( 0x00c0, 0x00c0, "Winning Rounds (Player VS Player)" )
   869: 	PORT_DIPSETTING(      0x0040, "1" )
   870: 	PORT_DIPSETTING(      0x00c0, "2" )
   871: //	PORT_DIPSETTING(      0x0000, "2" )
   872: 	PORT_DIPSETTING(      0x0080, "3" )
   873: 
   874: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   875: 
   876: 	PORT_START	// IN1 - $400302.w
   877: 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coinage ) )
   878: 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
   879: 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
   880: 	PORT_DIPSETTING(      0x0004, DEF_STR( 3C_2C ) )
   881: //	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_1C ) )
   882: 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
   883: 	PORT_DIPSETTING(      0x0003, DEF_STR( 3C_4C ) )
   884: 	PORT_DIPSETTING(      0x0007, DEF_STR( 2C_3C ) )
   885: 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
   886: 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_5C ) )
   887: //	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
   888: 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_3C ) )
   889: 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
   890: 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
   891: 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
   892: 	PORT_DIPSETTING(      0x0009, DEF_STR( 1C_7C ) )
   893: 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
   894: 	PORT_DIPNAME( 0x0010, 0x0010, "Allow Continue" )
   895: 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
   896: 	PORT_DIPSETTING(      0x0010, DEF_STR( Yes ) )
   897: 	PORT_DIPNAME( 0x0020, 0x0020, "Join In" )
   898: 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
   899: 	PORT_DIPSETTING(      0x0020, DEF_STR( Yes ) )
   900: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unused ) )
   901: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   902: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   903: 	PORT_DIPNAME( 0x0080, 0x0000, "Language" )
   904: 	PORT_DIPSETTING(      0x0000, "English" )
   905: 	PORT_DIPSETTING(      0x0080, "Japanese" )
   906: 
   907: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   908: 
   909: 	PORT_START	// IN2 - $500000.w
   910: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
   911: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
   912: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
   913: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
   914: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
   915: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
   916: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
   917: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1 )
   918: 
   919: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   920: 
   921: 	PORT_START	// IN3 - $500002.w
   922: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
   923: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
   924: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
   925: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
   926: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
   927: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
   928: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
   929: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2 )
   930: 
   931: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   932: 
   933: 	PORT_START	// IN4 - $500004.w
   934: 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
   935: 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )	// unused, test mode shows it
   936: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
   937: 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, "Test", KEYCODE_F1, IP_JOY_NONE )
   938: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   939: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   940: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   941: 	PORT_BIT(  0x0080, IP_ACTIVE_HIGH, IPT_SPECIAL  )	// Protection?
   942: 
   943: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   944: INPUT_PORTS_END
   945: 
   946: 
   947: /***************************************************************************
   948: 							Penguin Bros
   949: ***************************************************************************/
   950: 
   951: INPUT_PORTS_START( penbros )
   952: 	PORT_START	// IN0 - $500300.w
   953: 	PORT_SERVICE( 0x0001, IP_ACTIVE_LOW )
   954: 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
   955: 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
   956: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   957: 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unused ) )
   958: 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
   959: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   960: 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
   961: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   962: 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
   963: 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
   964: 	PORT_DIPSETTING(      0x0020, DEF_STR( 3C_1C ) )
   965: 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
   966: 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
   967: 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_2C ) )
   968: 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
   969: 	PORT_DIPSETTING(      0x0080, DEF_STR( 3C_1C ) )
   970: 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
   971: 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
   972: 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_2C ) )
   973: 
   974: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   975: 
   976: 	PORT_START	// IN1 - $500302.w
   977: 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
   978: 	PORT_DIPSETTING(      0x0002, "Easy" )
   979: 	PORT_DIPSETTING(      0x0003, "Normal" )
   980: 	PORT_DIPSETTING(      0x0001, "Hard" )
   981: 	PORT_DIPSETTING(      0x0000, "Hardest" )
   982: 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Lives ) )
   983: 	PORT_DIPSETTING(      0x0000, "2" )
   984: 	PORT_DIPSETTING(      0x000c, "3" )
   985: 	PORT_DIPSETTING(      0x0004, "4" )
   986: 	PORT_DIPSETTING(      0x0008, "5" )
   987: 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Bonus_Life ) )
   988: 	PORT_DIPSETTING(      0x0010, "150k and 500k" )
   989: 	PORT_DIPSETTING(      0x0030, "200k and 700k" )
   990: 	PORT_DIPSETTING(      0x0000, "Every 250k" )	// no extra life after the one at 1500k
   991: 	PORT_DIPSETTING(      0x0020, "None" )
   992: 	PORT_DIPNAME( 0x00c0, 0x00c0, "Winning Rounds (Player VS Player)" )
   993: 	PORT_DIPSETTING(      0x00c0, "2" )
   994: 	PORT_DIPSETTING(      0x0040, "3" )
   995: 	PORT_DIPSETTING(      0x0080, "4" )
   996: 	PORT_DIPSETTING(      0x0000, "5" )
   997: 
   998: 	PORT_BIT(     0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
   999: 
  1000: 	PORT_START	// IN2 - $600000.w
  1001: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
  1002: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
  1003: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
  1004: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
  1005: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
  1006: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
  1007: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )	// unsure if used
  1008: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START1 )
  1009: 
  1010: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1011: 
  1012: 	PORT_START	// IN3 - $600002.w
  1013: 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
  1014: 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
  1015: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
  1016: 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
  1017: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
  1018: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
  1019: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )	// unsure if used
  1020: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_START2 )
  1021: 
  1022: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1023: 
  1024: 	PORT_START	// IN4 - $600004.w
  1025: 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 5 )
  1026: 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 5 )	// unused, test mode shows it
  1027: 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
  1028: 	PORT_BITX( 0x0008, IP_ACTIVE_LOW,  IPT_SERVICE, "Test", KEYCODE_F1, IP_JOY_NONE )
  1029: 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN )
  1030: 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_UNKNOWN )
  1031: 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_UNKNOWN )
  1032: 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_UNKNOWN )
  1033: 
  1034: 	PORT_BIT(  0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1035: INPUT_PORTS_END
  1036: 
  1037: 
  1038: /***************************************************************************
  1039: 
  1040: 
  1041: 							Graphics Layouts
  1042: 
  1043: 
  1044: ***************************************************************************/
  1045: 
  1046: static struct GfxLayout layout_4bpp_lo =
  1047: {
  1048: 	8,8,
  1049: 	RGN_FRAC(1,4),
  1050: 	4,
  1051: 	{	RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
  1052: 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
  1053: 	{	STEP8(0,1)		},
  1054: 	{	STEP8(0,8*2)	},
  1055: 	8*8*2
  1056: };
  1057: 
  1058: static struct GfxLayout layout_4bpp_hi =
  1059: {
  1060: 	8,8,
  1061: 	RGN_FRAC(1,4),
  1062: 	4,
  1063: 	{	RGN_FRAC(3,4)+8,RGN_FRAC(3,4)+0,
  1064: 		RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0		},
  1065: 	{	STEP8(0,1)		},
  1066: 	{	STEP8(0,8*2)	},
  1067: 	8*8*2
  1068: };
  1069: 
  1070: static struct GfxLayout layout_6bpp =
  1071: {
  1072: 	8,8,
  1073: 	RGN_FRAC(1,4),
  1074: 	6,
  1075: 	{
  1076: 		RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0,
  1077: 		RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
  1078: 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
  1079: 	{	STEP8(0,1)		},
  1080: 	{	STEP8(0,8*2)	},
  1081: 	8*8*2
  1082: };
  1083: 
  1084: static struct GfxLayout layout_8bpp =
  1085: {
  1086: 	8,8,
  1087: 	RGN_FRAC(1,4),
  1088: 	8,
  1089: 	{	RGN_FRAC(3,4)+8,RGN_FRAC(3,4)+0,
  1090: 		RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0,
  1091: 		RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
  1092: 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
  1093: 	{	STEP8(0,1)		},
  1094: 	{	STEP8(0,8*2)	},
  1095: 	8*8*2
  1096: };
  1097: 
  1098: static struct GfxLayout layout_3bpp_lo =
  1099: {
  1100: 	8,8,
  1101: 	RGN_FRAC(1,4),
  1102: 	3,
  1103: 	{	                RGN_FRAC(1,4)+0,
  1104: 		RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0		},
  1105: 	{	STEP8(0,1)		},
  1106: 	{	STEP8(0,8*2)	},
  1107: 	8*8*2
  1108: };
  1109: 
  1110: static struct GfxLayout layout_2bpp_hi =
  1111: {
  1112: 	8,8,
  1113: 	RGN_FRAC(1,4),
  1114: 	2,
  1115: 	{	RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0 },
  1116: 	{	STEP8(0,1)		},
  1117: 	{	STEP8(0,8*2)	},
  1118: 	8*8*2
  1119: };
  1120: 
  1121: /*	Tiles are 8bpp, but the hardware is additionally able to discard
  1122: 	some bitplanes and use the low 4 bits only, or the high 4 bits only	*/
  1123: static struct GfxDecodeInfo gfxdecodeinfo[] =
  1124: {
  1125: 	{ REGION_GFX1, 0, &layout_4bpp_lo, 0, 0x8000/16 },
  1126: 	{ REGION_GFX1, 0, &layout_4bpp_hi, 0, 0x8000/16 },
  1127: 	{ REGION_GFX1, 0, &layout_6bpp,    0, 0x8000/16 },	/* 6bpp, but 4bpp granularity */
  1128: 	{ REGION_GFX1, 0, &layout_8bpp,    0, 0x8000/16 },	/* 8bpp, but 4bpp granularity */
  1129: 	{ REGION_GFX1, 0, &layout_3bpp_lo, 0, 0x8000/16 },	/* 3bpp, but 4bpp granularity */
  1130: 	{ REGION_GFX1, 0, &layout_2bpp_hi, 0, 0x8000/16 },	/* ??? */
  1131: 	{ -1 }
  1132: };
  1133: 
  1134: 
  1135: /***************************************************************************
  1136: 
  1137: 								Machine Drivers
  1138: 
  1139: ***************************************************************************/
  1140: 
  1141: static INTERRUPT_GEN( seta2_interrupt )
  1142: {
  1143: 	switch ( cpu_getiloops() )
  1144: 	{
  1145: 		case 0:
  1146: 			/* VBlank is connected to INT0 (external interrupts pin 0) */
  1147: 			tmp68301_external_interrupt_0();
  1148: 			break;
  1149: 	}
  1150: }
  1151: 
  1152: static struct x1_010_interface x1_010_sound_intf_16MHz =
  1153: {
  1154: 	50000000/3,	/* clock */
  1155: 	YM3012_VOL(100,MIXER_PAN_LEFT,100,MIXER_PAN_RIGHT),	/* volume */
  1156: 	0x0000,		/* address */
  1157: };
  1158: 
  1159: 
  1160: static MACHINE_DRIVER_START( mj4simai )
  1161: 
  1162: 	/* basic machine hardware */
  1163: 	MDRV_CPU_ADD_TAG("main",M68000,32530400 / 2)			/* !! TMP68301 !! */
  1164: 	MDRV_CPU_MEMORY(mj4simai_readmem,mj4simai_writemem)
  1165: 	MDRV_CPU_VBLANK_INT(seta2_interrupt,1)
  1166: 
  1167: 	MDRV_FRAMES_PER_SECOND(60)
  1168: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1169: 
  1170: 	MDRV_MACHINE_INIT( tmp68301 )
  1171: 
  1172: 	/* video hardware */
  1173: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1174: 	MDRV_SCREEN_SIZE(0x200, 0x200)
  1175: 	MDRV_VISIBLE_AREA(0x40, 0x1c0-1, 0x80, 0x170-1)
  1176: 	MDRV_GFXDECODE(gfxdecodeinfo)
  1177: 	MDRV_PALETTE_LENGTH(0x8000)
  1178: 
  1179: 	MDRV_VIDEO_START(seta2)
  1180: 	MDRV_VIDEO_UPDATE(seta2)
  1181: 
  1182: 	/* sound hardware */
  1183: 	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
  1184: 	MDRV_SOUND_ADD(X1_010, x1_010_sound_intf_16MHz)
  1185: MACHINE_DRIVER_END
  1186: 
  1187: 
  1188: static MACHINE_DRIVER_START( grdians )
  1189: 
  1190: 	MDRV_IMPORT_FROM(mj4simai)
  1191: 	MDRV_CPU_MODIFY("main")
  1192: 	MDRV_CPU_MEMORY(grdians_readmem,grdians_writemem)
  1193: 
  1194: 	/* video hardware */
  1195: 	MDRV_VISIBLE_AREA(0x80, 0x80 + 0x130 -1, 0x80, 0x80 + 0xe8 -1)
  1196: MACHINE_DRIVER_END
  1197: 
  1198: 
  1199: static MACHINE_DRIVER_START( myangel )
  1200: 
  1201: 	/* basic machine hardware */
  1202: 	MDRV_IMPORT_FROM(mj4simai)
  1203: 	MDRV_CPU_MODIFY("main")
  1204: 	MDRV_CPU_MEMORY(myangel_readmem,myangel_writemem)
  1205: 
  1206: 	/* video hardware */
  1207: 	MDRV_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
  1208: 
  1209: 	MDRV_VIDEO_START(seta2_offset)
  1210: MACHINE_DRIVER_END
  1211: 
  1212: 
  1213: static MACHINE_DRIVER_START( myangel2 )
  1214: 
  1215: 	/* basic machine hardware */
  1216: 	MDRV_IMPORT_FROM(mj4simai)
  1217: 	MDRV_CPU_MODIFY("main")
  1218: 	MDRV_CPU_MEMORY(myangel2_readmem,myangel2_writemem)
  1219: 
  1220: 	/* video hardware */
  1221: 	MDRV_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
  1222: 
  1223: 	MDRV_VIDEO_START(seta2_offset)
  1224: MACHINE_DRIVER_END
  1225: 
  1226: 
  1227: static MACHINE_DRIVER_START( pzlbowl )
  1228: 
  1229: 	/* basic machine hardware */
  1230: 	MDRV_IMPORT_FROM(mj4simai)
  1231: 	MDRV_CPU_MODIFY("main")
  1232: 	MDRV_CPU_MEMORY(pzlbowl_readmem,pzlbowl_writemem)
  1233: 
  1234: 	/* video hardware */
  1235: 	MDRV_VISIBLE_AREA(0x10, 0x190-1, 0x100, 0x1f0-1)
  1236: MACHINE_DRIVER_END
  1237: 
  1238: 
  1239: static MACHINE_DRIVER_START( penbros )
  1240: 
  1241: 	/* basic machine hardware */
  1242: 	MDRV_IMPORT_FROM(mj4simai)
  1243: 	MDRV_CPU_MODIFY("main")
  1244: 	MDRV_CPU_MEMORY(penbros_readmem,penbros_writemem)
  1245: 
  1246: 	/* video hardware */
  1247: 	MDRV_VISIBLE_AREA(0, 0x140-1, 0x80, 0x160-1)
  1248: MACHINE_DRIVER_END
  1249: 
  1250: 
  1251: /***************************************************************************
  1252: 
  1253: 								ROMs Loading
  1254: 
  1255: ***************************************************************************/
  1256: 
  1257: ROM_START( grdians )
  1258: 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
  1259: 	ROM_LOAD16_BYTE( "u2.bin", 0x000000, 0x080000, CRC(36adc6f2) SHA1(544e87f88179fe1342e7a06a8948ac1828e85108) )
  1260: 	ROM_LOAD16_BYTE( "u3.bin", 0x000001, 0x080000, CRC(2704f416) SHA1(9081a12cbb9927d36e1c50b52aa2c6003810ee42) )
  1261: 	ROM_LOAD16_BYTE( "u4.bin", 0x100000, 0x080000, CRC(bb52447b) SHA1(61433f683210ab2bc2cf1cc4b5b7a39cc5b6493d) )
  1262: 	ROM_LOAD16_BYTE( "u5.bin", 0x100001, 0x080000, CRC(9c164a3b) SHA1(6d688c7af9e7e8e8d54b2e4dfbf41f59c79242eb) )
  1263: 
  1264: 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE|ROMREGION_ERASE)	/* Sprites */
  1265: 	ROM_LOAD( "u16.bin",  0x0000000, 0x400000, CRC(6a65f265) SHA1(6cad11f718f8bbcff464d41eb4717460769237ed) )
  1266: 	ROM_LOAD( "u20.bin",  0x0600000, 0x200000, CRC(a7226ab7) SHA1(408580dd35c568ffef1ebbd87359e3ec1f867020) )
  1267: 	ROM_CONTINUE(         0x0400000, 0x200000 )
  1268: 
  1269: 	ROM_LOAD( "u15.bin",  0x0800000, 0x400000, CRC(01672dcd) SHA1(f61f60e3343cc5b6ccee391ee529966a141566db) )
  1270: 	ROM_LOAD( "u19.bin",  0x0e00000, 0x200000, CRC(c0c998a0) SHA1(498fb1877527ed37412537f06a2c39ff0c60f146) )
  1271: 	ROM_CONTINUE(         0x0c00000, 0x200000 )
  1272: 
  1273: 	ROM_LOAD( "u18.bin",  0x1000000, 0x400000, CRC(967babf4) SHA1(42a6311576417c44aeaceb8ba6bb3cd7794e4882) )
  1274: 	ROM_LOAD( "u22.bin",  0x1600000, 0x200000, CRC(6239997a) SHA1(87b6d6f30f152f625f82fd858c1290176c7e156e) )
  1275: 	ROM_CONTINUE(         0x1400000, 0x200000 )
  1276: 
  1277: 	ROM_LOAD( "u17.bin",  0x1800000, 0x400000, CRC(0fad0629) SHA1(1bdc8e7c5e39e83d327f14a672ec81b049112da6) )
  1278: 	ROM_LOAD( "u21.bin",  0x1e00000, 0x200000, CRC(6f95e466) SHA1(28482fad16a3ac9302f152d81552e6f84a44f3e4) )
  1279: 	ROM_CONTINUE(         0x1c00000, 0x200000 )
  1280: 
  1281: 	ROM_REGION( 0x200000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
  1282: 	/* Leave 1MB empty (addressable by the chip) */
  1283: 	ROM_LOAD( "u32.bin", 0x100000, 0x100000, CRC(cf0f3017) SHA1(8376d3a674f71aec72f52c72758fbc53d9feb1a1) )
  1284: ROM_END
  1285: 
  1286: ROM_START( mj4simai )
  1287: 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
  1288: 	ROM_LOAD16_BYTE( "ll.u2",       0x000000, 0x080000, CRC(7be9c781) SHA1(d29e579706d98909933f6bed2ee292c88ed10d2c) )
  1289: 	ROM_LOAD16_BYTE( "lh1.u3",      0x000001, 0x080000, CRC(82aa3f72) SHA1(a93d5dc7cdf12f852a692759d91f6f2951b6b5b5) )
  1290: 	ROM_LOAD16_BYTE( "hl.u4",       0x100000, 0x080000, CRC(226063b7) SHA1(1737baffc16ff7261f887911187ece96925fa6ff) )
  1291: 	ROM_LOAD16_BYTE( "hh.u5",       0x100001, 0x080000, CRC(23aaf8df) SHA1(b3d678afce4ddef32e48d690c6d07b723dd0c28f) )
  1292: 
  1293: 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
  1294: 	ROM_LOAD( "cha-03.u16",  0x0000000, 0x400000, CRC(d367429a) SHA1(b32c215ef85c3d0a4c5550cef4f5c4c0e7030b7c) )
  1295: 	ROM_LOAD( "cha-04.u18",  0x0400000, 0x400000, CRC(7f2008c3) SHA1(e45d863540eb2381f5d7660d64cdfef87c890768) )
  1296: 	ROM_LOAD( "cha-05.u15",  0x0800000, 0x400000, CRC(e94ec40a) SHA1(2685dbc5680b5f76688c6b4fbe40ae682c525bfe) )
  1297: 	ROM_LOAD( "cha-06.u17",  0x0c00000, 0x400000, CRC(5cb0b3a9) SHA1(92fb82d45b4c46326d5796981f812e20a8ddb4f2) )
  1298: 	ROM_LOAD( "cha-01.u21",  0x1000000, 0x400000, CRC(35f47b37) SHA1(4a8eb088890272f2a069e2c3f00fadf6421f7b0e) )
  1299: 	ROM_LOAD( "cha-02.u22",  0x1400000, 0x400000, CRC(f6346860) SHA1(4eebd3fa315b97964fa39b88224f9de7622ba881) )
  1300: 	ROM_FILL(                0x1800000, 0x800000, 0 )	/* 6bpp instead of 8bpp */
  1301: 
  1302: 	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
  1303: 	/* Leave 1MB empty (addressable by the chip) */
  1304: 	ROM_LOAD( "cha-07.u32",  0x100000, 0x400000, CRC(817519ee) SHA1(ed09740cdbf61a328f7b50eb569cf498fb749416) )
  1305: ROM_END
  1306: 
  1307: ROM_START( myangel )
  1308: 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
  1309: 	ROM_LOAD16_BYTE( "kq1-prge.u2", 0x000000, 0x080000, CRC(6137d4c0) SHA1(762341e11b56e4a7787a0662833b702b78aee0a9) )
  1310: 	ROM_LOAD16_BYTE( "kq1-prgo.u3", 0x000001, 0x080000, CRC(4aad10d8) SHA1(a08e1c4f57c64be829e0807ae2791da947fd60aa) )
  1311: 	ROM_LOAD16_BYTE( "kq1-tble.u4", 0x100000, 0x080000, CRC(e332a514) SHA1(dfd255239c80c48c9865e70681b9ddd175b8bf55) )
  1312: 	ROM_LOAD16_BYTE( "kq1-tblo.u5", 0x100001, 0x080000, CRC(760cab15) SHA1(fa7ea85ec2ebfaab3111b8631ea6ea3d794d449c) )
  1313: 
  1314: 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
  1315: 	ROM_LOAD( "kq1-cg2.u20", 0x000000, 0x200000, CRC(80b4e8de) SHA1(c8685c4f4e3c0415ce0ec88e0288835e504cab00) )
  1316: 	ROM_LOAD( "kq1-cg0.u16", 0x200000, 0x200000, CRC(f8ae9a05) SHA1(4f3b41386a48a1608aa96b911e6b74ca775260fb) )
  1317: 	ROM_LOAD( "kq1-cg3.u19", 0x400000, 0x200000, CRC(9bdc35c9) SHA1(fd0a1eb3dd10705bce5462263667353632558b58) )
  1318: 	ROM_LOAD( "kq1-cg1.u15", 0x600000, 0x200000, CRC(23bd7ea4) SHA1(e925bbadc33fc2586bb18283cf989ab35f28c1e9) )
  1319: 	ROM_LOAD( "kq1-cg6.u22", 0x800000, 0x200000, CRC(b25acf12) SHA1(5cca35921f3b376c3cc36f5b009eb845db2e1897) )
  1320: 	ROM_LOAD( "kq1-cg4.u18", 0xa00000, 0x200000, CRC(dca7f8f2) SHA1(20595c7940a28d01bdc6610b67aaaeac61ba92e2) )
  1321: 	ROM_LOAD( "kq1-cg7.u21", 0xc00000, 0x200000, CRC(9f48382c) SHA1(80dfc33a55123b5d3cdb3ed97b43a527f0254d61) )
  1322: 	ROM_LOAD( "kq1-cg5.u17", 0xe00000, 0x200000, CRC(a4bc4516) SHA1(0eb11fa54d16bba1b96f9dd943a68949a3bb9a2f) )
  1323: 
  1324: 	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
  1325: 	/* Leave 1MB empty (addressable by the chip) */
  1326: 	ROM_LOAD( "kq1-snd.u32", 0x100000, 0x200000, CRC(8ca1b449) SHA1(f54096fb5400843af4879135c96760485b6cb319) )
  1327: ROM_END
  1328: 
  1329: ROM_START( myangel2 )
  1330: 	ROM_REGION( 0x200000, REGION_CPU1, 0 )		/* TMP68301 Code */
  1331: 	ROM_LOAD16_BYTE( "kqs1ezpr.u2", 0x000000, 0x080000, CRC(2469aac2) SHA1(7dade2de31252e305d24c659c4801dd4687ad1f6) )
  1332: 	ROM_LOAD16_BYTE( "kqs1ozpr.u3", 0x000001, 0x080000, CRC(6336375c) SHA1(72089f77e94832e74e0512944acadeccd0dec8b0) )
  1333: 	ROM_LOAD16_BYTE( "kqs1e-tb.u4", 0x100000, 0x080000, CRC(e759b4cc) SHA1(4f806a144a47935b2710f8af800ec0d771f12a18) )
  1334: 	ROM_LOAD16_BYTE( "kqs1o-tb.u5", 0x100001, 0x080000, CRC(b6168737) SHA1(4c3de877c0c1dca1c43ac737a0bf231335237d3a) )
  1335: 
  1336: 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
  1337: 	ROM_LOAD( "kqs1-cg4.u20", 0x0000000, 0x200000, CRC(d1802241) SHA1(52c45a13d46f7ee8043e85b99d07b1765ca93dcc) )
  1338: 	ROM_LOAD( "kqs1-cg0.u16", 0x0200000, 0x400000, CRC(c21a33a7) SHA1(bc6f479a8f4c716ba79a725f160ddeb95fdedbcb) )
  1339: 	ROM_LOAD( "kqs1-cg5.u19", 0x0600000, 0x200000, CRC(d86cf19c) SHA1(da5a5b576ce107433605b24d8b9dcd0abd46bcde) )
  1340: 	ROM_LOAD( "kqs1-cg1.u15", 0x0800000, 0x400000, CRC(dca799ba) SHA1(8379b11472c27b1945fe7fc274c7fedf756accba) )
  1341: 	ROM_LOAD( "kqs1-cg6.u22", 0x0c00000, 0x200000, CRC(3f08886b) SHA1(054546ae44ffa5d0973f4ead080fe720a340e144) )
  1342: 	ROM_LOAD( "kqs1-cg2.u18", 0x0e00000, 0x400000, CRC(f7f92c7e) SHA1(24a525a15fded0de6e382b346da6bd5e7b9eced5) )
  1343: 	ROM_LOAD( "kqs1-cg7.u21", 0x1200000, 0x200000, CRC(2c977904) SHA1(2589447f2471cdc414266b34aff552044c680d93) )
  1344: 	ROM_LOAD( "kqs1-cg3.u17", 0x1400000, 0x400000, CRC(de3b2191) SHA1(d7d6ea07b665cfd834747d3c0776b968ce03bc6a) )
  1345: 
  1346: 	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
  1347: 	/* Leave 1MB empty (addressable by the chip) */
  1348: 	ROM_LOAD( "kqs1-snd.u32", 0x100000, 0x400000, CRC(792a6b49) SHA1(341b4e8f248b5032217733bada32e353c67e3888) )
  1349: ROM_END
  1350: 
  1351: ROM_START( pzlbowl )
  1352: 	ROM_REGION( 0x100000, REGION_CPU1, 0 )		/* TMP68301 Code */
  1353: 	ROM_LOAD16_BYTE( "kup-u06.i03", 0x000000, 0x080000, CRC(314e03ac) SHA1(999398e55161dd75570d418f4c9899e3bf311cc8) )
  1354: 	ROM_LOAD16_BYTE( "kup-u07.i03", 0x000001, 0x080000, CRC(a0423a04) SHA1(9539023c5c2f2bf72ee3fb6105443ffd3d61e2f8) )
  1355: 
  1356: 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
  1357: 	ROM_LOAD( "kuc-u38.i00", 0x000000, 0x400000, CRC(3db24172) SHA1(89c39963e15c53b799994185d0c8b2e795478939) )
  1358: 	ROM_LOAD( "kuc-u39.i00", 0x400000, 0x400000, CRC(9b26619b) SHA1(ea7a0bf46641d15353217b01e761d1a148bee4e7) )
  1359: 	ROM_LOAD( "kuc-u40.i00", 0x800000, 0x400000, CRC(7e49a2cf) SHA1(d24683addbc54515c33fb620ac500e6702bd9e17) )
  1360: 	ROM_LOAD( "kuc-u41.i00", 0xc00000, 0x400000, CRC(2febf19b) SHA1(8081ac590c0463529777b5e4817305a1a6f6ea41) )
  1361: 
  1362: 	ROM_REGION( 0x500000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
  1363: 	/* Leave 1MB empty (addressable by the chip) */
  1364: 	ROM_LOAD( "kus-u18.i00", 0x100000, 0x400000, CRC(e2b1dfcf) SHA1(fb0b8be119531a1a27efa46ed7b86b05a37ed585) )
  1365: ROM_END
  1366: 
  1367: ROM_START( penbros )
  1368: 	ROM_REGION( 0x100000, REGION_CPU1, 0 )		/* TMP68301 Code */
  1369: 	ROM_LOAD16_BYTE( "u06.bin", 0x000000, 0x080000, CRC(7bbdffac) SHA1(d5766cb171b8d2e4c04a6bae37181fa5ada9d797) )
  1370: 	ROM_LOAD16_BYTE( "u07.bin", 0x000001, 0x080000, CRC(d50cda5f) SHA1(fc66f55f2070b447c5db85c948ce40adc37512f7) )
  1371: 
  1372: 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
  1373: 	ROM_LOAD( "u38.bin", 0x000000, 0x400000, CRC(4247b39e) SHA1(f273931293beced312e02c870bf35e9cf0c91a8b) )
  1374: 	ROM_LOAD( "u39.bin", 0x400000, 0x400000, CRC(f9f07faf) SHA1(66fc4a9ad422fb384d2c775e43619137226898fc) )
  1375: 	ROM_LOAD( "u40.bin", 0x800000, 0x400000, CRC(dc9e0a96) SHA1(c2c8ccf9039ee0e179b08fdd2d37f29899349cda) )
  1376: 	ROM_FILL(            0xc00000, 0x400000, 0 )	/* 6bpp instead of 8bpp */
  1377: 
  1378: 	ROM_REGION( 0x300000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
  1379: 	/* Leave 1MB empty (addressable by the chip) */
  1380: 	ROM_LOAD( "u18.bin", 0x100000, 0x200000, CRC(de4e65e2) SHA1(82d4e590c714b3e9bf0ffaf1500deb24fd315595) )
  1381: ROM_END
  1382: 
  1383: 
  1384: 
  1385: DRIVER_INIT( pzlbowl )
  1386: {
  1387: 	data16_t *ROM = (data16_t *)memory_region( REGION_CPU1 );
  1388: 
  1389: 	/* Patch out the protection check */
  1390: 	ROM[0x01d6/2] = 0x4e73;		// trap #0 routine becomes rte
  1391: }
  1392: 
  1393: 
  1394: 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.
  1395: GAMEX( 1996, mj4simai, 0, mj4simai, mj4simai, 0,        ROT0, "Maboroshi Ware",      "Wakakusamonogatari Mahjong Yonshimai (Japan)", GAME_NO_COCKTAIL )
  1396: GAMEX( 1996, myangel,  0, myangel,  myangel,  0,        ROT0, "Namco",               "Kosodate Quiz My Angel (Japan)",               GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
  1397: GAMEX( 1997, myangel2, 0, myangel2, myangel2, 0,        ROT0, "Namco",               "Kosodate Quiz My Angel 2 (Japan)",             GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
  1398: GAMEX( 1999, pzlbowl,  0, pzlbowl,  pzlbowl,  pzlbowl,  ROT0, "Nihon System / Moss", "Puzzle De Bowling (Japan)",                    GAME_NO_COCKTAIL )
  1399: GAMEX( 2000, penbros,  0, penbros,  penbros,  0,  		ROT0, "Subsino",             "Penguin Brothers (Japan)",                     GAME_NO_COCKTAIL )
  1400: 
  1401: 




powered by ggdb.com this page took approx. 0.018s