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

Source Listing


     1: /***************************************************************************
     2: 
     3: 	Atari Major Havoc hardware
     4: 
     5: 	driver by Mike Appolo
     6: 
     7: 	Games supported:
     8: 		* Alpha One
     9: 		* Major Havoc
    10: 		* Major Havoc: Return to Vax
    11: 
    12: 	Known bugs:
    13: 		* none at this time
    14: 
    15: ****************************************************************************
    16: 
    17: 	MAJOR HAVOC (Driver)
    18: 
    19: 	Notes:
    20: 
    21: 	This game was provided in three configurations:
    22: 	1) New Machine Purchase
    23: 	2) Upgrade kit for Tempest (Kit "A")
    24: 	3) Upgrade kit for Space Duel, Gravitar, and Black Window (Kit "B")
    25: 
    26: 	Controls on the machine were:
    27: 	A backlit cylinder (roller) on new Major Havoc machines
    28: 			or
    29: 	A Tempest-like spinner on upgrades
    30: 
    31: 
    32: 	Memory Map for Major Havoc
    33: 
    34: 	Alpha Processor
    35: 	                 D  D  D  D  D  D  D  D
    36: 	Hex Address      7  6  5  4  3  2  1  0                    Function
    37: 	--------------------------------------------------------------------------------
    38: 	0000-01FF     |  D  D  D  D  D  D  D  D   | R/W  | Program RAM (1/2K)
    39: 	0200-07FF     |  D  D  D  D  D  D  D  D   | R/W  | Paged Program RAM (3K)
    40: 	0800-09FF     |  D  D  D  D  D  D  D  D   | R/W  | Program RAM (1/2K)
    41: 	              |                           |      |
    42: 	1000	      |  D  D  D  D  D  D  D  D   |  R   | Gamma Commuication Read Port
    43: 	              |                           |      |
    44: 	1200          |  D                        |  R   | Right Coin (Player 1=0)
    45: 	1200	      |     D                     |  R   | Left Coin  (Player 1=0)
    46: 	1200          |        D                  |  R   | Aux. Coin  (Player 1=0)
    47: 	1200          |           D               |  R   | Diagnostic Step
    48: 	1200          |  D                        |  R   | Self Test Switch (Player 1=1)
    49: 	1200          |     D                     |  R   | Cabinet Switch (Player 1=1)
    50: 	1200          |        D                  |  R   | Aux. Coin Switch (Player 1=1)
    51: 	1200          |           D               |  R   | Diagnostic Step
    52: 	1200          |              D            |  R   | Gammma Rcvd Flag
    53: 	1200          |                 D         |  R   | Gamma Xmtd Flag
    54: 	1200          |                    D      |  R   | 2.4 KHz
    55: 	1200          |                       D   |  R   | Vector Generator Halt Flag
    56: 	              |                           |      |
    57: 	1400-141F     |              D  D  D  D   |  W   | ColorRAM
    58: 	              |                           |      |
    59: 	1600          |  D                        |  W   | Invert X
    60: 	1600          |     D                     |  W   | Invert Y
    61: 	1600          |        D                  |  W   | Player 1
    62: 	1600          |           D               |  W   | Not Used
    63: 	1600          |              D            |  W   | Gamma Proc. Reset
    64: 	1600          |                 D         |  W   | Beta Proc. Reset
    65: 	1600          |                    D      |  W   | Not Used
    66: 	1600          |                       D   |  W   | Roller Controller Light
    67: 	              |                           |      |
    68: 	1640          |                           |  W   | Vector Generator Go
    69: 	1680          |                           |  W   | Watchdog Clear
    70: 	16C0          |                           |  W   | Vector Generator Reset
    71: 	              |                           |      |
    72: 	1700          |                           |  W   | IRQ Acknowledge
    73: 	1740          |                    D  D   |  W   | Program ROM Page Select
    74: 	1780          |                       D   |  W   | Program RAM Page Select
    75: 	17C0          |  D  D  D  D  D  D  D  D   |  W   | Gamma Comm. Write Port
    76: 	              |                           |      |
    77: 	1800-1FFF     |  D  D  D  D  D  D  D  D   | R/W  | Shared Beta RAM(not used)
    78: 	              |                           |      |
    79: 	2000-3FFF     |  D  D  D  D  D  D  D  D   |  R   | Paged Program ROM (32K)
    80: 	4000-4FFF     |  D  D  D  D  D  D  D  D   | R/W  | Vector Generator RAM (4K)
    81: 	5000-5FFF     |  D  D  D  D  D  D  D  D   |  R   | Vector Generator ROM (4K)
    82: 	6000-7FFF     |  D  D  D  D  D  D  D  D   |  R   | Paged Vector ROM (32K)
    83: 	8000-FFFF     |  D  D  D  D  D  D  D  D   |  R   | Program ROM (32K)
    84: 	-------------------------------------------------------------------------------
    85: 
    86: 	Gamma Processor
    87: 
    88: 	                 D  D  D  D  D  D  D  D
    89: 	Hex Address      7  6  5  4  3  2  1  0                    Function
    90: 	--------------------------------------------------------------------------------
    91: 	0000-07FF     |  D  D  D  D  D  D  D  D   | R/W  | Program RAM (2K)
    92: 	2000-203F     |  D  D  D  D  D  D  D  D   | R/W  | Quad-Pokey I/O
    93: 	              |                           |      |
    94: 	2800          |  D                        |  R   | Fire 1 Switch
    95: 	2800          |     D                     |  R   | Shield 1 Switch
    96: 	2800          |        D                  |  R   | Fire 2 Switch
    97: 	2800          |           D               |  R   | Shield 2 Switch
    98: 	2800          |              D            |  R   | Not Used
    99: 	2800          |                 D         |  R   | Speech Chip Ready
   100: 	2800          |                    D      |  R   | Alpha Rcvd Flag
   101: 	2800          |                       D   |  R   | Alpha Xmtd Flag
   102: 	              |                           |      |
   103: 	3000          |  D  D  D  D  D  D  D  D   |  R   | Alpha Comm. Read Port
   104: 	              |                           |      |
   105: 	3800-3803     |  D  D  D  D  D  D  D  D   |  R   | Roller Controller Input
   106: 	              |                           |      |
   107: 	4000          |                           |  W   | IRQ Acknowledge
   108: 	4800          |                    D      |  W   | Left Coin Counter
   109: 	4800          |                       D   |  W   | Right Coin Counter
   110: 	              |                           |      |
   111: 	5000          |  D  D  D  D  D  D  D  D   |  W   | Alpha Comm. Write Port
   112: 	              |                           |      |
   113: 	6000-61FF     |  D  D  D  D  D  D  D  D   | R/W  | EEROM
   114: 	8000-BFFF     |  D  D  D  D  D  D  D  D   |  R   | Program ROM (16K)
   115: 	-----------------------------------------------------------------------------
   116: 
   117: 
   118: 
   119: 	MAJOR HAVOC DIP SWITCH SETTINGS
   120: 
   121: 	$=Default
   122: 
   123: 	DIP Switch at position 13/14S
   124: 
   125: 	                                  1    2    3    4    5    6    7    8
   126: 	STARTING LIVES                  _________________________________________
   127: 	Free Play   1 Coin   2 Coin     |    |    |    |    |    |    |    |    |
   128: 	    2         3         5      $|Off |Off |    |    |    |    |    |    |
   129: 	    3         4         4       | On | On |    |    |    |    |    |    |
   130: 	    4         5         6       | On |Off |    |    |    |    |    |    |
   131: 	    5         6         7       |Off | On |    |    |    |    |    |    |
   132: 	GAME DIFFICULTY                 |    |    |    |    |    |    |    |    |
   133: 	Hard                            |    |    | On | On |    |    |    |    |
   134: 	Medium                         $|    |    |Off |Off |    |    |    |    |
   135: 	Easy                            |    |    |Off | On |    |    |    |    |
   136: 	Demo                            |    |    | On |Off |    |    |    |    |
   137: 	BONUS LIFE                      |    |    |    |    |    |    |    |    |
   138: 	50,000                          |    |    |    |    | On | On |    |    |
   139: 	100,000                        $|    |    |    |    |Off |Off |    |    |
   140: 	200,000                         |    |    |    |    |Off | On |    |    |
   141: 	No Bonus Life                   |    |    |    |    | On |Off |    |    |
   142: 	ATTRACT MODE SOUND              |    |    |    |    |    |    |    |    |
   143: 	Silence                         |    |    |    |    |    |    | On |    |
   144: 	Sound                          $|    |    |    |    |    |    |Off |    |
   145: 	ADAPTIVE DIFFICULTY             |    |    |    |    |    |    |    |    |
   146: 	No                              |    |    |    |    |    |    |    | On |
   147: 	Yes                            $|    |    |    |    |    |    |    |Off |
   148: 	                                -----------------------------------------
   149: 
   150: 		DIP Switch at position 8S
   151: 
   152: 	                                  1    2    3    4    5    6    7    8
   153: 	                                _________________________________________
   154: 	Free Play                       |    |    |    |    |    |    | On |Off |
   155: 	1 Coin for 1 Game               |    |    |    |    |    |    |Off |Off |
   156: 	1 Coin for 2 Games              |    |    |    |    |    |    | On | On |
   157: 	2 Coins for 1 Game             $|    |    |    |    |    |    |Off | On |
   158: 	RIGHT COIN MECHANISM            |    |    |    |    |    |    |    |    |
   159: 	x1                             $|    |    |    |    |Off |Off |    |    |
   160: 	x4                              |    |    |    |    |Off | On |    |    |
   161: 	x5                              |    |    |    |    | On |Off |    |    |
   162: 	x6                              |    |    |    |    | On | On |    |    |
   163: 	LEFT COIN MECHANISM             |    |    |    |    |    |    |    |    |
   164: 	x1                             $|    |    |    |Off |    |    |    |    |
   165: 	x2                              |    |    |    | On |    |    |    |    |
   166: 	BONUS COIN ADDER                |    |    |    |    |    |    |    |    |
   167: 	No Bonus Coins                 $|Off |Off |Off |    |    |    |    |    |
   168: 	Every 4, add 1                  |Off | On |Off |    |    |    |    |    |
   169: 	Every 4, add 2                  |Off | On | On |    |    |    |    |    |
   170: 	Every 5, add 1                  | On |Off |Off |    |    |    |    |    |
   171: 	Every 3, add 1                  | On |Off | On |    |    |    |    |    |
   172: 	                                -----------------------------------------
   173: 
   174: 		2 COIN MINIMUM OPTION: Short pin 6 @13N to ground.
   175: 
   176: ***************************************************************************/
   177: 
   178: #include "driver.h" 
   179: #include "vidhrdw/generic.h" 
   180: #include "machine/mathbox.h" 
   181: #include "machine/atari_vg.h" 
   182: #include "vidhrdw/avgdvg.h" 
   183: #include "vidhrdw/vector.h" 
   184: #include "mhavoc.h" 
   185: 
   186: 
   187: 
   188: /*************************************
   189:  *
   190:  *	Alpha One: dual POKEY?
   191:  *
   192:  *************************************/
   193: 
   194: static READ_HANDLER( dual_pokey_r )
   195: {
   196: 	int pokey_num = (offset >> 3) & 0x01;
   197: 	int control = (offset & 0x10) >> 1;
   198: 	int pokey_reg = (offset % 8) | control;
   199: 
   200: 	if (pokey_num == 0)
   201: 		return pokey1_r(pokey_reg);
   202: 	else
   203: 		return pokey2_r(pokey_reg);
   204: }
   205: 
   206: 
   207: static WRITE_HANDLER( dual_pokey_w )
   208: {
   209: 	int pokey_num = (offset >> 3) & 0x01;
   210: 	int control = (offset & 0x10) >> 1;
   211: 	int pokey_reg = (offset % 8) | control;
   212: 
   213: 	if (pokey_num == 0)
   214: 		pokey1_w(pokey_reg, data);
   215: 	else
   216: 		pokey2_w(pokey_reg, data);
   217: }
   218: 
   219: 
   220: 
   221: /*************************************
   222:  *
   223:  *	Gamma RAM
   224:  *
   225:  *************************************/
   226: 
   227: static data8_t *gammaram;
   228: 
   229: static READ_HANDLER( mhavoc_gammaram_r )
   230: {
   231: 	return gammaram[offset & 0x7ff];
   232: }
   233: 
   234: static WRITE_HANDLER( mhavoc_gammaram_w )
   235: {
   236: 	gammaram[offset & 0x7ff] = data;
   237: }
   238: 
   239: 
   240: 
   241: /*************************************
   242:  *
   243:  *	Alpha CPU memory handlers
   244:  *
   245:  *************************************/
   246: 
   247: static MEMORY_READ_START( alpha_readmem )
   248: 	{ 0x0000, 0x01ff, MRA_RAM },			/* 0.5K Program Ram */
   249: 	{ 0x0200, 0x07ff, MRA_BANK1 },			/* 3K Paged Program RAM	*/
   250: 	{ 0x0800, 0x09ff, MRA_RAM },			/* 0.5K Program RAM */
   251: 	{ 0x1000, 0x1000, mhavoc_gamma_r },		/* Gamma Read Port */
   252: 	{ 0x1200, 0x1200, mhavoc_port_0_r },	/* Alpha Input Port 0 */
   253: 	{ 0x1800, 0x1fff, MRA_RAM },			/* Shared Beta Ram */
   254: 	{ 0x2000, 0x3fff, MRA_BANK2 },			/* Paged Program ROM (32K) */
   255: 	{ 0x4000, 0x4fff, MRA_RAM }, 			/* Vector RAM (4K) */
   256: 	{ 0x5000, 0x5fff, MRA_ROM },			/* Vector ROM (4K) */
   257: 	{ 0x6000, 0x7fff, MRA_BANK3 },			/* Paged Vector ROM (32K) */
   258: 	{ 0x8000, 0xffff, MRA_ROM },			/* Program ROM (32K) */
   259: MEMORY_END
   260: 
   261: 
   262: static MEMORY_WRITE_START( alpha_writemem )
   263: 	{ 0x0000, 0x01ff, MWA_RAM },			/* 0.5K Program Ram */
   264: 	{ 0x0200, 0x07ff, MWA_BANK1 },			/* 3K Paged Program RAM */
   265: 	{ 0x0800, 0x09ff, MWA_RAM },			/* 0.5K Program RAM */
   266: 	{ 0x1200, 0x1200, MWA_NOP },			/* don't care */
   267: 	{ 0x1400, 0x141f, mhavoc_colorram_w },	/* ColorRAM */
   268: 	{ 0x1600, 0x1600, mhavoc_out_0_w },		/* Control Signals */
   269: 	{ 0x1640, 0x1640, avgdvg_go_w },		/* Vector Generator GO */
   270: 	{ 0x1680, 0x1680, watchdog_reset_w },	/* Watchdog Clear */
   271: 	{ 0x16c0, 0x16c0, avgdvg_reset_w },		/* Vector Generator Reset */
   272: 	{ 0x1700, 0x1700, mhavoc_alpha_irq_ack_w },/* IRQ ack */
   273: 	{ 0x1740, 0x1740, mhavoc_rom_banksel_w },/* Program ROM Page Select */
   274: 	{ 0x1780, 0x1780, mhavoc_ram_banksel_w },/* Program RAM Page Select */
   275: 	{ 0x17c0, 0x17c0, mhavoc_gamma_w },		/* Gamma Communication Write Port */
   276: 	{ 0x1800, 0x1fff, MWA_RAM },			/* Shared Beta Ram */
   277: 	{ 0x2000, 0x3fff, MWA_ROM },			/* Major Havoc writes here.*/
   278: 	{ 0x4000, 0x4fff, MWA_RAM, &vectorram, &vectorram_size },/* Vector Generator RAM	*/
   279: 	{ 0x6000, 0xffff, MWA_ROM },
   280: MEMORY_END
   281: 
   282: 
   283: 
   284: /*************************************
   285:  *
   286:  *	Gamma CPU memory handlers
   287:  *
   288:  *************************************/
   289: 
   290: static MEMORY_READ_START( gamma_readmem )
   291: 	{ 0x0000, 0x07ff, MRA_RAM },			/* Program RAM (2K)	*/
   292: 	{ 0x0800, 0x1fff, mhavoc_gammaram_r },	/* wraps to 0x000-0x7ff */
   293: 	{ 0x2000, 0x203f, quad_pokey_r },		/* Quad Pokey read	*/
   294: 	{ 0x2800, 0x2800, mhavoc_port_1_r },	/* Gamma Input Port	*/
   295: 	{ 0x3000, 0x3000, mhavoc_alpha_r },		/* Alpha Comm. Read Port*/
   296: 	{ 0x3800, 0x3803, input_port_2_r },		/* Roller Controller Input*/
   297: 	{ 0x4000, 0x4000, input_port_4_r },		/* DSW at 8S */
   298: 	{ 0x6000, 0x61ff, MRA_RAM },			/* EEROM		*/
   299: 	{ 0x8000, 0xffff, MRA_ROM },			/* Program ROM (16K)	*/
   300: MEMORY_END
   301: 
   302: 
   303: static MEMORY_WRITE_START( gamma_writemem )
   304: 	{ 0x0000, 0x07ff, MWA_RAM },			/* Program RAM (2K)	*/
   305: 	{ 0x0800, 0x1fff, mhavoc_gammaram_w, &gammaram },	/* wraps to 0x000-0x7ff */
   306: 	{ 0x2000, 0x203f, quad_pokey_w },		/* Quad Pokey write	*/
   307: 	{ 0x4000, 0x4000, mhavoc_gamma_irq_ack_w },	/* IRQ Acknowledge	*/
   308: 	{ 0x4800, 0x4800, mhavoc_out_1_w },		/* Coin Counters 	*/
   309: 	{ 0x5000, 0x5000, mhavoc_alpha_w },		/* Alpha Comm. Write Port */
   310: 	{ 0x6000, 0x61ff, MWA_RAM, &generic_nvram, &generic_nvram_size },	/* EEROM		*/
   311: MEMORY_END
   312: 
   313: 
   314: 
   315: /*************************************
   316:  *
   317:  *	Main CPU memory handlers (Alpha One)
   318:  *
   319:  *************************************/
   320: 
   321: static MEMORY_READ_START( alphaone_readmem )
   322: 	{ 0x0000, 0x01ff, MRA_RAM },			/* 0.5K Program Ram */
   323: 	{ 0x0200, 0x07ff, MRA_BANK1 },			/* 3K Paged Program RAM	*/
   324: 	{ 0x0800, 0x09ff, MRA_RAM },			/* 0.5K Program RAM */
   325: 	{ 0x1020, 0x103f, dual_pokey_r },
   326: 	{ 0x1040, 0x1040, alphaone_port_0_r },	/* Alpha Input Port 0 */
   327: 	{ 0x1060, 0x1060, input_port_1_r },		/* Gamma Input Port	*/
   328: 	{ 0x1080, 0x1080, input_port_2_r },		/* Roller Controller Input*/
   329: 	{ 0x1800, 0x18ff, MRA_RAM },			/* EEROM		*/
   330: 	{ 0x2000, 0x3fff, MRA_BANK2 },			/* Paged Program ROM (32K) */
   331: 	{ 0x4000, 0x4fff, MRA_RAM }, 			/* Vector RAM (4K) */
   332: 	{ 0x5000, 0x5fff, MRA_ROM },			/* Vector ROM (4K) */
   333: 	{ 0x6000, 0x7fff, MRA_BANK3 },			/* Paged Vector ROM (32K) */
   334: 	{ 0x8000, 0xffff, MRA_ROM },			/* Program ROM (32K) */
   335: MEMORY_END
   336: 
   337: 
   338: static MEMORY_WRITE_START( alphaone_writemem )
   339: 	{ 0x0000, 0x01ff, MWA_RAM },			/* 0.5K Program Ram */
   340: 	{ 0x0200, 0x07ff, MWA_BANK1 },			/* 3K Paged Program RAM */
   341: 	{ 0x0800, 0x09ff, MWA_RAM },			/* 0.5K Program RAM */
   342: 	{ 0x1020, 0x103f, dual_pokey_w },
   343: 	{ 0x1040, 0x1040, MWA_NOP },			/* Nothing here */
   344: 	{ 0x10a0, 0x10a0, alphaone_out_0_w },	/* Control Signals */
   345: 	{ 0x10a4, 0x10a4, avgdvg_go_w },		/* Vector Generator GO */
   346: 	{ 0x10a8, 0x10a8, watchdog_reset_w },	/* Watchdog Clear */
   347: 	{ 0x10ac, 0x10ac, avgdvg_reset_w },		/* Vector Generator Reset */
   348: 	{ 0x10b0, 0x10b0, mhavoc_alpha_irq_ack_w },	/* IRQ ack */
   349: 	{ 0x10b4, 0x10b4, mhavoc_rom_banksel_w },
   350: 	{ 0x10b8, 0x10b8, mhavoc_ram_banksel_w },
   351: 	{ 0x10e0, 0x10ff, mhavoc_colorram_w },	/* ColorRAM */
   352: 	{ 0x1800, 0x18ff, MWA_RAM, &generic_nvram, &generic_nvram_size },	/* EEROM		*/
   353: 	{ 0x2000, 0x3fff, MWA_ROM },			/* Major Havoc writes here.*/
   354: 	{ 0x4000, 0x4fff, MWA_RAM, &vectorram, &vectorram_size },/* Vector Generator RAM	*/
   355: 	{ 0x6000, 0xffff, MWA_ROM },
   356: MEMORY_END
   357: 
   358: 
   359: 
   360: /*************************************
   361:  *
   362:  *	Port definitions
   363:  *
   364:  *************************************/
   365: 
   366: INPUT_PORTS_START( mhavoc )
   367: 	PORT_START	/* IN0 - alpha (player_1 = 0) */
   368: 	PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL )
   369: 	PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
   370: 	PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
   371: 	PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
   372: 	PORT_BITX( 0x20, IP_ACTIVE_LOW, IPT_SERVICE, "Diag Step/Coin C", KEYCODE_F1, IP_JOY_NONE )
   373: 	PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )	/* Left Coin Switch  */
   374: 	PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )	/* Right Coin */
   375: 
   376: 	PORT_START	/* IN1 - gamma */
   377: 	PORT_BIT ( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
   378: 	PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   379: 	PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   380: 	PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
   381: 	PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   382: 
   383: 	PORT_START	/* IN2 - gamma */
   384: 	PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 100, 40, 0, 0 )
   385: 
   386: 	PORT_START /* DIP Switch at position 13/14S */
   387: 	PORT_DIPNAME( 0x01, 0x00, "Adaptive Difficulty" )
   388: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ))
   389: 	PORT_DIPSETTING(    0x00, DEF_STR( On ))
   390: 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
   391: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ))
   392: 	PORT_DIPSETTING(    0x00, DEF_STR( On ))
   393: 	PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
   394: 	PORT_DIPSETTING(    0x0c, "50000")
   395: 	PORT_DIPSETTING(    0x00, "100000")
   396: 	PORT_DIPSETTING(    0x04, "200000")
   397: 	PORT_DIPSETTING(    0x08, "None")
   398: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Difficulty ) )
   399: 	PORT_DIPSETTING(    0x10, "Easy")
   400: 	PORT_DIPSETTING(    0x00, "Medium")
   401: 	PORT_DIPSETTING(    0x30, "Hard")
   402: 	PORT_DIPSETTING(    0x20, "Demo")
   403: 	PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Lives ) )
   404: 	PORT_DIPSETTING(    0x00, "3 (2 in Free Play)")
   405: 	PORT_DIPSETTING(    0xc0, "4 (3 in Free Play)")
   406: 	PORT_DIPSETTING(    0x80, "5 (4 in Free Play)")
   407: 	PORT_DIPSETTING(    0x40, "6 (5 in Free Play)")
   408: 
   409: 	PORT_START /* DIP Switch at position 8S */
   410: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
   411: 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
   412: 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
   413: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
   414: 	PORT_DIPSETTING(    0x01, DEF_STR( Free_Play ) )
   415: 	PORT_DIPNAME( 0x0c, 0x0c, "Right Coin Mechanism" )
   416: 	PORT_DIPSETTING(    0x0c, "x1" )
   417: 	PORT_DIPSETTING(    0x08, "x4" )
   418: 	PORT_DIPSETTING(    0x04, "x5" )
   419: 	PORT_DIPSETTING(    0x00, "x6" )
   420: 	PORT_DIPNAME( 0x10, 0x10, "Left Coin Mechanism" )
   421: 	PORT_DIPSETTING(    0x10, "x1" )
   422: 	PORT_DIPSETTING(    0x00, "x2" )
   423: 	PORT_DIPNAME( 0xe0, 0xe0, "Bonus Credits" )
   424: 	PORT_DIPSETTING(    0x80, "2 each 4" )
   425: 	PORT_DIPSETTING(    0x40, "1 each 3" )
   426: 	PORT_DIPSETTING(    0xa0, "1 each 4" )
   427: 	PORT_DIPSETTING(    0x60, "1 each 5" )
   428: 	PORT_DIPSETTING(    0xe0, "None" )
   429: 
   430: 	PORT_START	/* IN5 - dummy for player_1 = 1 on alpha */
   431: 	PORT_BIT ( 0x3f, IP_ACTIVE_HIGH, IPT_SPECIAL )
   432: 	PORT_DIPNAME( 0x40, 0x40, "Credit to start" )
   433: 	PORT_DIPSETTING(    0x40, "1" )
   434: 	PORT_DIPSETTING(    0x00, "2" )
   435: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
   436: INPUT_PORTS_END
   437: 
   438: 
   439: INPUT_PORTS_START( mhavocp )
   440: 	PORT_START	/* IN0 - alpha (player_1 = 0) */
   441: 	PORT_BIT ( 0x0f, IP_ACTIVE_HIGH, IPT_SPECIAL )
   442: 	PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
   443: 	PORT_BITX( 0x20, IP_ACTIVE_LOW, IPT_SERVICE, "Diag Step/Coin C", KEYCODE_F1, IP_JOY_NONE )
   444: 	PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )	/* Left Coin Switch  */
   445: 	PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )	/* Right Coin */
   446: 
   447: 	PORT_START	/* IN1 - gamma */
   448: 	PORT_BIT ( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
   449: 	PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   450: 	PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   451: 	PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
   452: 	PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   453: 
   454: 	PORT_START	/* IN2 - gamma */
   455: 	PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 100, 40, 0, 0 )
   456: 
   457: 	PORT_START /* DIP Switch at position 13/14S */
   458: 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
   459: 	PORT_DIPSETTING(    0x00, "1" )
   460: 	PORT_DIPSETTING(    0x01, "2" )
   461: 	PORT_DIPSETTING(    0x02, "3" )
   462: 	PORT_DIPSETTING(    0x03, "4" )
   463: 	PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) )
   464: 	PORT_DIPSETTING(    0x0c, "50000")
   465: 	PORT_DIPSETTING(    0x00, "100000")
   466: 	PORT_DIPSETTING(    0x04, "200000")
   467: 	PORT_DIPSETTING(    0x08, "None")
   468: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Difficulty ) )
   469: 	PORT_DIPSETTING(    0x10, "Easy")
   470: 	PORT_DIPSETTING(    0x00, "Medium")
   471: 	PORT_DIPSETTING(    0x30, "Hard")
   472: 	PORT_DIPSETTING(    0x20, "Demo")
   473: 	PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Lives ) )
   474: 	PORT_DIPSETTING(    0x00, "3 (2 in Free Play)")
   475: 	PORT_DIPSETTING(    0xc0, "4 (3 in Free Play)")
   476: 	PORT_DIPSETTING(    0x80, "5 (4 in Free Play)")
   477: 	PORT_DIPSETTING(    0x40, "6 (5 in Free Play)")
   478: 
   479: 	PORT_START /* DIP Switch at position 8S */
   480: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
   481: 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
   482: 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
   483: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
   484: 	PORT_DIPSETTING(    0x01, DEF_STR( Free_Play ) )
   485: 	PORT_DIPNAME( 0x0c, 0x0c, "Right Coin Mechanism" )
   486: 	PORT_DIPSETTING(    0x0c, "x1" )
   487: 	PORT_DIPSETTING(    0x08, "x4" )
   488: 	PORT_DIPSETTING(    0x04, "x5" )
   489: 	PORT_DIPSETTING(    0x00, "x6" )
   490: 	PORT_DIPNAME( 0x10, 0x10, "Left Coin Mechanism" )
   491: 	PORT_DIPSETTING(    0x10, "x1" )
   492: 	PORT_DIPSETTING(    0x00, "x2" )
   493: 	PORT_DIPNAME( 0xe0, 0xe0, "Bonus Credits" )
   494: 	PORT_DIPSETTING(    0x80, "2 each 4" )
   495: 	PORT_DIPSETTING(    0x40, "1 each 3" )
   496: 	PORT_DIPSETTING(    0xa0, "1 each 4" )
   497: 	PORT_DIPSETTING(    0x60, "1 each 5" )
   498: 	PORT_DIPSETTING(    0xe0, "None" )
   499: 
   500: 	PORT_START	/* IN5 - dummy for player_1 = 1 on alpha */
   501: 	PORT_BIT ( 0x3f, IP_ACTIVE_HIGH, IPT_SPECIAL )
   502: 	PORT_DIPNAME( 0x40, 0x40, "Credit to start" )
   503: 	PORT_DIPSETTING(    0x40, "1" )
   504: 	PORT_DIPSETTING(    0x00, "2" )
   505: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
   506: INPUT_PORTS_END
   507: 
   508: 
   509: INPUT_PORTS_START( alphaone )
   510: 	PORT_START	/* IN0 - alpha (player_1 = 0) */
   511: 	PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_SPECIAL )
   512: 	PORT_BIT ( 0x7c, IP_ACTIVE_LOW, IPT_UNKNOWN )
   513: 	PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
   514: 
   515: 	PORT_START	/* IN1 - gamma */
   516: 	PORT_BIT ( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
   517: 	PORT_SERVICE( 0x10, IP_ACTIVE_LOW )
   518: 	PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
   519: 	PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
   520: 	PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
   521: 
   522: 	PORT_START	/* IN2 - gamma */
   523: 	PORT_ANALOG( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 100, 40, 0, 0 )
   524: INPUT_PORTS_END
   525: 
   526: 
   527: 
   528: /*************************************
   529:  *
   530:  *	Sound interfaces
   531:  *
   532:  *************************************/
   533: 
   534: static struct POKEYinterface pokey_interface =
   535: {
   536: 	4,	/* 4 chips */
   537: 	MHAVOC_CLOCK_1_25M,	/* 1.25 MHz??? */
   538: 	{ 25, 25, 25, 25 },
   539: 	/* The 8 pot handlers */
   540: 	{ 0, 0, 0, 0 },
   541: 	{ 0, 0, 0, 0 },
   542: 	{ 0, 0, 0, 0 },
   543: 	{ 0, 0, 0, 0 },
   544: 	{ 0, 0, 0, 0 },
   545: 	{ 0, 0, 0, 0 },
   546: 	{ 0, 0, 0, 0 },
   547: 	{ 0, 0, 0, 0 },
   548: 	/* The allpot handler */
   549: 	{ input_port_3_r, 0, 0, 0 },
   550: };
   551: 
   552: 
   553: static struct POKEYinterface pokey_interface_alphaone =
   554: {
   555: 	2,	/* 2 chips */
   556: 	MHAVOC_CLOCK_1_25M,	/* 1.25 MHz??? */
   557: 	{ 50, 50 },
   558: 	/* The 8 pot handlers */
   559: 	{ 0, 0 },
   560: 	{ 0, 0 },
   561: 	{ 0, 0 },
   562: 	{ 0, 0 },
   563: 	{ 0, 0 },
   564: 	{ 0, 0 },
   565: 	{ 0, 0 },
   566: 	{ 0, 0 },
   567: 	/* The allpot handler */
   568: 	{ 0, 0 },
   569: };
   570: 
   571: 
   572: 
   573: /*************************************
   574:  *
   575:  *	Machine drivers
   576:  *
   577:  *************************************/
   578: 
   579: static MACHINE_DRIVER_START( mhavoc )
   580: 
   581: 	/* basic machine hardware */
   582: 	MDRV_CPU_ADD_TAG("alpha", M6502, MHAVOC_CLOCK_2_5M)		/* 2.5 MHz */
   583: 	MDRV_CPU_MEMORY(alpha_readmem,alpha_writemem)
   584: 
   585: 	MDRV_CPU_ADD_TAG("gamma", M6502, MHAVOC_CLOCK_1_25M)	/* 1.25 MHz */
   586: 	MDRV_CPU_MEMORY(gamma_readmem,gamma_writemem)
   587: 
   588: 	MDRV_FRAMES_PER_SECOND(50)
   589: 	MDRV_MACHINE_INIT(mhavoc)
   590: 	MDRV_NVRAM_HANDLER(generic_1fill)
   591: 
   592: 	/* video hardware */
   593: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_VECTOR | VIDEO_RGB_DIRECT)
   594: 	MDRV_SCREEN_SIZE(400, 300)
   595: 	MDRV_VISIBLE_AREA(0, 300, 0, 260)
   596: 	MDRV_PALETTE_LENGTH(32768)
   597: 
   598: 	MDRV_PALETTE_INIT(avg_multi)
   599: 	MDRV_VIDEO_START(avg_mhavoc)
   600: 	MDRV_VIDEO_UPDATE(vector)
   601: 
   602: 	/* sound hardware */
   603: 	MDRV_SOUND_ADD_TAG("pokey", POKEY, pokey_interface)
   604: MACHINE_DRIVER_END
   605: 
   606: 
   607: static MACHINE_DRIVER_START( alphaone )
   608: 
   609: 	/* basic machine hardware */
   610: 	MDRV_IMPORT_FROM(mhavoc)
   611: 	MDRV_CPU_MODIFY("alpha")
   612: 	MDRV_CPU_MEMORY(alphaone_readmem,alphaone_writemem)
   613: 	MDRV_CPU_REMOVE("gamma")
   614: 
   615: 	/* video hardware */
   616: 	MDRV_VISIBLE_AREA(0, 580, 0, 500)
   617: 	MDRV_VIDEO_START(avg_alphaone)
   618: 
   619: 	/* sound hardware */
   620: 	MDRV_SOUND_REPLACE("pokey", POKEY, pokey_interface_alphaone)
   621: MACHINE_DRIVER_END
   622: 
   623: 
   624: 
   625: /*************************************
   626:  *
   627:  *	ROM definitions
   628:  *
   629:  *************************************/
   630: 
   631: /*
   632:  * Notes:
   633:  * the R3 roms are supported as "mhavoc", the R2 roms (with a bug in gameplay)
   634:  * are supported as "mhavoc2".
   635:  * "Return to Vax" - Jess Askey's souped up version (errors on self test)
   636:  * are supported as "mhavocrv".
   637:  * Prototype is supported as "mhavocp"
   638:  * Alpha one is a single-board prototype
   639:  */
   640: 
   641: ROM_START( mhavoc )
   642: 	/* Alpha Processor ROMs */
   643: 	ROM_REGION( 0x21000, REGION_CPU1, 0 )	/* 152KB for ROMs */
   644: 	/* Vector Generator ROM */
   645: 	ROM_LOAD( "136025.210",   0x05000, 0x2000, CRC(c67284ca) SHA1(d9adad80c266d36429444f483cac4ebcf1fec7b8) )
   646: 
   647: 	/* Program ROM */
   648: 	ROM_LOAD( "136025.216",   0x08000, 0x4000, CRC(522a9cc0) SHA1(bbd75e01c45220e1c87bd1e013cf2c2fb9f376b2) )
   649: 	ROM_LOAD( "136025.217",   0x0c000, 0x4000, CRC(ea3d6877) SHA1(27823c1b546c073b37ff11a8cb25312ea71673c2) )
   650: 
   651: 	/* Paged Program ROM */
   652: 	ROM_LOAD( "136025.215",   0x10000, 0x4000, CRC(a4d380ca) SHA1(c3cdc76054be2f904b1fb6f28c3c027eba5c3a70) ) /* page 0+1 */
   653: 	ROM_LOAD( "136025.318",   0x14000, 0x4000, CRC(ba935067) SHA1(05ad81e7a1982b9d8fddb48502546f48b5dc21b7) ) /* page 2+3 */
   654: 
   655: 	/* Paged Vector Generator ROM */
   656: 	ROM_LOAD( "136025.106",   0x18000, 0x4000, CRC(2ca83c76) SHA1(cc1adca32f70af30c4590e9fd6b056b051ccdb38) ) /* page 0+1 */
   657: 	ROM_LOAD( "136025.107",   0x1c000, 0x4000, CRC(5f81c5f3) SHA1(be4055727a2d4536e37ec20150deffdb5af5b01f) ) /* page 2+3 */
   658: 
   659: 	/* Gamma Processor ROM */
   660: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 16k for code */
   661: 	ROM_LOAD( "136025.108",   0x08000, 0x4000, CRC(93faf210) SHA1(7744368a1d520f986d1c4246113a7e24fcdd6d04) )
   662: 	ROM_RELOAD(               0x0c000, 0x4000 ) /* reset+interrupt vectors */
   663: ROM_END
   664: 
   665: 
   666: ROM_START( mhavoc2 )
   667: 	/* Alpha Processor ROMs */
   668: 	ROM_REGION( 0x21000, REGION_CPU1, 0 )
   669: 	/* Vector Generator ROM */
   670: 	ROM_LOAD( "136025.110",   0x05000, 0x2000, CRC(16eef583) SHA1(277252bd716dd96d5b98ec5e33a3a6a3bc1a9abf) )
   671: 
   672: 	/* Program ROM */
   673: 	ROM_LOAD( "136025.103",   0x08000, 0x4000, CRC(bf192284) SHA1(4c2dc3ba75122e521ebf2c42f89b31737613c2df) )
   674: 	ROM_LOAD( "136025.104",   0x0c000, 0x4000, CRC(833c5d4e) SHA1(932861b2a329172247c1a5d0a6498a00a1fce814) )
   675: 
   676: 	/* Paged Program ROM - switched to 2000-3fff */
   677: 	ROM_LOAD( "136025.101",   0x10000, 0x4000, CRC(2b3b591f) SHA1(39fd6fdd14367906bc0102bde15d509d3289206b) ) /* page 0+1 */
   678: 	ROM_LOAD( "136025.109",   0x14000, 0x4000, CRC(4d766827) SHA1(7697bf6f92bff0e62850ed75ff66008a08583ef7) ) /* page 2+3 */
   679: 
   680: 	/* Paged Vector Generator ROM */
   681: 	ROM_LOAD( "136025.106",   0x18000, 0x4000, CRC(2ca83c76) SHA1(cc1adca32f70af30c4590e9fd6b056b051ccdb38) ) /* page 0+1 */
   682: 	ROM_LOAD( "136025.107",   0x1c000, 0x4000, CRC(5f81c5f3) SHA1(be4055727a2d4536e37ec20150deffdb5af5b01f) ) /* page 2+3 */
   683: 
   684: 	/* the last 0x1000 is used for the 2 RAM pages */
   685: 
   686: 	/* Gamma Processor ROM */
   687: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 16k for code */
   688: 	ROM_LOAD( "136025.108",   0x08000, 0x4000, CRC(93faf210) SHA1(7744368a1d520f986d1c4246113a7e24fcdd6d04) )
   689: 	ROM_RELOAD(               0x0c000, 0x4000 ) /* reset+interrupt vectors */
   690: ROM_END
   691: 
   692: 
   693: ROM_START( mhavocrv )
   694: 	/* Alpha Processor ROMs */
   695: 	ROM_REGION( 0x21000, REGION_CPU1, 0 )	/* 152KB for ROMs */
   696: 	/* Vector Generator ROM */
   697: 	ROM_LOAD( "136025.210",   0x05000, 0x2000, CRC(c67284ca) SHA1(d9adad80c266d36429444f483cac4ebcf1fec7b8) )
   698: 
   699: 	/* Program ROM */
   700: 	ROM_LOAD( "136025.916",   0x08000, 0x4000, CRC(1255bd7f) SHA1(e277fe7b23ce8cf1294b6bfa5548b24a6c8952ce) )
   701: 	ROM_LOAD( "136025.917",   0x0c000, 0x4000, CRC(21889079) SHA1(d1ad6d9fa1432912e376bca50ceeefac2bfd6ac3) )
   702: 
   703: 	/* Paged Program ROM */
   704: 	ROM_LOAD( "136025.915",   0x10000, 0x4000, CRC(4c7235dc) SHA1(67cafc2ce438ec389550efb46c554a7fe7b45efc) ) /* page 0+1 */
   705: 	ROM_LOAD( "136025.918",   0x14000, 0x4000, CRC(84735445) SHA1(21aacd862ce8911d257c6f48ead119ee5bb0b60d) ) /* page 2+3 */
   706: 
   707: 	/* Paged Vector Generator ROM */
   708: 	ROM_LOAD( "136025.106",   0x18000, 0x4000, CRC(2ca83c76) SHA1(cc1adca32f70af30c4590e9fd6b056b051ccdb38) ) /* page 0+1 */
   709: 	ROM_LOAD( "136025.907",   0x1c000, 0x4000, CRC(4deea2c9) SHA1(c4107581748a3f2d2084de2a4f120abd67a52189) ) /* page 2+3 */
   710: 
   711: 	/* Gamma Processor ROM */
   712: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 16k for code */
   713: 	ROM_LOAD( "136025.908",   0x08000, 0x4000, CRC(c52ec664) SHA1(08120a385f71b17ec02a3c2ef856ff835a91773e) )
   714: 	ROM_RELOAD(               0x0c000, 0x4000 ) /* reset+interrupt vectors */
   715: ROM_END
   716: 
   717: 
   718: ROM_START( mhavocp )
   719: 	/* Alpha Processor ROMs */
   720: 	ROM_REGION( 0x21000, REGION_CPU1, 0 )
   721: 	/* Vector Generator ROM */
   722: 	ROM_LOAD( "136025.010",   0x05000, 0x2000, CRC(3050c0e6) SHA1(f19a9538996d949cdca7e6abd4f04e8ff6e0e2c1) )
   723: 
   724: 	/* Program ROM */
   725: 	ROM_LOAD( "136025.016",   0x08000, 0x4000, CRC(94caf6c0) SHA1(8734411280bd0484c99a59231b97ad64d6e787e8) )
   726: 	ROM_LOAD( "136025.017",   0x0c000, 0x4000, CRC(05cba70a) SHA1(c069e6dec3e5bc278103156d0908ab93f3784be1) )
   727: 
   728: 	/* Paged Program ROM - switched to 2000-3fff */
   729: 	ROM_LOAD( "136025.015",   0x10000, 0x4000, CRC(c567c11b) SHA1(23b89389f59bb6a040342adfe583818a91ce5bff) )
   730: 	ROM_LOAD( "136025.018",   0x14000, 0x4000, CRC(a8c35ccd) SHA1(c243a5407557390a64c6560d857f5031f839973f) )
   731: 
   732: 	/* Paged Vector Generator ROM */
   733: 	ROM_LOAD( "136025.006",   0x18000, 0x4000, CRC(e272ed41) SHA1(0de395d1c4300a64da7f45746d7b550779e36a21) )
   734: 	ROM_LOAD( "136025.007",   0x1c000, 0x4000, CRC(e152c9d8) SHA1(79d0938fa9ad262c7f28c5a8ad21004a4dec9ed8) )
   735: 
   736: 	/* the last 0x1000 is used for the 2 RAM pages */
   737: 
   738: 	/* Gamma Processor ROM */
   739: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 16k for code */
   740: 	ROM_LOAD( "136025.008",   0x8000, 0x4000, CRC(22ea7399) SHA1(eeda8cc40089506063835a62c3273e7dd3918fd5) )
   741: 	ROM_RELOAD(               0xc000, 0x4000 )/* reset+interrupt vectors */
   742: ROM_END
   743: 
   744: 
   745: ROM_START( alphaone )
   746: 	ROM_REGION( 0x21000, REGION_CPU1, 0 )
   747: 	/* Vector Generator ROM */
   748: 	ROM_LOAD( "vec5000.tw",   0x05000, 0x1000, CRC(2a4c149f) SHA1(b60a0b29958bee9b5f7c1d88163680b626bb76dd) )
   749: 
   750: 	/* Program ROM */
   751: 	ROM_LOAD( "8000.tw",      0x08000, 0x2000, CRC(962d4da2) SHA1(2299f850aed7470a80a21526143f7b412a879cb1) )
   752: 	ROM_LOAD( "a000.tw",      0x0a000, 0x2000, CRC(f739a791) SHA1(1e70e446fc7dd27683ad71e768ebb2bc1d4fedd3) )
   753: 	ROM_LOAD( "twjk1.bin",    0x0c000, 0x2000, CRC(1ead0b34) SHA1(085e05526d029bcff7c8ae050cde73f52ee13846) )
   754: 	ROM_LOAD( "e000.tw",      0x0e000, 0x1000, CRC(6b1d7d2b) SHA1(36ac8b53e2fe01ed281c94afec02484ef676ddad) )
   755: 	ROM_RELOAD(               0x0f000, 0x1000 )
   756: 
   757: 	/* Paged Program ROM - switched to 2000-3fff */
   758: 	ROM_LOAD( "page01.tw",    0x10000, 0x4000, CRC(cbf3b05a) SHA1(1dfaf9300a252c9c921f06167160a59cdf329726) )
   759: 
   760: 	/* Paged Vector Generator ROM */
   761: 	ROM_LOAD( "vec_pg01.tw",  0x18000, 0x4000, CRC(e392a94d) SHA1(b5843da97d7aa5767c87c29660115efc5ad9ad54) )
   762: 	ROM_LOAD( "vec_pg23.tw",  0x1c000, 0x4000, CRC(1ff74292) SHA1(90e61c48544c62d905e207bba5c67ae7694e86a5) )
   763: 
   764: 	/* the last 0x1000 is used for the 2 RAM pages */
   765: ROM_END
   766: 
   767: 
   768: ROM_START( alphaona )
   769: 	ROM_REGION( 0x21000, REGION_CPU1, 0 )
   770: 	/* Vector Generator ROM */
   771: 	ROM_LOAD( "vec5000.tw",   0x05000, 0x1000, CRC(2a4c149f) SHA1(b60a0b29958bee9b5f7c1d88163680b626bb76dd) )
   772: 
   773: 	/* Program ROM */
   774: 	ROM_LOAD( "8000.tw",      0x08000, 0x2000, CRC(962d4da2) SHA1(2299f850aed7470a80a21526143f7b412a879cb1) )
   775: 	ROM_LOAD( "a000.tw",      0x0a000, 0x2000, CRC(f739a791) SHA1(1e70e446fc7dd27683ad71e768ebb2bc1d4fedd3) )
   776: 	ROM_LOAD( "c000.tw",      0x0c000, 0x2000, CRC(f21fb1ac) SHA1(2590147e75611a3f87397e7b0baa7020e7528ac8) )
   777: 	ROM_LOAD( "e000.tw",      0x0e000, 0x1000, CRC(6b1d7d2b) SHA1(36ac8b53e2fe01ed281c94afec02484ef676ddad) )
   778: 	ROM_RELOAD(               0x0f000, 0x1000 )
   779: 
   780: 	/* Paged Program ROM - switched to 2000-3fff */
   781: 	ROM_LOAD( "page01.tw",    0x10000, 0x4000, CRC(cbf3b05a) SHA1(1dfaf9300a252c9c921f06167160a59cdf329726) )
   782: 
   783: 	/* Paged Vector Generator ROM */
   784: 	ROM_LOAD( "vec_pg01.tw",  0x18000, 0x4000, CRC(e392a94d) SHA1(b5843da97d7aa5767c87c29660115efc5ad9ad54) )
   785: 	ROM_LOAD( "vec_pg23.tw",  0x1c000, 0x4000, CRC(1ff74292) SHA1(90e61c48544c62d905e207bba5c67ae7694e86a5) )
   786: 
   787: 	/* the last 0x1000 is used for the 2 RAM pages */
   788: ROM_END
   789: 
   790: 
   791: 
   792: /*************************************
   793:  *
   794:  *	Game drivers
   795:  *
   796:  *************************************/
   797: 
   798: GAME( 1983, mhavoc,   0,      mhavoc,   mhavoc,   0, ROT0, "Atari", "Major Havoc (rev 3)" )
   799: GAME( 1983, mhavoc2,  mhavoc, mhavoc,   mhavoc,   0, ROT0, "Atari", "Major Havoc (rev 2)" )
   800: GAME( 1983, mhavocrv, mhavoc, mhavoc,   mhavoc,   0, ROT0, "hack",  "Major Havoc (Return to Vax)" )
   801: GAME( 1983, mhavocp,  mhavoc, mhavoc,   mhavocp,  0, ROT0, "Atari", "Major Havoc (prototype)" )
   802: GAME( 1983, alphaone, mhavoc, alphaone, alphaone, 0, ROT0, "Atari", "Alpha One (prototype, 3 lives)" )
   803: GAME( 1983, alphaona, mhavoc, alphaone, alphaone, 0, ROT0, "Atari", "Alpha One (prototype, 5 lives)" )
   804: 




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