summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/playch10.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/playch10.c')
-rw-r--r--src/mame/drivers/playch10.c1746
1 files changed, 1746 insertions, 0 deletions
diff --git a/src/mame/drivers/playch10.c b/src/mame/drivers/playch10.c
new file mode 100644
index 00000000000..f3973a7e6a4
--- /dev/null
+++ b/src/mame/drivers/playch10.c
@@ -0,0 +1,1746 @@
+/***************************************************************************
+
+Playchoice 10 - (c) 1986 Nintendo of America
+
+ Written by Ernesto Corvi.
+
+ Portions of this code are heavily based on
+ Brad Oliver's MESS implementation of the NES.
+
+ Thanks to people that contributed to this driver, namely:
+ - Brad Oliver.
+ - Aaron Giles.
+
+****************************************************************************
+
+BIOS:
+ Memory Map
+ ----------
+ 0000 - 3fff = Program ROM (8T)
+ 8000 - 87ff = RAM (8V)
+ 8800 - 8fff = RAM (8W)
+ 9000 - 97ff = SRAM (8R - Videoram)
+ Cxxx = /INST ROM SEL
+ Exxx = /IDSEL
+
+ Input Ports -----------
+ Read:
+ - Port 0
+ bit0 = CHSelect(?)
+ bit1 = Enter button
+ bit2 = Reset button
+ bit3 = INTDETECT
+ bit4 = N/C
+ bit5 = Coin 2
+ bit6 = Service button
+ bit7 = Coin 1
+ - Port 1 = Dipswitch 1
+ - Port 2 = Dipswitch 2
+ - Port 3 = /DETECTCLR
+
+ Write: (always bit 0)
+ - Port 0 = SDCS (ShareD CS)
+ - Port 1 = /CNTRLMASK
+ - Port 2 = /DISPMASK
+ - Port 3 = /SOUNDMASK
+ - Port 4 = /GAMERES
+ - Port 5 = /GAMESTOP
+ - Port 6 = N/C
+ - Port 7 = N/
+ - Port 8 = NMI Enable
+ - Port 9 = DOG DI
+ - Port A = /PPURES
+ - Port B = CSEL0 \
+ - Port C = CSEL1 \ (Cartridge select: 0 to 9)
+ - Port D = CSEL2 /
+ - Port E = CSEL3 /
+ - Port F = 8UP KEY
+
+****************************************************************************
+
+Working games:
+--------------
+ - 1942 (NF) - Standard board
+ - Balloon Fight (BF) - Standard board
+ - Baseball (BA) - Standard board
+ - Baseball Stars (B9) - F board
+ - Captain Sky Hawk (YW) - i board
+ - Castlevania (CV) - B board
+ - Contra (CT) - B board
+ - Double Dragon (WD) - F board
+ - Double Dribble (DW) - B board
+ - Dr. Mario (VU) - F board
+ - Duck Hunt (DH) - Standard board
+ - Excite Bike (EB) - Standard board
+ - Fester's Quest (EQ) - F board
+ - Gauntlet (GL) - G board
+ - Golf (GF) - Standard board
+ - Gradius (GR) - A board
+ - Hogan's Alley (HA) - Standard board
+ - Kung Fu (SX) - Standard board
+ - Mario Bros. (MA) - Standard board
+ - Mario Open Golf (UG) - K board
+ - Mega Man 3 (XU) - G board
+ - Metroid (MT) - D board
+ - Ninja Gaiden (NG) - F board
+ - Ninja Gaiden 2 (NW) - G board
+ - Ninja Gaiden 3 (3N) - G board
+ - Nintendo World Cup (XZ) - G board
+ - Power Blade (7T) - G board
+ - Pro Wrestling (PW) - B board
+ - Rad Racer (RC) - D board
+ - Rad Racer II (QR) - G board
+ - RC Pro Am (PM) - F board
+ - Rescue Rangers (RU) - F board
+ - Rockin' Kats (7A) - G board
+ - Rush N' Attack (RA) - B board
+ - Rygar (RY) - B board
+ - Solar Jetman (LJ) - i board
+ - Super C (UE) - G board
+ - Super Mario Bros (SM) - Standard board
+ - Super Mario Bros 2 (MW) - G board
+ - Super Mario Bros 3 (UM) - G board
+ - Tecmo Bowl (TW) - F board
+ - Teenage Mutant Ninja Turtles (U2) - F board
+ - Teenage Mutant Ninja Turtles 2 (2N) - G board
+ - Tennis (TE) - Standard board
+ - Track & Field (TR) - A board
+ - Trojan (TJ) - B board
+ - The Goonies (GN) - C board
+ - Volley Ball (VB) - Standard board
+ - Wild Gunman (WG) - Standard board
+ - Yo Noid (YC) - F board
+
+Non working games due to mapper/nes emulation issues:
+-----------------------------------------------------
+ - Mike Tyson's Punchout (PT) - E board
+ - Pinbot (IO) - H board
+
+Non working games due to missing roms:
+--------------------------------------
+ - ShatterHand (??) - ? board
+
+****************************************************************************
+
+Dipswitches information:
+------------------------
+Steph 2000.09.07
+
+The 6 first DSWA (A-F) are used for coinage (units of time given for coin A/coin B)
+When bit 6 of DSWB (O) is ON, units of time given for coin B are divided by 2
+
+The 6 first DSWB (I-N) are used to set timer speed :
+ [0x80d5] = ( ( (IN A,02) | 0xc0 ) + 0x3c ) & 0xff
+
+When bit 7 of DSWB (P) is ON, you're in 'Freeplay' mode with 9999 units of time ...
+However, this is effective ONLY if 7 other DSWB (I-O) are OFF !
+
+I add the 32 combinations for coinage.
+
+As I don't know what is the default value for timer speed, and I don't want to write
+the 64 combinaisons, I only put some values ... Feel free to add the other ones ...
+
+ DSW A DSW B
+HGFEDCBA PONMLKJI coin A coin B
+
+xx000000 x0xxxxxx 300 0
+xx000001 x0xxxxxx 300 100
+xx000010 x0xxxxxx 300 200
+xx000011 x0xxxxxx 300 300
+xx000100 x0xxxxxx 300 400
+xx000101 x0xxxxxx 300 500
+xx000110 x0xxxxxx 300 600
+xx000111 x0xxxxxx 300 700
+xx001000 x0xxxxxx 300 800
+xx001001 x0xxxxxx 300 900
+xx001010 x0xxxxxx 150 0
+xx001011 x0xxxxxx 150 200
+xx001100 x0xxxxxx 150 400
+xx001101 x0xxxxxx 150 600
+xx001110 x0xxxxxx 150 800
+xx001111 x0xxxxxx 150 500
+xx010000 x0xxxxxx 300 1000
+xx010001 x0xxxxxx 300 1100
+xx010010 x0xxxxxx 300 1200
+xx010011 x0xxxxxx 300 1300
+xx010100 x0xxxxxx 300 1400
+xx010101 x0xxxxxx 300 1500
+xx010110 x0xxxxxx 300 1600
+xx010111 x0xxxxxx 300 1700
+xx011000 x0xxxxxx 300 1800
+xx011001 x0xxxxxx 300 1900
+xx011010 x0xxxxxx 150 1000
+xx011011 x0xxxxxx 150 1200
+xx011100 x0xxxxxx 150 1400
+xx011101 x0xxxxxx 150 1600
+xx011110 x0xxxxxx 150 1800
+xx011111 x0xxxxxx 150 1500
+xx100000 x0xxxxxx 300 2000
+xx100001 x0xxxxxx 300 2100
+xx100010 x0xxxxxx 300 2200
+xx100011 x0xxxxxx 300 2300
+xx100100 x0xxxxxx 300 2400
+xx100101 x0xxxxxx 300 2500
+xx100110 x0xxxxxx 300 2600
+xx100111 x0xxxxxx 300 2700
+xx101000 x0xxxxxx 300 2800
+xx101001 x0xxxxxx 300 2900
+xx101010 x0xxxxxx 150 2000
+xx101011 x0xxxxxx 150 2200
+xx101100 x0xxxxxx 150 2400
+xx101101 x0xxxxxx 150 2600
+xx101110 x0xxxxxx 150 2800
+xx101111 x0xxxxxx 150 2500
+xx110000 x0xxxxxx 300 3000
+xx110001 x0xxxxxx 300 3100
+xx110010 x0xxxxxx 300 3200
+xx110011 x0xxxxxx 300 3300
+xx110100 x0xxxxxx 300 3400
+xx110101 x0xxxxxx 300 3500
+xx110110 x0xxxxxx 300 3600
+xx110111 x0xxxxxx 300 3700
+xx111000 x0xxxxxx 300 3800
+xx111001 x0xxxxxx 300 3900
+xx111010 x0xxxxxx 150 3000
+xx111011 x0xxxxxx 150 3200
+xx111100 x0xxxxxx 150 3400
+xx111101 x0xxxxxx 150 3600
+xx111110 x0xxxxxx 150 3800
+xx111111 x0xxxxxx 150 3500
+
+xx000000 x1xxxxxx 300 0
+xx000001 x1xxxxxx 300 50
+xx000010 x1xxxxxx 300 100
+xx000011 x1xxxxxx 300 150
+xx000100 x1xxxxxx 300 200
+xx000101 x1xxxxxx 300 250
+xx000110 x1xxxxxx 300 300
+xx000111 x1xxxxxx 300 350
+xx001000 x1xxxxxx 300 400
+xx001001 x1xxxxxx 300 450
+xx001010 x1xxxxxx 150 0
+xx001011 x1xxxxxx 150 100
+xx001100 x1xxxxxx 150 200
+xx001101 x1xxxxxx 150 300
+xx001110 x1xxxxxx 150 400
+xx001111 x1xxxxxx 150 250
+xx010000 x1xxxxxx 300 500
+xx010001 x1xxxxxx 300 550
+xx010010 x1xxxxxx 300 600
+xx010011 x1xxxxxx 300 650
+xx010100 x1xxxxxx 300 700
+xx010101 x1xxxxxx 300 750
+xx010110 x1xxxxxx 300 800
+xx010111 x1xxxxxx 300 850
+xx011000 x1xxxxxx 300 900
+xx011001 x1xxxxxx 300 950
+xx011010 x1xxxxxx 150 500
+xx011011 x1xxxxxx 150 600
+xx011100 x1xxxxxx 150 700
+xx011101 x1xxxxxx 150 800
+xx011110 x1xxxxxx 150 750
+xx100000 x1xxxxxx 300 1000
+xx100001 x1xxxxxx 300 1050
+xx100010 x1xxxxxx 300 1100
+xx100011 x1xxxxxx 300 1150
+xx100100 x1xxxxxx 300 1200
+xx100101 x1xxxxxx 300 1250
+xx100110 x1xxxxxx 300 1300
+xx100111 x1xxxxxx 300 1350
+xx101000 x1xxxxxx 300 1400
+xx101001 x1xxxxxx 300 1450
+xx101010 x1xxxxxx 150 1000
+xx101011 x1xxxxxx 150 1100
+xx101100 x1xxxxxx 150 1200
+xx101101 x1xxxxxx 150 1300
+xx101110 x1xxxxxx 150 1400
+xx101111 x1xxxxxx 150 1250
+xx110000 x1xxxxxx 300 1500
+xx110001 x1xxxxxx 300 1550
+xx110010 x1xxxxxx 300 1600
+xx110011 x1xxxxxx 300 1650
+xx110100 x1xxxxxx 300 1700
+xx110101 x1xxxxxx 300 1750
+xx110110 x1xxxxxx 300 1800
+xx110111 x1xxxxxx 300 1850
+xx111000 x1xxxxxx 300 1900
+xx111001 x1xxxxxx 300 1950
+xx111010 x1xxxxxx 150 1500
+xx111011 x1xxxxxx 150 1600
+xx111100 x1xxxxxx 150 1700
+xx111101 x1xxxxxx 150 1800
+xx111110 x1xxxxxx 150 1750
+
+I know that the way I code the DSW isn't correct, but I don't know how to link
+O to A-F AND, at the same time, O to P ... Any help is appreciated ...
+
+****************************************************************************
+
+Notes & Todo:
+-------------
+
+- Look at Ninja Gaiden 3. It has some slight timming issues on the
+ second level. Probably related to the mapper's irq timming.
+- Fix some remaining bad gfx in Rad Racer II.
+- Implement Dipswitches properly once Mame can support it.
+- Better control layout?. This thing has odd buttons.
+- Find dumps of the rest of the RP5H01's and add the remaining games.
+- Any PPU optimizations that retain accuracy are certainly welcome.
+- Add correct Pinbot mapper.
+
+***************************************************************************/
+
+#include "driver.h"
+#include "video/ppu2c0x.h"
+#include "cpu/z80/z80.h"
+#include "machine/rp5h01.h"
+#include "sound/dac.h"
+#include "sound/nes_apu.h"
+
+#include "rendlay.h"
+
+/* clock frequency */
+#define N2A03_DEFAULTCLOCK (21477272.724 / 12)
+
+/* from video */
+extern WRITE8_HANDLER( playch10_videoram_w );
+extern PALETTE_INIT( playch10 );
+extern VIDEO_START( playch10 );
+extern VIDEO_UPDATE( playch10 );
+
+/* from machine */
+extern MACHINE_RESET( pc10 );
+extern DRIVER_INIT( playch10 ); /* standard games */
+extern DRIVER_INIT( pc_gun ); /* gun games */
+extern DRIVER_INIT( pc_hrz ); /* horizontal games */
+extern DRIVER_INIT( pcaboard ); /* a-board games */
+extern DRIVER_INIT( pcbboard ); /* b-board games */
+extern DRIVER_INIT( pccboard ); /* c-board games */
+extern DRIVER_INIT( pcdboard ); /* d-board games */
+extern DRIVER_INIT( pcdboard_2 ); /* d-board games with extra ram */
+extern DRIVER_INIT( pceboard ); /* e-board games */
+extern DRIVER_INIT( pcfboard ); /* f-board games */
+extern DRIVER_INIT( pcfboard_2 ); /* f-board games with extra ram */
+extern DRIVER_INIT( pcgboard ); /* g-board games */
+extern DRIVER_INIT( pcgboard_type2 ); /* g-board games with 4 screen mirror */
+extern DRIVER_INIT( pchboard ); /* h-board games */
+extern DRIVER_INIT( pciboard ); /* i-board games */
+extern DRIVER_INIT( pckboard ); /* k-board games */
+extern READ8_HANDLER( pc10_port_0_r );
+extern READ8_HANDLER( pc10_instrom_r );
+extern READ8_HANDLER( pc10_prot_r );
+extern READ8_HANDLER( pc10_detectclr_r );
+extern READ8_HANDLER( pc10_in0_r );
+extern READ8_HANDLER( pc10_in1_r );
+extern WRITE8_HANDLER( pc10_SDCS_w );
+extern WRITE8_HANDLER( pc10_CNTRLMASK_w );
+extern WRITE8_HANDLER( pc10_DISPMASK_w );
+extern WRITE8_HANDLER( pc10_SOUNDMASK_w );
+extern WRITE8_HANDLER( pc10_NMIENABLE_w );
+extern WRITE8_HANDLER( pc10_DOGDI_w );
+extern WRITE8_HANDLER( pc10_GAMERES_w );
+extern WRITE8_HANDLER( pc10_GAMESTOP_w );
+extern WRITE8_HANDLER( pc10_PPURES_w );
+extern WRITE8_HANDLER( pc10_prot_w );
+extern WRITE8_HANDLER( pc10_CARTSEL_w );
+extern WRITE8_HANDLER( pc10_in0_w );
+
+extern int pc10_sdcs;
+extern int pc10_nmi_enable;
+extern int pc10_dog_di;
+
+/******************************************************************************/
+
+/* local stuff */
+static UINT8 *ram_8w, *work_ram;
+static int up_8w;
+
+static WRITE8_HANDLER( up8w_w )
+{
+ up_8w = data & 1;
+}
+
+static READ8_HANDLER( ram_8w_r )
+{
+ if ( offset >= 0x400 && up_8w )
+ return ram_8w[offset];
+
+ return ram_8w[offset & 0x3ff];
+}
+
+static WRITE8_HANDLER( ram_8w_w )
+{
+ if ( offset >= 0x400 && up_8w )
+ ram_8w[offset] = data;
+ else
+ ram_8w[offset & 0x3ff] = data;
+}
+
+static WRITE8_HANDLER( sprite_dma_w )
+{
+ int source = ( data & 7 );
+ ppu2c0x_spriteram_dma( 0, source );
+}
+
+static NVRAM_HANDLER( playch10 )
+{
+ UINT8 *mem = memory_region( REGION_CPU2 ) + 0x6000;
+
+ if ( read_or_write )
+ mame_fwrite( file, mem, 0x1000 );
+ else if (file)
+ mame_fread( file, mem, 0x1000 );
+ else
+ memset(mem, 0, 0x1000);
+}
+
+/* Only used in single monitor bios */
+static UINT8 *timedata;
+
+static WRITE8_HANDLER( time_w )
+{
+ if(data == 0xf)
+ data = 0;
+
+ timedata[offset] = data;
+
+ popmessage("Time: %d%d%d%d",timedata[3],timedata[2],timedata[1],timedata[0]);
+}
+
+static READ8_HANDLER( psg_4015_r )
+{
+ return NESPSG_0_r(0x15);
+}
+
+static WRITE8_HANDLER( psg_4015_w )
+{
+ NESPSG_0_w(0x15, data);
+}
+
+static WRITE8_HANDLER( psg_4017_w )
+{
+ NESPSG_0_w(0x17, data);
+}
+
+/******************************************************************************/
+
+/* BIOS */
+static ADDRESS_MAP_START( bios_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x3fff) AM_ROM
+ AM_RANGE(0x8000, 0x87ff) AM_RAM // 8V
+ AM_RANGE(0x8800, 0x8fff) AM_READWRITE(ram_8w_r, ram_8w_w) AM_BASE(&ram_8w) // 8W
+ AM_RANGE(0x9000, 0x97ff) AM_RAM AM_WRITE(playch10_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc000, 0xdfff) AM_ROM
+ AM_RANGE(0xe000, 0xffff) AM_READWRITE(pc10_prot_r, pc10_prot_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( bios_io_map, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
+ AM_RANGE(0x00, 0x00) AM_READWRITE(pc10_port_0_r, pc10_SDCS_w)
+ AM_RANGE(0x01, 0x01) AM_READWRITE(input_port_1_r, pc10_CNTRLMASK_w)
+ AM_RANGE(0x02, 0x02) AM_READWRITE(input_port_2_r, pc10_DISPMASK_w)
+ AM_RANGE(0x03, 0x03) AM_READWRITE(pc10_detectclr_r, pc10_SOUNDMASK_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(pc10_GAMERES_w)
+ AM_RANGE(0x05, 0x05) AM_WRITE(pc10_GAMESTOP_w)
+ AM_RANGE(0x06, 0x07) AM_WRITENOP
+ AM_RANGE(0x08, 0x08) AM_WRITE(pc10_NMIENABLE_w)
+ AM_RANGE(0x09, 0x09) AM_WRITE(pc10_DOGDI_w)
+ AM_RANGE(0x0a, 0x0a) AM_WRITE(pc10_PPURES_w)
+ AM_RANGE(0x0b, 0x0e) AM_WRITE(pc10_CARTSEL_w)
+ AM_RANGE(0x0f, 0x0f) AM_WRITE(up8w_w)
+ AM_RANGE(0x10, 0x13) AM_WRITE(time_w) AM_BASE(&timedata)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( cart_map, ADDRESS_SPACE_PROGRAM, 8 )
+ AM_RANGE(0x0000, 0x07ff) AM_RAM AM_MIRROR(0x1800) AM_BASE(&work_ram)
+ AM_RANGE(0x2000, 0x3fff) AM_READWRITE(ppu2c0x_0_r, ppu2c0x_0_w)
+ AM_RANGE(0x4011, 0x4011) AM_WRITE(DAC_0_data_w)
+ AM_RANGE(0x4000, 0x4013) AM_READWRITE(NESPSG_0_r, NESPSG_0_w)
+ AM_RANGE(0x4014, 0x4014) AM_WRITE(sprite_dma_w)
+ AM_RANGE(0x4015, 0x4015) AM_READWRITE(psg_4015_r, psg_4015_w) /* PSG status / first control register */
+ AM_RANGE(0x4016, 0x4016) AM_READWRITE(pc10_in0_r, pc10_in0_w)
+ AM_RANGE(0x4017, 0x4017) AM_READWRITE(pc10_in1_r, psg_4017_w) /* IN1 - input port 2 / PSG second control register */
+ AM_RANGE(0x8000, 0xffff) AM_ROM
+ADDRESS_MAP_END
+
+/******************************************************************************/
+
+static INPUT_PORTS_START( playch10 )
+ PORT_START_TAG("BIOS")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Channel Select") PORT_CODE(KEYCODE_0)
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Enter") PORT_CODE(KEYCODE_MINUS)
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Reset") PORT_CODE(KEYCODE_EQUALS)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) // INT Detect
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SERVICE1 )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 )
+
+/*
+
+ The correct way to handle DIPs according to the manual.
+ Doesn't work due to limitations of the conditional DIPs
+ implementation in MAME.
+
+
+ PORT_START_TAG("SW1")
+ PORT_DIPNAME( 0x3f, 0x09, "Prime Time Bonus" )
+ // STANDARD TIME (no bonus)
+ PORT_DIPSETTING( 0x00, "0%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ // PRIME TIME (bonus) for 2 COINS
+ PORT_DIPSETTING( 0x07, "8%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x08, "17%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x09, "25%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x10, "33%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x11, "42%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x12, "50%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x13, "58%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x14, "67%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x15, "75%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x16, "83%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x17, "92%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x18, "100%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ // PRIME TIME (bonus) for 4 COINS
+ PORT_DIPSETTING( 0x04, "8%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x05, "17%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x06, "25%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x07, "33%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x08, "42%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x09, "50%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x10, "58%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x11, "67%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x12, "75%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x13, "83%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x14, "92%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x15, "100%" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
+
+ PORT_START_TAG("SW2")
+ PORT_DIPNAME( 0x3f, 0x28, "Play Time/Coin" )
+ // STANDARD TIME (no bonus)
+ PORT_DIPSETTING( 0x3f, DEF_STR( Free_Play ) ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x23, "2:00 (120)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x21, "2:10 (130)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x1f, "2:20 (140)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x1d, "2:30 (150)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x1b, "2:40 (160)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x19, "2:50 (170)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x17, "3:00 (180)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x15, "3:10 (190)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x13, "3:20 (200)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x11, "3:30 (210)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x0f, "3:40 (220)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x0d, "3:50 (230)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x0b, "4:00 (240)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x09, "4:10 (250)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x07, "4:20 (260)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x05, "4:30 (270)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x03, "4:40 (280)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ PORT_DIPSETTING( 0x01, "4:50 (290)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0xc0 )
+ // PRIME TIME (bonus) for 2 COINS
+ PORT_DIPSETTING( 0x1c, "2:00 (120)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x1e, "2:10 (130)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x20, "2:20 (140)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x22, "2:30 (150)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x24, "2:40 (160)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x26, "2:50 (170)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x28, "3:00 (180)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x2a, "3:10 (190)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x2c, "3:20 (200)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x2e, "3:30 (210)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x30, "3:40 (220)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x32, "3:50 (230)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ PORT_DIPSETTING( 0x34, "4:00 (240)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x80 )
+ // PRIME TIME (bonus) for 4 COINS
+ PORT_DIPSETTING( 0x1c, "2:00 (120)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x1e, "2:10 (130)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x20, "2:20 (140)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x22, "2:30 (150)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x24, "2:40 (160)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x26, "2:50 (170)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x28, "3:00 (180)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x2a, "3:10 (190)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x2c, "3:20 (200)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x2e, "3:30 (210)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x30, "3:40 (220)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x32, "3:50 (230)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+ PORT_DIPSETTING( 0x34, "4:00 (240)" ) PORT_CONDITION("SW2", 0xc0, PORTCOND_EQUALS, 0x00 )
+
+ PORT_DIPNAME( 0xc0, 0x80, "Bonus" )
+ PORT_DIPSETTING( 0xc0, "Standard Time" )
+ PORT_DIPSETTING( 0x80, "Prime Time for 2 Coins" )
+ PORT_DIPSETTING( 0x00, "Prime Time for 4 Coins" )
+*/
+ PORT_START_TAG("SW1")
+ PORT_DIPNAME( 0x3f, 0x00, "Units of time (coin A/coin B)" )
+ PORT_DIPSETTING( 0x00, "300/0" )
+ PORT_DIPSETTING( 0x01, "300/100" )
+ PORT_DIPSETTING( 0x02, "300/200" )
+ PORT_DIPSETTING( 0x03, "300/300" )
+ PORT_DIPSETTING( 0x04, "300/400" )
+ PORT_DIPSETTING( 0x05, "300/500" )
+ PORT_DIPSETTING( 0x06, "300/600" )
+ PORT_DIPSETTING( 0x07, "300/700" )
+ PORT_DIPSETTING( 0x08, "300/800" )
+ PORT_DIPSETTING( 0x09, "300/900" )
+ PORT_DIPSETTING( 0x0a, "150/0" )
+ PORT_DIPSETTING( 0x0b, "150/200" )
+ PORT_DIPSETTING( 0x0c, "150/400" )
+ PORT_DIPSETTING( 0x0f, "150/500" )
+ PORT_DIPSETTING( 0x0d, "150/600" )
+ PORT_DIPSETTING( 0x0e, "150/800" )
+ PORT_DIPSETTING( 0x10, "300/1000" )
+ PORT_DIPSETTING( 0x11, "300/1100" )
+ PORT_DIPSETTING( 0x12, "300/1200" )
+ PORT_DIPSETTING( 0x13, "300/1300" )
+ PORT_DIPSETTING( 0x14, "300/1400" )
+ PORT_DIPSETTING( 0x15, "300/1500" )
+ PORT_DIPSETTING( 0x16, "300/1600" )
+ PORT_DIPSETTING( 0x17, "300/1700" )
+ PORT_DIPSETTING( 0x18, "300/1800" )
+ PORT_DIPSETTING( 0x19, "300/1900" )
+ PORT_DIPSETTING( 0x1a, "150/1000" )
+ PORT_DIPSETTING( 0x1b, "150/1200" )
+ PORT_DIPSETTING( 0x1c, "150/1400" )
+ PORT_DIPSETTING( 0x1f, "150/1500" )
+ PORT_DIPSETTING( 0x1d, "150/1600" )
+ PORT_DIPSETTING( 0x1e, "150/1800" )
+ PORT_DIPSETTING( 0x20, "300/2000" )
+ PORT_DIPSETTING( 0x21, "300/2100" )
+ PORT_DIPSETTING( 0x22, "300/2200" )
+ PORT_DIPSETTING( 0x23, "300/2300" )
+ PORT_DIPSETTING( 0x24, "300/2400" )
+ PORT_DIPSETTING( 0x25, "300/2500" )
+ PORT_DIPSETTING( 0x26, "300/2600" )
+ PORT_DIPSETTING( 0x27, "300/2700" )
+ PORT_DIPSETTING( 0x28, "300/2800" )
+ PORT_DIPSETTING( 0x29, "300/2900" )
+ PORT_DIPSETTING( 0x2a, "150/2000" )
+ PORT_DIPSETTING( 0x2b, "150/2200" )
+ PORT_DIPSETTING( 0x2c, "150/2400" )
+ PORT_DIPSETTING( 0x2f, "150/2500" )
+ PORT_DIPSETTING( 0x2d, "150/2600" )
+ PORT_DIPSETTING( 0x2e, "150/2800" )
+ PORT_DIPSETTING( 0x30, "300/3000" )
+ PORT_DIPSETTING( 0x31, "300/3100" )
+ PORT_DIPSETTING( 0x32, "300/3200" )
+ PORT_DIPSETTING( 0x33, "300/3300" )
+ PORT_DIPSETTING( 0x34, "300/3400" )
+ PORT_DIPSETTING( 0x35, "300/3500" )
+ PORT_DIPSETTING( 0x36, "300/3600" )
+ PORT_DIPSETTING( 0x37, "300/3700" )
+ PORT_DIPSETTING( 0x38, "300/3800" )
+ PORT_DIPSETTING( 0x39, "300/3900" )
+ PORT_DIPSETTING( 0x3a, "150/3000" )
+ PORT_DIPSETTING( 0x3b, "150/3200" )
+ PORT_DIPSETTING( 0x3c, "150/3400" )
+ PORT_DIPSETTING( 0x3f, "150/3500" )
+ PORT_DIPSETTING( 0x3d, "150/3600" )
+ PORT_DIPSETTING( 0x3e, "150/3800" )
+ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_SERVICE( 0x80, IP_ACTIVE_HIGH )
+
+ PORT_START_TAG("SW2")
+ PORT_DIPNAME( 0x40, 0x00, "Coin Mode" )
+ PORT_DIPSETTING( 0x00, "Mode 1" )
+ PORT_DIPSETTING( 0x40, "Mode 2" )
+ PORT_DIPNAME( 0xbf, 0x3f, "Timer speed" )
+ PORT_DIPSETTING( 0x05, "60 units per second" )
+ PORT_DIPSETTING( 0x06, "30 units per second" )
+ PORT_DIPSETTING( 0x07, "20 units per second" )
+ PORT_DIPSETTING( 0x08, "15 units per second" )
+ PORT_DIPSETTING( 0x0a, "10 units per second" )
+ PORT_DIPSETTING( 0x0e, "6 units per second" )
+ PORT_DIPSETTING( 0x10, "5 units per second" )
+ PORT_DIPSETTING( 0x13, "4 units per second" )
+ PORT_DIPSETTING( 0x18, "3 units per second" )
+ PORT_DIPSETTING( 0x22, "2 units per second" )
+ PORT_DIPSETTING( 0x3f, "1 unit per second" )
+ PORT_DIPSETTING( 0x00, "1 unit every 4 seconds" )
+ PORT_DIPSETTING( 0x80, DEF_STR( Free_Play ) )
+
+ PORT_START_TAG("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Button B")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Button A")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Game Select") PORT_CODE(KEYCODE_1)
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Start") PORT_CODE(KEYCODE_2)
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
+
+ PORT_START_TAG("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P2 Button A") PORT_PLAYER(2)
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P2 Button B") PORT_PLAYER(2)
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) // wired to 1p select button
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) // wired to 1p start button
+ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
+ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
+ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
+ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
+INPUT_PORTS_END
+
+/*Input Ports for gun games*/
+static INPUT_PORTS_START( playc10g )
+ PORT_INCLUDE(playch10)
+
+ PORT_START // IN2 - FAKE - Gun X pos
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(30)
+
+ PORT_START // IN3 - FAKE - Gun Y pos
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(30)
+INPUT_PORTS_END
+
+
+static const gfx_layout bios_charlayout =
+{
+ 8,8, /* 8*8 characters */
+ 1024, /* 1024 characters */
+ 3, /* 3 bits per pixel */
+ { 0, 0x2000*8, 0x4000*8 }, /* the bitplanes are separated */
+ { 0, 1, 2, 3, 4, 5, 6, 7 },
+ { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
+ 8*8 /* every char takes 8 consecutive bytes */
+};
+
+static GFXDECODE_START( playch10 )
+ GFXDECODE_ENTRY( REGION_GFX1, 0, bios_charlayout, 0, 32 )
+GFXDECODE_END
+
+static INTERRUPT_GEN( playch10_interrupt ) {
+
+ /* LS161A, Sheet 1 - bottom left of Z80 */
+ if ( !pc10_dog_di && !pc10_nmi_enable ) {
+ cpunum_set_input_line(0, INPUT_LINE_RESET, PULSE_LINE );
+ }
+
+ else if ( pc10_nmi_enable )
+ cpunum_set_input_line(0, INPUT_LINE_NMI, PULSE_LINE);
+}
+
+static struct NESinterface nes_interface =
+{
+ REGION_CPU2
+};
+
+
+static MACHINE_DRIVER_START( playch10 )
+ // basic machine hardware
+ MDRV_CPU_ADD(Z80, 8000000/2) // 4 MHz
+ MDRV_CPU_PROGRAM_MAP(bios_map, 0)
+ MDRV_CPU_IO_MAP(bios_io_map, 0)
+ MDRV_CPU_VBLANK_INT(playch10_interrupt, 1)
+
+ MDRV_CPU_ADD(N2A03, N2A03_DEFAULTCLOCK)
+ MDRV_CPU_PROGRAM_MAP(cart_map, 0)
+
+ MDRV_MACHINE_RESET(pc10)
+
+ // video hardware
+ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
+ MDRV_GFXDECODE(playch10)
+ MDRV_PALETTE_LENGTH(256+8*4*16)
+ MDRV_DEFAULT_LAYOUT(layout_dualhuov)
+
+ MDRV_SCREEN_ADD("top", 0x000)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_REFRESH_RATE(60)
+ MDRV_SCREEN_SIZE(32*8, 262)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
+
+ MDRV_SCREEN_ADD("bottom", 0x000)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_REFRESH_RATE(60)
+ MDRV_SCREEN_SIZE(32*8, 262)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 30*8-1)
+
+ MDRV_PALETTE_INIT(playch10)
+ MDRV_VIDEO_START(playch10)
+ MDRV_VIDEO_UPDATE(playch10)
+
+ // sound hardware
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD(NES, N2A03_DEFAULTCLOCK)
+ MDRV_SOUND_CONFIG(nes_interface)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+
+ MDRV_SOUND_ADD(DAC, 0)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+MACHINE_DRIVER_END
+
+static MACHINE_DRIVER_START( playchnv )
+ MDRV_IMPORT_FROM(playch10)
+ MDRV_NVRAM_HANDLER(playch10)
+MACHINE_DRIVER_END
+
+
+/***************************************************************************
+
+ Game driver(s)
+
+***************************************************************************/
+
+#define ROM_LOAD_BIOS(bios,name,offset,length,hash) \
+ ROMX_LOAD(name, offset, length, hash, ROM_BIOS(bios+1)) /* Note '+1' */
+
+#define BIOS_CPU \
+ ROM_REGION( 0x10000, REGION_CPU1, 0 ) \
+ ROM_SYSTEM_BIOS( 0, "dual", "Dual Monitor Version" ) \
+ ROM_LOAD_BIOS( 0, "pch1-c.8t", 0x00000, 0x4000, CRC(d52fa07a) SHA1(55cabf52ae10c050c2229081a80b9fe5454ab8c5) ) \
+ ROM_SYSTEM_BIOS( 1, "single", "Single Monitor Version" ) \
+ ROM_LOAD_BIOS( 1, "pck1-c.8t", 0x00000, 0x4000, CRC(503ee8b1) SHA1(3bd20bc71cac742d1b8c1430a6426d0a19db7ad0) ) \
+
+#define BIOS_GFX \
+ ROM_REGION( 0x6000, REGION_GFX1, ROMREGION_DISPOSE ) \
+ ROM_LOAD( "pch1-c.8p", 0x00000, 0x2000, CRC(30c15e23) SHA1(69166afdb2fe827c7f1919cdf4197caccbd961fa) ) \
+ ROM_LOAD( "pch1-c.8m", 0x02000, 0x2000, CRC(c1232eee) SHA1(beaf9fa2d091a3c7f70c51e966d885b1f9f0935f) ) \
+ ROM_LOAD( "pch1-c.8k", 0x04000, 0x2000, CRC(9acffb30) SHA1(b814f10ef23f2ca445fabafcbf7f25e2d454ba8c) ) \
+ ROM_REGION( 0x0300, REGION_PROMS, 0 ) \
+ ROM_LOAD( "pch1-c.6f", 0x0000, 0x0100, CRC(e5414ca3) SHA1(d2878411cda84ffe0afb2e538a67457f51bebffb) ) \
+ ROM_LOAD( "pch1-c.6e", 0x0100, 0x0100, CRC(a2625c6e) SHA1(a448b47c9289902e26a3d3c4c7d5a7968c385e81) ) \
+ ROM_LOAD( "pch1-c.6d", 0x0200, 0x0100, CRC(1213ebd4) SHA1(0ad386fc3eab5e53c0288ad1de33639a9e461b7c) )
+
+/******************************************************************************/
+
+/* Standard Games */
+ROM_START( pc_smb ) /* Super Mario Bros. */
+ BIOS_CPU
+ ROM_LOAD( "u3sm", 0x0c000, 0x2000, CRC(4b5f717d) SHA1(c39c90f9503c4692af4a8fdb3e18ef7cf04e897f) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "u1sm", 0x08000, 0x8000, CRC(5cf548d3) SHA1(fefa1097449a3a11ebf8c6199e905996c5dc8fbd) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u2sm", 0x00000, 0x2000, CRC(867b51ad) SHA1(394badaf0b0bdd0ea279a1bca89a9d9ddc00b1b5) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(bd82d775) SHA1(e15c369d638156eeb0cd141aeeec877c62810b64) )
+ROM_END
+
+ROM_START( pc_ebike ) /* Excite Bike */
+ BIOS_CPU
+ ROM_LOAD( "u3eb", 0x0c000, 0x2000, CRC(8ff0e787) SHA1(35a6d7186dee4fd4ba015ec0db5181768411aa3c) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "u1eb", 0x0c000, 0x4000, CRC(3a94fa0b) SHA1(6239e91ccefdc017d233cbae388c6568a17ed04b) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u2eb", 0x00000, 0x2000, CRC(e5f72401) SHA1(a8bf028e1a62677e48e88cf421bb2a8051eb800c) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(a0263750) SHA1(2ab6e43c2bc4c07fc7887defc4fc81502167ef60) )
+ROM_END
+
+ROM_START( pc_1942 ) /* 1942 */
+ BIOS_CPU
+ ROM_LOAD( "u3", 0x0c000, 0x2000, CRC(415b8807) SHA1(9d6161bbc6dec5873cc6d8a570141d4af42fa232) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "u1", 0x08000, 0x8000, CRC(c4e8c04a) SHA1(d608f769333b13da9c67f07599e405944893a950) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u2", 0x00000, 0x2000, CRC(03379b76) SHA1(d2a6ca1cdd8935525f59f1d38806b2296cb12a12) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(29893c7f) SHA1(58478b7de2177c8dc1d6885bd34eeeeb5e46d7a3) )
+ROM_END
+
+ROM_START( pc_bfght ) /* Balloon Fight */
+ BIOS_CPU
+ ROM_LOAD( "bf-u3", 0x0c000, 0x2000, CRC(a9949544) SHA1(0bb9fab67769a4eaa1b903a3217dbb5ca6feddb8) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "bf-u1", 0x0c000, 0x4000, CRC(575ed2fe) SHA1(63527ea590aa79a6b09896c35021de785fd40851) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "bf-u2", 0x00000, 0x2000, CRC(c642a1df) SHA1(e73cd3d4c0bad8e6f7a1aa6a580f3817a83756a9) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(be3c42fb) SHA1(da40c57bda36d1dbacdf246e0d2579b6be616480) )
+ROM_END
+
+ROM_START( pc_bball ) /* Baseball */
+ BIOS_CPU
+ ROM_LOAD( "ba-u3", 0x0c000, 0x2000, CRC(06861a0d) SHA1(b7263280a39f544ca4ab1b4d3e8c5fe17ea95e57) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "ba-u1", 0x0c000, 0x4000, CRC(39d1fa03) SHA1(28d84cfefa81bbfd3d26e0f70f1b9f53383e54ad) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "ba-u2", 0x00000, 0x2000, CRC(cde71b82) SHA1(296ccef8a1fd9209f414ce0c788ab0dc95058242) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(7940cfc4) SHA1(9e36ceb5aac023472f48f2f06cf171bffa49a664) )
+ROM_END
+
+ROM_START( pc_golf ) /* Golf */
+ BIOS_CPU
+ ROM_LOAD( "gf-u3", 0x0c000, 0x2000, CRC(882dea87) SHA1(e3bbca36efa66231b933713dec032bbb926b36e5) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "gf-u1", 0x0c000, 0x4000, CRC(f9622bfa) SHA1(b4e341a91f614bb19c67cc0205b2443591567aea) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "gf-u2", 0x00000, 0x2000, CRC(ff6fc790) SHA1(40177839b61f375f2ad03b203328683264845b5b) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(2cd98ef6) SHA1(bd5142c6a29df674ab835c8beafff7e93712d88f) )
+ROM_END
+
+ROM_START( pc_kngfu ) /* Kung Fu */
+ BIOS_CPU
+ ROM_LOAD( "sx-u3", 0x0c000, 0x2000, CRC(ead71b7e) SHA1(e255c08f92d6188dad6b27446b0117cd7cee4364) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "sx-u1", 0x08000, 0x8000, CRC(0516375e) SHA1(55dc3550c6133f8624eb6cf3d2f145e4313c2ff6) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "sx-u2", 0x00000, 0x2000, CRC(430b49a4) SHA1(7e618dbff521c3d5ee0f3d8bb01d2e770395a6bc) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(a1687f01) SHA1(ff4c3e925ece14acfa6f51c87af310ebbe3af638) )
+ROM_END
+
+ROM_START( pc_tenis ) /* Tennis */
+ BIOS_CPU
+ ROM_LOAD( "te-u3", 0x0c000, 0x2000, CRC(6928e920) SHA1(0bdc64a6f37d8cf5e8efacc5004a6ae43a28cd60) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "te-u1", 0x0c000, 0x4000, CRC(8b2e3e81) SHA1(e54274c0b0d651458c5459d41872b1f99904d0fb) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "te-u2", 0x00000, 0x2000, CRC(3a34c45b) SHA1(2cc26a01c38ead50503dccb3ee929ba7a2b6772c) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(bcc9a48e) SHA1(a293898f17b627cdf8e7a1074ef30ad8c2392977) )
+ROM_END
+
+ROM_START( pc_vball ) /* Volley Ball */
+ BIOS_CPU
+ ROM_LOAD( "vb-u3", 0x0c000, 0x2000, CRC(9104354e) SHA1(84374b1df747800f7e70b5fb6a16fd3607b724c9) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "vb-u1", 0x08000, 0x8000, CRC(35226b99) SHA1(548787ba5ca00290da4efc9af40054dc1889014c) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "vb-u2", 0x00000, 0x2000, CRC(2415dce2) SHA1(fd89b4a542989a89c2d0467257dca57518bfa96b) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(f701863f) SHA1(78614e6b8a78384d9aeab439eb8d53a3691dd0a1) )
+ROM_END
+
+ROM_START( pc_mario ) /* Mario Bros. */
+ BIOS_CPU
+ ROM_LOAD( "ma-u3", 0x0c000, 0x2000, CRC(a426c5c0) SHA1(0cf31de3eb18f17830dd9aa3a33fe4a6947f6ceb) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "ma-u1", 0x0c000, 0x4000, CRC(75f6a9f3) SHA1(b6f88f7a2f9a49cc9182a244571730198f1edc4b) )
+
+ ROM_REGION( 0x02000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "ma-u2", 0x00000, 0x2000, CRC(10f77435) SHA1(a646c3443832ada84d31a3a8a4b34aebc17cecd5) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(79006635) SHA1(10dcb24fb7717b993110512115ab04310dc637d0) )
+ROM_END
+
+/* Gun Games */
+ROM_START( pc_duckh ) /* Duck Hunt */
+ BIOS_CPU
+ ROM_LOAD( "u3", 0x0c000, 0x2000, CRC(2f9ec5c6) SHA1(1e1b835339b030605841a032f066ccb5ca1fef20) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "u1", 0x0c000, 0x4000, CRC(90ca616d) SHA1(b742576317cd6a04caac25252d5593844c9a0bb6) )
+
+ ROM_REGION( 0x04000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u2", 0x00000, 0x2000, CRC(4e049e03) SHA1(ffad32a3bab2fb3826bc554b1b9838e837513576) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(8cd6aad6) SHA1(4543cdb55c3521e1b5d61f82d4800c414658fd6d) )
+ROM_END
+
+ROM_START( pc_hgaly ) /* Hogan's Alley */
+ BIOS_CPU
+ ROM_LOAD( "ha-u3", 0x0c000, 0x2000, CRC(a2525180) SHA1(9c981c1679c59c7b7c069f7d1cb86cb8aa280f22) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "ha-u1", 0x0c000, 0x4000, CRC(8963ae6e) SHA1(bca489ed0fb58e1e99f36c427bc0d7d805b6c61a) )
+
+ ROM_REGION( 0x04000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "ha-u2", 0x00000, 0x2000, CRC(5df42fc4) SHA1(4fcf23151d9f11c1ef1b1007dd8058f5d5fe9ab8) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(5ac61521) SHA1(75d2ad958336061e70049272ce4c88bff182f96d) )
+ROM_END
+
+ROM_START( pc_wgnmn ) /* Wild Gunman */
+ BIOS_CPU
+ ROM_LOAD( "wg-u3", 0x0c000, 0x2000, CRC(da08afe5) SHA1(0f505ccee372a37971bad7bbbb7341336ee70f97) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "wg-u1", 0x0c000, 0x4000, CRC(389960db) SHA1(6b38f2c86ef27f653a2bdb9c682ac0bc981c7db6) )
+
+ ROM_REGION( 0x04000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "wg-u2", 0x00000, 0x2000, CRC(a5e04856) SHA1(9194d89a34f687742216889cbb3e717a9ae81c92) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(def015a3) SHA1(b542828a74744d87331821635777d7715e22a15b) )
+ROM_END
+
+/* A-Board Games */
+ROM_START( pc_tkfld ) /* Track & Field */
+ BIOS_CPU
+ ROM_LOAD( "u4tr", 0x0c000, 0x2000, CRC(70184fd7) SHA1(bc6f6f942948ddf5a7130d9688f12ef5511a7a30) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "u2tr", 0x08000, 0x8000, CRC(d7961e01) SHA1(064cb6e3e5525682a1805b01ba64f2fd75462496) )
+
+ ROM_REGION( 0x08000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u3tr", 0x00000, 0x8000, CRC(03bfbc4b) SHA1(ffc4e0e1d858fb4472423ae1c1fdc1e8197c30f0) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(1e2e7f1e) SHA1(4b65f5b217586653a1d0da96539cc9bc50d989e2) )
+ROM_END
+
+ROM_START( pc_grdus ) /* Gradius */
+ BIOS_CPU
+ ROM_LOAD( "gr-u4", 0x0c000, 0x2000, CRC(27d76160) SHA1(605d58c57969c831778b95356fcf103a1d5f98a3) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "gr-u2", 0x08000, 0x8000, CRC(aa96889c) SHA1(e4380a7c0778541af8216e3ac1e14ff23fb074a9) )
+
+ ROM_REGION( 0x08000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "gr-u3", 0x00000, 0x8000, CRC(de963bec) SHA1(ecb76b5897658ebac31a07516bb2a5820279474f) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(b8d5bf8a) SHA1(1c208fa5409b6e21aa576e1b9e086e830dc26a1a) )
+ROM_END
+
+ROM_START( pc_grdue ) /* Gradius (Early version) */
+ BIOS_CPU
+ ROM_LOAD( "gr-u4", 0x0c000, 0x2000, CRC(27d76160) SHA1(605d58c57969c831778b95356fcf103a1d5f98a3) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "gr-u1e", 0x08000, 0x8000, CRC(9204a65d) SHA1(500693f8f65b1e2f09b722c5fa28b32088e22a29) )
+
+ ROM_REGION( 0x08000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "gr-u3", 0x00000, 0x8000, CRC(de963bec) SHA1(ecb76b5897658ebac31a07516bb2a5820279474f) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(b8d5bf8a) SHA1(1c208fa5409b6e21aa576e1b9e086e830dc26a1a) )
+ROM_END
+
+
+/* B-Board Games */
+ROM_START( pc_rnatk ) /* Rush N' Attack */
+ BIOS_CPU
+ ROM_LOAD( "ra-u4", 0x0c000, 0x2000, CRC(ebab7f8c) SHA1(ae46e46d878cdbc28cd42b40dae1fd1a6c1b31ed) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "ra-u1", 0x10000, 0x10000, CRC(5660b3a6) SHA1(4e7ad9be59990e4a560d87a1bac9b708074e9db1) ) /* banked */
+ ROM_LOAD( "ra-u2", 0x20000, 0x10000, CRC(2a1bca39) SHA1(ca1eebf85bea85ce7bcdf38933ae495856e17ae1) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(1f6596b2) SHA1(e50780241ae3a16811bd92eb366f642a4b5eadf3) )
+ROM_END
+
+ROM_START( pc_cntra ) /* Contra */
+ BIOS_CPU
+ ROM_LOAD( "u4ct", 0x0c000, 0x2000, CRC(431486cf) SHA1(8b8a2bcddb1dfa027c249b62659dcc7bb8ec2778) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "u1ct", 0x10000, 0x10000, CRC(9fcc91d4) SHA1(ad1742a0da87cf7f26f81a99f185f0c28b9e7e6e) ) /* banked */
+ ROM_LOAD( "u2ct", 0x20000, 0x10000, CRC(612ad51d) SHA1(4428e136b55778299bb269520b459c7112c0d6b2) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(8ab3977a) SHA1(61d3a7981fbe8a76ab7eee032059d42b50892e97) )
+ROM_END
+
+ROM_START( pc_pwrst ) /* Pro Wrestling */
+ BIOS_CPU
+ ROM_LOAD( "pw-u4", 0x0c000, 0x2000, CRC(0f03d71b) SHA1(82b94c2e4568d6de4d8cff49f3e416005a2e22ec) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "pw-u1", 0x10000, 0x08000, CRC(6242c2ce) SHA1(ea7d1cf9dece021c9a40772af7c6dcaf58b10585) ) /* banked */
+ ROM_RELOAD( 0x18000, 0x08000 )
+ ROM_LOAD( "pw-u2", 0x20000, 0x10000, CRC(ef6aa17c) SHA1(52171699eaee0b811952c5706584cff4e7cfb39a) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(4c6b7983) SHA1(377bd6267ae1d3ab13389a8adf894e116b3c9daa) )
+ROM_END
+
+ROM_START( pc_cvnia ) /* Castlevania */
+ BIOS_CPU
+ ROM_LOAD( "u4cv", 0x0c000, 0x2000, CRC(a2d4245d) SHA1(3703171d526e6de99e475afe0d942d69b89950a9) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "u1cv", 0x10000, 0x10000, CRC(add4fc52) SHA1(bbb4638a8e7660911896393d61580610a6535c62) ) /* banked */
+ ROM_LOAD( "u2cv", 0x20000, 0x10000, CRC(7885e567) SHA1(de1e5a5b4bbd0116c91564edc3d552239074e8ae) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(7da2f045) SHA1(e6048a1f94103c2896eeb33dd7f6bc639831dd7d) )
+ROM_END
+
+ROM_START( pc_dbldr ) /* Double Dribble */
+ BIOS_CPU
+ ROM_LOAD( "dw-u4", 0x0c000, 0x2000, CRC(5006eef8) SHA1(6051d4750d95cdc0a71ecec40b5be4477921ca54) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "dw-u1", 0x10000, 0x10000, CRC(78e08e61) SHA1(a278e012ac89b8ae56d4a186c99f5ea2591f87b5) ) /* banked */
+ ROM_LOAD( "dw-u2", 0x20000, 0x10000, CRC(ab554cde) SHA1(86f5788f856dd9336eaaadf8d5295435b0421486) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(9b5f4bd2) SHA1(998d2766763eb66f4052f9f16fbfb93d5b41a582) )
+ROM_END
+
+ROM_START( pc_rygar ) /* Rygar */
+ BIOS_CPU
+ ROM_LOAD( "ry-u4", 0x0c000, 0x2000, CRC(7149071b) SHA1(fbc7157eb16eedfc8808ab6224406037e41c44ef) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "ry-u1", 0x10000, 0x10000, CRC(aa2e54bc) SHA1(b44cd385d4019a535a4924a093ee9b097b850db4) ) /* banked */
+ ROM_LOAD( "ry-u2", 0x20000, 0x10000, CRC(80cb158b) SHA1(012f378e0b5a5bbd32ad837cdfa096df6843d274) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(b69309ab) SHA1(a11ae46ed4c6ae5c22bab36593a53535a257fd4f) )
+ROM_END
+
+ROM_START( pc_trjan ) /* Trojan */
+ BIOS_CPU
+ ROM_LOAD( "tj-u4", 0x0c000, 0x2000, CRC(10835e1d) SHA1(ae0f3ec8d52707088af79d00bca0871af105da36) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "tj-u1", 0x10000, 0x10000, CRC(335c0e62) SHA1(62164235dc8e2a4419cb38f4cacf7ba2f3eb536b) ) /* banked */
+ ROM_LOAD( "tj-u2", 0x20000, 0x10000, CRC(c0ddc79e) SHA1(5c23bb54eda6a55357e97d7322db453170e27598) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(14df772f) SHA1(bb1c58d53ee8c059b3a06d43ee4faf849d4f005f) )
+ROM_END
+
+/* C-Board Games */
+ROM_START( pc_goons ) /* The Goonies */
+ BIOS_CPU
+ ROM_LOAD( "gn-u3", 0x0c000, 0x2000, CRC(33adedd2) SHA1(c85151819e2550e60cbe8f7d247a8da88cb805a4) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x10000, REGION_CPU2, 0 )
+ ROM_LOAD( "gn-u1", 0x08000, 0x8000, CRC(efeb0c34) SHA1(8e0374858dce0a10ffcfc5109f8287ebdea388e8) )
+
+ ROM_REGION( 0x04000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "gn-u2", 0x00000, 0x4000, CRC(0f9c7f49) SHA1(f2fcf55d22a38a01df45393c90c73ff14b3b647c) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(cdd62d08) SHA1(e2752127ac0b1217f0216854b68a5e5957a565b3) )
+ROM_END
+
+/* D-Board Games */
+ROM_START( pc_radrc ) /* Rad Racer */
+ BIOS_CPU
+ ROM_LOAD( "rc-u5", 0x0c000, 0x2000, CRC(ae60fd08) SHA1(fa7c201499cd702d8eef545bb05b0df833d2b406) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "rc-u1", 0x10000, 0x10000, CRC(dce369a7) SHA1(d7f293956d605af7cb6b81dbb80eaa4ad482ac0e) )
+ ROM_LOAD( "rc-u2", 0x20000, 0x10000, CRC(389a79b5) SHA1(58de166d757e58c515272efc9d0bc03d1eb1086d) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(17c880f9) SHA1(41be451fcc46a746d5d31dba09f524c0af0cd214) )
+ROM_END
+
+ROM_START( pc_mtoid ) /* Metroid */
+ BIOS_CPU
+ ROM_LOAD( "mt-u5", 0x0c000, 0x2000, CRC(3dc25049) SHA1(bf0f72db9e6904f065801e490014405a734eb04e) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "mt-u1", 0x10000, 0x10000, CRC(4006ff10) SHA1(9563a6b4ff91c78ab9cbf97ea47a3f62524844d2) )
+ ROM_LOAD( "mt-u2", 0x20000, 0x10000, CRC(ace6bbd8) SHA1(ac9c22bcc33aeee18b4f42a5a628bc5e147b4c29) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(efab54c9) SHA1(1d0122b7c90a364d54bf6eaa37ce439d706a4357) )
+ROM_END
+
+/* E-Board Games */
+ROM_START( pc_miket ) /* Mike Tyson's Punchout */
+ BIOS_CPU
+ ROM_LOAD( "u5pt", 0x0c000, 0x2000, CRC(b434e567) SHA1(8e23c580b5556aacbeeb36fe36e778137c780903) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "u1pt", 0x10000, 0x20000, CRC(dfd9a2ee) SHA1(484a6793949b8cbbc65e3bcc9188bc63bb17b575) ) /* banked */
+
+ ROM_REGION( 0x20000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u3pt", 0x00000, 0x20000, CRC(570b48ea) SHA1(33de517b16b61625909d2eb5307c08b337b542c4) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(60f7ea1d) SHA1(fcc04cbd8ed233bb1358fc55800f9bb6c75b195b) )
+ROM_END
+
+/* F-Board Games */
+ROM_START( pc_ngaid ) /* Ninja Gaiden */
+ BIOS_CPU
+ ROM_LOAD( "u2ng", 0x0c000, 0x2000, CRC(7505de96) SHA1(a9cbe6d4d2d33aeecb3e041315fbb266c886ebf1) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "u4ng", 0x10000, 0x20000, CRC(5f1e7b19) SHA1(ead83487d9be2f1d16c1d0b438a361a06508cd85) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u1ng", 0x00000, 0x20000, CRC(eccd2dcb) SHA1(2a319086f7c22b8fe7ca8ab72436a7c8d07b915e) ) /* banked */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(ec5641d6) SHA1(05f546aec5a9db167688a9abbac922f5ced7f7c5) )
+ROM_END
+
+ROM_START( pc_ddrgn ) /* Double Dragon */
+ BIOS_CPU
+ ROM_LOAD( "wd-u2", 0x0c000, 0x2000, CRC(dfca1578) SHA1(6bc00bb2913edeaecd885fee449b8a9955c509bf) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "wd-u4", 0x10000, 0x20000, CRC(05c97f64) SHA1(36913e92943c6bb40521ab13c843691a8db4cbc9) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "wd-u1", 0x00000, 0x20000, CRC(5ebe0fd0) SHA1(4a948c9784433e051f1015a6b6e985a98b81b80d) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(f9739d62) SHA1(c9574ed8f24ffb7ab5a6bb1b79805fb6dc6e991a) )
+ROM_END
+
+ROM_START( pc_drmro ) /* Dr Mario */
+ BIOS_CPU
+ ROM_LOAD( "vu-u2", 0x0c000, 0x2000, CRC(4b7869ac) SHA1(37afb84d963233ad92cc424fcf992aa76ea0599f) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "vu-u4", 0x10000, 0x08000, CRC(cb02a930) SHA1(6622564abc5ce28f523b0da95054d1ea825f7bd5) ) /* banked */
+ ROM_RELOAD( 0x18000, 0x08000 )
+ ROM_RELOAD( 0x20000, 0x08000 )
+ ROM_RELOAD( 0x28000, 0x08000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "vu-u1", 0x00000, 0x08000, CRC(064d4ab3) SHA1(bcdc34435bf631422ea2701f00744a3606c6dce8) )
+ ROM_RELOAD( 0x08000, 0x08000 )
+ ROM_RELOAD( 0x10000, 0x08000 )
+ ROM_RELOAD( 0x18000, 0x08000 )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(1b26e58c) SHA1(bd2d81d3cc54966ef154b3487d43ecbc316d6d22) )
+ROM_END
+
+ROM_START( pc_ftqst ) /* Fester's Quest */
+ BIOS_CPU
+ ROM_LOAD( "eq-u2", 0x0c000, 0x2000, CRC(85326040) SHA1(866bd15e77d911147b191c13d062cef7ae4dcf62) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "eq-u4", 0x10000, 0x20000, CRC(953a3eaf) SHA1(a22c0a64d63036b6b8d147994a3055e1040a5282) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "eq-u1", 0x00000, 0x20000, CRC(0ca17ab5) SHA1(a8765d6245f64b2d94c454662a24f8d8e277aa5a) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(1c601cd7) SHA1(bc13067475aac4a7b8bf5f0df96bdd5ba33f1cd7) )
+ROM_END
+
+ROM_START( pc_rcpam ) /* RC Pro Am */
+ BIOS_CPU
+ ROM_LOAD( "pm-u2", 0x0c000, 0x2000, CRC(358c2de7) SHA1(0f37d7e8303a7b87ad0584c6e0a79f3029c529f8) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "pm-u4", 0x10000, 0x08000, CRC(82cfde25) SHA1(4eb9abe896e597f8ecabb4f044d8c4b545a51b11) ) /* banked */
+ ROM_RELOAD( 0x18000, 0x08000 )
+ ROM_RELOAD( 0x20000, 0x08000 )
+ ROM_RELOAD( 0x28000, 0x08000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "pm-u1", 0x00000, 0x08000, CRC(83c90d47) SHA1(26917e1e016d2be0fa48d766d332779aae12b053) )
+ ROM_RELOAD( 0x08000, 0x08000 )
+ ROM_RELOAD( 0x10000, 0x08000 )
+ ROM_RELOAD( 0x18000, 0x08000 )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(d71d8085) SHA1(67e30ff0c31c6600890408c4dc4d0d2f19856363) )
+ROM_END
+
+ROM_START( pc_rrngr ) /* Rescue Rangers */
+ BIOS_CPU
+ ROM_LOAD( "ru-u2", 0x0c000, 0x2000, CRC(2a4bfc4b) SHA1(87f58659d43a236af22682df4bd01593b69c9975) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "ru-u4", 0x10000, 0x20000, CRC(02931525) SHA1(28ddca5d299e7894e3c3aa0a193684ca3e384ee9) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "ru-u1", 0x00000, 0x20000, CRC(218d4224) SHA1(37a729021173bec08a8497ad03fd58379b0fce39) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(1c2e1865) SHA1(ab2aa76d74c9e76c7ee3f9a211b1aefe5708a23f) )
+ROM_END
+
+ROM_START( pc_ynoid ) /* Yo! Noid */
+ BIOS_CPU
+ ROM_LOAD( "yc-u2", 0x0c000, 0x2000, CRC(0449805c) SHA1(3f96687eae047d1f8095fbb55c0659c9b0e10166) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "yc-u4", 0x10000, 0x20000, CRC(4affeee7) SHA1(54da2aa7ca56d9b593c8bcabf0bb1d701439013d) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "yc-u1", 0x00000, 0x20000, CRC(868f7343) SHA1(acb6f6eb9e8beb0636c59a999c8f5920ef7786a3) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(8c376465) SHA1(39b06fd2ecd5f06b90b2fe06406c9155f5601bd8) )
+ROM_END
+
+ROM_START( pc_tmnt ) /* Teenage Mutant Ninja Turtles */
+ BIOS_CPU
+ ROM_LOAD( "u2u2", 0x0c000, 0x2000, CRC(bdce58c0) SHA1(abaf89c0ac55cce816a7c6542a868ab47e02d550) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "u4u2", 0x10000, 0x20000, CRC(0ccd28d5) SHA1(05606cafba838eeb36198b5e5e9d11c3729971b3) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u1u2", 0x00000, 0x20000, CRC(91f01f53) SHA1(171ed0792f3ca3f195145000d96b91aa57898773) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(f5a38e98) SHA1(26ef27294fc14d84920132023fbcf406d89ce2ee) )
+ROM_END
+
+ROM_START( pc_bstar ) /* Baseball Stars */
+ BIOS_CPU
+ ROM_LOAD( "b9-u2", 0x0c000, 0x2000, CRC(69f3fd7c) SHA1(1cfaa40f18b1455bb41ec0e57d6a227ed3e582eb) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "b9-u4", 0x10000, 0x20000, CRC(d007231a) SHA1(60690eaeacb79dbcab7dfe1c1e40da1aac235793) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "b9-u1", 0x00000, 0x20000, CRC(ce149864) SHA1(00c88525756a360f42b27f0e2afaa0a19c2645a6) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(3e871350) SHA1(b338f9ef4e18d14843c6a1e8ecb974bca1df73d4) )
+ROM_END
+
+ROM_START( pc_tbowl ) /* Tecmo Bowl */
+ BIOS_CPU
+ ROM_LOAD( "tw-u2", 0x0c000, 0x2000, CRC(162aa313) SHA1(d0849ce87969c077fc14790ce5658e9857035413) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x30000, REGION_CPU2, 0 )
+ ROM_LOAD( "tw-u4", 0x10000, 0x20000, CRC(4f0c69be) SHA1(c0b09dc81070b935b3c621b07deb62dfa521a396) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "tw-u1", 0x00000, 0x20000, CRC(44b078ef) SHA1(ae0c24f4ddd822b19c60e31257279b33b5f3fcad) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(18b2d1d3) SHA1(f4d023531b3d69cad4c9c511878e5aa6afb0ac59) )
+ROM_END
+
+/* G-Board Games */
+ROM_START( pc_smb3 ) /* Super Mario Bros 3 */
+ BIOS_CPU
+ ROM_LOAD( "u3um", 0x0c000, 0x2000, CRC(45e92f7f) SHA1(9071d5f18639ac58d6d4d72674856f9ecab911f0) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "u4um", 0x10000, 0x20000, CRC(590b4d7c) SHA1(ac45940b71215a3a48983e22e1c7e71a71642b91) ) /* banked */
+ ROM_LOAD( "u5um", 0x30000, 0x20000, CRC(bce25425) SHA1(69468643a3a8b9220d675e2cdc4245ada81a492c) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u1um", 0x00000, 0x20000, CRC(c2928c49) SHA1(2697d1f21b72a6d8e7d2a2d2c51c9c5550f68b56) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(e48f4945) SHA1(66fe537cfe540317d6194847321ce4a9bdf0bba4) )
+ROM_END
+
+ROM_START( pc_gntlt ) /* Gauntlet */
+ BIOS_CPU
+ ROM_LOAD( "u3gl", 0x0c000, 0x2000, CRC(57575b92) SHA1(7ac633f253496f353d388bef30e6ec74a3d18814) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "gl-0.prg",0x10000, 0x20000, CRC(b19c48a5) SHA1(4ba8674cec6fa8b0b4d96a7b00d4883a9e58a0a9) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x010000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "gl-0.chr", 0x00000, 0x10000, CRC(22af8849) SHA1(01054943c1d069f5f535e93f969a5b6bfb958e0b) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(ba7f2e13) SHA1(8b9ee3b18bcb4b258a46d1c900b18a9cb2594046) )
+ROM_END
+
+ROM_START( pc_pwbld ) /* Power Blade */
+ BIOS_CPU
+ ROM_LOAD( "7t-u3", 0x0c000, 0x2000, CRC(edcc21c6) SHA1(5d73c6a747cfe951dc7c6ddfbb29859e9548aded) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "7t-u5", 0x10000, 0x20000, CRC(faa957b1) SHA1(612c4823ed588652a78017096a6d76dd8064807a) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "7t-u1", 0x00000, 0x20000, CRC(344be4a6) SHA1(2894292544f4315df44cda1bdc96047453da03e8) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(31a05a48) SHA1(8b340600feae03bb5cdab852a9879ecffcc8a2b9) )
+ROM_END
+
+ROM_START( pc_ngai3 ) /* Ninja Gaiden 3 */
+ BIOS_CPU
+ ROM_LOAD( "u33n", 0x0c000, 0x2000, CRC(c7ba0f59) SHA1(a4822035a10a2b5de3517b461dd357b2fa5da917) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "u53n", 0x10000, 0x20000, CRC(f0c77dcb) SHA1(bda1184e27f3c3e92e58519508dd281b06c70d9b) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "u13n", 0x00000, 0x20000, CRC(584bcf5d) SHA1(f4582e2a382c8424f839e848e95e88a7f46307dc) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(13755943) SHA1(b7d809b0f60ef489777ccb35868f5c1e777356e0) )
+ROM_END
+
+ROM_START( pc_radr2 ) /* Rad Racer II */
+ BIOS_CPU
+ ROM_LOAD( "qr-u3", 0x0c000, 0x2000, CRC(0c8fea63) SHA1(7ac04b151df732bd16708655352b7f13926f004f) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "qr-u5", 0x10000, 0x10000, CRC(ab90e397) SHA1(0956f7d9a216549dbd80b1dbf2653b36a320d0ab) ) /* banked */
+ ROM_RELOAD( 0x20000, 0x10000 )
+ ROM_RELOAD( 0x30000, 0x10000 )
+ ROM_RELOAD( 0x40000, 0x10000 )
+
+ ROM_REGION( 0x010000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "qr-u1", 0x00000, 0x10000, CRC(07df55d8) SHA1(dd0fa0a79d30eb04917d7309a62adfb037ef9ca5) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(40c4f294) SHA1(3fcac63fe6f147b662d59d25f905f797a1f5d0db) )
+ROM_END
+
+ROM_START( pc_rkats ) /* Rockin' Kats */
+ BIOS_CPU
+ ROM_LOAD( "7a-u3", 0x0c000, 0x2000, CRC(352b1e3c) SHA1(bb72b586ec4b482aef462b017de5662d83631df1) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "7a-u5", 0x10000, 0x20000, CRC(319ccfcc) SHA1(06e1c34af917b84a990db895c7b44df1b3393c96) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "7a-u1", 0x00000, 0x20000, CRC(487aa440) SHA1(ee7ebbcf89c81ba59beda1bd27289dae21bb8071) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(56ab5bf9) SHA1(9546f6e20fdb13146c5db5353a1cb2a95931d909) )
+ROM_END
+
+ROM_START( pc_suprc ) /* Super C */
+ BIOS_CPU
+ ROM_LOAD( "ue-u3", 0x0c000, 0x2000, CRC(a30ca248) SHA1(19feb1b4f749768773e0d24777d7e60b2b6260e2) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "ue-u5", 0x10000, 0x20000, CRC(c7fbecc3) SHA1(2653456c91031dfa73a50cab3835068a7bface8d) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "ue-u1", 0x00000, 0x20000, CRC(153295c1) SHA1(4ff1caaedca52fb9bb0ca6c8fac24edda77308d7) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(d477095e) SHA1(a179dffe529889f8e17e9f04958fea28611df0d3) )
+ROM_END
+
+ROM_START( pc_tmnt2 ) /* Teenage Mutant Ninja Turtles II */
+ BIOS_CPU
+ ROM_LOAD( "2n-u3", 0x0c000, 0x2000, CRC(65298370) SHA1(fd120f43e465a2622f2e2679ace2fb0fe7e709b1) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "2n-u5", 0x10000, 0x40000, CRC(717e1c46) SHA1(b49cc88e026dac7f5ba96f5c16bcb897addbe259) ) /* banked */
+
+ ROM_REGION( 0x040000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "2n-u1", 0x00000, 0x40000, CRC(0dbc575f) SHA1(8094278cf3267757953ab761dbccf38589142376) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(237e8519) SHA1(81b368d0784e4172c5cf9f4f4b92e29e05d34ae7) )
+ROM_END
+
+ROM_START( pc_wcup ) /* Nintendo World Cup */
+ BIOS_CPU
+ ROM_LOAD( "xz-u3", 0x0c000, 0x2000, CRC(c26cb22f) SHA1(18fea97b498812915bbd53a20b4f0a2130de6faf) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "xz-u5", 0x10000, 0x20000, CRC(314ee295) SHA1(0a5963feb5a6b47f0e7bea5bdd3d5835300af7b6) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "xz-u1", 0x00000, 0x20000, CRC(92477d53) SHA1(33225bd5ee72f92761fdce931c93dd54e6885bd4) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(e17e1d76) SHA1(3e4e1ddcc8524bf451cb568b1357ec1f0a8be44c) )
+ROM_END
+
+ROM_START( pc_mman3 ) /* Mega Man 3 */
+ BIOS_CPU
+ ROM_LOAD( "xu-u3", 0x0c000, 0x2000, CRC(c3984e09) SHA1(70d7e5d9cf9b1f358e1be84a0e8c5997b1aae2d9) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "xu-u4", 0x10000, 0x20000, CRC(98a3263c) SHA1(02c8d8301fb220c3f4fd82bdc8cd2388b975fd05) ) /* banked */
+ ROM_LOAD( "xu-u5", 0x30000, 0x20000, CRC(d365647a) SHA1(4f39de6249c5f8b7cfa34bc955fd7ea6251569b5) ) /* banked */
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "xu-u1", 0x00000, 0x20000, CRC(4028916e) SHA1(f986f72ba5284129620d31c0779ac6d50638e6f1) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(0fe6e900) SHA1(544d8af1aa9186bf76d0a35e78b20e94d3afbcb5) )
+ROM_END
+
+ROM_START( pc_smb2 ) /* Super Mario Bros 2 */
+ BIOS_CPU
+ ROM_LOAD( "mw-u3", 0x0c000, 0x2000, CRC(beaeb43a) SHA1(c7dd186d6167e39924a000eb80bd33beedb2b8c8) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "mw-u5", 0x10000, 0x20000, CRC(07854b3f) SHA1(9bea58ba97730c84232a4acbb23c3ea7bce14ec5) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "mw-u1", 0x00000, 0x20000, CRC(f2ba1170) SHA1(d9976b677ad222b76fbdaf31713374e2f283d44e) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(372f4e84) SHA1(cdf221d49f3b454997d696f213d60b5dce0ce9fb) )
+ROM_END
+
+ROM_START( pc_ngai2 ) /* Ninja Gaiden 2 */
+ BIOS_CPU
+ ROM_LOAD( "nw-u3", 0x0c000, 0x2000, CRC(bc178cde) SHA1(2613f501f92d358f0085aa7002c752cb9a8521ca) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "nw-u5", 0x10000, 0x20000, CRC(c43da8e2) SHA1(702a4cf2f57fff7183f2d3c18b8997a38cadc6cd) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ ROM_REGION( 0x020000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "nw-u1", 0x00000, 0x20000, CRC(8e0c8bb0) SHA1(6afe24b8e57f5a2174000a706b66209d7e310ed6) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(682dffd1) SHA1(87ea54b3d725a552b397ccb2af0ccf8bd6452a7c) )
+ROM_END
+
+/* H-Board Games */
+ROM_START( pc_pinbt ) /* PinBot */
+ BIOS_CPU
+ ROM_LOAD( "io-u3", 0x0c000, 0x2000, CRC(15ba8a2e) SHA1(e64180b2f12189e3ac1e155f3544f28af8003f97) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "io-u5", 0x10000, 0x20000, CRC(9f75b83b) SHA1(703e41d4c1a4716b324dece6df2ce12a847f082c) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 ) /* banked */
+
+ ROM_REGION( 0x010000, REGION_GFX2, 0 ) /* cart gfx */
+ ROM_LOAD( "io-u1", 0x00000, 0x10000, CRC(9089fc24) SHA1(0bc92a0853c5ebc47c3adbc4e919ea41a55297d0) )
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(ac75f323) SHA1(4bffff024132d6f71d6aa55e24af400d2915aca4) )
+ROM_END
+
+/* i-Board Games */
+ROM_START( pc_cshwk ) /* Captain Sky Hawk */
+ BIOS_CPU
+ ROM_LOAD( "yw-u3", 0x0c000, 0x2000, CRC(9d988209) SHA1(b355911d31dfc611b9e90cca82fc10035483b89c) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "yw-u1", 0x10000, 0x20000, CRC(a5e0208a) SHA1(e12086a3f1a3b5e9ec035cb778505e43f501416a) ) /* banked */
+ ROM_RELOAD( 0x30000, 0x20000 )
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(eb1c794f) SHA1(d32f841fd4306389d716229da9bffea909186689) )
+ROM_END
+
+ROM_START( pc_sjetm ) /* Solar Jetman */
+ BIOS_CPU
+ ROM_LOAD( "lj-u3", 0x0c000, 0x2000, CRC(273d8e75) SHA1(b13b97545b39f6b0459440fb6594ebe03366dfc9) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "lj-u1", 0x10000, 0x40000, CRC(8111ba08) SHA1(caa4d1ab710bd766f8505ef24f5702dac6e988af) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(f3ae712a) SHA1(51f443c65e64f1a9eb565ce017b50ec9bd4a5520) )
+ROM_END
+
+
+/* K-Board Games */
+ROM_START( pc_moglf ) /* Mario Open Golf */
+ BIOS_CPU
+ ROM_LOAD( "ug-u2", 0x0c000, 0x2000, CRC(e932fe2b) SHA1(563380482525fdadd05fced2af61d5198d1654a5) ) /* extra bios code for this game */
+ BIOS_GFX
+
+ ROM_REGION( 0x50000, REGION_CPU2, 0 )
+ ROM_LOAD( "ug-u4", 0x10000, 0x40000, CRC(091a6a4c) SHA1(2d5ac7c65ce63d409b6e0b2e2185d81bc7c57c69) ) /* banked */
+
+ /* No cart gfx - uses vram */
+
+ ROM_REGION( 0x0100, REGION_USER1, 0 ) /* rp5h01 data */
+ ROM_LOAD( "security.prm", 0x00000, 0x10, CRC(633766d5) SHA1(3a2564f3a2daf3a789e4c4056822f12243c89619) )
+ROM_END
+
+/***************************************************************************
+
+ BIOS driver(s)
+
+***************************************************************************/
+
+ROM_START( playch10 )
+ BIOS_CPU
+ BIOS_GFX
+ ROM_REGION( 0x50000, REGION_CPU2, ROMREGION_ERASE00 )
+ ROM_REGION( 0x100, REGION_USER1, ROMREGION_ERASE00 )
+ROM_END
+
+/******************************************************************************/
+
+
+/* A dummy driver, so that the bios can be debugged, and to serve as */
+/* parent for the other drivers, so that we do not have to include */
+/* them in every zip file */
+GAME( 1986, playch10, 0, playch10, playch10, playch10, ROT0, "Nintendo of America", "PlayChoice-10 BIOS", GAME_IS_BIOS_ROOT )
+
+/******************************************************************************/
+
+/* YEAR NAME PARENT BIOS MACHINE INPUT INIT MONITOR */
+
+/* Standard Games */
+GAME( 1983, pc_tenis, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Tennis (PlayChoice-10)", 0 )
+GAME( 1983, pc_mario, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Mario Bros. (PlayChoice-10)", 0 )
+GAME( 1984, pc_bball, playch10, playch10, playch10, playch10, ROT0, "Nintendo of America", "Baseball (PlayChoice-10)", 0 )
+GAME( 1984, pc_bfght, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Balloon Fight (PlayChoice-10)", 0 )
+GAME( 1984, pc_ebike, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Excite Bike (PlayChoice-10)", 0 )
+GAME( 1984, pc_golf, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Golf (PlayChoice-10)", 0 )
+GAME( 1985, pc_kngfu, playch10, playch10, playch10, playch10, ROT0, "Irem (Nintendo license)", "Kung Fu (PlayChoice-10)", 0 )
+GAME( 1985, pc_smb, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Super Mario Bros. (PlayChoice-10)", 0 )
+GAME( 1986, pc_vball, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Volley Ball (PlayChoice-10)", 0 )
+GAME( 1987, pc_1942, playch10, playch10, playch10, pc_hrz, ROT0, "Capcom", "1942 (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
+
+/* Gun Games */
+GAME( 1984, pc_duckh, playch10, playch10, playc10g, pc_gun, ROT0, "Nintendo", "Duck Hunt (PlayChoice-10)", 0 )
+GAME( 1984, pc_hgaly, playch10, playch10, playc10g, pc_gun, ROT0, "Nintendo", "Hogan's Alley (PlayChoice-10)", 0 )
+GAME( 1984, pc_wgnmn, playch10, playch10, playc10g, pc_gun, ROT0, "Nintendo", "Wild Gunman (PlayChoice-10)", 0 )
+
+/* A-Board Games */
+GAME( 1986, pc_grdus, playch10, playch10, playch10, pcaboard, ROT0, "Konami", "Gradius (PlayChoice-10)" , 0) // date: 860917
+GAME( 1986, pc_grdue, pc_grdus, playch10, playch10, pcaboard, ROT0, "Konami", "Gradius (PlayChoice-10, older)" , 0) // date: 860219
+GAME( 1987, pc_tkfld, playch10, playch10, playch10, pcaboard, ROT0, "Konami (Nintendo of America license)", "Track & Field (PlayChoice-10)", 0 )
+
+/* B-Board Games */
+GAME( 1986, pc_pwrst, playch10, playch10, playch10, pcbboard, ROT0, "Nintendo", "Pro Wrestling (PlayChoice-10)", 0 )
+GAME( 1986, pc_trjan, playch10, playch10, playch10, pcbboard, ROT0, "Capcom USA (Nintendo of America license)", "Trojan (PlayChoice-10)", 0 )
+GAME( 1987, pc_cvnia, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Castlevania (PlayChoice-10)", 0 )
+GAME( 1987, pc_dbldr, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Double Dribble (PlayChoice-10)", 0 )
+GAME( 1987, pc_rnatk, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Rush'n Attack (PlayChoice-10)", 0 )
+GAME( 1987, pc_rygar, playch10, playch10, playch10, pcbboard, ROT0, "Tecmo (Nintendo of America license)", "Rygar (PlayChoice-10)", 0 )
+GAME( 1988, pc_cntra, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Contra (PlayChoice-10)", 0 )
+
+/* C-Board Games */
+GAME( 1986, pc_goons, playch10, playch10, playch10, pccboard, ROT0, "Konami", "The Goonies (PlayChoice-10)", 0 )
+
+/* D-Board Games */
+GAME( 1986, pc_mtoid, playch10, playch10, playch10, pcdboard_2, ROT0, "Nintendo", "Metroid (PlayChoice-10)", 0 )
+GAME( 1987, pc_radrc, playch10, playch10, playch10, pcdboard, ROT0, "Square", "Rad Racer (PlayChoice-10)", 0 )
+
+/* E-Board Games */
+GAME( 1987, pc_miket, playch10, playchnv, playch10, pceboard, ROT0, "Nintendo", "Mike Tyson's Punch-Out!! (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
+
+/* F-Board Games */
+GAME( 1987, pc_rcpam, playch10, playch10, playch10, pcfboard, ROT0, "Rare", "R.C. Pro-Am (PlayChoice-10)", 0 )
+GAME( 1987, pc_rrngr, playch10, playch10, playch10, pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Chip'n Dale: Rescue Rangers (PlayChoice-10)", 0 )
+GAME( 1988, pc_ddrgn, playch10, playch10, playch10, pcfboard, ROT0, "Technos", "Double Dragon (PlayChoice-10)", 0 )
+GAME( 1989, pc_ngaid, playch10, playch10, playch10, pcfboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden (PlayChoice-10)", 0 )
+GAME( 1989, pc_tmnt, playch10, playch10, playch10, pcfboard, ROT0, "Konami (Nintendo of America license)", "Teenage Mutant Ninja Turtles (PlayChoice-10)", 0 )
+GAME( 1989, pc_ftqst, playch10, playch10, playch10, pcfboard, ROT0, "Sunsoft (Nintendo of America license)", "Uncle Fester's Quest: The Addams Family (PlayChoice-10)", 0 )
+GAME( 1989, pc_bstar, playch10, playch10, playch10, pcfboard_2, ROT0, "SNK (Nintendo of America license)", "Baseball Stars: Be a Champ! (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS)
+GAME( 1989, pc_tbowl, playch10, playch10, playch10, pcfboard, ROT0, "Tecmo (Nintendo of America license)", "Tecmo Bowl (PlayChoice-10)", 0 )
+GAME( 1990, pc_drmro, playch10, playch10, playch10, pcfboard, ROT0, "Nintendo", "Dr. Mario (PlayChoice-10)", 0 )
+GAME( 1990, pc_ynoid, playch10, playch10, playch10, pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Yo! Noid (PlayChoice-10)", 0 )
+
+/* G-Board Games */
+GAME( 1988, pc_smb2, playch10, playch10, playch10, pcgboard, ROT0, "Nintendo", "Super Mario Bros. 2 (PlayChoice-10)", 0 )
+GAME( 1988, pc_smb3, playch10, playch10, playch10, pcgboard, ROT0, "Nintendo", "Super Mario Bros. 3 (PlayChoice-10)", 0 )
+GAME( 1990, pc_mman3, playch10, playch10, playch10, pcgboard, ROT0, "Capcom USA (Nintendo of America license)", "Mega Man III (PlayChoice-10)", 0 )
+GAME( 1990, pc_suprc, playch10, playch10, playch10, pcgboard, ROT0, "Konami (Nintendo of America license)", "Super C (PlayChoice-10)", 0 )
+GAME( 1990, pc_tmnt2, playch10, playch10, playch10, pcgboard, ROT0, "Konami (Nintendo of America license)", "Teenage Mutant Ninja Turtles II: The Arcade Game (PlayChoice-10)", 0 )
+GAME( 1990, pc_wcup, playch10, playch10, playch10, pcgboard, ROT0, "Technos (Nintendo license)", "Nintendo World Cup (PlayChoice-10)", 0 )
+GAME( 1990, pc_ngai2, playch10, playch10, playch10, pcgboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden Episode II: The Dark Sword of Chaos (PlayChoice-10)", 0 )
+GAME( 1991, pc_ngai3, playch10, playch10, playch10, pcgboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden Episode III: The Ancient Ship of Doom (PlayChoice-10)", 0 )
+GAME( 1991, pc_pwbld, playch10, playch10, playch10, pcgboard, ROT0, "Taito (Nintendo of America license)", "Power Blade (PlayChoice-10)", 0 )
+GAME( 1991, pc_rkats, playch10, playch10, playch10, pcgboard, ROT0, "Atlus (Nintendo of America license)", "Rockin' Kats (PlayChoice-10)", 0 )
+/* variant with 4 screen mirror */
+GAME( 1990, pc_radr2, playch10, playch10, playch10, pcgboard_type2, ROT0, "Square (Nintendo of America license)", "Rad Racer II (PlayChoice-10)", 0 )
+GAME( 1985, pc_gntlt, playch10, playch10, playch10, pcgboard_type2, ROT0, "Atari/Tengen (Nintendo of America license)", "Gauntlet (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
+
+/* H-Board Games */
+GAME( 1988, pc_pinbt, playch10, playch10, playch10, pchboard, ROT0, "Rare (Nintendo of America license)", "PinBot (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+
+/* i-Board Games */
+GAME( 1989, pc_cshwk, playch10, playch10, playch10, pciboard, ROT0, "Rare (Nintendo of America license)", "Captain Sky Hawk (PlayChoice-10)", 0 )
+GAME( 1990, pc_sjetm, playch10, playch10, playch10, pciboard, ROT0, "Rare", "Solar Jetman (PlayChoice-10)", 0 )
+
+/* K-Board Games */
+GAME( 1991, pc_moglf, playch10, playch10, playch10, pckboard, ROT0, "Nintendo", "Mario's Open Golf (PlayChoice-10)", 0 )