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

Source Listing


     1: /***************************************************************************
     2: 
     3: 	Atari System 2 hardware
     4: 
     5: 	driver by Aaron Giles
     6: 
     7: 	Games supported:
     8: 		* Paperboy (1984)
     9: 		* 720 Degrees (1986) [2 sets]
    10: 		* Super Sprint (1986)
    11: 		* Championship Sprint (1986)
    12: 		* APB - All Points Bulletin (1987) [2 sets]
    13: 
    14: 	Known bugs:
    15: 		* none at this time
    16: 
    17: ****************************************************************************
    18: 
    19: 	Memory map
    20: 
    21: ****************************************************************************
    22: 
    23: 	========================================================================
    24: 	MAIN CPU
    25: 	========================================================================
    26: 	0000-0FFF   R/W   xxxxxxxx xxxxxxxx   Program RAM
    27: 	1000-107F   R/W   xxxxxxxx xxxxxxxx   Motion object palette RAM (64 entries)
    28: 	            R/W   xxxx---- --------      (Intensity)
    29: 	            R/W   ----xxxx --------      (Red)
    30: 	            R/W   -------- xxxx----      (Green)
    31: 	            R/W   -------- ----xxxx      (Blue)
    32: 	1080-10BF   R/W   xxxxxxxx xxxxxxxx   Alphanumerics palette RAM (32 entries)
    33: 	1100-11FF   R/W   xxxxxxxx xxxxxxxx   Playfield palette RAM (128 entries)
    34: 	1400        R     -------- xxxxxxxx   ADC data read
    35: 	1400          W   xxxxxx-- --------   Bank 1 ROM select
    36: 	1402          W   xxxxxx-- --------   Bank 2 ROM select
    37: 	1480-148F     W   -------- --------   ADC strobe/select
    38: 	1580          W   -------- --------   Sound command read IRQ reset
    39: 	15A0          W   -------- --------   Sound CPU reset
    40: 	15C0          W   -------- --------   32V IRQ reset
    41: 	15E0          W   -------- --------   VBLANK IRQ reset
    42: 	1600          W   -------- ----xxxx   IRQ enable
    43: 	              W   -------- ----x---      (VBLANK IRQ enable)
    44: 	              W   -------- -----x--      (32V IRQ enable)
    45: 	              W   -------- ------x-      (Sound response IRQ enable)
    46: 	              W   -------- -------x      (Sound command read IRQ enable)
    47: 	1680          W   -------- xxxxxxxx   Sound command
    48: 	1700          W   xxxxxxxx xx--xxxx   Playfield X scroll/bank 1 select
    49: 	              W   xxxxxxxx xx------      (Playfield X scroll)
    50: 	              W   -------- ----xxxx      (Playfield bank 1 select)
    51: 	1780          W   -xxxxxxx xx--xxxx   Playfield Y scroll/bank 2 select
    52: 	              W   -xxxxxxx xx------      (Playfield Y scroll)
    53: 	              W   -------- ----xxxx      (Playfield bank 2 select)
    54: 	1800        R     x------- xxxxxxxx   Switch inputs
    55: 	            R     x------- --------      (Test switch)
    56: 	            R     -------- xx--xxxx      (Game-specific switches)
    57: 	            R     -------- --x-----      (Sound command buffer full)
    58: 	            R     -------- ---x----      (Sound response buffer full)
    59: 	1800          W   -------- --------   Watchdog reset
    60: 	1C00        R     -------- xxxxxxxx   Sound response read
    61: 	2000-37FF   R/W   xxx---xx xxxxxxxx   Alphanumerics RAM (bank 0, 64x32 tiles)
    62: 	            R/W   xxx----- --------      (Palette select)
    63: 	            R/W   ------xx xxxxxxxx      (Tile index)
    64: 	3800-3FFF   R/W   xxxxxxxx xxxxxxxx   Motion object RAM (bank 0, 256 entries x 4 words)
    65: 	            R/W   xxxxxxxx xx------      (0: Y position)
    66: 	            R/W   -------- -----xxx      (0: Tile index, 3 MSB)
    67: 	            R/W   x------- --------      (1: Hold position from last object)
    68: 	            R/W   -x------ --------      (1: Horizontal flip)
    69: 	            R/W   --xxx--- --------      (1: Number of Y tiles - 1)
    70: 	            R/W   -----xxx xxxxxxxx      (1: Tile index, 11 LSB)
    71: 	            R/W   xxxxxxxx xx------      (2: X position)
    72: 	            R/W   xx------ --------      (3: Priority)
    73: 	            R/W   -xxx---- --------      (3: Palette select)
    74: 	            R/W   -------- xxxxxxxx      (3: Link to the next object)
    75: 	2000-3FFF   R/W   --xxxxxx xxxxxxxx   Playfield RAM (banks 2 & 3, 128x64 tiles)
    76: 	            R/W   --xxx--- --------      (Palette select)
    77: 	            R/W   -----x-- --------      (Tile bank select)
    78: 	            R/W   ------xx xxxxxxxx      (Tile index, 10 LSB)
    79: 	4000-5FFF   R     xxxxxxxx xxxxxxxx   Bank 1 ROM
    80: 	6000-7FFF   R     xxxxxxxx xxxxxxxx   Bank 2 ROM
    81: 	8000-FFFF   R     xxxxxxxx xxxxxxxx   Program ROM (slapstic mapped here as well)
    82: 	========================================================================
    83: 	Interrupts:
    84: 		IRQ0 = sound command read
    85: 		IRQ1 = sound command write
    86: 		IRQ2 = 32V
    87: 		IRQ3 = VBLANK
    88: 	========================================================================
    89: 
    90: 
    91: 	========================================================================
    92: 	SOUND CPU
    93: 	========================================================================
    94: 	0000-0FFF   R/W   xxxxxxxx   Program RAM
    95: 	1000-17FF   R/W   xxxxxxxx   EEPROM
    96: 	1800-180F   R/W   xxxxxxxx   POKEY 1 (left) communications
    97: 	1810-1813   R     xxxxxxxx   LETA analog inputs
    98: 	1830-183F   R/W   xxxxxxxx   POKEY 2 (right) communications
    99: 	1850-1851   R/W   xxxxxxxx   YM2151 communications
   100: 	1860        R     xxxxxxxx   Sound command read
   101: 	1870          W   xxxxxxxx   TMS5220 data latch
   102: 	1872          W   --------   TMS5220 data strobe low
   103: 	1873          W   --------   TMS5220 data strobe high
   104: 	1874          W   xxxxxxxx   Sound response write
   105: 	1876          W   ------xx   Coin counters
   106: 	1878          W   --------   Interrupt acknowledge
   107: 	187A          W   xxxxxxxx   Mixer control
   108: 	              W   xxx-----      (TMS5220 volume)
   109: 	              W   ---xx---      (POKEY volume)
   110: 	              W   -----xxx      (YM2151 volume)
   111: 	187C          W   --xxxx--   Misc. control bits
   112: 	              W   --x-----      (TMS5220 frequency control)
   113: 	              W   ---x----      (LETA resolution control)
   114: 	              W   ----xx--      (LEDs)
   115: 	187E          W   -------x   Sound enable
   116: 	4000-FFFF   R     xxxxxxxx   Program ROM
   117: 	========================================================================
   118: 	Interrupts:
   119: 		IRQ = YM2151 interrupt
   120: 		NMI = latch on sound command
   121: 	========================================================================
   122: 
   123: ****************************************************************************/
   124: 
   125: 
   126: #include "driver.h" 
   127: #include "cpu/t11/t11.h" 
   128: #include "machine/atarigen.h" 
   129: #include "slapstic.h" 
   130: #include "atarisy2.h" 
   131: 
   132: 
   133: 
   134: /*************************************
   135:  *
   136:  *	Statics
   137:  *
   138:  *************************************/
   139: 
   140: static UINT8 interrupt_enable;
   141: static data16_t *bankselect;
   142: 
   143: static INT8 pedal_count;
   144: 
   145: static UINT8 has_tms5220;
   146: static UINT8 tms5220_data;
   147: static UINT8 tms5220_data_strobe;
   148: 
   149: static UINT8 which_adc;
   150: 
   151: static UINT8 p2portwr_state;
   152: static UINT8 p2portrd_state;
   153: 
   154: 
   155: 
   156: /*************************************
   157:  *
   158:  *	Interrupt updating
   159:  *
   160:  *************************************/
   161: 
   162: static void update_interrupts(void)
   163: {
   164: 	if (atarigen_video_int_state)
   165: 		cpu_set_irq_line(0, 3, ASSERT_LINE);
   166: 	else
   167: 		cpu_set_irq_line(0, 3, CLEAR_LINE);
   168: 
   169: 	if (atarigen_scanline_int_state)
   170: 		cpu_set_irq_line(0, 2, ASSERT_LINE);
   171: 	else
   172: 		cpu_set_irq_line(0, 2, CLEAR_LINE);
   173: 
   174: 	if (p2portwr_state)
   175: 		cpu_set_irq_line(0, 1, ASSERT_LINE);
   176: 	else
   177: 		cpu_set_irq_line(0, 1, CLEAR_LINE);
   178: 
   179: 	if (p2portrd_state)
   180: 		cpu_set_irq_line(0, 0, ASSERT_LINE);
   181: 	else
   182: 		cpu_set_irq_line(0, 0, CLEAR_LINE);
   183: }
   184: 
   185: 
   186: 
   187: /*************************************
   188:  *
   189:  *	Every 8-scanline update
   190:  *
   191:  *************************************/
   192: 
   193: static void scanline_update(int scanline)
   194: {
   195: 	if (scanline <= Machine->drv->screen_height)
   196: 	{
   197: 		/* generate the 32V interrupt (IRQ 2) */
   198: 		if ((scanline % 64) == 0)
   199: 			if (interrupt_enable & 4)
   200: 				atarigen_scanline_int_gen();
   201: 	}
   202: }
   203: 
   204: 
   205: 
   206: /*************************************
   207:  *
   208:  *	Initialization
   209:  *
   210:  *************************************/
   211: 
   212: static MACHINE_INIT( atarisy2 )
   213: {
   214: 	atarigen_eeprom_reset();
   215: 	slapstic_reset();
   216: 	atarigen_interrupt_reset(update_interrupts);
   217: 	atarigen_sound_io_reset(1);
   218: 	atarigen_scanline_timer_reset(scanline_update, 64);
   219: 
   220: 	tms5220_data_strobe = 1;
   221: 
   222: 	p2portwr_state = 0;
   223: 	p2portrd_state = 0;
   224: 
   225: 	which_adc = 0;
   226: }
   227: 
   228: 
   229: 
   230: /*************************************
   231:  *
   232:  *	Interrupt handlers
   233:  *
   234:  *************************************/
   235: 
   236: static INTERRUPT_GEN( vblank_int )
   237: {
   238: 	/* clock the VBLANK through */
   239: 	if (interrupt_enable & 8)
   240: 		atarigen_video_int_gen();
   241: }
   242: 
   243: 
   244: static WRITE16_HANDLER( int0_ack_w )
   245: {
   246: 	/* reset sound IRQ */
   247: 	p2portrd_state = 0;
   248: 	atarigen_update_interrupts();
   249: }
   250: 
   251: 
   252: static WRITE16_HANDLER( int1_ack_w )
   253: {
   254: 	/* reset sound CPU */
   255: 	if (ACCESSING_LSB)
   256: 		cpu_set_reset_line(1, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
   257: }
   258: 
   259: 
   260: static void delayed_int_enable_w(int data)
   261: {
   262: 	interrupt_enable = data;
   263: }
   264: 
   265: 
   266: static WRITE16_HANDLER( int_enable_w )
   267: {
   268: 	if (offset == 0 && ACCESSING_LSB)
   269: 		timer_set(TIME_NOW, data, delayed_int_enable_w);
   270: }
   271: 
   272: 
   273: 
   274: /*************************************
   275:  *
   276:  *	Bank selection.
   277:  *
   278:  *************************************/
   279: 
   280: static WRITE16_HANDLER( bankselect_w )
   281: {
   282: 	static int bankoffset[64] =
   283: 	{
   284: 		0x28000, 0x20000, 0x18000, 0x10000,
   285: 		0x2a000, 0x22000, 0x1a000, 0x12000,
   286: 		0x2c000, 0x24000, 0x1c000, 0x14000,
   287: 		0x2e000, 0x26000, 0x1e000, 0x16000,
   288: 		0x48000, 0x40000, 0x38000, 0x30000,
   289: 		0x4a000, 0x42000, 0x3a000, 0x32000,
   290: 		0x4c000, 0x44000, 0x3c000, 0x34000,
   291: 		0x4e000, 0x46000, 0x3e000, 0x36000,
   292: 		0x68000, 0x60000, 0x58000, 0x50000,
   293: 		0x6a000, 0x62000, 0x5a000, 0x52000,
   294: 		0x6c000, 0x64000, 0x5c000, 0x54000,
   295: 		0x6e000, 0x66000, 0x5e000, 0x56000,
   296: 		0x88000, 0x80000, 0x78000, 0x70000,
   297: 		0x8a000, 0x82000, 0x7a000, 0x72000,
   298: 		0x8c000, 0x84000, 0x7c000, 0x74000,
   299: 		0x8e000, 0x86000, 0x7e000, 0x76000
   300: 	};
   301: 
   302: 	int newword = bankselect[offset];
   303: 	UINT8 *base;
   304: 
   305: 	COMBINE_DATA(&newword);
   306: 	bankselect[offset] = newword;
   307: 
   308: 	base = &memory_region(REGION_CPU1)[bankoffset[(newword >> 10) & 0x3f]];
   309: 
   310: 	cpu_setbank(1 + offset, base);
   311: 	activecpu_set_reg(T11_BANK2 + offset, base - OP_RAM);
   312: }
   313: 
   314: 
   315: 
   316: /*************************************
   317:  *
   318:  *	I/O read dispatch.
   319:  *
   320:  *************************************/
   321: 
   322: static READ16_HANDLER( switch_r )
   323: {
   324: 	int result = input_port_1_r(offset) | (input_port_2_r(offset) << 8);
   325: 
   326: 	if (atarigen_cpu_to_sound_ready) result ^= 0x20;
   327: 	if (atarigen_sound_to_cpu_ready) result ^= 0x10;
   328: 
   329: 	return result;
   330: }
   331: 
   332: 
   333: static READ_HANDLER( switch_6502_r )
   334: {
   335: 	int result = input_port_0_r(offset);
   336: 
   337: 	if (atarigen_cpu_to_sound_ready) result ^= 0x01;
   338: 	if (atarigen_sound_to_cpu_ready) result ^= 0x02;
   339: 	if (!has_tms5220 || tms5220_ready_r()) result ^= 0x04;
   340: 	if (!(input_port_2_r(offset) & 0x80)) result ^= 0x10;
   341: 
   342: 	return result;
   343: }
   344: 
   345: 
   346: static WRITE_HANDLER( switch_6502_w )
   347: {
   348: 	(void)offset;
   349: 
   350: 	if (has_tms5220)
   351: 	{
   352: 		data = 12 | ((data >> 5) & 1);
   353: 		tms5220_set_frequency(ATARI_CLOCK_20MHz/4 / (16 - data) / 2);
   354: 	}
   355: }
   356: 
   357: 
   358: 
   359: /*************************************
   360:  *
   361:  *	Controls read
   362:  *
   363:  *************************************/
   364: 
   365: static WRITE16_HANDLER( adc_strobe_w )
   366: {
   367: 	which_adc = offset & 3;
   368: }
   369: 
   370: 
   371: static READ16_HANDLER( adc_r )
   372: {
   373: 	if (which_adc < pedal_count)
   374: 		return ~readinputport(3 + which_adc);
   375: 
   376: 	return readinputport(3 + which_adc) | 0xff00;
   377: }
   378: 
   379: 
   380: static READ_HANDLER( leta_r )
   381: {
   382:     if (pedal_count == -1)   /* 720 */
   383: 	{
   384: 		switch (offset & 3)
   385: 		{
   386: 			case 0: return readinputport(7) >> 8;
   387: 			case 1: return readinputport(7) & 0xff;
   388: 			case 2: return 0xff;
   389: 			case 3: return 0xff;
   390: 		}
   391: 	}
   392: 
   393: 	return readinputport(7 + (offset & 3));
   394: }
   395: 
   396: 
   397: 
   398: /*************************************
   399:  *
   400:  *	Global sound control
   401:  *
   402:  *************************************/
   403: 
   404: static WRITE_HANDLER( mixer_w )
   405: {
   406: 	atarigen_set_ym2151_vol((data & 7) * 100 / 7);
   407: 	atarigen_set_pokey_vol(((data >> 3) & 3) * 100 / 3);
   408: 	atarigen_set_tms5220_vol(((data >> 5) & 7) * 100 / 7);
   409: }
   410: 
   411: 
   412: static WRITE_HANDLER( sound_enable_w )
   413: {
   414: }
   415: 
   416: 
   417: static READ16_HANDLER( sound_r )
   418: {
   419: 	/* clear the p2portwr state on a p1portrd */
   420: 	p2portwr_state = 0;
   421: 	atarigen_update_interrupts();
   422: 
   423: 	/* handle it normally otherwise */
   424: 	return atarigen_sound_r(offset,0);
   425: }
   426: 
   427: 
   428: static WRITE_HANDLER( sound_6502_w )
   429: {
   430: 	/* clock the state through */
   431: 	p2portwr_state = (interrupt_enable & 2) != 0;
   432: 	atarigen_update_interrupts();
   433: 
   434: 	/* handle it normally otherwise */
   435: 	atarigen_6502_sound_w(offset, data);
   436: }
   437: 
   438: 
   439: static READ_HANDLER( sound_6502_r )
   440: {
   441: 	/* clock the state through */
   442: 	p2portrd_state = (interrupt_enable & 1) != 0;
   443: 	atarigen_update_interrupts();
   444: 
   445: 	/* handle it normally otherwise */
   446: 	return atarigen_6502_sound_r(offset);
   447: }
   448: 
   449: 
   450: 
   451: /*************************************
   452:  *
   453:  *	Speech chip
   454:  *
   455:  *************************************/
   456: 
   457: static WRITE_HANDLER( tms5220_w )
   458: {
   459: 	tms5220_data = data;
   460: }
   461: 
   462: 
   463: static WRITE_HANDLER( tms5220_strobe_w )
   464: {
   465: 	if (!(offset & 1) && tms5220_data_strobe)
   466: 		if (has_tms5220)
   467: 			tms5220_data_w(0, tms5220_data);
   468: 	tms5220_data_strobe = offset & 1;
   469: }
   470: 
   471: 
   472: 
   473: /*************************************
   474:  *
   475:  *	Misc. sound
   476:  *
   477:  *************************************/
   478: 
   479: static WRITE_HANDLER( coincount_w )
   480: {
   481: 	coin_counter_w(0, (data >> 0) & 1);
   482: 	coin_counter_w(1, (data >> 1) & 1);
   483: }
   484: 
   485: 
   486: 
   487: /*************************************
   488:  *
   489:  *	Main CPU memory handlers
   490:  *
   491:  *************************************/
   492: 
   493: static MEMORY_READ16_START( main_readmem )
   494: 	{ 0x0000, 0x0fff, MRA16_RAM },
   495: 	{ 0x1000, 0x11ff, MRA16_RAM },
   496: 	{ 0x1400, 0x1403, adc_r },
   497: 	{ 0x1800, 0x1801, switch_r },
   498: 	{ 0x1c00, 0x1c01, sound_r },
   499: 	{ 0x2000, 0x3fff, atarisy2_videoram_r },
   500: 	{ 0x4000, 0x5fff, MRA16_BANK1 },
   501: 	{ 0x6000, 0x7fff, MRA16_BANK2 },
   502: 	{ 0x8000, 0x81ff, atarisy2_slapstic_r },
   503: 	{ 0x8200, 0xffff, MRA16_ROM },
   504: MEMORY_END
   505: 
   506: 
   507: static MEMORY_WRITE16_START( main_writemem )
   508: 	{ 0x0000, 0x0fff, MWA16_RAM },
   509: 	{ 0x1000, 0x11ff, atarisy2_paletteram_w, &paletteram16 },
   510: 	{ 0x1400, 0x1403, bankselect_w, &bankselect },
   511: 	{ 0x1480, 0x148f, adc_strobe_w },
   512: 	{ 0x1580, 0x159f, int0_ack_w },
   513: 	{ 0x15a0, 0x15bf, int1_ack_w },
   514: 	{ 0x15c0, 0x15df, atarigen_scanline_int_ack_w },
   515: 	{ 0x15e0, 0x15ff, atarigen_video_int_ack_w },
   516: 	{ 0x1600, 0x1601, int_enable_w },
   517: 	{ 0x1680, 0x1681, atarigen_sound_w },
   518: 	{ 0x1700, 0x1701, atarisy2_xscroll_w, &atarigen_xscroll },
   519: 	{ 0x1780, 0x1781, atarisy2_yscroll_w, &atarigen_yscroll },
   520: 	{ 0x1800, 0x1801, watchdog_reset16_w },
   521: 	{ 0x2000, 0x3fff, atarisy2_videoram_w },
   522: 	{ 0x4000, 0x7fff, MWA16_ROM },
   523: 	{ 0x8000, 0x81ff, atarisy2_slapstic_w, &atarisy2_slapstic },
   524: 	{ 0x8200, 0xffff, MWA16_ROM },
   525: MEMORY_END
   526: 
   527: 
   528: 
   529: /*************************************
   530:  *
   531:  *	Sound CPU memory handlers
   532:  *
   533:  *************************************/
   534: 
   535: static MEMORY_READ_START( sound_readmem )
   536: 	{ 0x0000, 0x0fff, MRA_RAM },
   537: 	{ 0x1000, 0x17ff, MRA_RAM },
   538: 	{ 0x1800, 0x180f, pokey1_r },
   539: 	{ 0x1810, 0x1813, leta_r },
   540: 	{ 0x1830, 0x183f, pokey2_r },
   541: 	{ 0x1840, 0x1840, switch_6502_r },
   542: 	{ 0x1850, 0x1851, YM2151_status_port_0_r },
   543: 	{ 0x1860, 0x1860, sound_6502_r },
   544: 	{ 0x4000, 0xffff, MRA_ROM },
   545: MEMORY_END
   546: 
   547: 
   548: static MEMORY_WRITE_START( sound_writemem )
   549: 	{ 0x0000, 0x0fff, MWA_RAM },
   550: 	{ 0x1000, 0x17ff, MWA_RAM, (data8_t **)&atarigen_eeprom, &atarigen_eeprom_size },
   551: 	{ 0x1800, 0x180f, pokey1_w },
   552: 	{ 0x1830, 0x183f, pokey2_w },
   553: 	{ 0x1850, 0x1850, YM2151_register_port_0_w },
   554: 	{ 0x1851, 0x1851, YM2151_data_port_0_w },
   555: 	{ 0x1870, 0x1870, tms5220_w },
   556: 	{ 0x1872, 0x1873, tms5220_strobe_w },
   557: 	{ 0x1874, 0x1874, sound_6502_w },
   558: 	{ 0x1876, 0x1876, coincount_w },
   559: 	{ 0x1878, 0x1878, atarigen_6502_irq_ack_w },
   560: 	{ 0x187a, 0x187a, mixer_w },
   561: 	{ 0x187c, 0x187c, switch_6502_w },
   562: 	{ 0x187e, 0x187e, sound_enable_w },
   563: 	{ 0x4000, 0xffff, MWA_ROM },
   564: MEMORY_END
   565: 
   566: 
   567: 
   568: /*************************************
   569:  *
   570:  *	Port definitions
   571:  *
   572:  *************************************/
   573: 
   574: INPUT_PORTS_START( paperboy )
   575: 	PORT_START	/* 1840 (sound) */
   576: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL )
   577: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL )
   578: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL )
   579: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
   580: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL )
   581: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
   582: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
   583: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
   584: 
   585: 	PORT_START	/* 1800 */
   586: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
   587: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
   588: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   589: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   590: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
   591: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )
   592: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
   593: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
   594: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   595: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   596: 
   597: 	PORT_START	/* 1801 */
   598: 	PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
   599: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
   600: 
   601: 	PORT_START	/* ADC0 */
   602: 	PORT_ANALOG( 0xff, 0x80, IPT_AD_STICK_X | IPF_PLAYER1, 100, 10, 0x10, 0xf0 )
   603: 
   604: 	PORT_START	/* ADC1 */
   605: 	PORT_ANALOG( 0xff, 0x80, IPT_AD_STICK_Y | IPF_PLAYER1, 100, 10, 0x10, 0xf0 )
   606: 
   607: 	PORT_START	/* ADC2 */
   608: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   609: 
   610: 	PORT_START	/* ADC3 */
   611: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   612: 
   613: 	PORT_START	/* LETA0 */
   614: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   615: 
   616: 	PORT_START	/* LETA1 */
   617: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   618: 
   619: 	PORT_START	/* LETA2 */
   620: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   621: 
   622: 	PORT_START	/* LETA3 */
   623: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   624: 
   625: 	PORT_START	/* DSW0 */
   626: 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
   627: 	PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
   628: 	PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
   629: 	PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
   630: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
   631: 	PORT_DIPNAME( 0x0c, 0x00, "Right Coin" )
   632: 	PORT_DIPSETTING(    0x00, "*1" )
   633: 	PORT_DIPSETTING(    0x04, "*4" )
   634: 	PORT_DIPSETTING(    0x08, "*5" )
   635: 	PORT_DIPSETTING(    0x0c, "*6" )
   636: 	PORT_DIPNAME( 0x10, 0x00, "Left Coin" )
   637: 	PORT_DIPSETTING(    0x00, "*1" )
   638: 	PORT_DIPSETTING(    0x10, "*2" )
   639: 	PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
   640: 	PORT_DIPSETTING(    0x00, "None" )
   641: 	PORT_DIPSETTING(    0x80, "1 each 5" )
   642: 	PORT_DIPSETTING(    0x40, "1 each 4" )
   643: 	PORT_DIPSETTING(    0xa0, "1 each 3" )
   644: 	PORT_DIPSETTING(    0x60, "2 each 4" )
   645: 	PORT_DIPSETTING(    0x20, "1 each 2" )
   646: 	PORT_DIPSETTING(    0xc0, "1 each ?" )
   647: 	PORT_DIPSETTING(    0xe0, DEF_STR( Free_Play ) )
   648: 
   649: 	PORT_START	/* DSW1 */
   650: 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
   651: 	PORT_DIPSETTING(    0x01, "Easy" )
   652: 	PORT_DIPSETTING(    0x02, "Medium" )
   653: 	PORT_DIPSETTING(    0x00, "Med. Hard" )
   654: 	PORT_DIPSETTING(    0x03, "Hard" )
   655: 	PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Bonus_Life ) )
   656: 	PORT_DIPSETTING(    0x08, "10000" )
   657: 	PORT_DIPSETTING(    0x00, "15000" )
   658: 	PORT_DIPSETTING(    0x0c, "20000" )
   659: 	PORT_DIPSETTING(    0x04, "None" )
   660: 	PORT_DIPNAME( 0x30, 0x20, DEF_STR( Lives ) )
   661: 	PORT_DIPSETTING(    0x20, "3" )
   662: 	PORT_DIPSETTING(    0x00, "4" )
   663: 	PORT_DIPSETTING(    0x30, "5" )
   664: 	PORT_BITX( 0,       0x10, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
   665: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
   666: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   667: 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
   668: 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
   669: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   670: 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
   671: INPUT_PORTS_END
   672: 
   673: 
   674: INPUT_PORTS_START( 720 )
   675: 	PORT_START	/* 1840 (sound) */
   676: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL )
   677: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL )
   678: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL )
   679: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
   680: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL )
   681: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
   682: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
   683: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
   684: 
   685: 	PORT_START	/* 1800 */
   686: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
   687: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
   688: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   689: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   690: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
   691: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )
   692: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
   693: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
   694: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   695: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   696: 
   697: 	PORT_START	/* 1801 */
   698: 	PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
   699: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
   700: 
   701: 	PORT_START	/* ADC0 */
   702: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   703: 
   704: 	PORT_START	/* ADC1 */
   705: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   706: 
   707: 	PORT_START	/* ADC2 */
   708: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   709: 
   710: 	PORT_START	/* ADC3 */
   711: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   712: 
   713: 	PORT_START	/* LETA0/1 */
   714: 	PORT_ANALOG( 0xffff, 0x0000, IPT_DIAL | IPF_PLAYER1, 30, 10, 0, 0 )
   715: 
   716: 	PORT_START	/* filler */
   717: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   718: 
   719: 	PORT_START	/* LETA2 */
   720: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   721: 
   722: 	PORT_START	/* LETA3 */
   723: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   724: 
   725: 	PORT_START	/* DSW0 */
   726: 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
   727: 	PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
   728: 	PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
   729: 	PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
   730: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
   731: 	PORT_DIPNAME( 0x0c, 0x00, "Right Coin" )
   732: 	PORT_DIPSETTING(    0x00, "*1" )
   733: 	PORT_DIPSETTING(    0x04, "*4" )
   734: 	PORT_DIPSETTING(    0x08, "*5" )
   735: 	PORT_DIPSETTING(    0x0c, "*6" )
   736: 	PORT_DIPNAME( 0x10, 0x00, "Left Coin" )
   737: 	PORT_DIPSETTING(    0x00, "*1" )
   738: 	PORT_DIPSETTING(    0x10, "*2" )
   739: 	PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
   740: 	PORT_DIPSETTING(    0x00, "None" )
   741: /*	PORT_DIPSETTING(    0xc0, "None" )*/
   742: 	PORT_DIPSETTING(    0x80, "1 each 5" )
   743: 	PORT_DIPSETTING(    0x40, "1 each 4" )
   744: 	PORT_DIPSETTING(    0xa0, "1 each 3" )
   745: 	PORT_DIPSETTING(    0x60, "2 each 4" )
   746: 	PORT_DIPSETTING(    0x20, "1 each 2" )
   747: 	PORT_DIPSETTING(    0xe0, DEF_STR( Free_Play ) )
   748: 
   749: 	PORT_START	/* DSW1 */
   750: 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) )
   751: 	PORT_DIPSETTING(    0x01, "3000" )
   752: 	PORT_DIPSETTING(    0x00, "5000" )
   753: 	PORT_DIPSETTING(    0x02, "8000" )
   754: 	PORT_DIPSETTING(    0x03, "12000" )
   755: 	PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Difficulty ) )
   756: 	PORT_DIPSETTING(    0x04, "Easy" )
   757: 	PORT_DIPSETTING(    0x00, "Medium" )
   758: 	PORT_DIPSETTING(    0x08, "Hard" )
   759: 	PORT_DIPSETTING(    0x0c, "Hardest" )
   760: 	PORT_DIPNAME( 0x30, 0x10, "Maximum Add. A. Coins" )
   761: 	PORT_DIPSETTING(    0x10, "0" )
   762: 	PORT_DIPSETTING(    0x20, "1" )
   763: 	PORT_DIPSETTING(    0x00, "2" )
   764: 	PORT_DIPSETTING(    0x30, "3" )
   765: 	PORT_DIPNAME( 0xc0, 0x40, "Coins Required" )
   766: 	PORT_DIPSETTING(    0x80, "3 to Start, 2 to Continue" )
   767: 	PORT_DIPSETTING(    0xc0, "3 to Start, 1 to Continue" )
   768: 	PORT_DIPSETTING(    0x00, "2 to Start, 1 to Continue" )
   769: 	PORT_DIPSETTING(    0x40, "1 to Start, 1 to Continue" )
   770: INPUT_PORTS_END
   771: 
   772: 
   773: INPUT_PORTS_START( ssprint )
   774: 	PORT_START	/* 1840 (sound) */
   775: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL )
   776: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL )
   777: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL )
   778: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
   779: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL )
   780: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
   781: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
   782: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
   783: 
   784: 	PORT_START	/* 1800 */
   785: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
   786: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
   787: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
   788: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 )
   789: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
   790: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )
   791: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
   792: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   793: 
   794: 	PORT_START	/* 1801 */
   795: 	PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
   796: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
   797: 
   798: 	PORT_START	/* ADC0 */
   799: 	PORT_ANALOG( 0xff, 0x00, IPT_PEDAL | IPF_PLAYER1, 100, 4, 0x00, 0x3f )
   800: 
   801: 	PORT_START	/* ADC1 */
   802: 	PORT_ANALOG( 0xff, 0x00, IPT_PEDAL | IPF_PLAYER2, 100, 4, 0x00, 0x3f )
   803: 
   804: 	PORT_START	/* ADC2 */
   805: 	PORT_ANALOG( 0xff, 0x00, IPT_PEDAL | IPF_PLAYER3, 100, 4, 0x00, 0x3f )
   806: 
   807: 	PORT_START	/* ADC3 */
   808: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   809: 
   810: 	PORT_START	/* LETA0 */
   811: 	PORT_ANALOG( 0xff, 0x40, IPT_DIAL | IPF_PLAYER1, 25, 10, 0x00, 0x7f )
   812: 
   813: 	PORT_START	/* LETA1 */
   814: 	PORT_ANALOG( 0xff, 0x40, IPT_DIAL | IPF_PLAYER2, 25, 10, 0x00, 0x7f )
   815: 
   816: 	PORT_START	/* LETA2 */
   817: 	PORT_ANALOG( 0xff, 0x40, IPT_DIAL | IPF_PLAYER3, 25, 10, 0x00, 0x7f )
   818: 
   819: 	PORT_START	/* LETA3 */
   820: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   821: 
   822: 	PORT_START	/* DSW0 */
   823: 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
   824: 	PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
   825: 	PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
   826: 	PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
   827: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
   828: 	PORT_DIPNAME( 0x1c, 0x00, "Coin Multiplier" )
   829: 	PORT_DIPSETTING(    0x00, "*1" )
   830: 	PORT_DIPSETTING(    0x04, "*2" )
   831: 	PORT_DIPSETTING(    0x08, "*3" )
   832: 	PORT_DIPSETTING(    0x0c, "*4" )
   833: 	PORT_DIPSETTING(    0x10, "*5" )
   834: 	PORT_DIPSETTING(    0x14, "*6" )
   835: 	PORT_DIPSETTING(    0x18, "*7" )
   836: 	PORT_DIPSETTING(    0x1c, "*8" )
   837: 	PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
   838: 	PORT_DIPSETTING(    0x00, "None" )
   839: 	PORT_DIPSETTING(    0x80, "1 each 5" )
   840: 	PORT_DIPSETTING(    0x40, "1 each 4" )
   841: 	PORT_DIPSETTING(    0xa0, "1 each 3" )
   842: 	PORT_DIPSETTING(    0x60, "2 each 4" )
   843: 	PORT_DIPSETTING(    0x20, "1 each 2" )
   844: 	PORT_DIPSETTING(    0xc0, "1 each ?" )
   845: 	PORT_DIPSETTING(    0xe0, DEF_STR( Free_Play ) )
   846: 
   847: 	PORT_START	/* DSW1 */
   848: 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
   849: 	PORT_DIPSETTING(    0x01, "Easy" )
   850: 	PORT_DIPSETTING(    0x00, "Medium" )
   851: 	PORT_DIPSETTING(    0x02, "Med. Hard" )
   852: 	PORT_DIPSETTING(    0x03, "Hard" )
   853: 	PORT_DIPNAME( 0x0c, 0x04, "Obstacles" )
   854: 	PORT_DIPSETTING(    0x04, "Easy" )
   855: 	PORT_DIPSETTING(    0x00, "Medium" )
   856: 	PORT_DIPSETTING(    0x08, "Med. Hard" )
   857: 	PORT_DIPSETTING(    0x0c, "Hard" )
   858: 	PORT_DIPNAME( 0x30, 0x00, "Wrenches" )
   859: 	PORT_DIPSETTING(    0x10, "2" )
   860: 	PORT_DIPSETTING(    0x00, "3" )
   861: 	PORT_DIPSETTING(    0x20, "4" )
   862: 	PORT_DIPSETTING(    0x30, "5" )
   863: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
   864: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   865: 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
   866: 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
   867: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   868: 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
   869: INPUT_PORTS_END
   870: 
   871: 
   872: INPUT_PORTS_START( csprint )
   873: 	PORT_START	/* 1840 (sound) */
   874: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL )
   875: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL )
   876: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL )
   877: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
   878: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL )
   879: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
   880: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
   881: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
   882: 
   883: 	PORT_START	/* 1800 */
   884: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
   885: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
   886: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   887: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
   888: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
   889: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )
   890: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
   891: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   892: 
   893: 	PORT_START	/* 1801 */
   894: 	PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
   895: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
   896: 
   897: 	PORT_START	/* ADC0 */
   898: 	PORT_ANALOG( 0xff, 0x00, IPT_PEDAL | IPF_PLAYER1, 100, 4, 0x00, 0x3f )
   899: 
   900: 	PORT_START	/* ADC1 */
   901: 	PORT_ANALOG( 0xff, 0x00, IPT_PEDAL | IPF_PLAYER2, 100, 4, 0x00, 0x3f )
   902: 
   903: 	PORT_START	/* ADC2 */
   904: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   905: 
   906: 	PORT_START	/* ADC3 */
   907: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   908: 
   909: 	PORT_START	/* LETA0 */
   910: 	PORT_ANALOG( 0xff, 0x40, IPT_DIAL | IPF_PLAYER1, 25, 10, 0x00, 0x7f )
   911: 
   912: 	PORT_START	/* LETA1 */
   913: 	PORT_ANALOG( 0xff, 0x40, IPT_DIAL | IPF_PLAYER2, 25, 10, 0x00, 0x7f )
   914: 
   915: 	PORT_START	/* LETA2 */
   916: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   917: 
   918: 	PORT_START	/* LETA3 */
   919: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
   920: 
   921: 	PORT_START	/* DSW0 */
   922: 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
   923: 	PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
   924: 	PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
   925: 	PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
   926: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
   927: 	PORT_DIPNAME( 0x1c, 0x00, "Coin Multiplier" )
   928: 	PORT_DIPSETTING(    0x00, "*1" )
   929: 	PORT_DIPSETTING(    0x04, "*2" )
   930: 	PORT_DIPSETTING(    0x08, "*3" )
   931: 	PORT_DIPSETTING(    0x0c, "*4" )
   932: 	PORT_DIPSETTING(    0x10, "*5" )
   933: 	PORT_DIPSETTING(    0x14, "*6" )
   934: 	PORT_DIPSETTING(    0x18, "*7" )
   935: 	PORT_DIPSETTING(    0x1c, "*8" )
   936: 	PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
   937: 	PORT_DIPSETTING(    0x00, "None" )
   938: 	PORT_DIPSETTING(    0x80, "1 each 5" )
   939: 	PORT_DIPSETTING(    0x40, "1 each 4" )
   940: 	PORT_DIPSETTING(    0xa0, "1 each 3" )
   941: 	PORT_DIPSETTING(    0x60, "2 each 4" )
   942: 	PORT_DIPSETTING(    0x20, "1 each 2" )
   943: 	PORT_DIPSETTING(    0xc0, "1 each ?" )
   944: 	PORT_DIPSETTING(    0xe0, DEF_STR( Free_Play ) )
   945: 
   946: 	PORT_START	/* DSW1 */
   947: 	PORT_DIPNAME( 0x03, 0x01, DEF_STR( Difficulty ) )
   948: 	PORT_DIPSETTING(    0x01, "Easy" )
   949: 	PORT_DIPSETTING(    0x00, "Medium" )
   950: 	PORT_DIPSETTING(    0x02, "Med. Hard" )
   951: 	PORT_DIPSETTING(    0x03, "Hard" )
   952: 	PORT_DIPNAME( 0x0c, 0x04, "Obstacles" )
   953: 	PORT_DIPSETTING(    0x04, "Easy" )
   954: 	PORT_DIPSETTING(    0x00, "Medium" )
   955: 	PORT_DIPSETTING(    0x08, "Med. Hard" )
   956: 	PORT_DIPSETTING(    0x0c, "Hard" )
   957: 	PORT_DIPNAME( 0x30, 0x00, "Wrenches" )
   958: 	PORT_DIPSETTING(    0x10, "2" )
   959: 	PORT_DIPSETTING(    0x00, "3" )
   960: 	PORT_DIPSETTING(    0x20, "4" )
   961: 	PORT_DIPSETTING(    0x30, "5" )
   962: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
   963: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   964: 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
   965: 	PORT_DIPNAME( 0x80, 0x80, "Auto High Score Reset" )
   966: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   967: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   968: INPUT_PORTS_END
   969: 
   970: 
   971: INPUT_PORTS_START( apb )
   972: 	PORT_START	/* 1840 (sound) */
   973: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL )
   974: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL )
   975: 	PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_SPECIAL )
   976: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
   977: 	PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_SPECIAL )
   978: 	PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_COIN3  )
   979: 	PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_COIN2  )
   980: 	PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_COIN1  )
   981: 
   982: 	PORT_START	/* 1800 */
   983: 	PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_UNUSED )
   984: 	PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_BUTTON2 | IPF_PLAYER1 )
   985: 	PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_UNUSED )
   986: 	PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_BUTTON3 | IPF_PLAYER1 )
   987: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )
   988: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )
   989: 	PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNUSED )
   990: 	PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNUSED )
   991: 
   992: 	PORT_START	/* 1801 */
   993: 	PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
   994: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
   995: 
   996: 	PORT_START	/* ADC0 */
   997: 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
   998: 
   999: 	PORT_START	/* ADC1 */
  1000: 	PORT_ANALOG( 0xff, 0x00, IPT_PEDAL | IPF_PLAYER1, 100, 4, 0x00, 0x3f )
  1001: 
  1002: 	PORT_START	/* ADC2 */
  1003: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1004: 
  1005: 	PORT_START	/* ADC3 */
  1006: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1007: 
  1008: 	PORT_START	/* LETA0 */
  1009: 	PORT_ANALOG( 0xff, 0x40, IPT_DIAL | IPF_PLAYER1, 25, 10, 0x00, 0x7f )
  1010: 
  1011: 	PORT_START	/* LETA1 */
  1012: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1013: 
  1014: 	PORT_START	/* LETA2 */
  1015: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1016: 
  1017: 	PORT_START	/* LETA3 */
  1018: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1019: 
  1020: 	PORT_START	/* DSW0 */
  1021: 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coinage ) )
  1022: 	PORT_DIPSETTING(    0x03, DEF_STR( 4C_1C ) )
  1023: 	PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
  1024: 	PORT_DIPSETTING(    0x01, DEF_STR( 2C_1C ) )
  1025: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
  1026: 	PORT_DIPNAME( 0x0c, 0x00, "Right Coin" )
  1027: 	PORT_DIPSETTING(    0x00, "*1" )
  1028: 	PORT_DIPSETTING(    0x04, "*4" )
  1029: 	PORT_DIPSETTING(    0x08, "*5" )
  1030: 	PORT_DIPSETTING(    0x0c, "*6" )
  1031: 	PORT_DIPNAME( 0x10, 0x00, "Left Coin" )
  1032: 	PORT_DIPSETTING(    0x00, "*1" )
  1033: 	PORT_DIPSETTING(    0x10, "*2" )
  1034: 	PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
  1035: 	PORT_DIPSETTING(    0x00, "None" )
  1036: 	PORT_DIPSETTING(    0xc0, "1 each 6" )
  1037: 	PORT_DIPSETTING(    0xa0, "1 each 5" )
  1038: 	PORT_DIPSETTING(    0x80, "1 each 4" )
  1039: 	PORT_DIPSETTING(    0x60, "1 each 3" )
  1040: 	PORT_DIPSETTING(    0x40, "1 each 2" )
  1041: 	PORT_DIPSETTING(    0x20, "1 each 1" )
  1042: 	PORT_DIPSETTING(    0xe0, DEF_STR( Free_Play ) )
  1043: 
  1044: 	PORT_START	/* DSW1 */
  1045: 	PORT_DIPNAME( 0x01, 0x01, "Attract Lights" )
  1046: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1047: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1048: 	PORT_DIPNAME( 0x06, 0x06, "Max Continues" )
  1049: 	PORT_DIPSETTING(    0x02, "3" )
  1050: 	PORT_DIPSETTING(    0x04, "10" )
  1051: 	PORT_DIPSETTING(    0x00, "25" )
  1052: 	PORT_DIPSETTING(    0x06, "199" )
  1053: 	PORT_DIPNAME( 0x38, 0x38, DEF_STR( Difficulty ) )
  1054: 	PORT_DIPSETTING(    0x38, "1 (Easy)" )
  1055: 	PORT_DIPSETTING(    0x30, "2" )
  1056: 	PORT_DIPSETTING(    0x28, "3" )
  1057: 	PORT_DIPSETTING(    0x00, "4" )
  1058: 	PORT_DIPSETTING(    0x20, "5" )
  1059: 	PORT_DIPSETTING(    0x10, "6" )
  1060: 	PORT_DIPSETTING(    0x08, "7" )
  1061: 	PORT_DIPSETTING(    0x18, "8 (Hard)" )
  1062: 	PORT_DIPNAME( 0xc0, 0x40, "Coins Required" )
  1063: 	PORT_DIPSETTING(    0x80, "3 to Start, 2 to Continue" )
  1064: 	PORT_DIPSETTING(    0xc0, "3 to Start, 1 to Continue" )
  1065: 	PORT_DIPSETTING(    0x00, "2 to Start, 1 to Continue" )
  1066: 	PORT_DIPSETTING(    0x40, "1 to Start, 1 to Continue" )
  1067: INPUT_PORTS_END
  1068: 
  1069: 
  1070: 
  1071: /*************************************
  1072:  *
  1073:  *	Graphics definitions
  1074:  *
  1075:  *************************************/
  1076: 
  1077: static struct GfxLayout anlayout =
  1078: {
  1079: 	8,8,
  1080: 	RGN_FRAC(1,1),
  1081: 	2,
  1082: 	{ 0, 4 },
  1083: 	{ 0, 1, 2, 3, 8, 9, 10, 11 },
  1084: 	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
  1085: 	8*16
  1086: };
  1087: 
  1088: 
  1089: static struct GfxLayout pflayout =
  1090: {
  1091: 	8,8,
  1092: 	RGN_FRAC(1,2),
  1093: 	4,
  1094: 	{ 0, 4, RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4 },
  1095: 	{ 0, 1, 2, 3, 8, 9, 10, 11 },
  1096: 	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
  1097: 	8*16
  1098: };
  1099: 
  1100: 
  1101: static struct GfxLayout molayout =
  1102: {
  1103: 	16,16,
  1104: 	RGN_FRAC(1,2),
  1105: 	4,
  1106: 	{ 0, 4, RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4 },
  1107: 	{ 0, 1, 2, 3, 8, 9, 10, 11, 16, 17, 18, 19, 24, 25, 26, 27 },
  1108: 	{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
  1109: 	8*64
  1110: };
  1111: 
  1112: 
  1113: static struct GfxDecodeInfo gfxdecodeinfo[] =
  1114: {
  1115: 	{ REGION_GFX1, 0, &pflayout, 128, 8 },
  1116: 	{ REGION_GFX2, 0, &molayout,   0, 4 },
  1117: 	{ REGION_GFX3, 0, &anlayout,  64, 8 },
  1118: 	{ -1 }
  1119: };
  1120: 
  1121: 
  1122: 
  1123: /*************************************
  1124:  *
  1125:  *	Sound definitions
  1126:  *
  1127:  *************************************/
  1128: 
  1129: static struct YM2151interface ym2151_interface =
  1130: {
  1131: 	1,
  1132: 	ATARI_CLOCK_14MHz/4,
  1133: 	{ YM3012_VOL(80,MIXER_PAN_LEFT,80,MIXER_PAN_RIGHT) },
  1134: 	{ 0 }
  1135: };
  1136: 
  1137: 
  1138: static struct POKEYinterface pokey_interface =
  1139: {
  1140: 	2,
  1141: 	ATARI_CLOCK_14MHz/8,
  1142: 	{ MIXER(60,MIXER_PAN_LEFT), MIXER(60,MIXER_PAN_RIGHT) },
  1143: 	/* The 8 pot handlers */
  1144: 	{ 0, 0 },
  1145: 	{ 0, 0 },
  1146: 	{ 0, 0 },
  1147: 	{ 0, 0 },
  1148: 	{ 0, 0 },
  1149: 	{ 0, 0 },
  1150: 	{ 0, 0 },
  1151: 	{ 0, 0 },
  1152: 	/* The allpot handler */
  1153: 	{ input_port_11_r, input_port_12_r },	/* dip switches */
  1154: };
  1155: 
  1156: 
  1157: static struct TMS5220interface tms5220_interface =
  1158: {
  1159: 	ATARI_CLOCK_20MHz/4/4/2,
  1160: 	100,
  1161: 	0
  1162: };
  1163: 
  1164: 
  1165: 
  1166: /*************************************
  1167:  *
  1168:  *	Machine driver
  1169:  *
  1170:  *************************************/
  1171: 
  1172: static struct t11_setup t11_data =
  1173: {
  1174: 	0x36ff			/* initial mode word has DAL15,14,11,8 pulled low */
  1175: };
  1176: 
  1177: 
  1178: static MACHINE_DRIVER_START( atarisy2 )
  1179: 
  1180: 	/* basic machine hardware */
  1181: 	MDRV_CPU_ADD_TAG("main", T11, ATARI_CLOCK_20MHz/2)
  1182: 	MDRV_CPU_CONFIG(t11_data)
  1183: 	MDRV_CPU_MEMORY(main_readmem,main_writemem)
  1184: 	MDRV_CPU_VBLANK_INT(vblank_int,1)
  1185: 	
  1186: 	MDRV_CPU_ADD_TAG("sound", M6502, ATARI_CLOCK_14MHz/8)
  1187: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
  1188: 	MDRV_CPU_PERIODIC_INT(atarigen_6502_irq_gen,(UINT32)(1000000000.0/((double)ATARI_CLOCK_20MHz/2/16/16/16/10)))
  1189: 	
  1190: 	MDRV_FRAMES_PER_SECOND(60)
  1191: 	MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
  1192: 	
  1193: 	MDRV_MACHINE_INIT(atarisy2)
  1194: 	MDRV_NVRAM_HANDLER(atarigen)
  1195: 	
  1196: 	/* video hardware */
  1197: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_UPDATE_BEFORE_VBLANK)
  1198: 	MDRV_SCREEN_SIZE(64*8, 48*8)
  1199: 	MDRV_VISIBLE_AREA(0*8, 64*8-1, 0*8, 48*8-1)
  1200: 	MDRV_GFXDECODE(gfxdecodeinfo)
  1201: 	MDRV_PALETTE_LENGTH(256)
  1202: 	
  1203: 	MDRV_VIDEO_START(atarisy2)
  1204: 	MDRV_VIDEO_UPDATE(atarisy2)
  1205: 
  1206: 	/* sound hardware */
  1207: 	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
  1208: 	MDRV_SOUND_ADD_TAG("ym",    YM2151,  ym2151_interface)
  1209: 	MDRV_SOUND_ADD_TAG("pokey", POKEY,   pokey_interface)
  1210: 	MDRV_SOUND_ADD_TAG("tms",   TMS5220, tms5220_interface)
  1211: MACHINE_DRIVER_END
  1212: 
  1213: 
  1214: static MACHINE_DRIVER_START( 720 )
  1215: 
  1216: 	/* basic machine hardware */
  1217: 	MDRV_IMPORT_FROM(atarisy2)
  1218: 	
  1219: 	MDRV_CPU_REPLACE("sound", M6502, 2200000) /* artifically high to prevent deadlock at startup ATARI_CLOCK_14MHz/8,*/
  1220: MACHINE_DRIVER_END
  1221: 
  1222: 
  1223: static MACHINE_DRIVER_START( sprint )
  1224: 
  1225: 	/* basic machine hardware */
  1226: 	MDRV_IMPORT_FROM(atarisy2)
  1227: 	
  1228: 	/* sound hardware */
  1229: 	MDRV_SOUND_REMOVE("tms")
  1230: MACHINE_DRIVER_END
  1231: 
  1232: 
  1233: 
  1234: /*************************************
  1235:  *
  1236:  *	ROM definition(s)
  1237:  *
  1238:  *************************************/
  1239: 
  1240: ROM_START( paperboy )
  1241: 	ROM_REGION( 0x90000, REGION_CPU1, 0 )	/* 9*64k for T11 code */
  1242: 	ROM_LOAD16_BYTE( "cpu_l07.bin",  0x08000, 0x04000, CRC(4024bb9b) SHA1(9030ce5a6a1a3d769c699a92b32a55013f9766aa) )
  1243: 	ROM_LOAD16_BYTE( "cpu_n07.bin",  0x08001, 0x04000, CRC(0260901a) SHA1(39d786f5c440ca1fd529ee73e2a4d2406cd1db8f) )
  1244: 	ROM_LOAD16_BYTE( "cpu_f06.bin",  0x10000, 0x04000, CRC(3fea86ac) SHA1(90722bfd0426efbfb69714151f8644b56075b4c1) )
  1245: 	ROM_LOAD16_BYTE( "cpu_n06.bin",  0x10001, 0x04000, CRC(711b17ba) SHA1(7c9b19f754f1e3ba4d081edce2a39e81ce87f6bb) )
  1246: 	ROM_LOAD16_BYTE( "cpu_j06.bin",  0x30000, 0x04000, CRC(a754b12d) SHA1(7b07efe70f9696041355b72f5cded7fcbd8be460) )
  1247: 	ROM_LOAD16_BYTE( "cpu_p06.bin",  0x30001, 0x04000, CRC(89a1ff9c) SHA1(aa947e0726bb68164b9556d57daf6547b4580ed0) )
  1248: 	ROM_LOAD16_BYTE( "cpu_k06.bin",  0x50000, 0x04000, CRC(290bb034) SHA1(71dfceb6a8b3b0e3be2cc907c3d4b91fe6973fec) )
  1249: 	ROM_LOAD16_BYTE( "cpu_r06.bin",  0x50001, 0x04000, CRC(826993de) SHA1(59c6b87bcbca80b0a6192d7bb534a0747f32b907) )
  1250: 	ROM_LOAD16_BYTE( "cpu_l06.bin",  0x70000, 0x04000, CRC(8a754466) SHA1(2c4c6ca797c7f4349c2893d8c0ba7e2658fdca99) )
  1251: 	ROM_LOAD16_BYTE( "cpu_s06.bin",  0x70001, 0x04000, CRC(224209f9) SHA1(c41269bfadb8fff1c8ff0f6ea0b8e8b34feb49d6) )
  1252: 
  1253: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for 6502 code */
  1254: 	ROM_LOAD( "cpu_a02.bin",  0x04000, 0x04000, CRC(4a759092) SHA1(26909df77f53ac19e205411b90558488badc82bd) )
  1255: 	ROM_LOAD( "cpu_b02.bin",  0x08000, 0x04000, CRC(e4e7a8b9) SHA1(f11a0cf40d5c51ff180f0fa1cf676f95090a1010) )
  1256: 	ROM_LOAD( "cpu_c02.bin",  0x0c000, 0x04000, CRC(d44c2aa2) SHA1(f1b00e36d87f6d77746cf003198c7f19aa2f4fab) )
  1257: 
  1258: 	ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE )
  1259: 	ROM_LOAD( "vid_a06.bin",  0x000000, 0x08000, CRC(b32ffddf) SHA1(5b7619008e34ed7f5eb5e85e5f45c375e078086a) ) 	/* playfield, planes 0/1 */
  1260: 	ROM_LOAD( "vid_b06.bin",  0x00c000, 0x04000, CRC(301b849d) SHA1(d608a854027da5eb88c071df1d01f31124db89a8) )
  1261: 	ROM_LOAD( "vid_c06.bin",  0x010000, 0x08000, CRC(7bb59d68) SHA1(fcaa8bd32448d8f951ae446eb425b608f2cecbef) ) 	/* playfield, planes 2/3 */
  1262: 	ROM_LOAD( "vid_d06.bin",  0x01c000, 0x04000, CRC(1a1d4ba8) SHA1(603d61fd17e312d0784d883a50ce6b03aba27d10) )
  1263: 
  1264: 	ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE | ROMREGION_INVERT )
  1265: 	ROM_LOAD( "vid_l06.bin",  0x000000, 0x08000, CRC(067ef202) SHA1(519f32995a32ed96086f4ed3d49530b6917ad7d3) )	/* motion objects, planes 0/1 */
  1266: 	ROM_LOAD( "vid_k06.bin",  0x008000, 0x08000, CRC(76b977c4) SHA1(09988aceaf398279556980e3a21c0dc1b619fb72) )
  1267: 	ROM_LOAD( "vid_j06.bin",  0x010000, 0x08000, CRC(2a3cc8d0) SHA1(c0165286486a0844baf99c782d2fffdd6ad003b6) )
  1268: 	ROM_LOAD( "vid_h06.bin",  0x018000, 0x08000, CRC(6763a321) SHA1(15ed912f0346f6b5c3ad23ff22e7493d31ad18a7) )
  1269: 	ROM_LOAD( "vid_s06.bin",  0x020000, 0x08000, CRC(0a321b7b) SHA1(681317494a0bd50569bb822783336e68551cfd5e) )	/* motion objects, planes 2/3 */
  1270: 	ROM_LOAD( "vid_p06.bin",  0x028000, 0x08000, CRC(5bd089ee) SHA1(9ac98391a6c70d3cfbe609342294668530d690b4) )
  1271: 	ROM_LOAD( "vid_n06.bin",  0x030000, 0x08000, CRC(c34a517d) SHA1(f0af3db87f73c1fad00a270269ba380898ef5a4b) )
  1272: 	ROM_LOAD( "vid_m06.bin",  0x038000, 0x08000, CRC(df723956) SHA1(613d398f30463086c0cc720a760bda652e0f3832) )
  1273: 
  1274: 	ROM_REGION( 0x2000, REGION_GFX3, ROMREGION_DISPOSE )
  1275: 	ROM_LOAD( "vid_t06.bin",  0x000000, 0x02000, CRC(60d7aebb) SHA1(ad74221c4270496ebcfedd46ea16dca2cda1b4be) )	/* alphanumerics */
  1276: ROM_END
  1277: 
  1278: 
  1279: ROM_START( 720 )
  1280: 	ROM_REGION( 0x90000, REGION_CPU1, 0 )     /* 9 * 64k T11 code */
  1281: 	ROM_LOAD16_BYTE( "3126.rom",     0x08000, 0x04000, CRC(43abd367) SHA1(bb58c42f25ef0ee5357782652e9e2b28df0ba82e) )
  1282: 	ROM_LOAD16_BYTE( "3127.rom",     0x08001, 0x04000, CRC(772e1e5b) SHA1(1ee9b6bd7b2a5e4866b7157db95ee38b53f5c4ce) )
  1283: 	ROM_LOAD16_BYTE( "3128.rom",     0x10000, 0x10000, CRC(bf6f425b) SHA1(22732465959c2d30383523e0354b8d3759963765) )
  1284: 	ROM_LOAD16_BYTE( "4131.rom",     0x10001, 0x10000, CRC(2ea8a20f) SHA1(927f464e7da540221e341524581cb7bc65e1a31e) )
  1285: 	ROM_LOAD16_BYTE( "1129.rom",     0x30000, 0x10000, CRC(eabf0b01) SHA1(aaf5ab31b63c6ba414f0d4c95bbbebcceedd1ae4) )
  1286: 	ROM_LOAD16_BYTE( "1132.rom",     0x30001, 0x10000, CRC(a24f333e) SHA1(e4bfa4c670bfb375118d5774f1dbe848e39e6460) )
  1287: 	ROM_LOAD16_BYTE( "1130.rom",     0x50000, 0x10000, CRC(93fba845) SHA1(4de5867272af63be696855f2a4dff99476b213ad) )
  1288: 	ROM_LOAD16_BYTE( "1133.rom",     0x50001, 0x10000, CRC(53c177be) SHA1(a60c81899944e0dda9886e6697edc4d9309ca8f4) )
  1289: 
  1290: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )     /* 64k for 6502 code */
  1291: 	ROM_LOAD( "1134.rom",     0x04000, 0x04000, CRC(09a418c2) SHA1(017491bbcd0def695a23ab17b1e4fbd1fdf4d5d1) )
  1292: 	ROM_LOAD( "1135.rom",     0x08000, 0x04000, CRC(b1f157d0) SHA1(26355324d49baa02acb777940d7f49d074a75fe5) )
  1293: 	ROM_LOAD( "1136.rom",     0x0c000, 0x04000, CRC(dad40e6d) SHA1(a94bc1b5f0a5218e9e44cd32f2ca6268b48072c2) )
  1294: 
  1295: 	ROM_REGION( 0x40000, REGION_GFX1, ROMREGION_DISPOSE )
  1296: 	ROM_LOAD( "1121.rom",     0x000000, 0x08000, CRC(7adb5f9a) SHA1(8b4dba6c7ecd9d1c03c5d87326b5971ad1cb8863) ) 	/* playfield, planes 0/1 */
  1297: 	ROM_LOAD( "1122.rom",     0x008000, 0x08000, CRC(41b60141) SHA1(a426a0a5f6d4b500571731b3ce5ce8acb5e1db92) )
  1298: 	ROM_LOAD( "1123.rom",     0x010000, 0x08000, CRC(501881d5) SHA1(f38b13774c45eb5b48c87c4410afe4bd311cf3c7) )
  1299: 	ROM_LOAD( "1124.rom",     0x018000, 0x08000, CRC(096f2574) SHA1(6b59ff9a89a93c39c18011a0ac7043457617f336) )
  1300: 	ROM_LOAD( "1117.rom",     0x020000, 0x08000, CRC(5a55f149) SHA1(9dbee28a0bc8ec0d3936d61b7359cb63f4860fff) ) 	/* playfield, planes 2/3 */
  1301: 	ROM_LOAD( "1118.rom",     0x028000, 0x08000, CRC(9bb2429e) SHA1(80655839e5f53aea19115d83bf395b4f70997edc) )
  1302: 	ROM_LOAD( "1119.rom",     0x030000, 0x08000, CRC(8f7b20e5) SHA1(9f0928a442f63c66350e66b35b1503fe4f9d8e33) )
  1303: 	ROM_LOAD( "1120.rom",     0x038000, 0x08000, CRC(46af6d35) SHA1(c3c2b131245f1231839b3649c117bf5bbace0641) )
  1304: 
  1305: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE | ROMREGION_INVERT )
  1306: 	ROM_LOAD( "1109.rom",     0x020000, 0x08000, CRC(0a46b693) SHA1(77a743816663a8b8fe6bd9aa2dd0a4e570071068) )	/* motion objects, planes 0/1 */
  1307: 	ROM_CONTINUE(             0x000000, 0x08000 )
  1308: 	ROM_LOAD( "1110.rom",     0x028000, 0x08000, CRC(457d7e38) SHA1(9ac8e5b49e8f61cb8ce4d739462d17049c966a5d) )
  1309: 	ROM_CONTINUE(             0x008000, 0x08000 )
  1310: 	ROM_LOAD( "1111.rom",     0x030000, 0x08000, CRC(ffad0a5b) SHA1(127502a256e31c3fca92323544129ec8fcabacb8) )
  1311: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1312: 	ROM_LOAD( "1112.rom",     0x038000, 0x08000, CRC(06664580) SHA1(2173536af27d9af5b506997a5bbcfd5a40e2023a) )
  1313: 	ROM_CONTINUE(             0x018000, 0x08000 )
  1314: 	ROM_LOAD( "1113.rom",     0x060000, 0x08000, CRC(7445dc0f) SHA1(cfaa535a4a81a00d0cf47ca3e89625e12abde0f5) )
  1315: 	ROM_CONTINUE(             0x040000, 0x08000 )
  1316: 	ROM_LOAD( "1114.rom",     0x068000, 0x08000, CRC(23eaceb0) SHA1(8206da45d09b03c51d5c41fdbe964fec0e399837) )
  1317: 	ROM_CONTINUE(             0x048000, 0x08000 )
  1318: 	ROM_LOAD( "1115.rom",     0x070000, 0x08000, CRC(0cc8de53) SHA1(656fc4011e6ea362f706048a36e99ff31ecbf7cc) )
  1319: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1320: 	ROM_LOAD( "1116.rom",     0x078000, 0x08000, CRC(2d8f1369) SHA1(d35fc5f6733c83d59b0029eb6ee3945e22f0d13b) )
  1321: 	ROM_CONTINUE(             0x058000, 0x08000 )
  1322: 	ROM_LOAD( "1101.rom",     0x0a0000, 0x08000, CRC(2ac77b80) SHA1(cae6de4ef8a3cf5fb370c0178f734332369e17da) )	/* motion objects, planes 2/3 */
  1323: 	ROM_CONTINUE(             0x080000, 0x08000 )
  1324: 	ROM_LOAD( "1102.rom",     0x0a8000, 0x08000, CRC(f19c3b06) SHA1(12e2194e5cc9604f02bad03dd6f62bba7f459e73) )
  1325: 	ROM_CONTINUE(             0x088000, 0x08000 )
  1326: 	ROM_LOAD( "1103.rom",     0x0b0000, 0x08000, CRC(78f9ab90) SHA1(c531e264edaacf61abfbdc8f15b1b47e85a4cdf0) )
  1327: 	ROM_CONTINUE(             0x090000, 0x08000 )
  1328: 	ROM_LOAD( "1104.rom",     0x0b8000, 0x08000, CRC(77ce4a7f) SHA1(5c4a6fb01bd744f17cbacc3087c4bdb5e3bfe475) )
  1329: 	ROM_CONTINUE(             0x098000, 0x08000 )
  1330: 	ROM_LOAD( "1105.rom",     0x0e0000, 0x08000, CRC(bef5a025) SHA1(5cfe82f1ef2dd95cc5fa317bd59f69c4cd69fdd2) )
  1331: 	ROM_CONTINUE(             0x0c0000, 0x08000 )
  1332: 	ROM_LOAD( "1106.rom",     0x0e8000, 0x08000, CRC(92a159c8) SHA1(bc4f06eb666967ac726b7f85719d2fcd74e3b573) )
  1333: 	ROM_CONTINUE(             0x0c8000, 0x08000 )
  1334: 	ROM_LOAD( "1107.rom",     0x0f0000, 0x08000, CRC(0a94a3ef) SHA1(7dec8c768d0673ab3c8211f19b17674531dda308) )
  1335: 	ROM_CONTINUE(             0x0d0000, 0x08000 )
  1336: 	ROM_LOAD( "1108.rom",     0x0f8000, 0x08000, CRC(9815eda6) SHA1(89a80c67f4b3426e7516cd1179d5712779ef5db7) )
  1337: 	ROM_CONTINUE(             0x0d8000, 0x08000 )
  1338: 
  1339: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE )
  1340: 	ROM_LOAD( "1125.rom",     0x000000, 0x04000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) )	/* alphanumerics */
  1341: ROM_END
  1342: 
  1343: 
  1344: ROM_START( 720b )
  1345: 	ROM_REGION( 0x90000, REGION_CPU1, 0 )     /* 9 * 64k T11 code */
  1346: 	ROM_LOAD16_BYTE( "2126.7l",      0x08000, 0x04000, CRC(d07e731c) SHA1(0ea742c14702f386fdbaf9a51b3a3439c2bc2f6b) )
  1347: 	ROM_LOAD16_BYTE( "2127.7n",      0x08001, 0x04000, CRC(2d19116c) SHA1(6f86b735b2c685f51d43c7b290c3fd245daa032c) )
  1348: 	ROM_LOAD16_BYTE( "2128.6f",      0x10000, 0x10000, CRC(edad0bc0) SHA1(9e50776221e25573ef6e072e604a52323bc0cef4) )
  1349: 	ROM_LOAD16_BYTE( "3131.6n",      0x10001, 0x10000, CRC(704dc925) SHA1(ca0e0eb6826ca30e1ba2e67132ab7496b61abc37) )
  1350: 	ROM_LOAD16_BYTE( "1129.rom",     0x30000, 0x10000, CRC(eabf0b01) SHA1(aaf5ab31b63c6ba414f0d4c95bbbebcceedd1ae4) )
  1351: 	ROM_LOAD16_BYTE( "1132.rom",     0x30001, 0x10000, CRC(a24f333e) SHA1(e4bfa4c670bfb375118d5774f1dbe848e39e6460) )
  1352: 	ROM_LOAD16_BYTE( "1130.rom",     0x50000, 0x10000, CRC(93fba845) SHA1(4de5867272af63be696855f2a4dff99476b213ad) )
  1353: 	ROM_LOAD16_BYTE( "1133.rom",     0x50001, 0x10000, CRC(53c177be) SHA1(a60c81899944e0dda9886e6697edc4d9309ca8f4) )
  1354: 
  1355: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )     /* 64k for 6502 code */
  1356: 	ROM_LOAD( "1134.rom",     0x04000, 0x04000, CRC(09a418c2) SHA1(017491bbcd0def695a23ab17b1e4fbd1fdf4d5d1) )
  1357: 	ROM_LOAD( "1135.rom",     0x08000, 0x04000, CRC(b1f157d0) SHA1(26355324d49baa02acb777940d7f49d074a75fe5) )
  1358: 	ROM_LOAD( "1136.rom",     0x0c000, 0x04000, CRC(dad40e6d) SHA1(a94bc1b5f0a5218e9e44cd32f2ca6268b48072c2) )
  1359: 
  1360: 	ROM_REGION( 0x40000, REGION_GFX1, ROMREGION_DISPOSE )
  1361: 	ROM_LOAD( "1121.rom",     0x000000, 0x08000, CRC(7adb5f9a) SHA1(8b4dba6c7ecd9d1c03c5d87326b5971ad1cb8863) ) 	/* playfield, planes 0/1 */
  1362: 	ROM_LOAD( "1122.rom",     0x008000, 0x08000, CRC(41b60141) SHA1(a426a0a5f6d4b500571731b3ce5ce8acb5e1db92) )
  1363: 	ROM_LOAD( "1123.rom",     0x010000, 0x08000, CRC(501881d5) SHA1(f38b13774c45eb5b48c87c4410afe4bd311cf3c7) )
  1364: 	ROM_LOAD( "1124.rom",     0x018000, 0x08000, CRC(096f2574) SHA1(6b59ff9a89a93c39c18011a0ac7043457617f336) )
  1365: 	ROM_LOAD( "1117.rom",     0x020000, 0x08000, CRC(5a55f149) SHA1(9dbee28a0bc8ec0d3936d61b7359cb63f4860fff) ) 	/* playfield, planes 2/3 */
  1366: 	ROM_LOAD( "1118.rom",     0x028000, 0x08000, CRC(9bb2429e) SHA1(80655839e5f53aea19115d83bf395b4f70997edc) )
  1367: 	ROM_LOAD( "1119.rom",     0x030000, 0x08000, CRC(8f7b20e5) SHA1(9f0928a442f63c66350e66b35b1503fe4f9d8e33) )
  1368: 	ROM_LOAD( "1120.rom",     0x038000, 0x08000, CRC(46af6d35) SHA1(c3c2b131245f1231839b3649c117bf5bbace0641) )
  1369: 
  1370: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE | ROMREGION_INVERT )
  1371: 	ROM_LOAD( "1109.rom",     0x020000, 0x08000, CRC(0a46b693) SHA1(77a743816663a8b8fe6bd9aa2dd0a4e570071068) )	/* motion objects, planes 0/1 */
  1372: 	ROM_CONTINUE(             0x000000, 0x08000 )
  1373: 	ROM_LOAD( "1110.rom",     0x028000, 0x08000, CRC(457d7e38) SHA1(9ac8e5b49e8f61cb8ce4d739462d17049c966a5d) )
  1374: 	ROM_CONTINUE(             0x008000, 0x08000 )
  1375: 	ROM_LOAD( "1111.rom",     0x030000, 0x08000, CRC(ffad0a5b) SHA1(127502a256e31c3fca92323544129ec8fcabacb8) )
  1376: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1377: 	ROM_LOAD( "1112.rom",     0x038000, 0x08000, CRC(06664580) SHA1(2173536af27d9af5b506997a5bbcfd5a40e2023a) )
  1378: 	ROM_CONTINUE(             0x018000, 0x08000 )
  1379: 	ROM_LOAD( "1113.rom",     0x060000, 0x08000, CRC(7445dc0f) SHA1(cfaa535a4a81a00d0cf47ca3e89625e12abde0f5) )
  1380: 	ROM_CONTINUE(             0x040000, 0x08000 )
  1381: 	ROM_LOAD( "1114.rom",     0x068000, 0x08000, CRC(23eaceb0) SHA1(8206da45d09b03c51d5c41fdbe964fec0e399837) )
  1382: 	ROM_CONTINUE(             0x048000, 0x08000 )
  1383: 	ROM_LOAD( "1115.rom",     0x070000, 0x08000, CRC(0cc8de53) SHA1(656fc4011e6ea362f706048a36e99ff31ecbf7cc) )
  1384: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1385: 	ROM_LOAD( "1116.rom",     0x078000, 0x08000, CRC(2d8f1369) SHA1(d35fc5f6733c83d59b0029eb6ee3945e22f0d13b) )
  1386: 	ROM_CONTINUE(             0x058000, 0x08000 )
  1387: 	ROM_LOAD( "1101.rom",     0x0a0000, 0x08000, CRC(2ac77b80) SHA1(cae6de4ef8a3cf5fb370c0178f734332369e17da) )	/* motion objects, planes 2/3 */
  1388: 	ROM_CONTINUE(             0x080000, 0x08000 )
  1389: 	ROM_LOAD( "1102.rom",     0x0a8000, 0x08000, CRC(f19c3b06) SHA1(12e2194e5cc9604f02bad03dd6f62bba7f459e73) )
  1390: 	ROM_CONTINUE(             0x088000, 0x08000 )
  1391: 	ROM_LOAD( "1103.rom",     0x0b0000, 0x08000, CRC(78f9ab90) SHA1(c531e264edaacf61abfbdc8f15b1b47e85a4cdf0) )
  1392: 	ROM_CONTINUE(             0x090000, 0x08000 )
  1393: 	ROM_LOAD( "1104.rom",     0x0b8000, 0x08000, CRC(77ce4a7f) SHA1(5c4a6fb01bd744f17cbacc3087c4bdb5e3bfe475) )
  1394: 	ROM_CONTINUE(             0x098000, 0x08000 )
  1395: 	ROM_LOAD( "1105.rom",     0x0e0000, 0x08000, CRC(bef5a025) SHA1(5cfe82f1ef2dd95cc5fa317bd59f69c4cd69fdd2) )
  1396: 	ROM_CONTINUE(             0x0c0000, 0x08000 )
  1397: 	ROM_LOAD( "1106.rom",     0x0e8000, 0x08000, CRC(92a159c8) SHA1(bc4f06eb666967ac726b7f85719d2fcd74e3b573) )
  1398: 	ROM_CONTINUE(             0x0c8000, 0x08000 )
  1399: 	ROM_LOAD( "1107.rom",     0x0f0000, 0x08000, CRC(0a94a3ef) SHA1(7dec8c768d0673ab3c8211f19b17674531dda308) )
  1400: 	ROM_CONTINUE(             0x0d0000, 0x08000 )
  1401: 	ROM_LOAD( "1108.rom",     0x0f8000, 0x08000, CRC(9815eda6) SHA1(89a80c67f4b3426e7516cd1179d5712779ef5db7) )
  1402: 	ROM_CONTINUE(             0x0d8000, 0x08000 )
  1403: 
  1404: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE )
  1405: 	ROM_LOAD( "1125.rom",     0x000000, 0x04000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) )	/* alphanumerics */
  1406: ROM_END
  1407: 
  1408: 
  1409: ROM_START( ssprint )
  1410: 	ROM_REGION( 0x90000, REGION_CPU1, 0 )	/* 9*64k for T11 code */
  1411: 	ROM_LOAD16_BYTE( "136042.330",   0x08000, 0x04000, CRC(ee312027) SHA1(7caeaf6220022ffffc7d1feefec24163bed70275) )
  1412: 	ROM_LOAD16_BYTE( "136042.331",   0x08001, 0x04000, CRC(2ef15354) SHA1(c8044bd2e435bdd423877b78f375f13588d1dfd1) )
  1413: 	ROM_LOAD16_BYTE( "136042.329",   0x10000, 0x08000, CRC(ed1d6205) SHA1(7b2b2fd5eb12b1b6266d2becb96c8cf23cdaed26) )
  1414: 	ROM_LOAD16_BYTE( "136042.325",   0x10001, 0x08000, CRC(aecaa2bf) SHA1(919469912bb9e764f60ebf1e231f951a41b370ff) )
  1415: 	ROM_LOAD16_BYTE( "136042.127",   0x50000, 0x08000, CRC(de6c4db9) SHA1(bda7a9628e1ae4bf3fdd67abb8aaa43e9bd8b72b) )
  1416: 	ROM_LOAD16_BYTE( "136042.123",   0x50001, 0x08000, CRC(aff23b5a) SHA1(20bedf8efc927ddd4d513e570bbbec7c8e849a29) )
  1417: 	ROM_LOAD16_BYTE( "136042.126",   0x70000, 0x08000, CRC(92f5392c) SHA1(064ccf24a68440caa565c0467ba4bf4246133698) )
  1418: 	ROM_LOAD16_BYTE( "136042.122",   0x70001, 0x08000, CRC(0381f362) SHA1(e33b6d4949cdee33f27cedf00ef20f1ce5011e24) )
  1419: 
  1420: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for 6502 code */
  1421: 	ROM_LOAD( "136042.419",   0x08000, 0x4000, CRC(b277915a) SHA1(e0e8cd713950f45352b7c1de986b5b0b5c1703b3) )
  1422: 	ROM_LOAD( "136042.420",   0x0c000, 0x4000, CRC(170b2c53) SHA1(c6d5657da29cf637cea940406fcff9a7328964f8) )
  1423: 
  1424: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  1425: 	ROM_LOAD( "136042.105",   0x020000, 0x08000, CRC(911499fe) SHA1(d53139b3a94c4e3d2c0be9cd4be97256de6b2386) ) 	/* playfield, planes 0/1 */
  1426: 	ROM_CONTINUE(             0x000000, 0x08000 )
  1427: 	ROM_LOAD( "136042.106",   0x008000, 0x08000, CRC(a39b25ed) SHA1(d91b3e5a9d1b0ff56cb8e012c349b7c3d8a9b91d) )
  1428: 	ROM_LOAD( "136042.101",   0x030000, 0x08000, CRC(6d015c72) SHA1(0f8ada9cb65f13c88efffc5174d14a1babff699b) )
  1429: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1430: 	ROM_LOAD( "136042.102",   0x018000, 0x08000, CRC(54e21f0a) SHA1(d7e288b1d25e77afc435690f6c7362b8e256f72e) )
  1431: 	ROM_LOAD( "136042.107",   0x060000, 0x08000, CRC(b7ded658) SHA1(8827b18c577ba256822a567a034e03fc4426f34a) ) 	/* playfield, planes 2/3 */
  1432: 	ROM_CONTINUE(             0x040000, 0x08000 )
  1433: 	ROM_LOAD( "136042.108",   0x048000, 0x08000, CRC(4a804a4c) SHA1(e90354c0b6d9d7c23d86b590a30bdc8e8fcf144a) )
  1434: 	ROM_LOAD( "136042.104",   0x070000, 0x08000, CRC(339644ed) SHA1(3fbd7bed4838f01f9d3588f02719b6fe13ac5435) )
  1435: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1436: 	ROM_LOAD( "136042.103",   0x058000, 0x08000, CRC(64d473a8) SHA1(12f4aa981d1ab2f9b5bffeda2d02fcf6b497f1e9) )
  1437: 
  1438: 	ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE | ROMREGION_INVERT )
  1439: 	ROM_LOAD( "136042.113",   0x000000, 0x08000, CRC(f869b0fc) SHA1(d8bf0df492bbe5d228748be0976d8f68254ffb3f) )	/* motion objects, planes 0/1 */
  1440: 	ROM_LOAD( "136042.112",   0x008000, 0x08000, CRC(abcbc114) SHA1(5d11fdfd7ed968949d884f1245571aed052abe46) )
  1441: 	ROM_LOAD( "136042.110",   0x010000, 0x08000, CRC(9e91e734) SHA1(d9424a46dec2885fdc1ebe973f7deebfcb6ff19e) )
  1442: 	ROM_LOAD( "136042.109",   0x018000, 0x08000, CRC(3a051f36) SHA1(1f74d53e1950447fd79a552d934038c4661124cf) )
  1443: 	ROM_LOAD( "136042.117",   0x020000, 0x08000, CRC(b15c1b90) SHA1(a3d517919fe267f30383cff4142dd0d6e1102492) )	/* motion objects, planes 2/3 */
  1444: 	ROM_LOAD( "136042.116",   0x028000, 0x08000, CRC(1dcdd5aa) SHA1(99eb230597132f04aa7d4d66907a14596f780365) )
  1445: 	ROM_LOAD( "136042.115",   0x030000, 0x08000, CRC(fb5677d9) SHA1(fa3190af7eaf0ef738fd86a8280c1c0b0556415f) )
  1446: 	ROM_LOAD( "136042.114",   0x038000, 0x08000, CRC(35e70a8d) SHA1(953bb609143f2660e5e5ca980691b962c1e7a81e) )
  1447: 
  1448: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE )
  1449: 	ROM_LOAD( "136042.218",   0x000000, 0x04000, CRC(8e500be1) SHA1(f21799bf97c8bf82328999cb912ad5f293035d55) )  /* alphanumerics */
  1450: ROM_END
  1451: 
  1452: 
  1453: ROM_START( csprint )
  1454: 	ROM_REGION( 0x90000, REGION_CPU1, 0 )	/* 9*64k for T11 code */
  1455: 	ROM_LOAD16_BYTE( "045-2126.7l",  0x08000, 0x04000, CRC(0ff83de8) SHA1(23f90b8f3ebd3d3bbd7a68aaecae5f45f1b477c0) )
  1456: 	ROM_LOAD16_BYTE( "045-1127.7mn", 0x08001, 0x04000, CRC(e3e37258) SHA1(64f48c1acbb02cc8f6b76232d142382007485fb2) )
  1457: 	ROM_LOAD16_BYTE( "045-1125.6f",  0x10000, 0x08000, CRC(650623d2) SHA1(036cb441aba64d08f3b50f72cb22fed3b4766341) )
  1458: 	ROM_LOAD16_BYTE( "045-1122.6mn", 0x10001, 0x08000, CRC(ca1b1cbf) SHA1(98674b75a1d38db32ceb24d57f6dba836bdc8566) )
  1459: 	ROM_LOAD16_BYTE( "045-1124.6k",  0x50000, 0x08000, CRC(47efca1f) SHA1(ab2fb8479c8606d8f180657734d8d320815c5408) )
  1460: 	ROM_LOAD16_BYTE( "045-1121.6r",  0x50001, 0x08000, CRC(6ca404bb) SHA1(27ceda243410edcff0dc0aa08fb6466d0c6c80c7) )
  1461: 	ROM_LOAD16_BYTE( "045-1123.6l",  0x70000, 0x08000, CRC(0a4d216a) SHA1(53a4af7673c9dae1f6f2f13dce3c38a31ee12ee2) )
  1462: 	ROM_LOAD16_BYTE( "045-1120.6s",  0x70001, 0x08000, CRC(103f3fde) SHA1(9a0e82c3294369858b7a6c978143d8145a8df5a2) )
  1463: 
  1464: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for 6502 code */
  1465: 	ROM_LOAD( "045-1118.2bc", 0x08000, 0x4000, CRC(eba41b2f) SHA1(a0d6e9f4609f2587b0fad6845e75653c10bf4249) )
  1466: 	ROM_LOAD( "045-1119.2d",  0x0c000, 0x4000, CRC(9e49043a) SHA1(ec467fe1cd59c51e43c3acd83d300f5b3309a47a) )
  1467: 
  1468: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  1469: 	ROM_LOAD( "045-1105.6a",  0x000000, 0x08000, CRC(3773bfbb) SHA1(beca29d8b9296d723304aab391dd9589a830a150) ) 	/* playfield, planes 0/1 */
  1470: 	ROM_LOAD( "045-1106.6b",  0x008000, 0x08000, CRC(13a24886) SHA1(a1ac9ca04a60fdb38c6d81e451e5638bdb537c8f) )
  1471: 	ROM_LOAD( "045-1101.7a",  0x030000, 0x08000, CRC(5a55f931) SHA1(b2f8e8f3488a9d3840ca9a15fa53896ae4013e0a) )
  1472: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1473: 	ROM_LOAD( "045-1102.7b",  0x018000, 0x08000, CRC(37548a60) SHA1(f3395df534cdc75d4e1b2b415ee2cd6683e49204) )
  1474: 	ROM_LOAD( "045-1107.6c",  0x040000, 0x08000, CRC(e35e354e) SHA1(fa07737eb2ca19bf96ce15d8bbae7513c7dddd3c) ) 	/* playfield, planes 2/3 */
  1475: 	ROM_LOAD( "045-1108.6d",  0x048000, 0x08000, CRC(361db8b7) SHA1(fb85e63c6e9122ab3d62eb7d0f5f715d8936910b) )
  1476: 	ROM_LOAD( "045-1104.7d",  0x070000, 0x08000, CRC(d1f8fe7b) SHA1(2612a397fdebe6062f66d26060c36af4a9ca28dc) )
  1477: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1478: 	ROM_LOAD( "045-1103.7c",  0x058000, 0x08000, CRC(8f8c9692) SHA1(57418c5dd3554055e5bce8c2a15f6f6fc3201d99) )
  1479: 
  1480: 	ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE | ROMREGION_INVERT )
  1481: 	ROM_LOAD( "045-1112.6t",  0x000000, 0x08000, CRC(f869b0fc) SHA1(d8bf0df492bbe5d228748be0976d8f68254ffb3f) )	/* motion objects, planes 0/1 */
  1482: 	ROM_LOAD( "045-1111.6s",  0x008000, 0x08000, CRC(abcbc114) SHA1(5d11fdfd7ed968949d884f1245571aed052abe46) )
  1483: 	ROM_LOAD( "045-1110.6p",  0x010000, 0x08000, CRC(9e91e734) SHA1(d9424a46dec2885fdc1ebe973f7deebfcb6ff19e) )
  1484: 	ROM_LOAD( "045-1109.6n",  0x018000, 0x08000, CRC(3a051f36) SHA1(1f74d53e1950447fd79a552d934038c4661124cf) )
  1485: 	ROM_LOAD( "045-1116.5t",  0x020000, 0x08000, CRC(b15c1b90) SHA1(a3d517919fe267f30383cff4142dd0d6e1102492) )	/* motion objects, planes 2/3 */
  1486: 	ROM_LOAD( "045-1115.5s",  0x028000, 0x08000, CRC(1dcdd5aa) SHA1(99eb230597132f04aa7d4d66907a14596f780365) )
  1487: 	ROM_LOAD( "045-1114.5p",  0x030000, 0x08000, CRC(fb5677d9) SHA1(fa3190af7eaf0ef738fd86a8280c1c0b0556415f) )
  1488: 	ROM_LOAD( "045-1113.5n",  0x038000, 0x08000, CRC(35e70a8d) SHA1(953bb609143f2660e5e5ca980691b962c1e7a81e) )
  1489: 
  1490: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE )
  1491: 	ROM_LOAD( "045-1117.4t",  0x000000, 0x04000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )  /* alphanumerics */
  1492: ROM_END
  1493: 
  1494: 
  1495: ROM_START( apb )
  1496: 	ROM_REGION( 0x90000, REGION_CPU1, 0 )     /* 9 * 64k T11 code */
  1497: 	ROM_LOAD16_BYTE( "2126",    0x08000, 0x04000, CRC(8edf4726) SHA1(48ee833c84808abe0eb8b7932abf082af09066da) )
  1498: 	ROM_LOAD16_BYTE( "2127",    0x08001, 0x04000, CRC(e2b2aff2) SHA1(bded098d56d68a95333eb68bc0c9629a2257aa16) )
  1499: 	ROM_LOAD16_BYTE( "5128",    0x10000, 0x10000, CRC(4b4ff365) SHA1(89b203c03501a8762b24baa7dc911eaa76e259b3) )
  1500: 	ROM_LOAD16_BYTE( "5129",    0x10001, 0x10000, CRC(059ab792) SHA1(9712efc5a19b8bef6fc5f8befce284e63537a3ce) )
  1501: 	ROM_LOAD16_BYTE( "1130",    0x30000, 0x10000, CRC(f64c752e) SHA1(a0a7a0629b228ffd2a0c92725305b8d094484ddb) )
  1502: 	ROM_LOAD16_BYTE( "1131",    0x30001, 0x10000, CRC(0a506e04) SHA1(98ff0de15632397e7371d8473b0174251b1ef9a1) )
  1503: 	ROM_LOAD16_BYTE( "1132",    0x70000, 0x10000, CRC(6d0e7a4e) SHA1(75aae74571c50d36639d0ae69b0614e5aedeb6e3) )
  1504: 	ROM_LOAD16_BYTE( "1133",    0x70001, 0x10000, CRC(af88d429) SHA1(432720afd4179d3df871226e0eb576d2ffde44c1) )
  1505: 
  1506: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )     /* 64k for 6502 code */
  1507: 	ROM_LOAD( "4134",         0x04000, 0x04000, CRC(45e03b0e) SHA1(d58f5e1095fd6a7c0253fcc9f0e55812c1677387) )
  1508: 	ROM_LOAD( "4135",         0x08000, 0x04000, CRC(b4ca24b2) SHA1(86461da310b334f6b32c0e079de6852792284cc6) )
  1509: 	ROM_LOAD( "4136",         0x0c000, 0x04000, CRC(11efaabf) SHA1(76446b09bf7cacd713ab88d58793460c9d1a8b9b) )
  1510: 
  1511: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  1512: 	ROM_LOAD( "1118",         0x000000, 0x08000, CRC(93752c49) SHA1(6b4ed2defab85ab4d4943bfdf43c04dd42cc2ec5) ) 	/* playfield, planes 0/1 */
  1513: 	ROM_LOAD( "1120",         0x028000, 0x08000, CRC(043086f8) SHA1(8920c8aab37d7b0ecfa17381c65cc00b9b99d4da) )
  1514: 	ROM_CONTINUE(             0x008000, 0x08000 )
  1515: 	ROM_LOAD( "1122",         0x030000, 0x08000, CRC(5ee79481) SHA1(82a0eee49cdfe08aeb8619bc7b83c915a8de95c7) )
  1516: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1517: 	ROM_LOAD( "1124",         0x038000, 0x08000, CRC(27760395) SHA1(5c6201743d973389f7ed13ec4253c2034ab23c62) )
  1518: 	ROM_CONTINUE(             0x018000, 0x08000 )
  1519: 	ROM_LOAD( "1117",         0x040000, 0x08000, CRC(cfc3f8a3) SHA1(7fed2a40c2ba28444c5f5470d0b7c86198469651) ) 	/* playfield, planes 2/3 */
  1520: 	ROM_LOAD( "1119",         0x068000, 0x08000, CRC(68850612) SHA1(de899a0eb0b9fdbc96ccd3987d1dc942b54f2cc6) )
  1521: 	ROM_CONTINUE(             0x048000, 0x08000 )
  1522: 	ROM_LOAD( "1121",         0x070000, 0x08000, CRC(c7977062) SHA1(3a2f8da5c4cd7693575ad13246c6dbb6e2f02131) )
  1523: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1524: 	ROM_LOAD( "1123",         0x078000, 0x08000, CRC(3c96c848) SHA1(a90a0c14ee5d5cdf60a1d3ecd9984b74c31b9f36) )
  1525: 	ROM_CONTINUE(             0x058000, 0x08000 )
  1526: 
  1527: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE | ROMREGION_INVERT )
  1528: 	ROM_LOAD( "1105",         0x020000, 0x08000, CRC(9b78a88e) SHA1(d7dff7a72041ebb7ff4f56da74cc7eb4b71bc5cc) )	/* motion objects, planes 0/1 */
  1529: 	ROM_CONTINUE(             0x000000, 0x08000 )
  1530: 	ROM_LOAD( "1106",         0x028000, 0x08000, CRC(4787ff58) SHA1(35b276eb1ad1ce8b143485502430335c08aa9474) )
  1531: 	ROM_CONTINUE(             0x008000, 0x08000 )
  1532: 	ROM_LOAD( "1107",         0x030000, 0x08000, CRC(0e85f2ac) SHA1(f78769962b4d6f6b4eaac5b6ae8e08ff90ad55ac) )
  1533: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1534: 	ROM_LOAD( "1108",         0x038000, 0x08000, CRC(70ff9308) SHA1(c1cdc428058d5a6a9706431d4aa3d2ae81815d9c) )
  1535: 	ROM_CONTINUE(             0x018000, 0x08000 )
  1536: 	ROM_LOAD( "1113",         0x060000, 0x08000, CRC(4a445356) SHA1(0aa995bc1234c4b84b72c2e779968b1052cfa6e5) )
  1537: 	ROM_CONTINUE(             0x040000, 0x08000 )
  1538: 	ROM_LOAD( "1114",         0x068000, 0x08000, CRC(b9b27f3c) SHA1(ef3378a2569ccf34360edf6ea1630bed2b83c438) )
  1539: 	ROM_CONTINUE(             0x048000, 0x08000 )
  1540: 	ROM_LOAD( "1115",         0x070000, 0x08000, CRC(a7671dd8) SHA1(faaa088b43f354ad5b5bcf96ed9eab54a2ad162e) )
  1541: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1542: 	ROM_LOAD( "1116",         0x078000, 0x08000, CRC(879fc7de) SHA1(4a5994898d546fa914d5eb6e5a1a9c4c2febea5a) )
  1543: 	ROM_CONTINUE(             0x058000, 0x08000 )
  1544: 	ROM_LOAD( "1101",         0x0a0000, 0x08000, CRC(0ef13513) SHA1(ee9c1088f203c607b10c9e7927c8c4a29d727726) )	/* motion objects, planes 2/3 */
  1545: 	ROM_CONTINUE(             0x080000, 0x08000 )
  1546: 	ROM_LOAD( "1102",         0x0a8000, 0x08000, CRC(401e06fd) SHA1(a0c3a90fd400d146b7b9cc12a8dfaa5db0e4426a) )
  1547: 	ROM_CONTINUE(             0x088000, 0x08000 )
  1548: 	ROM_LOAD( "1103",         0x0b0000, 0x08000, CRC(50d820e8) SHA1(28473949570d402754737c6d38de2a096f804676) )
  1549: 	ROM_CONTINUE(             0x090000, 0x08000 )
  1550: 	ROM_LOAD( "1104",         0x0b8000, 0x08000, CRC(912d878f) SHA1(87e0eb5910ec7042628378bcfd58d9b7beca690d) )
  1551: 	ROM_CONTINUE(             0x098000, 0x08000 )
  1552: 	ROM_LOAD( "1109",         0x0e0000, 0x08000, CRC(6716a408) SHA1(cb05fa401456177170c32958dbcfec95667944cd) )
  1553: 	ROM_CONTINUE(             0x0c0000, 0x08000 )
  1554: 	ROM_LOAD( "1110",         0x0e8000, 0x08000, CRC(7e184981) SHA1(475b5c3224ee2e5b5330cc2b4ad018b6bcf0abd5) )
  1555: 	ROM_CONTINUE(             0x0c8000, 0x08000 )
  1556: 	ROM_LOAD( "1111",         0x0f0000, 0x08000, CRC(353a14fd) SHA1(6464b089395ce52f26a604357a4783fe5c673362) )
  1557: 	ROM_CONTINUE(             0x0d0000, 0x08000 )
  1558: 	ROM_LOAD( "1112",         0x0f8000, 0x08000, CRC(3af7c50f) SHA1(e100ec8a8aee643d3175a8f54cc7e9266cf50e42) )
  1559: 	ROM_CONTINUE(             0x0d8000, 0x08000 )
  1560: 
  1561: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE )
  1562: 	ROM_LOAD( "1125",         0x000000, 0x04000, CRC(05a0341c) SHA1(90b96e0645a01939c681a7a5fe5d236f3dfc71b7) )	/* alphanumerics */
  1563: ROM_END
  1564: 
  1565: 
  1566: ROM_START( apb2 )
  1567: 	ROM_REGION( 0x90000, REGION_CPU1, 0 )     /* 9 * 64k T11 code */
  1568: 	ROM_LOAD16_BYTE( "2126",         0x08000, 0x04000, CRC(8edf4726) SHA1(48ee833c84808abe0eb8b7932abf082af09066da) )
  1569: 	ROM_LOAD16_BYTE( "2127",         0x08001, 0x04000, CRC(e2b2aff2) SHA1(bded098d56d68a95333eb68bc0c9629a2257aa16) )
  1570: 	ROM_LOAD16_BYTE( "4128",         0x10000, 0x10000, CRC(46009f6b) SHA1(344cbb6cc5c1ad5c1aec26ca12cafaf73305d801) )
  1571: 	ROM_LOAD16_BYTE( "4129",         0x10001, 0x10000, CRC(e8ca47e2) SHA1(16d705e55a373d6e88792881ffa01e084faf58a9) )
  1572: 	ROM_LOAD16_BYTE( "1130",         0x30000, 0x10000, CRC(f64c752e) SHA1(a0a7a0629b228ffd2a0c92725305b8d094484ddb) )
  1573: 	ROM_LOAD16_BYTE( "1131",         0x30001, 0x10000, CRC(0a506e04) SHA1(98ff0de15632397e7371d8473b0174251b1ef9a1) )
  1574: 	ROM_LOAD16_BYTE( "1132",         0x70000, 0x10000, CRC(6d0e7a4e) SHA1(75aae74571c50d36639d0ae69b0614e5aedeb6e3) )
  1575: 	ROM_LOAD16_BYTE( "1133",         0x70001, 0x10000, CRC(af88d429) SHA1(432720afd4179d3df871226e0eb576d2ffde44c1) )
  1576: 
  1577: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )     /* 64k for 6502 code */
  1578: 	ROM_LOAD( "5134",         0x04000, 0x04000, CRC(1c8bdeed) SHA1(bbdbbb9a4903f98842d9a697410a2e3a2069284c) )
  1579: 	ROM_LOAD( "5135",         0x08000, 0x04000, CRC(ed6adb91) SHA1(b1f1f0d1bda445a53de798fb6847c605afe53e3c) )
  1580: 	ROM_LOAD( "5136",         0x0c000, 0x04000, CRC(341f8486) SHA1(4cea39c0d8551ce7193e51de341f7297a94b8d9b) )
  1581: 
  1582: 	ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
  1583: 	ROM_LOAD( "1118",         0x000000, 0x08000, CRC(93752c49) SHA1(6b4ed2defab85ab4d4943bfdf43c04dd42cc2ec5) ) 	/* playfield, planes 0/1 */
  1584: 	ROM_LOAD( "1120",         0x028000, 0x08000, CRC(043086f8) SHA1(8920c8aab37d7b0ecfa17381c65cc00b9b99d4da) )
  1585: 	ROM_CONTINUE(             0x008000, 0x08000 )
  1586: 	ROM_LOAD( "1122",         0x030000, 0x08000, CRC(5ee79481) SHA1(82a0eee49cdfe08aeb8619bc7b83c915a8de95c7) )
  1587: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1588: 	ROM_LOAD( "1124",         0x038000, 0x08000, CRC(27760395) SHA1(5c6201743d973389f7ed13ec4253c2034ab23c62) )
  1589: 	ROM_CONTINUE(             0x018000, 0x08000 )
  1590: 	ROM_LOAD( "1117",         0x040000, 0x08000, CRC(cfc3f8a3) SHA1(7fed2a40c2ba28444c5f5470d0b7c86198469651) ) 	/* playfield, planes 2/3 */
  1591: 	ROM_LOAD( "1119",         0x068000, 0x08000, CRC(68850612) SHA1(de899a0eb0b9fdbc96ccd3987d1dc942b54f2cc6) )
  1592: 	ROM_CONTINUE(             0x048000, 0x08000 )
  1593: 	ROM_LOAD( "1121",         0x070000, 0x08000, CRC(c7977062) SHA1(3a2f8da5c4cd7693575ad13246c6dbb6e2f02131) )
  1594: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1595: 	ROM_LOAD( "1123",         0x078000, 0x08000, CRC(3c96c848) SHA1(a90a0c14ee5d5cdf60a1d3ecd9984b74c31b9f36) )
  1596: 	ROM_CONTINUE(             0x058000, 0x08000 )
  1597: 
  1598: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE | ROMREGION_INVERT )
  1599: 	ROM_LOAD( "1105",         0x020000, 0x08000, CRC(9b78a88e) SHA1(d7dff7a72041ebb7ff4f56da74cc7eb4b71bc5cc) )	/* motion objects, planes 0/1 */
  1600: 	ROM_CONTINUE(             0x000000, 0x08000 )
  1601: 	ROM_LOAD( "1106",         0x028000, 0x08000, CRC(4787ff58) SHA1(35b276eb1ad1ce8b143485502430335c08aa9474) )
  1602: 	ROM_CONTINUE(             0x008000, 0x08000 )
  1603: 	ROM_LOAD( "1107",         0x030000, 0x08000, CRC(0e85f2ac) SHA1(f78769962b4d6f6b4eaac5b6ae8e08ff90ad55ac) )
  1604: 	ROM_CONTINUE(             0x010000, 0x08000 )
  1605: 	ROM_LOAD( "1108",         0x038000, 0x08000, CRC(70ff9308) SHA1(c1cdc428058d5a6a9706431d4aa3d2ae81815d9c) )
  1606: 	ROM_CONTINUE(             0x018000, 0x08000 )
  1607: 	ROM_LOAD( "1113",         0x060000, 0x08000, CRC(4a445356) SHA1(0aa995bc1234c4b84b72c2e779968b1052cfa6e5) )
  1608: 	ROM_CONTINUE(             0x040000, 0x08000 )
  1609: 	ROM_LOAD( "1114",         0x068000, 0x08000, CRC(b9b27f3c) SHA1(ef3378a2569ccf34360edf6ea1630bed2b83c438) )
  1610: 	ROM_CONTINUE(             0x048000, 0x08000 )
  1611: 	ROM_LOAD( "1115",         0x070000, 0x08000, CRC(a7671dd8) SHA1(faaa088b43f354ad5b5bcf96ed9eab54a2ad162e) )
  1612: 	ROM_CONTINUE(             0x050000, 0x08000 )
  1613: 	ROM_LOAD( "1116",         0x078000, 0x08000, CRC(879fc7de) SHA1(4a5994898d546fa914d5eb6e5a1a9c4c2febea5a) )
  1614: 	ROM_CONTINUE(             0x058000, 0x08000 )
  1615: 	ROM_LOAD( "1101",         0x0a0000, 0x08000, CRC(0ef13513) SHA1(ee9c1088f203c607b10c9e7927c8c4a29d727726) )	/* motion objects, planes 2/3 */
  1616: 	ROM_CONTINUE(             0x080000, 0x08000 )
  1617: 	ROM_LOAD( "1102",         0x0a8000, 0x08000, CRC(401e06fd) SHA1(a0c3a90fd400d146b7b9cc12a8dfaa5db0e4426a) )
  1618: 	ROM_CONTINUE(             0x088000, 0x08000 )
  1619: 	ROM_LOAD( "1103",         0x0b0000, 0x08000, CRC(50d820e8) SHA1(28473949570d402754737c6d38de2a096f804676) )
  1620: 	ROM_CONTINUE(             0x090000, 0x08000 )
  1621: 	ROM_LOAD( "1104",         0x0b8000, 0x08000, CRC(912d878f) SHA1(87e0eb5910ec7042628378bcfd58d9b7beca690d) )
  1622: 	ROM_CONTINUE(             0x098000, 0x08000 )
  1623: 	ROM_LOAD( "1109",         0x0e0000, 0x08000, CRC(6716a408) SHA1(cb05fa401456177170c32958dbcfec95667944cd) )
  1624: 	ROM_CONTINUE(             0x0c0000, 0x08000 )
  1625: 	ROM_LOAD( "1110",         0x0e8000, 0x08000, CRC(7e184981) SHA1(475b5c3224ee2e5b5330cc2b4ad018b6bcf0abd5) )
  1626: 	ROM_CONTINUE(             0x0c8000, 0x08000 )
  1627: 	ROM_LOAD( "1111",         0x0f0000, 0x08000, CRC(353a14fd) SHA1(6464b089395ce52f26a604357a4783fe5c673362) )
  1628: 	ROM_CONTINUE(             0x0d0000, 0x08000 )
  1629: 	ROM_LOAD( "1112",         0x0f8000, 0x08000, CRC(3af7c50f) SHA1(e100ec8a8aee643d3175a8f54cc7e9266cf50e42) )
  1630: 	ROM_CONTINUE(             0x0d8000, 0x08000 )
  1631: 
  1632: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE )
  1633: 	ROM_LOAD( "1125",         0x000000, 0x04000, CRC(05a0341c) SHA1(90b96e0645a01939c681a7a5fe5d236f3dfc71b7) )	/* alphanumerics */
  1634: ROM_END
  1635: 
  1636: 
  1637: 
  1638: /*************************************
  1639:  *
  1640:  *	Driver initialization
  1641:  *
  1642:  *************************************/
  1643: 
  1644: static DRIVER_INIT( paperboy )
  1645: {
  1646: 	static const data16_t compressed_default_eeprom[] =
  1647: 	{
  1648: 		0x0000,0x4300,0x0113,0x0124,0x0150,0x0153,0x0154,0x0100,
  1649: 		0x0112,0x01C0,0x0155,0x0143,0x0148,0x0100,0x0112,0x015C,
  1650: 		0x0154,0x014F,0x0149,0x0100,0x0111,0x01F8,0x0120,0x0152,
  1651: 		0x0153,0x0100,0x0111,0x0149,0x0159,0x0145,0x0120,0x0100,
  1652: 		0x0111,0x0130,0x014F,0x0120,0x0154,0x0100,0x0110,0x01CC,
  1653: 		0x0155,0x014F,0x0141,0x0100,0x0110,0x0168,0x0152,0x014E,
  1654: 		0x0142,0x0100,0x0110,0x0104,0x0120,0x0154,0x014C,0x0100,
  1655: 		0x010F,0x01A0,0x0120,0x014F,0x0145,0x0100,0x0126,0x01AC,
  1656: 		0x0150,0x0149,0x0147,0x0100,0x0126,0x0148,0x0141,0x0153,
  1657: 		0x0152,0x0100,0x0125,0x01E4,0x0150,0x0120,0x0145,0x0100,
  1658: 		0x0125,0x0180,0x0145,0x0154,0x0141,0x0100,0x0125,0x011C,
  1659: 		0x0152,0x0148,0x0154,0x0100,0x0124,0x01B8,0x0120,0x0245,
  1660: 		0x0100,0x0124,0x0154,0x0142,0x0120,0x0153,0x0100,0x0123,
  1661: 		0x01F0,0x014F,0x0120,0x0154,0x0100,0x0123,0x018C,0x0159,
  1662: 		0x0220,0x0100,0x0123,0x0128,0x0320,0x0100,0x013A,0x0134,
  1663: 		0x0144,0x0141,0x0154,0x0100,0x0139,0x01D0,0x0154,0x0148,
  1664: 		0x0145,0x0100,0x0139,0x016C,0x0142,0x014F,0x0159,0x0100,
  1665: 		0x0139,0x0108,0x0142,0x0146,0x0120,0x0100,0x0138,0x01A4,
  1666: 		0x014D,0x0145,0x0143,0x0100,0x0138,0x0140,0x0143,0x014A,
  1667: 		0x0120,0x0100,0x0137,0x01DC,0x014A,0x0145,0x0153,0x0100,
  1668: 		0x0137,0x0178,0x0150,0x0143,0x0154,0x0100,0x0137,0x0114,
  1669: 		0x014D,0x0241,0x0100,0x0136,0x01B0,0x0142,0x0141,0x0146,
  1670: 		0x0101,0x0400,0x010F,0x017F,0x012A,0x017F,0x013D,0x010F,
  1671: 		0x017F,0x012A,0x017F,0x013C,0x010F,0x017F,0x012A,0x017F,
  1672: 		0x013B,0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0xFC00,
  1673: 		0x0000
  1674: 	};
  1675: 	int i;
  1676: 
  1677: 	atarigen_eeprom_default = compressed_default_eeprom;
  1678: 	atarigen_init_6502_speedup(1, 0x410f, 0x4127);
  1679: 	slapstic_init(105);
  1680: 
  1681: 	/* expand the 16k program ROMs into full 64k chunks */
  1682: 	for (i = 0x10000; i < 0x90000; i += 0x20000)
  1683: 	{
  1684: 		memcpy(&memory_region(REGION_CPU1)[i + 0x08000], &memory_region(REGION_CPU1)[i], 0x8000);
  1685: 		memcpy(&memory_region(REGION_CPU1)[i + 0x10000], &memory_region(REGION_CPU1)[i], 0x8000);
  1686: 		memcpy(&memory_region(REGION_CPU1)[i + 0x18000], &memory_region(REGION_CPU1)[i], 0x8000);
  1687: 	}
  1688: 
  1689: 	pedal_count = 0;
  1690: 	has_tms5220 = 1;
  1691: }
  1692: 
  1693: 
  1694: static DRIVER_INIT( 720 )
  1695: {
  1696: 	atarigen_eeprom_default = NULL;
  1697: 	atarigen_init_6502_speedup(1, 0x410f, 0x4127);
  1698: 	slapstic_init(107);
  1699: 
  1700: 	pedal_count = -1;
  1701: 	has_tms5220 = 1;
  1702: }
  1703: 
  1704: 
  1705: static DRIVER_INIT( ssprint )
  1706: {
  1707: 	static const data16_t compressed_default_eeprom[] =
  1708: 	{
  1709: 		0x0000,0x01FF,0x0E00,0x01FF,0x0100,0x0120,0x0100,0x0120,
  1710: 		0x0300,0x0120,0x0500,0x0120,0x01FF,0x0100,0x0140,0x0100,
  1711: 		0x0140,0x0110,0x0100,0x0110,0x0150,0x0100,0x0110,0x0300,
  1712: 		0x0140,0x01FF,0x0100,0x0160,0x0100,0x0160,0x0300,0x0160,
  1713: 		0x0500,0x0160,0x01FF,0x0100,0x0180,0x0100,0x0180,0x0300,
  1714: 		0x0180,0x0500,0x0180,0x01FF,0x0100,0x01A0,0x0100,0x01A0,
  1715: 		0x0300,0x01A0,0x0500,0x01A0,0x01FF,0x0100,0x01C0,0x0100,
  1716: 		0x01C0,0x0300,0x01C0,0x0500,0x01C0,0xFFFF,0x1EFF,0x0103,
  1717: 		0x01E8,0x0146,0x01D6,0x0103,0x01DE,0x0128,0x01B3,0x0103,
  1718: 		0x01D4,0x0144,0x0123,0x0103,0x01CA,0x011C,0x010B,0x0103,
  1719: 		0x01C0,0x0159,0x01BF,0x0103,0x01B6,0x0129,0x019F,0x0103,
  1720: 		0x01AC,0x014A,0x01C2,0x0103,0x01A2,0x010E,0x01DF,0x0103,
  1721: 		0x0198,0x0131,0x01BF,0x0103,0x018E,0x010D,0x0106,0x0103,
  1722: 		0x0184,0x010E,0x0186,0x0103,0x017A,0x0124,0x010C,0x0103,
  1723: 		0x0170,0x014A,0x0148,0x0103,0x0166,0x0151,0x01F2,0x0103,
  1724: 		0x015C,0x013E,0x013F,0x0103,0x0152,0x0111,0x0106,0x0103,
  1725: 		0x0148,0x0145,0x01B1,0x0103,0x013E,0x017E,0x0164,0x0103,
  1726: 		0x0134,0x017F,0x01E0,0x0103,0x012A,0x017F,0x01F3,0x0103,
  1727: 		0x0120,0x017F,0x01FF,0x0103,0x0116,0x012A,0x01D6,0x0103,
  1728: 		0x010C,0x0125,0x0176,0x0103,0x0102,0x014C,0x0161,0x0102,
  1729: 		0x01F8,0x0128,0x0101,0x0102,0x01EE,0x0101,0x0153,0x0102,
  1730: 		0x01E4,0x0109,0x0132,0x0102,0x01DA,0x012C,0x0132,0x0102,
  1731: 		0x01D0,0x0125,0x0186,0x0102,0x01C6,0x011D,0x011F,0xFF00,
  1732: 		0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0x0800,0x0000
  1733: 	};
  1734: 	int i;
  1735: 
  1736: 	atarigen_eeprom_default = compressed_default_eeprom;
  1737: 	atarigen_init_6502_speedup(1, 0x8107, 0x811f);
  1738: 	slapstic_init(108);
  1739: 
  1740: 	/* expand the 32k program ROMs into full 64k chunks */
  1741: 	for (i = 0x10000; i < 0x90000; i += 0x20000)
  1742: 		memcpy(&memory_region(REGION_CPU1)[i + 0x10000], &memory_region(REGION_CPU1)[i], 0x10000);
  1743: 
  1744: 	pedal_count = 3;
  1745: 	has_tms5220 = 0;
  1746: }
  1747: 
  1748: 
  1749: static DRIVER_INIT( csprint )
  1750: {
  1751: 	static const data16_t compressed_default_eeprom[] =
  1752: 	{
  1753: 		0x0000,0x01FF,0x0E00,0x0128,0x01D0,0x0127,0x0100,0x0120,
  1754: 		0x0300,0x01F7,0x01D0,0x0107,0x0300,0x0120,0x010F,0x01F0,
  1755: 		0x0140,0x0100,0x0140,0x0110,0x0100,0x0110,0x01A0,0x01F0,
  1756: 		0x0110,0x0300,0x0140,0x01FF,0x0100,0x0160,0x0100,0x0160,
  1757: 		0x0300,0x0160,0x0500,0x0160,0x01FF,0x0100,0x0180,0x0100,
  1758: 		0x0180,0x0300,0x0180,0x0500,0x0180,0x01FF,0x0100,0x01A0,
  1759: 		0x0100,0x01A0,0x0300,0x01A0,0x0500,0x01A0,0x01FF,0x0100,
  1760: 		0x01C0,0x0100,0x01C0,0x0300,0x01C0,0x0500,0x01C0,0xFFFF,
  1761: 		0x0100,0x0127,0x0110,0x0146,0x01D6,0x0100,0x0126,0x01AC,
  1762: 		0x0128,0x01B3,0x0100,0x0126,0x0148,0x0144,0x0123,0x0100,
  1763: 		0x0125,0x01E4,0x011C,0x010B,0x0100,0x0125,0x0180,0x0159,
  1764: 		0x01BF,0x0100,0x0125,0x011C,0x0129,0x019F,0x0100,0x0124,
  1765: 		0x0168,0x014A,0x01C2,0x0100,0x0124,0x0154,0x010E,0x01DF,
  1766: 		0x0100,0x0123,0x01F0,0x0131,0x01BF,0x0100,0x0123,0x018C,
  1767: 		0x010D,0x0106,0x0100,0x0123,0x0128,0x010E,0x0186,0x0100,
  1768: 		0x0122,0x01C4,0x0124,0x010C,0x0100,0x0122,0x0160,0x014A,
  1769: 		0x0148,0x0100,0x0121,0x01FC,0x0151,0x01F2,0x0100,0x0121,
  1770: 		0x0198,0x013E,0x013F,0x0100,0x0121,0x0134,0x0111,0x0106,
  1771: 		0x0100,0x0120,0x01D0,0x0145,0x01B1,0x0100,0x0120,0x016C,
  1772: 		0x017E,0x0164,0x0100,0x0120,0x0108,0x017F,0x01E0,0x0100,
  1773: 		0x011F,0x01A4,0x017F,0x01F3,0x0100,0x011F,0x0140,0x017F,
  1774: 		0x01FF,0x0100,0x011E,0x01DC,0x012A,0x01D6,0x0100,0x011E,
  1775: 		0x0178,0x0125,0x0176,0x0100,0x011E,0x0114,0x014C,0x0161,
  1776: 		0x0100,0x011D,0x01B0,0x0128,0x0101,0x0100,0x011D,0x014C,
  1777: 		0x0101,0x0153,0x0100,0x011C,0x01E8,0x0109,0x0132,0x0100,
  1778: 		0x011C,0x0184,0x012C,0x0132,0x0100,0x011C,0x0120,0x0125,
  1779: 		0x0186,0x0100,0x011B,0x01BC,0x011D,0x011F,0x0000
  1780: 	};
  1781: 	int i;
  1782: 
  1783: 	atarigen_eeprom_default = compressed_default_eeprom;
  1784: 	atarigen_init_6502_speedup(1, 0x8107, 0x811f);
  1785: 	slapstic_init(109);
  1786: 
  1787: 	/* expand the 32k program ROMs into full 64k chunks */
  1788: 	for (i = 0x10000; i < 0x90000; i += 0x20000)
  1789: 		memcpy(&memory_region(REGION_CPU1)[i + 0x10000], &memory_region(REGION_CPU1)[i], 0x10000);
  1790: 
  1791: 	pedal_count = 2;
  1792: 	has_tms5220 = 0;
  1793: }
  1794: 
  1795: 
  1796: static DRIVER_INIT( apb )
  1797: {
  1798: 	atarigen_eeprom_default = NULL;
  1799: 	atarigen_init_6502_speedup(1, 0x410f, 0x4127);
  1800: 	slapstic_init(110);
  1801: 
  1802: 	pedal_count = 2;
  1803: 	has_tms5220 = 1;
  1804: }
  1805: 
  1806: 
  1807: 
  1808: /*************************************
  1809:  *
  1810:  *	Game driver(s)
  1811:  *
  1812:  *************************************/
  1813: 
  1814: GAME( 1984, paperboy, 0,   atarisy2, paperboy, paperboy, ROT0,   "Atari Games", "Paperboy" )
  1815: GAME( 1986, 720,      0,   720,      720,      720,      ROT0,   "Atari Games", "720 Degrees (set 1)" )
  1816: GAME( 1986, 720b,     720, 720,      720,      720 ,     ROT0,   "Atari Games", "720 Degrees (set 2)" )
  1817: GAME( 1986, ssprint,  0,   sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint" )
  1818: GAME( 1986, csprint,  0,   sprint,   csprint,  csprint,  ROT0,   "Atari Games", "Championship Sprint" )
  1819: GAME( 1987, apb,      0,   atarisy2, apb,      apb,      ROT270, "Atari Games", "APB - All Points Bulletin (set 1)" )
  1820: GAME( 1987, apb2,     apb, atarisy2, apb,      apb,      ROT270, "Atari Games", "APB - All Points Bulletin (set 2)" )
  1821: 




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