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 : Kram : VM Driver Source

Source Listing


     1: /***************************************************************************
     2: 
     3: 	Taito Qix hardware
     4: 
     5: 	driver by John Butler, Ed Mueller, Aaron Giles
     6: 
     7: 	Games supported:
     8: 		* Qix (3 sets)
     9: 		* Qix II Tournament
    10: 		* Zookeeper (3 sets)
    11: 		* Space Dungeon
    12: 		* Kram (2 sets)
    13: 		* The Electric Yo-Yo (2 sets)
    14: 		* Slither (2 sets)
    15: 		* Complex X
    16: 
    17: 	Known bugs:
    18: 		* none at this time
    19: 
    20: 	Notes:
    21: 		* the encrypted version of Kram doesn't have the protection MCU
    22: 
    23: ****************************************************************************
    24: 
    25: 	Memory map
    26: 
    27: ****************************************************************************
    28: 
    29: 	========================================================================
    30: 	CPU #1 (all but Zookeeper)
    31: 	========================================================================
    32: 	8000-83FF   R/W   xxxxxxxx    Shared RAM with CPU #2
    33: 	8400-87FF   R/W   xxxxxxxx    Local RAM
    34: 	8800        R/W   xxxxxxxx    ACIA base address
    35: 	8C00        R/W   --------    Video FIRQ assert
    36: 	8C01        R/W   --------    Data FIRQ acknowledge
    37: 	9000-93FF   R/W   xxxxxxxx    Sound control/data IRQ PIA (pia_3)
    38: 	9400-97FF   R/W   xxxxxxxx    Coin/P1 inputs PIA (pia_0)
    39: 	9800-9BFF   R/W   xxxxxxxx    Spare/P2 inputs PIA (pia_1)
    40: 	9C00-9FFF   R/W   xxxxxxxx    P2 inputs/coin control PIA (pia_2)
    41: 	A000-FFFF   R     xxxxxxxx    Program ROM
    42: 	========================================================================
    43: 	Interrupts:
    44: 		NMI not connected
    45: 		IRQ generated by pia_3
    46: 		FIRQ generated by CPU #2
    47: 	========================================================================
    48: 
    49: 	========================================================================
    50: 	CPU #1 (Zookeeper)
    51: 	========================================================================
    52: 	0000-03FF   R/W   xxxxxxxx    Shared RAM with CPU #2
    53: 	0400-07FF   R/W   xxxxxxxx    Local RAM
    54: 	0800        R/W   xxxxxxxx    ACIA base address
    55: 	0C00        R/W   --------    Video FIRQ assert
    56: 	0C01        R/W   --------    Data FIRQ acknowledge
    57: 	1000-13FF   R/W   xxxxxxxx    Sound control/data IRQ PIA (pia_3)
    58: 	1400-17FF   R/W   xxxxxxxx    Coin/P1 inputs PIA (pia_0)
    59: 	1800-1BFF   R/W   xxxxxxxx    Spare/P2 inputs PIA (pia_1)
    60: 	1C00-1FFF   R/W   xxxxxxxx    P2 inputs/coin control PIA (pia_2)
    61: 	8000-FFFF   R     xxxxxxxx    Program ROM
    62: 	========================================================================
    63: 	Interrupts:
    64: 		NMI not connected
    65: 		IRQ generated by pia_3
    66: 		FIRQ generated by CPU #2
    67: 	========================================================================
    68: 
    69: 	========================================================================
    70: 	CPU #2 (all)
    71: 	========================================================================
    72: 	0000-7FFF   R/W   xxxxxxxx    Direct video RAM access
    73: 	8000-83FF   R/W   xxxxxxxx    Shared RAM with CPU #1
    74: 	8400-87FF   R/W   xxxxxxxx    CMOS NVRAM
    75: 	8800          W   xxxxxxxx    LED/Palette banking
    76: 	                  xxxxxx--       (LED control)
    77: 	                  ------xx       (palette bank select)
    78: 	8801          W   ------xx    Banked ROM select (Zookeeper only)
    79: 	8C00        R/W   --------    Data FIRQ assert
    80: 	8C01        R/W   --------    Video FIRQ acknowledge
    81: 	9000-93FF   R/W   xxxxxxxx    Palette RAM
    82: 	                  xx------       (red component)
    83: 	                  --xx----       (green component)
    84: 	                  ----xx--       (blue component)
    85: 	                  ------xx       (intensity)
    86: 	9400        R/W   xxxxxxxx    Video RAM latched access
    87: 	9401        R/W   xxxxxxxx    Video RAM access mask (Slither only)
    88: 	9402-9403     W   xxxxxxxx    Video RAM address latch
    89: 	9800        R     xxxxxxxx    Current scanline
    90: 	9C00-9FFF   R/W   xxxxxxxx    68A45 video controller
    91: 	A000-BFFF   R     xxxxxxxx    Banked ROM (Zookeeper only)
    92: 	C000-FFFF   R     xxxxxxxx    Program ROM
    93: 	========================================================================
    94: 	Interrupts:
    95: 		NMI not connected
    96: 		IRQ not connected
    97: 		FIRQ generated by CPU #1
    98: 	========================================================================
    99: 
   100: 	========================================================================
   101: 	CPU #3 (all but Slither)
   102: 	========================================================================
   103: 	0000-007F   R/W   xxxxxxxx    Program RAM
   104: 	2000-2003   R/W   xxxxxxxx    TMS5200 control PIA (pia_5; not used)
   105: 	4000-4003   R/W   xxxxxxxx    Sound control/DAC PIA (pia_4)
   106: 	D000-FFFF   R     xxxxxxxx    Program ROM
   107: 	========================================================================
   108: 	Interrupts:
   109: 		NMI not connected
   110: 		IRQ generated by pia_4
   111: 	========================================================================
   112: 
   113: ****************************************************************************
   114: 
   115: 	Qix uses two 6809 CPUs: one for data and sound and the other for
   116: 	video. Communication between the two CPUs is done using a 4K RAM
   117: 	space at $8000 (for ZooKeeper the data cpu maps it at $0000 and the
   118: 	video cpu at $8000) which both CPUs have direct access. FIRQs (fast
   119: 	interrupts) are generated by each CPU to interrupt the other at
   120: 	specific times.
   121: 
   122: 	A third CPU, a 6802, is used for sample playback. It drives an 8-bit
   123: 	DAC and according to the schematics a TMS5220 speech chip, which is
   124: 	never accessed. ROM u27 is the only code needed. A sound command from
   125: 	the data CPU causes an IRQ to fire on the 6802 and the sound playback
   126: 	is started.
   127: 
   128: 	The coin door switches and player controls are connected to the CPUs
   129: 	by Mototola 6821 PIAs. These devices are memory mapped as shown below.
   130: 
   131: 	The screen is 256x256 with eight bit pixels (64K). The screen is
   132: 	divided into two halves each half mapped by the video CPU at
   133: 	$0000-$7FFF. The high order bit of the address latch at $9402
   134: 	specifies which half of the screen is being accessed.
   135: 
   136: 	Timing is critical in the hardware. Communications between the data,
   137: 	video, and sound CPUs are all very sensitive.
   138: 
   139: 	The address latch works as follows. When the video CPU accesses $9400,
   140: 	the screen address is computed by using the values at $9402 (high byte)
   141: 	and $9403 (low byte) to get a value between $0000-$FFFF. The value at
   142: 	that location is either returned or written.
   143: 
   144: 	The scan line at $9800 on the video CPU records where the scan line is
   145: 	on the display (0-255). Several places in the ROM code wait until the
   146: 	scan line reaches zero before continuing.
   147: 
   148: ****************************************************************************
   149: 
   150: 	QIX NONVOLATILE CMOS MEMORY MAP (CPU #2 -- Video) $8400-$87ff
   151: 		$86A9 - $86AA:	When CMOS is valid, these bytes are $55AA
   152: 		$86AC - $86C3:	AUDIT TOTALS -- 4 4-bit BCD digits per setting
   153: 						(All totals default to: 0000)
   154: 						$86AC: TOTAL PAID CREDITS
   155: 						$86AE: LEFT COINS
   156: 						$86B0: CENTER COINS
   157: 						$86B2: RIGHT COINS
   158: 						$86B4: PAID CREDITS
   159: 						$86B6: AWARDED CREDITS
   160: 						$86B8: % FREE PLAYS
   161: 						$86BA: MINUTES PLAYED
   162: 						$86BC: MINUTES AWARDED
   163: 						$86BE: % FREE TIME
   164: 						$86C0: AVG. GAME [SEC]
   165: 						$86C2: HIGH SCORES
   166: 		$86C4 - $86FF:	High scores -- 10 scores/names, consecutive in memory
   167: 						Six 4-bit BCD digits followed by 3 ascii bytes
   168: 						(Default: 030000 QIX)
   169: 		$8700		 :	LANGUAGE SELECT (Default: $32)
   170: 						ENGLISH = $32  FRANCAIS = $33  ESPANOL = $34  DEUTSCH = $35
   171: 		$87D9 - $87DF:	COIN SLOT PROGRAMMING -- 2 4-bit BCD digits per setting
   172: 						$87D9: STANDARD COINAGE SETTING  (Default: 01)
   173: 						$87DA: COIN MULTIPLIERS LEFT (Default: 01)
   174: 						$87DB: COIN MULTIPLIERS CENTER (Default: 04)
   175: 						$87DC: COIN MULTIPLIERS RIGHT (Default: 01)
   176: 						$87DD: COIN UNITS FOR CREDIT (Default: 01)
   177: 						$87DE: COIN UNITS FOR BONUS (Default: 00)
   178: 						$87DF: MINIMUM COINS (Default: 00)
   179: 		$87E0 - $87EA:	LOCATION PROGRAMMING -- 2 4-bit BCD digits per setting
   180: 						$87E0: BACKUP HSTD [0000] (Default: 03)
   181: 						$87E1: MAXIMUM CREDITS (Default: 10)
   182: 						$87E2: NUMBER OF TURNS (Default: 03)
   183: 						$87E3: THRESHOLD (Default: 75)
   184: 						$87E4: TIME LINE (Default: 37)
   185: 						$87E5: DIFFICULTY 1 (Default: 01)
   186: 						$87E6: DIFFICULTY 2 (Default: 01)
   187: 						$87E7: DIFFICULTY 3 (Default: 01)
   188: 						$87E8: DIFFICULTY 4 (Default: 01)
   189: 						$87E9: ATTRACT SOUND (Default: 01)
   190: 						$87EA: TABLE MODE (Default: 00)
   191: 
   192: ***************************************************************************/
   193: 
   194: #include "driver.h" 
   195: #include "qix.h" 
   196: #include "machine/6821pia.h" 
   197: #include "vidhrdw/generic.h" 
   198: 
   199: 
   200: /* Constants */
   201: #define MAIN_CLOCK_OSC		20000000	/* 20 MHz */ 
   202: #define SLITHER_CLOCK_OSC	21300000	/* 21.3 MHz */ 
   203: #define SOUND_CLOCK_OSC		7372800		/* 7.3728 MHz */ 
   204: #define COIN_CLOCK_OSC		4000000		/* 4 MHz */ 
   205: 
   206: 
   207: 
   208: /*************************************
   209:  *
   210:  *	Data CPU memory handlers
   211:  *
   212:  *************************************/
   213: 
   214: static MEMORY_READ_START( readmem_data )
   215: 	{ 0x8000, 0x83ff, qix_sharedram_r },
   216: 	{ 0x8400, 0x87ff, MRA_RAM },
   217: 	{ 0x8800, 0x8800, MRA_NOP },   /* ACIA */
   218: 	{ 0x8c00, 0x8c00, qix_video_firq_r },
   219: 	{ 0x8c01, 0x8c01, qix_data_firq_ack_r },
   220: 	{ 0x9000, 0x93ff, pia_3_r },
   221: 	{ 0x9400, 0x97ff, pia_0_r },
   222: 	{ 0x9800, 0x9bff, pia_1_r },
   223: 	{ 0x9c00, 0x9fff, pia_2_r },
   224: 	{ 0xa000, 0xffff, MRA_ROM },
   225: MEMORY_END
   226: 
   227: 
   228: static MEMORY_WRITE_START( writemem_data )
   229: 	{ 0x8000, 0x83ff, qix_sharedram_w, &qix_sharedram },
   230: 	{ 0x8400, 0x87ff, MWA_RAM },
   231: 	{ 0x8c00, 0x8c00, qix_video_firq_w },
   232: 	{ 0x8c01, 0x8c01, qix_data_firq_ack_w },
   233: 	{ 0x9000, 0x93ff, pia_3_w },
   234: 	{ 0x9400, 0x97ff, qix_pia_0_w },
   235: 	{ 0x9800, 0x9bff, pia_1_w },
   236: 	{ 0x9c00, 0x9fff, pia_2_w },
   237: 	{ 0xa000, 0xffff, MWA_ROM },
   238: MEMORY_END
   239: 
   240: 
   241: static MEMORY_READ_START( zoo_readmem_data )
   242: 	{ 0x0000, 0x03ff, qix_sharedram_r },
   243: 	{ 0x0400, 0x07ff, MRA_RAM },
   244: 	{ 0x0800, 0x0800, MRA_NOP },   /* ACIA */
   245: 	{ 0x0c00, 0x0c00, qix_video_firq_r },
   246: 	{ 0x0c01, 0x0c01, qix_data_firq_ack_r },
   247: 	{ 0x1000, 0x13ff, pia_3_r },
   248: 	{ 0x1400, 0x17ff, pia_0_r },
   249: 	{ 0x1900, 0x1bff, pia_1_r },
   250: 	{ 0x1c00, 0x1fff, pia_2_r },
   251: 	{ 0x8000, 0xffff, MRA_ROM },
   252: MEMORY_END
   253: 
   254: 
   255: static MEMORY_WRITE_START( zoo_writemem_data )
   256: 	{ 0x0000, 0x03ff, qix_sharedram_w, &qix_sharedram },
   257: 	{ 0x0400, 0x07ff, MWA_RAM },
   258: 	{ 0x0c00, 0x0c00, qix_video_firq_w },
   259: 	{ 0x0c01, 0x0c01, qix_data_firq_ack_w },
   260: 	{ 0x1000, 0x13ff, pia_3_w },
   261: 	{ 0x1400, 0x17ff, qix_pia_0_w },
   262: 	{ 0x1900, 0x1bff, pia_1_w },
   263: 	{ 0x1c00, 0x1fff, pia_2_w },
   264: 	{ 0x8000, 0xffff, MWA_ROM },
   265: MEMORY_END
   266: 
   267: 
   268: 
   269: /*************************************
   270:  *
   271:  *	Video CPU memory handlers
   272:  *
   273:  *************************************/
   274: 
   275: static MEMORY_READ_START( readmem_video )
   276: 	{ 0x0000, 0x7fff, qix_videoram_r },
   277: 	{ 0x8000, 0x83ff, qix_sharedram_r },
   278: 	{ 0x8400, 0x87ff, MRA_RAM },
   279: 	{ 0x8c00, 0x8c00, qix_data_firq_r },
   280: 	{ 0x8c01, 0x8c01, qix_video_firq_ack_r },
   281: 	{ 0x9000, 0x93ff, MRA_RAM },
   282: 	{ 0x9400, 0x9400, qix_addresslatch_r },
   283: 	{ 0x9800, 0x9800, qix_scanline_r },
   284: 	{ 0xa000, 0xffff, MRA_ROM },
   285: MEMORY_END
   286: 
   287: 
   288: static MEMORY_WRITE_START( writemem_video )
   289: 	{ 0x0000, 0x7fff, qix_videoram_w },
   290: 	{ 0x8000, 0x83ff, qix_sharedram_w },
   291: 	{ 0x8400, 0x87ff, MWA_RAM, &generic_nvram, &generic_nvram_size },
   292: 	{ 0x8800, 0x8800, qix_palettebank_w },
   293: 	{ 0x8c00, 0x8c00, qix_data_firq_w },
   294: 	{ 0x8c01, 0x8c01, qix_video_firq_ack_w },
   295: 	{ 0x9000, 0x93ff, qix_paletteram_w, &paletteram },
   296: 	{ 0x9400, 0x9400, qix_addresslatch_w },
   297: 	{ 0x9402, 0x9403, MWA_RAM, &qix_videoaddress },
   298: 	{ 0x9c00, 0x9fff, MWA_RAM }, /* Video controller */
   299: 	{ 0xa000, 0xffff, MWA_ROM },
   300: MEMORY_END
   301: 
   302: 
   303: static MEMORY_READ_START( zoo_readmem_video )
   304: 	{ 0x0000, 0x7fff, qix_videoram_r },
   305: 	{ 0x8000, 0x83ff, qix_sharedram_r },
   306: 	{ 0x8400, 0x87ff, MRA_RAM },
   307: 	{ 0x8c00, 0x8c00, qix_data_firq_r },
   308: 	{ 0x8c01, 0x8c01, qix_video_firq_ack_r },
   309: 	{ 0x9000, 0x93ff, MRA_RAM },
   310: 	{ 0x9400, 0x9400, qix_addresslatch_r },
   311: 	{ 0x9800, 0x9800, qix_scanline_r },
   312: 	{ 0xa000, 0xbfff, MRA_BANK1 },
   313: 	{ 0xc000, 0xffff, MRA_ROM },
   314: MEMORY_END
   315: 
   316: 
   317: static MEMORY_WRITE_START( zoo_writemem_video )
   318: 	{ 0x0000, 0x7fff, qix_videoram_w },
   319: 	{ 0x8000, 0x83ff, qix_sharedram_w },
   320: 	{ 0x8400, 0x87ff, MWA_RAM, &generic_nvram, &generic_nvram_size },
   321: 	{ 0x8800, 0x8800, qix_palettebank_w },
   322: 	{ 0x8801, 0x8801, zoo_bankswitch_w },
   323: 	{ 0x8c00, 0x8c00, qix_data_firq_w },
   324: 	{ 0x8c01, 0x8c01, qix_video_firq_ack_w },
   325: 	{ 0x9000, 0x93ff, qix_paletteram_w, &paletteram },
   326: 	{ 0x9400, 0x9400, qix_addresslatch_w },
   327: 	{ 0x9402, 0x9403, MWA_RAM, &qix_videoaddress },
   328: 	{ 0x9c00, 0x9fff, MWA_RAM }, /* Video controller */
   329: 	{ 0xa000, 0xffff, MWA_ROM },
   330: MEMORY_END
   331: 
   332: 
   333: 
   334: /*************************************
   335:  *
   336:  *	Sound CPU memory handlers
   337:  *
   338:  *************************************/
   339: 
   340: static MEMORY_READ_START( readmem_sound )
   341: 	{ 0x0000, 0x007f, MRA_RAM },
   342: 	{ 0x2000, 0x2003, pia_5_r },
   343: 	{ 0x4000, 0x4003, pia_4_r },
   344: 	{ 0xd000, 0xffff, MRA_ROM },
   345: MEMORY_END
   346: 
   347: 
   348: static MEMORY_WRITE_START( writemem_sound )
   349: 	{ 0x0000, 0x007f, MWA_RAM },
   350: 	{ 0x2000, 0x2003, pia_5_w },
   351: 	{ 0x4000, 0x4003, pia_4_w },
   352: 	{ 0xd000, 0xffff, MWA_ROM },
   353: MEMORY_END
   354: 
   355: 
   356: 
   357: /*************************************
   358:  *
   359:  *	Coin CPU memory handlers
   360:  *
   361:  *************************************/
   362: 
   363: static MEMORY_READ_START( mcu_readmem )
   364: 	{ 0x0000, 0x0000, qix_68705_portA_r },
   365: 	{ 0x0001, 0x0001, qix_68705_portB_r },
   366: 	{ 0x0002, 0x0002, qix_68705_portC_r },
   367: 	{ 0x0010, 0x007f, MRA_RAM },
   368: 	{ 0x0080, 0x07ff, MRA_ROM },
   369: MEMORY_END
   370: 
   371: 
   372: static MEMORY_WRITE_START( mcu_writemem )
   373: 	{ 0x0000, 0x0000, qix_68705_portA_w, &qix_68705_port_out },
   374: 	{ 0x0001, 0x0001, qix_68705_portB_w },
   375: 	{ 0x0002, 0x0002, qix_68705_portC_w },
   376: 	{ 0x0004, 0x0007, MWA_RAM, &qix_68705_ddr },
   377: 	{ 0x0010, 0x007f, MWA_RAM },
   378: 	{ 0x0080, 0x07ff, MWA_ROM },
   379: MEMORY_END
   380: 
   381: 
   382: 
   383: /*************************************
   384:  *
   385:  *	Input port definitions
   386:  *
   387:  *************************************/
   388: 
   389: #define COIN_PORT \ 
   390: 	PORT_BITX(0x01, IP_ACTIVE_LOW, IPT_SERVICE, "Test Advance",   KEYCODE_F1, IP_JOY_DEFAULT ) \
   391: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, "Test Next line", KEYCODE_F2, IP_JOY_DEFAULT ) \
   392: 	PORT_BITX(0x04, IP_ACTIVE_LOW, IPT_SERVICE, "Test Slew Up",   KEYCODE_F5, IP_JOY_DEFAULT ) \
   393: 	PORT_BITX(0x08, IP_ACTIVE_LOW, IPT_SERVICE, "Test Slew Down", KEYCODE_F6, IP_JOY_DEFAULT ) \
   394: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) \
   395: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) \
   396: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 ) \
   397: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
   398: 
   399: 
   400: INPUT_PORTS_START( qix )
   401: 	PORT_START	/* PIA 0 Port A (PLAYER 1) */
   402:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
   403:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
   404:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
   405:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
   406: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
   407: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
   408: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
   409: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   410: 
   411: 	PORT_START	/* PIA 0 Port B (COIN) */
   412: 	COIN_PORT
   413: 
   414: 	PORT_START	/* PIA 1 Port A (SPARE) */
   415: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   416: 
   417:     PORT_START	/* PIA 1 Port B (PLAYER 1/2) */
   418: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   419: 
   420: 	PORT_START	/* PIA 2 Port A (PLAYER 2) */
   421:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
   422:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
   423:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
   424:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
   425:     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
   426:     PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNKNOWN )
   427:     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
   428: INPUT_PORTS_END
   429: 
   430: 
   431: INPUT_PORTS_START( sdungeon )
   432: 	PORT_START	/* PIA 0 Port A (PLAYER 1) */
   433:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_8WAY )
   434:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_8WAY )
   435:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_8WAY )
   436:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_8WAY )
   437:     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_8WAY )
   438:     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
   439:     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_8WAY )
   440:     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_8WAY )
   441: 
   442: 	PORT_START	/* PIA 0 Port B (COIN) */
   443: 	COIN_PORT
   444: 
   445: 	PORT_START	/* PIA 1 Port A (SPARE) */
   446: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   447: 
   448:     PORT_START	/* PIA 1 Port B (PLAYER 1/2) */
   449:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
   450:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
   451:     PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
   452: 
   453: 	PORT_START	/* PIA 2 Port A (PLAYER 2) */
   454:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_8WAY | IPF_COCKTAIL )
   455:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_8WAY | IPF_COCKTAIL )
   456:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_8WAY | IPF_COCKTAIL )
   457:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_8WAY | IPF_COCKTAIL )
   458:     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_8WAY | IPF_COCKTAIL )
   459:     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   460:     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   461:     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   462: INPUT_PORTS_END
   463: 
   464: 
   465: INPUT_PORTS_START( elecyoyo )
   466: 	PORT_START	/* PIA 0 Port A (PLAYER 1) */
   467:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
   468:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
   469:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
   470:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
   471: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
   472: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
   473: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
   474: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   475: 
   476: 	PORT_START	/* PIA 0 Port B (COIN) */
   477: 	COIN_PORT
   478: 
   479: 	PORT_START	/* PIA 1 Port A (SPARE) */
   480: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   481: 
   482:     PORT_START	/* PIA 1 Port B (PLAYER 1/2) */
   483: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   484: 
   485: 	PORT_START	/* PIA 2 Port A (PLAYER 2) */
   486:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
   487:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
   488:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
   489:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
   490:     PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
   491: INPUT_PORTS_END
   492: 
   493: 
   494: INPUT_PORTS_START( kram )
   495: 	PORT_START	/* PIA 0 Port A (PLAYER 1) */
   496:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
   497:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   498:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
   499:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   500: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
   501: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
   502: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
   503: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   504: 
   505: 	PORT_START	/* PIA 0 Port B (COIN) */
   506: 	COIN_PORT
   507: 
   508: 	PORT_START	/* PIA 1 Port A (SPARE) */
   509: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   510: 
   511:     PORT_START	/* PIA 1 Port B (PLAYER 1/2) */
   512: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   513: 
   514: 	PORT_START	/* PIA 2 Port A (PLAYER 2) */
   515:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
   516:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   517:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   518:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   519: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
   520:     PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNKNOWN )
   521: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
   522: INPUT_PORTS_END
   523: 
   524: 
   525: INPUT_PORTS_START( zookeep )
   526: 	PORT_START	/* PIA 0 Port A (PLAYER 1) */
   527: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
   528: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
   529: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
   530: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
   531: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
   532: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
   533: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 )
   534: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   535: 
   536: 	PORT_START	/* PIA 0 Port B (COIN) */
   537: 	COIN_PORT
   538: 
   539: 	PORT_START	/* PIA 1 Port A (SPARE) */
   540: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   541: 
   542:     PORT_START	/* PIA 1 Port B (PLAYER 1/2) */
   543: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   544: 
   545: 	PORT_START	/* PIA 2 Port A (PLAYER 2) */
   546: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
   547: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
   548: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
   549: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
   550: 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN )
   551: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
   552: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   553: INPUT_PORTS_END
   554: 
   555: 
   556: INPUT_PORTS_START( slither )
   557: 	PORT_START	/* PIA 0 Port A (PLAYER 1) */
   558:     PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
   559: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
   560: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
   561: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
   562: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   563: 
   564: 	PORT_START	/* PIA 0 Port B (COIN) */
   565: 	PORT_SERVICE(0x01, IP_ACTIVE_LOW )
   566:     PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
   567: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
   568: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
   569: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
   570: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_TILT )
   571: 
   572: 	PORT_START	/* PIA 3 Port A (PLAYER 2) */
   573:     PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
   574: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
   575: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2  | IPF_COCKTAIL )
   576: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1  | IPF_COCKTAIL )
   577: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
   578: 
   579: 	PORT_START	/* PIA 1 Port A (TRACKBALL L/R) */
   580:     PORT_ANALOG( 0xff, 0, IPT_TRACKBALL_X, 50, 10, 0x00, 0xff )
   581: 
   582: 	PORT_START	/* PIA 2 Port A (TRACKBALL U/D) */
   583:     PORT_ANALOG( 0xff, 0, IPT_TRACKBALL_Y | IPF_REVERSE, 50, 10, 0x00, 0xff )
   584: 
   585: 	PORT_START	/* PIA 1 Port A (TRACKBALL L/R) */
   586:     PORT_ANALOG( 0xff, 0, IPT_TRACKBALL_X | IPF_COCKTAIL, 50, 10, 0x00, 0xff )
   587: 
   588: 	PORT_START	/* PIA 2 Port A (TRACKBALL U/D) */
   589:     PORT_ANALOG( 0xff, 0, IPT_TRACKBALL_Y | IPF_REVERSE | IPF_COCKTAIL, 50, 10, 0x00, 0xff )
   590: INPUT_PORTS_END
   591: 
   592: 
   593: INPUT_PORTS_START( complexx )
   594: 	PORT_START	/* PIA 0 Port A (Left Stick) */
   595:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_8WAY )
   596:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_8WAY )
   597:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_8WAY )
   598:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_8WAY )
   599: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
   600: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
   601: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
   602: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
   603: 
   604: /* 0x80 isn't scanned unless the difficulty in the game is below 4. I
   605: decided not to map this button, so if you set the difficulty that low,
   606: you can't fire. If I do map that button, and you set difficulty below 4
   607: and hit this fire button without pressing the second stick in any
   608: direction it fires up. If you're pressing left it fires right, press
   609: right it fires left and press down it fires down. That's just too wacky.
   610: I gotta think it's not supposed to be hooked up at all and if the
   611: difficulty is that low, you just can't shoot, so I think it should stay
   612: as-is. Tim Lindquist 1-17-03 */
   613: 
   614: 	PORT_START	/* PIA 0 Port B (COIN) */
   615: 	COIN_PORT
   616: 
   617: 	PORT_START	/* PIA 1 Port A (SPARE) */
   618: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   619: 
   620:     PORT_START	/* PIA 1 Port B (PLAYER 1/2) */
   621: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
   622: 
   623: 	PORT_START	/* PIA 2 Port A (Right Stick) */
   624:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
   625:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
   626:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
   627:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
   628:     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_8WAY )
   629:     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
   630:     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_8WAY )
   631:     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_8WAY )
   632: INPUT_PORTS_END
   633: 
   634: 
   635: 
   636: /*************************************
   637:  *
   638:  *	Sound interfaces
   639:  *
   640:  *************************************/
   641: 
   642: static struct DACinterface dac_interface =
   643: {
   644: 	1,
   645: 	{ 100 }
   646: };
   647: 
   648: 
   649: static struct SN76496interface sn76496_interface =
   650: {
   651: 	2,
   652: 	{ SLITHER_CLOCK_OSC/4/4, SLITHER_CLOCK_OSC/4/4 },
   653: 	{ 50, 50 }
   654: };
   655: 
   656: 
   657: 
   658: /*************************************
   659:  *
   660:  *	Machine drivers
   661:  *
   662:  *************************************/
   663: 
   664: static MACHINE_DRIVER_START( qix )
   665: 
   666: 	/* basic machine hardware */
   667: 	MDRV_CPU_ADD_TAG("main", M6809, MAIN_CLOCK_OSC/4/4)	/* 1.25 MHz */
   668: 	MDRV_CPU_MEMORY(readmem_data,writemem_data)
   669: 	MDRV_CPU_VBLANK_INT(qix_vblank_start,1)
   670: 
   671: 	MDRV_CPU_ADD_TAG("video", M6809, MAIN_CLOCK_OSC/4/4)	/* 1.25 MHz */
   672: 	MDRV_CPU_MEMORY(readmem_video,writemem_video)
   673: 
   674: 	MDRV_CPU_ADD_TAG("sound", M6802, SOUND_CLOCK_OSC/2/4)	/* 0.92 MHz */
   675: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
   676: 	MDRV_CPU_MEMORY(readmem_sound,writemem_sound)
   677: 
   678: 	MDRV_FRAMES_PER_SECOND(60)
   679: 	MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
   680: 
   681: 	MDRV_MACHINE_INIT(qix)
   682: 	MDRV_NVRAM_HANDLER(generic_0fill)
   683: 
   684: 	/* video hardware */
   685: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   686: 	MDRV_SCREEN_SIZE(256, 256)
   687: 	MDRV_VISIBLE_AREA(0, 255, 8, 247)
   688: 	MDRV_PALETTE_LENGTH(1024)
   689: 
   690: 	MDRV_VIDEO_START(qix)
   691: 	MDRV_VIDEO_UPDATE(qix)
   692: 
   693: 	/* sound hardware */
   694: 	MDRV_SOUND_ADD_TAG("dac", DAC, dac_interface)
   695: MACHINE_DRIVER_END
   696: 
   697: 
   698: static MACHINE_DRIVER_START( mcu )
   699: 
   700: 	/* basic machine hardware */
   701: 	MDRV_IMPORT_FROM(qix)
   702: 
   703: 	MDRV_CPU_ADD(M68705, COIN_CLOCK_OSC/4)	/* 1.00 MHz */
   704: 	MDRV_CPU_MEMORY(mcu_readmem,mcu_writemem)
   705: 
   706: 	MDRV_MACHINE_INIT(qixmcu)
   707: MACHINE_DRIVER_END
   708: 
   709: 
   710: static MACHINE_DRIVER_START( zookeep )
   711: 
   712: 	/* basic machine hardware */
   713: 	MDRV_IMPORT_FROM(mcu)
   714: 
   715: 	MDRV_CPU_MODIFY("main")
   716: 	MDRV_CPU_MEMORY(zoo_readmem_data,zoo_writemem_data)
   717: 
   718: 	MDRV_CPU_MODIFY("video")
   719: 	MDRV_CPU_MEMORY(zoo_readmem_video,zoo_writemem_video)
   720: MACHINE_DRIVER_END
   721: 
   722: 
   723: static MACHINE_DRIVER_START( slither )
   724: 
   725: 	/* basic machine hardware */
   726: 	MDRV_IMPORT_FROM(qix)
   727: 
   728: 	MDRV_CPU_REPLACE("main", M6809, SLITHER_CLOCK_OSC/4/4)	/* 1.34 MHz */
   729: 	MDRV_CPU_REPLACE("video", M6809, SLITHER_CLOCK_OSC/4/4)	/* 1.34 MHz */
   730: 	MDRV_CPU_REMOVE("sound")
   731: 
   732: 	MDRV_MACHINE_INIT(slither)
   733: 
   734: 	/* video hardware */
   735: 	MDRV_VISIBLE_AREA(0, 255, 0, 255)
   736: 
   737: 	/* sound hardware */
   738: 	MDRV_SOUND_REPLACE("dac", SN76496, sn76496_interface)
   739: MACHINE_DRIVER_END
   740: 
   741: 
   742: 
   743: /*************************************
   744:  *
   745:  *	ROM definitions
   746:  *
   747:  *************************************/
   748: 
   749: ROM_START( qix )
   750: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   751: 	ROM_LOAD( "u12", 0xc000, 0x0800, CRC(aad35508) SHA1(5fa72e00b4373de21e27a86b49a44a9769f769f4) )
   752: 	ROM_LOAD( "u13", 0xc800, 0x0800, CRC(46c13504) SHA1(19c084c38b75f14bf5094b317afeecaca6870f7a) )
   753: 	ROM_LOAD( "u14", 0xd000, 0x0800, CRC(5115e896) SHA1(8359a1700fff7a38e8ea4f92a4f18bc628cf1cb1) )
   754: 	ROM_LOAD( "u15", 0xd800, 0x0800, CRC(ccd52a1b) SHA1(86d134cd769ef12820638b96a4ffedd8b15dffd2) )
   755: 	ROM_LOAD( "u16", 0xe000, 0x0800, CRC(cd1c36ee) SHA1(b379b1fe3109947a12c9683cd0c2400c2ee845b3) )
   756: 	ROM_LOAD( "u17", 0xe800, 0x0800, CRC(1acb682d) SHA1(a2c60964e8d838d09662f8a670c6da41ba850df9) )
   757: 	ROM_LOAD( "u18", 0xf000, 0x0800, CRC(de77728b) SHA1(8e183bb27858aad9a996e4a2e5a95f0145d1f5b4) )
   758: 	ROM_LOAD( "u19", 0xf800, 0x0800, CRC(c0994776) SHA1(9452a98c78a038679c4e58f4a9983adb28ea5e78) )
   759: 
   760: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   761: 	ROM_LOAD( "u4",  0xc800, 0x0800, CRC(5b906a09) SHA1(84a2e817d6718e0276fcea702811a91bc054a670) )
   762: 	ROM_LOAD( "u5",  0xd000, 0x0800, CRC(254a3587) SHA1(66045c71cc1d04d4e03c728e578f570fbf7c650d) )
   763: 	ROM_LOAD( "u6",  0xd800, 0x0800, CRC(ace30389) SHA1(50c6275d13cfbca7750d5a3e725faedba7574e04) )
   764: 	ROM_LOAD( "u7",  0xe000, 0x0800, CRC(8ebcfa7c) SHA1(21ccf5e74424ab5470473d1059ee6a43d144f685) )
   765: 	ROM_LOAD( "u8",  0xe800, 0x0800, CRC(b8a3c8f9) SHA1(32ba771913ef44b1133ecfaedaae7f96dcc84343) )
   766: 	ROM_LOAD( "u9",  0xf000, 0x0800, CRC(26cbcd55) SHA1(2e55e222f850548cd1d461ab5337e98dd817b567) )
   767: 	ROM_LOAD( "u10", 0xf800, 0x0800, CRC(568be942) SHA1(8b6a01d983d355a64372fa76af810ab53e09d5df) )
   768: 
   769: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   770: 	ROM_LOAD( "u27", 0xf800, 0x0800, CRC(f3782bd0) SHA1(bfc6d29f9668e02857453e96c005c81568ae931d) )
   771: ROM_END
   772: 
   773: 
   774: ROM_START( qixa )
   775: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   776: 	ROM_LOAD( "qu12", 0xc000, 0x0800, CRC(1c55b44d) SHA1(6385e5e484e24cf396c14de86344170639c3cc65) )
   777: 	ROM_LOAD( "qu13", 0xc800, 0x0800, CRC(20279e8c) SHA1(722da239636de3fe40318768ddbe687b19afcdb6) )
   778: 	ROM_LOAD( "qu14", 0xd000, 0x0800, CRC(bafe3ce3) SHA1(648a54545a1b545c82c0ace5eb1ce17af5ea7391) )
   779: 	/* d800-dfff empty */
   780: 	ROM_LOAD( "qu16", 0xe000, 0x0800, CRC(db560753) SHA1(4acbe17f1e555f45606ddec197c5ab691ff46d39) )
   781: 	ROM_LOAD( "qu17", 0xe800, 0x0800, CRC(8c7aeed8) SHA1(b7da2b0f34f72f9853cdf6ce55e604b09fcf4728) )
   782: 	ROM_LOAD( "qu18", 0xf000, 0x0800, CRC(353be980) SHA1(a50e02fcc69771a13b238aa0e8dc3c56b01a58d5) )
   783: 	ROM_LOAD( "qu19", 0xf800, 0x0800, CRC(f46a69ca) SHA1(dacb53c0318445da3fbb86f9a45914c5b7a4c4a1) )
   784: 
   785: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   786: 	ROM_LOAD( "qu3",  0xc000, 0x0800, CRC(8b4c0ef0) SHA1(6d18d1052f342e3b3313f2174b20f2a179e2c6bd) )
   787: 	ROM_LOAD( "qu4",  0xc800, 0x0800, CRC(66a5c260) SHA1(8cce71bcd3a432650f0d0c94f3a2151ba8154220) )
   788: 	ROM_LOAD( "qu5",  0xd000, 0x0800, CRC(70160ea3) SHA1(a411130c5c669a181564369a8921b26e0f0b5450) )
   789: 	/* d800-dfff empty */
   790: 	ROM_LOAD( "qu7",  0xe000, 0x0800, CRC(d6733019) SHA1(89e9e63c91e044fe1c6ce883e3ec18eec0cb39d3) )
   791: 	ROM_LOAD( "qu8",  0xe800, 0x0800, CRC(66870dcc) SHA1(9f926390f5ce86d7c1bf55b75dbfb34119425c46) )
   792: 	ROM_LOAD( "qu9",  0xf000, 0x0800, CRC(c99bf94d) SHA1(7b6fa6e1cf0f131909d44694c261b1cc2de65003) )
   793: 	ROM_LOAD( "qu10", 0xf800, 0x0800, CRC(88b45037) SHA1(e2e5fefe377def3f784026b921527898af8b83a9) )
   794: 
   795: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   796: 	ROM_LOAD( "u27",  0xf800, 0x0800, CRC(f3782bd0) SHA1(bfc6d29f9668e02857453e96c005c81568ae931d) )
   797: ROM_END
   798: 
   799: 
   800: ROM_START( qixb )
   801: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   802: 	ROM_LOAD( "lk14.bin", 0xc000, 0x1000, CRC(6d164986) SHA1(c805abe1a441e10080ceca8ba547835bafb61bcc) )
   803: 	ROM_LOAD( "lk15.bin", 0xd000, 0x1000, CRC(16c6ce0f) SHA1(b8091d2db476d2acb4b3f0789e1f155336be9b39) )
   804: 	ROM_LOAD( "lk16.bin", 0xe000, 0x1000, CRC(698b1f9c) SHA1(7e7637ca5985f072e821e16f8b65aedb87df136b) )
   805: 	ROM_LOAD( "lk17.bin", 0xf000, 0x1000, CRC(7e3adde6) SHA1(dfe66317f87e10919f1ea4b4d565703e73039821) )
   806: 
   807: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   808: 	ROM_LOAD( "lk10.bin", 0xc000, 0x1000, CRC(7eac67d0) SHA1(ca5938422aaa1e380af0afa505876d4682ac69b9) )
   809: 	ROM_LOAD( "lk11.bin", 0xd000, 0x1000, CRC(90ccbb6a) SHA1(b65592384597dc2aafc02f49b6b6f477c9112580) )
   810: 	ROM_LOAD( "lk12.bin", 0xe000, 0x1000, CRC(be9b9f7d) SHA1(e681bdb9aa8b8c31af1c14e23d0f420577d6db63) )
   811: 	ROM_LOAD( "lk13.bin", 0xf000, 0x1000, CRC(51c9853b) SHA1(29a5221f2af866d2ee73110409ecddc2c96404fd) )
   812: 
   813: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   814: 	ROM_LOAD( "u27",      0xf800, 0x0800, CRC(f3782bd0) SHA1(bfc6d29f9668e02857453e96c005c81568ae931d) )
   815: ROM_END
   816: 
   817: 
   818: ROM_START( qix2 )
   819: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   820: 	ROM_LOAD( "u12.rmb", 0xc000, 0x0800, CRC(484280fd) SHA1(a60c1a278e519721294b2486dc817d248d19c3be) )
   821: 	ROM_LOAD( "u13.rmb", 0xc800, 0x0800, CRC(3d089fcb) SHA1(f4f31134c9c15160d2d15cb41296dfec6f2dfe37) )
   822: 	ROM_LOAD( "u14.rmb", 0xd000, 0x0800, CRC(362123a9) SHA1(3e2a853f6960f2d5fdcdef8dec8ccf5aad449548) )
   823: 	ROM_LOAD( "u15.rmb", 0xd800, 0x0800, CRC(60f3913d) SHA1(a97b658fe2c58b00c2749072828b2e0032894915) )
   824: 	ROM_LOAD( "u16.rmb", 0xe000, 0x0800, CRC(cc139e34) SHA1(0ed3e7179b0cbaa31fa91e1ed862b86f5032919a) )
   825: 	ROM_LOAD( "u17.rmb", 0xe800, 0x0800, CRC(cf31dc49) SHA1(71c089d827ab61ba69e5e95b7e53220763786df9) )
   826: 	ROM_LOAD( "u18.rmb", 0xf000, 0x0800, CRC(1f91ed7a) SHA1(85bb5370a244719663a4f859f66860613aa2b86e) )
   827: 	ROM_LOAD( "u19.rmb", 0xf800, 0x0800, CRC(68e8d5a6) SHA1(d09252c393be2fdaf3b9b9f477c79f721d15943f) )
   828: 
   829: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   830: 	ROM_LOAD( "u3.rmb",  0xc000, 0x0800, CRC(19cebaca) SHA1(7d7e79ab0920952cf7618567c9c65397535b6d4f) )
   831: 	ROM_LOAD( "u4.rmb",  0xc800, 0x0800, CRC(6cfb4185) SHA1(6545dece8eaeb716877aa6e7b24c21f6e5991451) )
   832: 	ROM_LOAD( "u5.rmb",  0xd000, 0x0800, CRC(948f53f3) SHA1(db6eddec8ba41335316d80b6f97e932bf91139af) )
   833: 	ROM_LOAD( "u6.rmb",  0xd800, 0x0800, CRC(8630120e) SHA1(14a020fd1bff4acbb034883e33130adda85884e5) )
   834: 	ROM_LOAD( "u7.rmb",  0xe000, 0x0800, CRC(bad037c9) SHA1(17218c31895b1547b71d2d9d2b6a93d2e5d73bdd) )
   835: 	ROM_LOAD( "u8.rmb",  0xe800, 0x0800, CRC(3159bc00) SHA1(479a69bfe5af48d5ce63978265ce59f79c25749f) )
   836: 	ROM_LOAD( "u9.rmb",  0xf000, 0x0800, CRC(e80e9b1d) SHA1(66ef22a26df3f766ae813213473b9ac4b35b01f6) )
   837: 	ROM_LOAD( "u10.rmb", 0xf800, 0x0800, CRC(9a55d360) SHA1(fc5f8c853dcc573f6b36dbdd63e5d1edba88bce1) )
   838: 
   839: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   840: 	ROM_LOAD( "u27",     0xf800, 0x0800, CRC(f3782bd0) SHA1(bfc6d29f9668e02857453e96c005c81568ae931d) )
   841: ROM_END
   842: 
   843: 
   844: ROM_START( sdungeon )
   845: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   846: 	ROM_LOAD( "sd14.u14", 0xa000, 0x1000, CRC(7024b55a) SHA1(1e21cb2a9cba8c0a3684e137ff78d4b331d86922) )
   847: 	ROM_LOAD( "sd15.u15", 0xb000, 0x1000, CRC(a3ac9040) SHA1(f033c21983e87688884180c2336d766a0fa49765) )
   848: 	ROM_LOAD( "sd16.u16", 0xc000, 0x1000, CRC(cc20b580) SHA1(53e34405f1f39bce305f199d09d3a32c10c0c616) )
   849: 	ROM_LOAD( "sd17.u17", 0xd000, 0x1000, CRC(4663e4b8) SHA1(519b0e730db2047ebe2cce0953eda53e851f8fac) )
   850: 	ROM_LOAD( "sd18.u18", 0xe000, 0x1000, CRC(7ef1ffc0) SHA1(eca49a916b6b51b91ed45ff89bb37a67fee7db0e) )
   851: 	ROM_LOAD( "sd19.u19", 0xf000, 0x1000, CRC(7b20b7ac) SHA1(554e29adc75cc465ea603a628f9d60d6d903e7ab) )
   852: 
   853: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   854: 	ROM_LOAD( "sd05.u5",  0xa000, 0x1000, CRC(0b2bf48e) SHA1(51bfb35521864f09a20b38aeeb98ab1399d139a5) )
   855: 	ROM_LOAD( "sd06.u6",  0xb000, 0x1000, CRC(f86db512) SHA1(7e7ae64db7821f18a5eefdcc7a2e1abc37abd3ac) )
   856: 	ROM_LOAD( "sd07.u7",  0xc000, 0x1000, CRC(7b796831) SHA1(cd3d8975e99886f51b27530f0e261f749aadee73) )
   857: 	ROM_LOAD( "sd08.u8",  0xd000, 0x1000, CRC(5fbe7068) SHA1(2884909156179b81181b908431de15a7c586f619) )
   858: 	ROM_LOAD( "sd09.u9",  0xe000, 0x1000, CRC(89bc51ea) SHA1(57ad4806f0b39af3b3cde91cef16234fc82f21d0) )
   859: 	ROM_LOAD( "sd10.u10", 0xf000, 0x1000, CRC(754de734) SHA1(a37b8362a592f5d1c0aeaa525fc003f6060fc12b) )
   860: 
   861: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   862: 	ROM_LOAD( "sd26.u26", 0xf000, 0x0800, CRC(3df8630d) SHA1(5f87c4d49799d424ce36469bf2b36b14c782fcd8) )
   863: 	ROM_LOAD( "sd27.u27", 0xf800, 0x0800, CRC(0386f351) SHA1(24ba6aba7c62c313397d743d18093c646f4a6526) )
   864: 
   865: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
   866: 	ROM_LOAD( "sd101",    0x0000, 0x0800, CRC(e255af9a) SHA1(2410d3b7dec8e72a93d71c824c9403a6d96b9e8c) )
   867: ROM_END
   868: 
   869: 
   870: ROM_START( elecyoyo )
   871: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   872:     ROM_LOAD( "yy14",   0xa000, 0x1000, CRC(0d2edcb9) SHA1(36e1a1aa81111f38e1c06a8174e7de406478cc67) )
   873:     ROM_LOAD( "yy15",   0xb000, 0x1000, CRC(a91f01e3) SHA1(7818299d25a0816b856e83fae02d8019e5e8b4a3) )
   874:     ROM_LOAD( "yy16-1", 0xc000, 0x1000, CRC(2710f360) SHA1(4a6210b07618fba261c38b7bf9a779598dd6bb3c) )
   875:     ROM_LOAD( "yy17",   0xd000, 0x1000, CRC(25fd489d) SHA1(ca7b8d1bcbc223fc0706c8f2e9f02821519b75e4) )
   876:     ROM_LOAD( "yy18",   0xe000, 0x1000, CRC(0b6661c0) SHA1(3e24acbfea1a3b83223d780ea34c83759a751175) )
   877:     ROM_LOAD( "yy19-1", 0xf000, 0x1000, CRC(95b8b244) SHA1(2852dcfc6a638118ee7fe60b957d8aa9a5a8984c) )
   878: 
   879: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   880:     ROM_LOAD( "yy5",    0xa000, 0x1000, CRC(3793fec5) SHA1(d31f3ba6364755c98beb814b5e7d5541e8b4e1a0) )
   881:     ROM_LOAD( "yy6",    0xb000, 0x1000, CRC(2e8b1265) SHA1(6fb67b6a5b627bcbd10c72ac8c9e4d9f4dd7860f) )
   882:     ROM_LOAD( "yy7",    0xc000, 0x1000, CRC(20f93411) SHA1(126c27442a4e35d054a236c41930603241d08ccf) )
   883:     ROM_LOAD( "yy8",    0xd000, 0x1000, CRC(926f90c8) SHA1(dbdfc0e9184a4d9d44d04fdb8fed19b35a8edadc) )
   884:     ROM_LOAD( "yy9",    0xe000, 0x1000, CRC(2f999480) SHA1(582baf285cadf8431ff80f5b63a02fbbefb62e45) )
   885:     ROM_LOAD( "yy10",   0xf000, 0x1000, CRC(b31d20e2) SHA1(e2ba4e6b81a02c3c02353774eb63a72cdfe5f2c3) )
   886: 
   887: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   888:     ROM_LOAD( "yy27",   0xf800, 0x0800, CRC(5a2aa0f3) SHA1(16c7c2db39f33ea3506e07312352ccbfe5528fbd) )
   889: 
   890: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
   891: 	ROM_LOAD( "yy101",  0x0000, 0x0800, CRC(3cf13038) SHA1(29c1b309d9046087a50ca78a5f7cba694271af26) )
   892: ROM_END
   893: 
   894: 
   895: ROM_START( elecyoy2 )
   896: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   897:     ROM_LOAD( "yy14",  0xa000, 0x1000, CRC(0d2edcb9) SHA1(36e1a1aa81111f38e1c06a8174e7de406478cc67) )
   898:     ROM_LOAD( "yy15",  0xb000, 0x1000, CRC(a91f01e3) SHA1(7818299d25a0816b856e83fae02d8019e5e8b4a3) )
   899:     ROM_LOAD( "yy16",  0xc000, 0x1000, CRC(cab19f3a) SHA1(df41649a800b77f046edb6623f65d100f6a8ef5f) )
   900:     ROM_LOAD( "yy17",  0xd000, 0x1000, CRC(25fd489d) SHA1(ca7b8d1bcbc223fc0706c8f2e9f02821519b75e4) )
   901:     ROM_LOAD( "yy18",  0xe000, 0x1000, CRC(0b6661c0) SHA1(3e24acbfea1a3b83223d780ea34c83759a751175) )
   902:     ROM_LOAD( "yy19",  0xf000, 0x1000, CRC(d0215d2e) SHA1(816131bc272252df6cea1b84a42750a71ce4f427) )
   903: 
   904: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   905:     ROM_LOAD( "yy5",   0xa000, 0x1000, CRC(3793fec5) SHA1(d31f3ba6364755c98beb814b5e7d5541e8b4e1a0) )
   906:     ROM_LOAD( "yy6",   0xb000, 0x1000, CRC(2e8b1265) SHA1(6fb67b6a5b627bcbd10c72ac8c9e4d9f4dd7860f) )
   907:     ROM_LOAD( "yy7",   0xc000, 0x1000, CRC(20f93411) SHA1(126c27442a4e35d054a236c41930603241d08ccf) )
   908:     ROM_LOAD( "yy8",   0xd000, 0x1000, CRC(926f90c8) SHA1(dbdfc0e9184a4d9d44d04fdb8fed19b35a8edadc) )
   909:     ROM_LOAD( "yy9",   0xe000, 0x1000, CRC(2f999480) SHA1(582baf285cadf8431ff80f5b63a02fbbefb62e45) )
   910:     ROM_LOAD( "yy10",  0xf000, 0x1000, CRC(b31d20e2) SHA1(e2ba4e6b81a02c3c02353774eb63a72cdfe5f2c3) )
   911: 
   912: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   913:     ROM_LOAD( "yy27",  0xf800, 0x0800, CRC(5a2aa0f3) SHA1(16c7c2db39f33ea3506e07312352ccbfe5528fbd) )
   914: 
   915: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
   916: 	ROM_LOAD( "yy101", 0x0000, 0x0800, CRC(3cf13038) SHA1(29c1b309d9046087a50ca78a5f7cba694271af26) )
   917: ROM_END
   918: 
   919: 
   920: ROM_START( kram )
   921: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   922:     ROM_LOAD( "ks14-1", 0xa000, 0x1000, CRC(fe69ac79) SHA1(6df0f98e6c0901c058123988bf22a6dd9f0a1fac) )
   923:     ROM_LOAD( "ks15",   0xb000, 0x1000, CRC(4b2c175e) SHA1(4f9d4dcc78a12e994d499b182c8229d5fa63b805) )
   924:     ROM_LOAD( "ks16",   0xc000, 0x1000, CRC(9500a05d) SHA1(18e0107111f79ba5dc6d568e3a6e7e7778955d0b) )
   925:     ROM_LOAD( "ks17",   0xd000, 0x1000, CRC(c752a3a1) SHA1(1d03ea97b9ca6fa3d4c43ac867ab737439d987af) )
   926:     ROM_LOAD( "ks18",   0xe000, 0x1000, CRC(79158b03) SHA1(0d4873471b5b7ace0de8ec421ff3d74650790f7e) )
   927:     ROM_LOAD( "ks19-1", 0xf000, 0x1000, CRC(759ea6ce) SHA1(7962f713dd93c73475fa1f64635d8e965336484b) )
   928: 
   929: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   930:     ROM_LOAD( "ks5",    0xa000, 0x1000, CRC(1c472080) SHA1(a85400be562ef6b817f8a654f29d966d3a198ab4) )
   931:     ROM_LOAD( "ks6",    0xb000, 0x1000, CRC(b8926622) SHA1(e25a8b2ff192f6ab0328fd7b3c58d638342f79e2) )
   932:     ROM_LOAD( "ks7",    0xc000, 0x1000, CRC(c98a7485) SHA1(e310d53ae65d456e12a2475e9ac578592b0e82ba) )
   933:     ROM_LOAD( "ks8",    0xd000, 0x1000, CRC(1127c4e4) SHA1(d78a8a964aac29fb71a55acf7956355724a234eb) )
   934:     ROM_LOAD( "ks9",    0xe000, 0x1000, CRC(d3bc8b5e) SHA1(2c5b882c54bdb48f9a76abfe734b99390b89d76c) )
   935:     ROM_LOAD( "ks10",   0xf000, 0x1000, CRC(e0426444) SHA1(3c4ea66f8ee907452e67aeb7cfaa15bee02b004b) )
   936: 
   937: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   938:     ROM_LOAD( "ks27",   0xf800, 0x0800, CRC(c46530c8) SHA1(d2df3f2228a5cff7d7b04b5bbbc4820d2fe84d8d) )
   939: 
   940: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
   941: 	ROM_LOAD( "ks101.dat", 0x0000, 0x0800, CRC(e53d97b7) SHA1(acfc3a5c5e73bd2d37e04ac357043b708d1982de) )
   942: ROM_END
   943: 
   944: 
   945: ROM_START( kram2 )
   946: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   947:     ROM_LOAD( "ks14", 0xa000, 0x1000, CRC(a2eac1ff) SHA1(128f83b1760492cbb272828ad8c67ea9a5db862a) )
   948:     ROM_LOAD( "ks15", 0xb000, 0x1000, CRC(4b2c175e) SHA1(4f9d4dcc78a12e994d499b182c8229d5fa63b805) )
   949:     ROM_LOAD( "ks16", 0xc000, 0x1000, CRC(9500a05d) SHA1(18e0107111f79ba5dc6d568e3a6e7e7778955d0b) )
   950:     ROM_LOAD( "ks17", 0xd000, 0x1000, CRC(c752a3a1) SHA1(1d03ea97b9ca6fa3d4c43ac867ab737439d987af) )
   951:     ROM_LOAD( "ks18", 0xe000, 0x1000, CRC(79158b03) SHA1(0d4873471b5b7ace0de8ec421ff3d74650790f7e) )
   952:     ROM_LOAD( "ks19", 0xf000, 0x1000, CRC(053c5e09) SHA1(cd6e5b54abf73c1ccf318ca18fceb56b51a3847f) )
   953: 
   954: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   955:     ROM_LOAD( "ks5",  0xa000, 0x1000, CRC(1c472080) SHA1(a85400be562ef6b817f8a654f29d966d3a198ab4) )
   956:     ROM_LOAD( "ks6",  0xb000, 0x1000, CRC(b8926622) SHA1(e25a8b2ff192f6ab0328fd7b3c58d638342f79e2) )
   957:     ROM_LOAD( "ks7",  0xc000, 0x1000, CRC(c98a7485) SHA1(e310d53ae65d456e12a2475e9ac578592b0e82ba) )
   958:     ROM_LOAD( "ks8",  0xd000, 0x1000, CRC(1127c4e4) SHA1(d78a8a964aac29fb71a55acf7956355724a234eb) )
   959:     ROM_LOAD( "ks9",  0xe000, 0x1000, CRC(d3bc8b5e) SHA1(2c5b882c54bdb48f9a76abfe734b99390b89d76c) )
   960:     ROM_LOAD( "ks10", 0xf000, 0x1000, CRC(e0426444) SHA1(3c4ea66f8ee907452e67aeb7cfaa15bee02b004b) )
   961: 
   962: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   963:     ROM_LOAD( "ks27", 0xf800, 0x0800, CRC(c46530c8) SHA1(d2df3f2228a5cff7d7b04b5bbbc4820d2fe84d8d) )
   964: 
   965: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
   966: 	ROM_LOAD( "ks101.dat", 0x0000, 0x0800, CRC(e53d97b7) SHA1(acfc3a5c5e73bd2d37e04ac357043b708d1982de) )
   967: ROM_END
   968: 
   969: 
   970: ROM_START( kram3 )
   971: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   972:     ROM_LOAD( "kr-u14", 0xa000, 0x1000, CRC(02c1bd1e) SHA1(5f13f32ca2da0e93ed43b052c8c33af9ac67cb6c) )
   973:     ROM_LOAD( "kr-u15", 0xb000, 0x1000, CRC(46b3ff33) SHA1(7db45971972df144a21fee4cc015b0190b502e12) )
   974:     ROM_LOAD( "kr-u16", 0xc000, 0x1000, CRC(f202b9cf) SHA1(baf27507611c3029e2dfb1a4ff86e6fe17171246) )
   975:     ROM_LOAD( "kr-u17", 0xd000, 0x1000, CRC(257cea23) SHA1(f9503c4a0f94d35a55033c02dda4d03737eedb90) )
   976:     ROM_LOAD( "kr-u18", 0xe000, 0x1000, CRC(da3aed8c) SHA1(0107d58fa006a39b47513381aead760190abef35) )
   977:     ROM_LOAD( "kr-u19", 0xf000, 0x1000, CRC(496ab571) SHA1(30e12b31ffd70a8a1ce23c845e89170ca3cabaa5) )
   978: 
   979: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   980:     ROM_LOAD( "kr-u5",  0xa000, 0x1000, CRC(9e63c2bc) SHA1(f61a2b93ed322b62818f31fddb324c666380eff7) )
   981:     ROM_LOAD( "kr-u6",  0xb000, 0x1000, CRC(a0ff1244) SHA1(5bc3f3f8caac0dfc8c1381d34e5b8ef5c8202982) )
   982:     ROM_LOAD( "kr-u7",  0xc000, 0x1000, CRC(20a15024) SHA1(094951c4cd06e32af2cb2faec04c31d55ade6b7b) )
   983:     ROM_LOAD( "ks8",    0xd000, 0x1000, CRC(1127c4e4) SHA1(d78a8a964aac29fb71a55acf7956355724a234eb) )
   984:     ROM_LOAD( "ks9",    0xe000, 0x1000, CRC(d3bc8b5e) SHA1(2c5b882c54bdb48f9a76abfe734b99390b89d76c) )
   985:     ROM_LOAD( "kr-u10", 0xf000, 0x1000, CRC(0a8adbd8) SHA1(8ab806108c68aa2740d9e157dd215b371e81c482) )
   986: 
   987: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
   988:     ROM_LOAD( "ks27",   0xf800, 0x0800, CRC(c46530c8) SHA1(d2df3f2228a5cff7d7b04b5bbbc4820d2fe84d8d) )
   989: ROM_END
   990: 
   991: 
   992: ROM_START( zookeep )
   993: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   994: 	ROM_LOAD( "za12", 0x8000, 0x1000, CRC(4e40d8dc) SHA1(dd7923dcb55a2a1ae0f2029caf5a8904a9ebe8b1) )
   995: 	ROM_LOAD( "za13", 0x9000, 0x1000, CRC(eebd5248) SHA1(ebe7f8c436bfefa4236f603fbcbd38d2f4cfd2bd) )
   996: 	ROM_LOAD( "za14", 0xa000, 0x1000, CRC(fab43297) SHA1(daa5a780bc9f171da0f6db5319b1519caa09c6c9) )
   997: 	ROM_LOAD( "za15", 0xb000, 0x1000, CRC(ef8cd67c) SHA1(f3a2e12ccfa45eb77c2a6e0d9cc0601b99273fd3) )
   998: 	ROM_LOAD( "za16", 0xc000, 0x1000, CRC(ccfc15bc) SHA1(56ac6e89825fcde9cf7aeb5d0765a02f5474174a) )
   999: 	ROM_LOAD( "za17", 0xd000, 0x1000, CRC(358013f4) SHA1(dd3fae69bf460f89c71e7c78d229dd86605c5950) )
  1000: 	ROM_LOAD( "za18", 0xe000, 0x1000, CRC(37886afe) SHA1(a0cc902b2d253466e21c4fbf9d3339069fe79ebe) )
  1001: 	ROM_LOAD( "za19", 0xf000, 0x1000, CRC(bbfb30d9) SHA1(bc6bd5525b159bee7b08b6967cd3088b7bd10fee) )
  1002: 
  1003: 	ROM_REGION( 0x12000, REGION_CPU2, 0 )
  1004: 	ROM_LOAD( "za5",  0x0a000, 0x1000, CRC(dc0c3cbd) SHA1(8335cd91bbacc680a3a98a5242d4cb5a6f61b2b5) )
  1005: 	ROM_LOAD( "za3",  0x10000, 0x1000, CRC(cc4d0aee) SHA1(05c0025e96b432088b46100051a2c780e46b7457) )
  1006: 	ROM_LOAD( "za6",  0x0b000, 0x1000, CRC(27c787dd) SHA1(1142790d875573d0c39d846aba4b06946fd2bc88) )
  1007: 	ROM_LOAD( "za4",  0x11000, 0x1000, CRC(ec3b10b1) SHA1(44303ab923d776052ca4d2d09a6a4315d67adc4b) )
  1008: 
  1009: 	ROM_LOAD( "za7",  0x0c000, 0x1000, CRC(1479f480) SHA1(bd0e9eead0f1213eb3b9653c73257bc704346ab0) )
  1010: 	ROM_LOAD( "za8",  0x0d000, 0x1000, CRC(4c96cdb2) SHA1(67e506462317d882c4e5c2e16318411d4958ac63) )
  1011: 	ROM_LOAD( "za9",  0x0e000, 0x1000, CRC(a4f7d9e0) SHA1(a958b4d305bb397aa46d8fdab9dc7e472237ca11) )
  1012: 	ROM_LOAD( "za10", 0x0f000, 0x1000, CRC(05df1a5a) SHA1(30797838c25cca038023c188cd9fa45277c4190d) )
  1013: 
  1014: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
  1015: 	ROM_LOAD( "za25", 0xd000, 0x1000, CRC(779b8558) SHA1(7312e63c23d92c9c52e93cc445a718bc8fe35a0a) )
  1016: 	ROM_LOAD( "za26", 0xe000, 0x1000, CRC(60a810ce) SHA1(d97e5acea0ef1c208f8e5e95024c83dd6bc9b028) )
  1017: 	ROM_LOAD( "za27", 0xf000, 0x1000, CRC(99ed424e) SHA1(e4e543dcb77f153aeb78904d11b95381d039299e) )
  1018: 
  1019: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
  1020: 	ROM_LOAD( "za_coin.bin", 0x0000, 0x0800, CRC(364d3557) SHA1(049d0759750c576187053306e07984b1e5877df7) )
  1021: ROM_END
  1022: 
  1023: 
  1024: ROM_START( zookeep2 )
  1025: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
  1026: 	ROM_LOAD( "za12",     0x8000, 0x1000, CRC(4e40d8dc) SHA1(dd7923dcb55a2a1ae0f2029caf5a8904a9ebe8b1) )
  1027: 	ROM_LOAD( "za13",     0x9000, 0x1000, CRC(eebd5248) SHA1(ebe7f8c436bfefa4236f603fbcbd38d2f4cfd2bd) )
  1028: 	ROM_LOAD( "za14",     0xa000, 0x1000, CRC(fab43297) SHA1(daa5a780bc9f171da0f6db5319b1519caa09c6c9) )
  1029: 	ROM_LOAD( "za15",     0xb000, 0x1000, CRC(ef8cd67c) SHA1(f3a2e12ccfa45eb77c2a6e0d9cc0601b99273fd3) )
  1030: 	ROM_LOAD( "za16",     0xc000, 0x1000, CRC(ccfc15bc) SHA1(56ac6e89825fcde9cf7aeb5d0765a02f5474174a) )
  1031: 	ROM_LOAD( "za17",     0xd000, 0x1000, CRC(358013f4) SHA1(dd3fae69bf460f89c71e7c78d229dd86605c5950) )
  1032: 	ROM_LOAD( "za18",     0xe000, 0x1000, CRC(37886afe) SHA1(a0cc902b2d253466e21c4fbf9d3339069fe79ebe) )
  1033: 	ROM_LOAD( "za19.red", 0xf000, 0x1000, CRC(ec01760e) SHA1(169ab9d3a0abe325d960f9ed358258b3d6fcd4be) )
  1034: 
  1035: 	ROM_REGION( 0x12000, REGION_CPU2, 0 )
  1036: 	ROM_LOAD( "za5",      0x0a000, 0x1000, CRC(dc0c3cbd) SHA1(8335cd91bbacc680a3a98a5242d4cb5a6f61b2b5) )
  1037: 	ROM_LOAD( "za3",      0x10000, 0x1000, CRC(cc4d0aee) SHA1(05c0025e96b432088b46100051a2c780e46b7457) )
  1038: 	ROM_LOAD( "za6",      0x0b000, 0x1000, CRC(27c787dd) SHA1(1142790d875573d0c39d846aba4b06946fd2bc88) )
  1039: 	ROM_LOAD( "za4",      0x11000, 0x1000, CRC(ec3b10b1) SHA1(44303ab923d776052ca4d2d09a6a4315d67adc4b) )
  1040: 
  1041: 	ROM_LOAD( "za7",      0x0c000, 0x1000, CRC(1479f480) SHA1(bd0e9eead0f1213eb3b9653c73257bc704346ab0) )
  1042: 	ROM_LOAD( "za8",      0x0d000, 0x1000, CRC(4c96cdb2) SHA1(67e506462317d882c4e5c2e16318411d4958ac63) )
  1043: 	ROM_LOAD( "za9",      0x0e000, 0x1000, CRC(a4f7d9e0) SHA1(a958b4d305bb397aa46d8fdab9dc7e472237ca11) )
  1044: 	ROM_LOAD( "za10",     0x0f000, 0x1000, CRC(05df1a5a) SHA1(30797838c25cca038023c188cd9fa45277c4190d) )
  1045: 
  1046: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
  1047: 	ROM_LOAD( "za25",     0xd000, 0x1000, CRC(779b8558) SHA1(7312e63c23d92c9c52e93cc445a718bc8fe35a0a) )
  1048: 	ROM_LOAD( "za26",     0xe000, 0x1000, CRC(60a810ce) SHA1(d97e5acea0ef1c208f8e5e95024c83dd6bc9b028) )
  1049: 	ROM_LOAD( "za27",     0xf000, 0x1000, CRC(99ed424e) SHA1(e4e543dcb77f153aeb78904d11b95381d039299e) )
  1050: 
  1051: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
  1052: 	ROM_LOAD( "za_coin.bin", 0x0000, 0x0800, CRC(364d3557) SHA1(049d0759750c576187053306e07984b1e5877df7) )
  1053: ROM_END
  1054: 
  1055: 
  1056: ROM_START( zookeep3 )
  1057: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
  1058: 	ROM_LOAD( "za12",    0x8000, 0x1000, CRC(4e40d8dc) SHA1(dd7923dcb55a2a1ae0f2029caf5a8904a9ebe8b1) )
  1059: 	ROM_LOAD( "za13",    0x9000, 0x1000, CRC(eebd5248) SHA1(ebe7f8c436bfefa4236f603fbcbd38d2f4cfd2bd) )
  1060: 	ROM_LOAD( "za14",    0xa000, 0x1000, CRC(fab43297) SHA1(daa5a780bc9f171da0f6db5319b1519caa09c6c9) )
  1061: 	ROM_LOAD( "za15",    0xb000, 0x1000, CRC(ef8cd67c) SHA1(f3a2e12ccfa45eb77c2a6e0d9cc0601b99273fd3) )
  1062: 	ROM_LOAD( "za16",    0xc000, 0x1000, CRC(ccfc15bc) SHA1(56ac6e89825fcde9cf7aeb5d0765a02f5474174a) )
  1063: 	ROM_LOAD( "za17",    0xd000, 0x1000, CRC(358013f4) SHA1(dd3fae69bf460f89c71e7c78d229dd86605c5950) )
  1064: 	ROM_LOAD( "za18",    0xe000, 0x1000, CRC(37886afe) SHA1(a0cc902b2d253466e21c4fbf9d3339069fe79ebe) )
  1065: 	ROM_LOAD( "za19",    0xf000, 0x1000, CRC(bbfb30d9) SHA1(bc6bd5525b159bee7b08b6967cd3088b7bd10fee) )
  1066: 
  1067: 	ROM_REGION( 0x12000, REGION_CPU2, 0 )
  1068: 	ROM_LOAD( "za5",     0x0a000, 0x1000, CRC(dc0c3cbd) SHA1(8335cd91bbacc680a3a98a5242d4cb5a6f61b2b5) )
  1069: 	ROM_LOAD( "za3",     0x10000, 0x1000, CRC(cc4d0aee) SHA1(05c0025e96b432088b46100051a2c780e46b7457) )
  1070: 	ROM_LOAD( "za6",     0x0b000, 0x1000, CRC(27c787dd) SHA1(1142790d875573d0c39d846aba4b06946fd2bc88) )
  1071: 	ROM_LOAD( "za4",     0x11000, 0x1000, CRC(ec3b10b1) SHA1(44303ab923d776052ca4d2d09a6a4315d67adc4b) )
  1072: 
  1073: 	ROM_LOAD( "za7",     0x0c000, 0x1000, CRC(1479f480) SHA1(bd0e9eead0f1213eb3b9653c73257bc704346ab0) )
  1074: 	ROM_LOAD( "za8",     0x0d000, 0x1000, CRC(4c96cdb2) SHA1(67e506462317d882c4e5c2e16318411d4958ac63) )
  1075: 	ROM_LOAD( "zv35.9",  0x0e000, 0x1000, CRC(d14123b7) SHA1(5d35bffd2203225937bb83598ffdc31a46a1dbca) )
  1076: 	ROM_LOAD( "zv36.10", 0x0f000, 0x1000, CRC(23705777) SHA1(952cd8d9ee00268bff2022b2428b1dbfab061254) )
  1077: 
  1078: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
  1079: 	ROM_LOAD( "za25",    0xd000, 0x1000, CRC(779b8558) SHA1(7312e63c23d92c9c52e93cc445a718bc8fe35a0a) )
  1080: 	ROM_LOAD( "za26",    0xe000, 0x1000, CRC(60a810ce) SHA1(d97e5acea0ef1c208f8e5e95024c83dd6bc9b028) )
  1081: 	ROM_LOAD( "za27",    0xf000, 0x1000, CRC(99ed424e) SHA1(e4e543dcb77f153aeb78904d11b95381d039299e) )
  1082: 
  1083: 	ROM_REGION( 0x0800, REGION_CPU4, 0 )
  1084: 	ROM_LOAD( "za_coin.bin", 0x0000, 0x0800, CRC(364d3557) SHA1(049d0759750c576187053306e07984b1e5877df7) )
  1085: ROM_END
  1086: 
  1087: 
  1088: ROM_START( slither )
  1089: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
  1090: 	ROM_LOAD( "u31.cpu", 0xd800, 0x0800, CRC(3dfff970) SHA1(ee50840e26aa7be226dbe9a32a8344bb75b8de07) )
  1091: 	ROM_LOAD( "u30.cpu", 0xe000, 0x0800, CRC(8cbc5af8) SHA1(3d563d0bbbce007bd6db6d620e1b0996c67029f6) )
  1092: 	ROM_LOAD( "u29.cpu", 0xe800, 0x0800, CRC(98c14510) SHA1(7a39b4b691883ad5d079a5c199b93986071c4a49) )
  1093: 	ROM_LOAD( "u28.cpu", 0xf000, 0x0800, CRC(2762f612) SHA1(2f094832b199d8514ed04c517fca828c75ac7bfa) )
  1094: 	ROM_LOAD( "u27.cpu", 0xf800, 0x0800, CRC(9306d5b1) SHA1(e5a2c613b1e083b70d63e24dd45472364930398a) )
  1095: 
  1096: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
  1097: 	ROM_LOAD( "u41.cpu", 0xd000, 0x0800, CRC(e4c60a57) SHA1(5ce9fe3d84b7a5ded372f5c3fc14a335a37ad472) )
  1098: 	ROM_LOAD( "u40.cpu", 0xd800, 0x0800, CRC(5dcec622) SHA1(4c00b91106d1e505bdbd3aefb46bfb1a17f14fc1) )
  1099: 	ROM_LOAD( "u39.cpu", 0xe000, 0x0800, CRC(69829c2a) SHA1(5ea1f7e6db2b2cebab8663f7a05496f2e13131f9) )
  1100: 	ROM_LOAD( "u38.cpu", 0xe800, 0x0800, CRC(6adc64c6) SHA1(0502fa9f793a246ade30d506cce62c5d9b773952) )
  1101: 	ROM_LOAD( "u37.cpu", 0xf000, 0x0800, CRC(55d31c96) SHA1(cf04b30369407dd9a8f0ef5850fdc13d13a7d56d) )
  1102: 	ROM_LOAD( "u36.cpu", 0xf800, 0x0800, CRC(d5ffc013) SHA1(d278c0a6be86010cdf4b18afc5099dfd39f26523) )
  1103: ROM_END
  1104: 
  1105: 
  1106: ROM_START( slithera )
  1107: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
  1108: 	ROM_LOAD( "u31.cpu", 0xd800, 0x0800, CRC(3dfff970) SHA1(ee50840e26aa7be226dbe9a32a8344bb75b8de07) )
  1109: 	ROM_LOAD( "u30.cpu", 0xe000, 0x0800, CRC(8cbc5af8) SHA1(3d563d0bbbce007bd6db6d620e1b0996c67029f6) )
  1110: 	ROM_LOAD( "u29.cpu", 0xe800, 0x0800, CRC(98c14510) SHA1(7a39b4b691883ad5d079a5c199b93986071c4a49) )
  1111: 	ROM_LOAD( "u28.cpu", 0xf000, 0x0800, CRC(2762f612) SHA1(2f094832b199d8514ed04c517fca828c75ac7bfa) )
  1112: 	ROM_LOAD( "u27.cpu", 0xf800, 0x0800, CRC(9306d5b1) SHA1(e5a2c613b1e083b70d63e24dd45472364930398a) )
  1113: 
  1114: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
  1115: 	ROM_LOAD( "u41.cpu", 0xd000, 0x0800, CRC(e4c60a57) SHA1(5ce9fe3d84b7a5ded372f5c3fc14a335a37ad472) )
  1116: 	ROM_LOAD( "u40.cpu", 0xd800, 0x0800, CRC(5dcec622) SHA1(4c00b91106d1e505bdbd3aefb46bfb1a17f14fc1) )
  1117: 	ROM_LOAD( "u39.cpu", 0xe000, 0x0800, CRC(69829c2a) SHA1(5ea1f7e6db2b2cebab8663f7a05496f2e13131f9) )
  1118: 	ROM_LOAD( "u38a.cpu",0xe800, 0x0800, CRC(423adfef) SHA1(f10ca9acf31e602a77b011b002bd53cebf5ba502) )
  1119: 	ROM_LOAD( "u37.cpu", 0xf000, 0x0800, CRC(55d31c96) SHA1(cf04b30369407dd9a8f0ef5850fdc13d13a7d56d) )
  1120: 	ROM_LOAD( "u36a.cpu",0xf800, 0x0800, CRC(5ac4e244) SHA1(077bf6f3cb98c3f7845393fb57a080d5bdfc2920) )
  1121: ROM_END
  1122: 
  1123: ROM_START( complexx )
  1124: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
  1125: 	ROM_LOAD( "cx14.bin", 0xa000, 0x1000, CRC(f123a0de) SHA1(fbb64c33d01031e9da78e725dbdaf87d6e33e23c) )
  1126: 	ROM_LOAD( "cx15.bin", 0xb000, 0x1000, CRC(0fcb966f) SHA1(f7ea6f0ce356629b8133214c7b2e5ede41c54e6c) )
  1127: 	ROM_LOAD( "cx16.bin", 0xc000, 0x1000, CRC(aa11e0e3) SHA1(4c0b4fc61c682d501ec3dffd7e324d4dc16425a7) )
  1128: 	ROM_LOAD( "cx17.bin", 0xd000, 0x1000, CRC(f610856e) SHA1(a01edb705cf7c321800c2739beaee584bfc37270) )
  1129: 	ROM_LOAD( "cx18.bin", 0xe000, 0x1000, CRC(8f8c3984) SHA1(4cfc83c7a972eeb6e386c9f663388b57c1ebfd00) )
  1130: 	ROM_LOAD( "cx19.bin", 0xf000, 0x1000, CRC(13af3ba8) SHA1(79ce3dce960d89161db89821d9b211ffd1d399d7) )
  1131: 
  1132: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
  1133: 	ROM_LOAD( "cx5.bin",  0xa000, 0x1000, CRC(62a2b87b) SHA1(eeecdfd3eeba15cd93d1514132919fdc9254c1cb) )
  1134: 	ROM_LOAD( "cx6.bin",  0xb000, 0x1000, CRC(dfa7c088) SHA1(626cae67db85ab8f87c59f5945032b4cb6683c8b) )
  1135: 	ROM_LOAD( "cx7.bin",  0xc000, 0x1000, CRC(c8bd6759) SHA1(5e2debc2f5acf5c14da2d0c3daf49a0f63ade07b) )
  1136: 	ROM_LOAD( "cx8.bin",  0xd000, 0x1000, CRC(14a57221) SHA1(21e0ac7db246cc0a23f0992e6568a9e737db725a) )
  1137: 	ROM_LOAD( "cx9.bin",  0xe000, 0x1000, CRC(fc2d4a9f) SHA1(ce16cafe09e2a4411bfe3063136507e649ac7870) )
  1138: 	ROM_LOAD( "cx10.bin", 0xf000, 0x1000, CRC(96e0c1ad) SHA1(4e67b46cc21b4b3e3259d34c618c6d4e4bb1ae78) )
  1139: 
  1140: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )
  1141: 	ROM_LOAD( "cx26.bin",    0xe000, 0x1000, CRC(f4f19c9b) SHA1(d14ae6b59016c428a7e08862f1a4ec89f4eac4fb) )
  1142: 	ROM_LOAD( "cx27.bin",    0xf000, 0x1000, CRC(7e177328) SHA1(bd3d361bb44341a01a8d118a682ad4efa19be8ff) )
  1143: ROM_END
  1144: 
  1145: 
  1146: 
  1147: 
  1148: /*************************************
  1149:  *
  1150:  *	Game-specific initialization
  1151:  *
  1152:  *************************************/
  1153: 
  1154: static DRIVER_INIT( kram )
  1155: {
  1156: 	/* we need to override one PIA handler to prevent controls from getting disabled */
  1157: 	install_mem_write_handler(0, 0x9400, 0x97ff, zookeep_pia_0_w);
  1158: }
  1159: 
  1160: 
  1161: static DRIVER_INIT( zookeep )
  1162: {
  1163: 	/* we need to override two PIA handlers to prevent controls from getting disabled */
  1164: 	install_mem_write_handler(0, 0x1400, 0x17ff, zookeep_pia_0_w);
  1165: 	install_mem_write_handler(0, 0x1c00, 0x1fff, zookeep_pia_2_w);
  1166: }
  1167: 
  1168: 
  1169: static DRIVER_INIT( slither )
  1170: {
  1171: 	install_mem_write_handler(1, 0x9401, 0x9401, slither_vram_mask_w);
  1172: }
  1173: 
  1174: 
  1175: 
  1176: /*************************************
  1177:  *
  1178:  *	Game drivers
  1179:  *
  1180:  *************************************/
  1181: 
  1182: GAME( 1981, qix,      0,        qix,     qix,      0,        ROT270, "Taito America Corporation", "Qix (set 1)" )
  1183: GAME( 1981, qixa,     qix,      qix,     qix,      0,        ROT270, "Taito America Corporation", "Qix (set 2)" )
  1184: GAME( 1981, qixb,     qix,      qix,     qix,      0,        ROT270, "Taito America Corporation", "Qix (set 3)" )
  1185: GAME( 1981, qix2,     qix,      qix,     qix,      0,        ROT270, "Taito America Corporation", "Qix II (Tournament)" )
  1186: GAME( 1981, sdungeon, 0,        mcu,     sdungeon, 0,        ROT270, "Taito America Corporation", "Space Dungeon" )
  1187: GAME( 1982, elecyoyo, 0,        mcu,     elecyoyo, 0,        ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 1)" )
  1188: GAME( 1982, elecyoy2, elecyoyo, mcu,     elecyoyo, 0,        ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 2)" )
  1189: GAME( 1982, kram,     0,        mcu,     kram,     kram,     ROT0,   "Taito America Corporation", "Kram (set 1)" )
  1190: GAME( 1982, kram2,    kram,     mcu,     kram,     kram,     ROT0,   "Taito America Corporation", "Kram (set 2)" )
  1191: GAMEX(1982, kram3,    kram,     qix,     kram,     kram,     ROT0,   "Taito America Corporation", "Kram (encrypted)", GAME_UNEMULATED_PROTECTION )
  1192: GAME( 1982, zookeep,  0,        zookeep, zookeep,  zookeep,  ROT0,   "Taito America Corporation", "Zoo Keeper (set 1)" )
  1193: GAME( 1982, zookeep2, zookeep,  zookeep, zookeep,  zookeep,  ROT0,   "Taito America Corporation", "Zoo Keeper (set 2)" )
  1194: GAME( 1982, zookeep3, zookeep,  zookeep, zookeep,  zookeep,  ROT0,   "Taito America Corporation", "Zoo Keeper (set 3)" )
  1195: GAME( 1982, slither,  0,        slither, slither,  slither,  ROT270, "Century II",                "Slither (set 1)" )
  1196: GAME( 1982, slithera, slither,  slither, slither,  slither,  ROT270, "Century II",                "Slither (set 2)" )
  1197: GAME( 1984, complexx, 0,        qix,     complexx, 0,        ROT270, "Taito America Corporation", "Complex X" )
  1198: 




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