driver
driver mcr3.c
source mcr3.c (mcr3.c on mamedev.org)
games Crater Raider
Demolition Derby (2-Player Mono Board Version)
Max RPM
Power Drive
Rampage (revision 2)
Rampage (revision 3)
Sarge
Spy Hunter
Spy Hunter (Playtronic license)
Star Guards
Turbo Tag (prototype)
information 0.28 [Christopher Kirmse, Aaron Giles, Brad Oliver, Lawnmower Man]


TODO:

- Spy Hunter crashes at the end of the boat level.

- Sprite placement on the scrolling games seems a bit off.


NOTES:

- Turbo Tag kludge: The checksum on the ttprog1.bin ROM seems to be bad by 1 bit. The checksum should come out to $82 but it should be $92. Unfortunately, the game refuses to start if any bad ROM is found; to work around this, MAME modify the checksum byte.


WIP:

- 0.118u3: Atari Ace added new AM_READ_PORT() macro which lets you define an input port read callback based on a port tag. This is now preferred over the previous technique of calling port_tag_to_handler() within an AM_READ() macro. Updated MCR-3 driver that uses the latter pattern to the new system.

- 0.115u4: Aaron Giles added support for scaling graphics layouts automatically. The X and Y scale factors are specified in the gfx_decodeinfo structures. Updated the MCR driver to use this feature.

- 0.101u1: Aaron Giles added save state support to games in the MCR-3 driver, marking them as GAME_SUPPORTS_SAVE.

- 0.99u2: Aaron Giles fixed input.

- 0.98u4: Aaron Giles consolidated the MCR 1/2/3 drivers and documented all the PCBs.

- 0.98u2: Aaron Giles partial rewrote the MCR video system. Should still work roughly the same, just a little different under the covers. This is still very much a work in progress.

- 0.98u1: Aaron Giles did some major cleanup on the MCR drivers: Implemented Super Sound I/O interrupts properly, filled out all memory maps according to schematics, fixed sound sync with various sound boards, allowing for kludges to be removed from Power Drive and Star Guards, re-verified all connections from wiring diagrams and documented various lamp and driver boards from the games.

- 0.60: Added prom ($0 - from shollow) to all games.

- 18th November 2000: Aaron Giles updated the MCR drivers' video routines to use pixel plotting functions instead of direct bitmap drawing.

- 0.36RC2: Aaron Giles fixed volume control in the MCR games.

- 30th December 1999: Aaron Giles fixed some compilation bugs and removed a minor Z80-related kludge from Tapper and Timber.

- 29th September 1999: Aaron Giles sent in an MCR update with a working Zwackery driver.

- 23rd September 1999: Aaron Giles sent in an MCR update with support for Power Drive, Turbo Tag, Spy Hunter 2, Blasted, Arch Rivals, Tri-Sports and Pigskin 621AD and also tons of cleanup.

- 0.33b7: Aaron Giles fixed hangs in Tapper, and hopefully other MCR games as well.

- 0.28: Added mcr3.c driver and vidhrdwmcr3.c. Christopher Kirmse, Aaron Giles and Brad Oliver provided a MCR I/II/III driver, supporting: Kick, Solar Fox, Tron, Two Tigers, Domino Man, Satan's Hollow, Wacko, Kozmik Kroozr, Journey, Tapper, Discs of Tron, Demolition Derby, Timber, Spy Hunter and Rampage.

PCB information
crater Crater Raider
[MAME]
 
 	Midway MCR-3 system
 
 	Games supported:
 		* Tapper
 		* Timber
 		* Discs of Tron (Squawk n' Talk)
 		* Demolition Derby (Turbo Chip Squeak)
 		* Demolition Derby (Monoboard version) (Turbo Chip Squeak)
 		* Sarge (Turbo Chip Squeak)
 		* Max RPM (Turbo Chip Squeak)
 		* Rampage (Sounds Good)
 		* Power Drive (Sounds Good)
 		* Star Guards (Sounds Good)
 		* Spy Hunter (Chip Squeak Deluxe)
 		* Crater Raider
 		* Turbo Tag (prototype) (Chip Squeak Deluxe)
 
 ****************************************************************************
 
 	Memory map
 
 ****************************************************************************
 
 	========================================================================
 	CPU #1
 	========================================================================
 	0000-DFFF   R     xxxxxxxx    Program ROM
 	E000-E7FF   R/W   xxxxxxxx    NVRAM
 	E800-E9FF   R/W   xxxxxxxx    Sprite RAM
 	F000-F7FF   R/W   xxxxxxxx    Background video RAM
 	F800-F8FF     W   xxxxxxxx    Palette RAM
 	========================================================================
 	0000        R     x-xxxxxx    Input ports
 	            R     x-------    Service switch (active low)
 	            R     --x-----    Tilt
 	            R     ---xxx--    External inputs
 	            R     ------x-    Right coin
 	            R     -------x    Left coin
 	0000        W     xxxxxxxx    Data latch OP0 (coin meters, 2 led's and cocktail 'flip')
 	0001        R     xxxxxxxx    External inputs
 	0002        R     xxxxxxxx    External inputs
 	0003        R     xxxxxxxx    DIP switches
 	0004        R     xxxxxxxx    External inputs
 	0004        W     xxxxxxxx    Data latch OP4 (comm. with external hardware)
 	0007        R     xxxxxxxx    Audio status
 	001C-001F   W     xxxxxxxx    Audio latches 1-4
 	00E0        W     --------    Watchdog reset
 	00E8        W     xxxxxxxx    Unknown (written at initialization time)
 	00F0-00F3   W     xxxxxxxx    CTC communications
 	========================================================================
 	Interrupts:
 		NMI ???
 		INT generated by CTC
 	========================================================================
 
 
 	========================================================================
 	CPU #2 (Super Sound I/O)
 	========================================================================
 	0000-3FFF   R     xxxxxxxx    Program ROM
 	8000-83FF   R/W   xxxxxxxx    Program RAM
 	9000-9003   R     xxxxxxxx    Audio latches 1-4
 	A000          W   xxxxxxxx    AY-8910 #1 control
 	A001        R     xxxxxxxx    AY-8910 #1 status
 	A002          W   xxxxxxxx    AY-8910 #1 data
 	B000          W   xxxxxxxx    AY-8910 #2 control
 	B001        R     xxxxxxxx    AY-8910 #2 status
 	B002          W   xxxxxxxx    AY-8910 #2 data
 	C000          W   xxxxxxxx    Audio status
 	E000          W   xxxxxxxx    Unknown
 	F000        R     xxxxxxxx    Audio board switches
 	========================================================================
 	Interrupts:
 		NMI ???
 		INT generated by external circuitry 780 times/second
 	========================================================================
 
 -
maxrpm Max RPM
[Jul/22/98]
 
 
 Game Name     Chip type   Position  Revision  Checksum  Notes
 *----------------------------------------------------------------
 Max RPM
                27128        15A      3-13-8     178D    A080-91787-C000 Mono Boa
                27128        14B      3-13-8     B29C
                27256        8E       3-13-8     33A7
                27256        6E       3-13-8     F9C1
                27256        5E       3-13-8     B6AA
                27256        4E       3-13-8     F766
                27256        3B       3-13-8     18D2
                27256        5B       3-13-8     1605
 
 
 Revision date is 3-13-86.
 
 This game runs on a board that appears to be identical to Rampage.
 
 I do not have the Soundboard.
 
 -
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
powerdrv Power Drive
[Sep/19/98]
 
 
 Bally Midway Power Drive
 Mono Board
 1986
 
 12/02/86 Version 2
 11/21/86 Graphics and Sound
 
 PDSNDU7  BIN        32,768  09-19-98  5:12p PDSNDU7.BIN   Sounds Good
 PDSNDU8  BIN        32,768  09-19-98  5:12p PDSNDU8.BIN   Sounds Good
 PDSNDU17 BIN        32,768  09-19-98  5:13p PDSNDU17.BIN  Sounds Good
 PDSNDU18 BIN        32,768  09-19-98  5:14p PDSNDU18.BIN  Sounds Good
 PDRV5B   BIN        32,768  09-19-98  5:17p PDRV5B.BIN    CPU
 PDRV14B  BIN        16,384  09-19-98  5:16p PDRV14B.BIN
 PDRV15A  BIN        16,384  09-19-98  5:15p PDRV15A.bin
 PDRV3B   BIN        32,768  09-19-98  5:18p PDRV3B.BIN    CPU
 PDRV8E   BIN        65,536  09-19-98  5:19p PDRV8E.BIN
 PDRV6E   BIN        65,536  09-19-98  5:19p PDRV6E.BIN
 PDRV5E   BIN        65,536  09-19-98  5:19p PDRV5E.BIN
 PDRV4E   BIN        65,536  09-19-98  5:20p PDRV4E.BIN
 
 -
rampage Rampage (revision 3)
[01/04/97]
 ------------------------------
 Rampage by BALLY/MIDWAY (1986)
            (WILLIAMS IND.)
 ------------------------------
 
 
 Game PCB No. A080-91787-E000 (MONO-BOARD)
 
 The archive information:
 
 Location   Type       ID      Checksum
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3B        27C256   PRO-0.RV3    0F86    [ Program ROMs ]
 5B        27C256   PRO-1.RV3    70E4    [    REV.3     ]
 
 15A       27C128   BG-0         1EEA
 14B       27C128   BG-1         945F
 8E        27C512   FG-0         4580
 6E        27C512   FG-1         725C
 5E        27C512   FG-2         BF9D
 4E        27C512   FG-3         16F4
 
 
 *******************************************************
 *** The ROM images in this archive are the property ***
 *** of MIDWAY MANUFACTURING and should only be used ***
 ***  as an aid to servicing the original game PCB   ***
 *******************************************************
 
 -
sarge Sarge
[Sep/30/97]
 
 Sarge ROMs
 
 Sarge hardware is an A080-91787-C000 MONO-BOARD for graphics and CPU.
                      A080-91779-B000 TURBO CHEAP SQUEAK for sound.
 
 ROMs in this archive are named as:  XXX_YYY.BIN
 
 Where:  XXX = type
               CPU = CPU program ROMs
               TIL = Tile (background) graphics
               SPR = Sprite (foreground) graphics
               TCS = Turbo Cheap Squeak (sound) program/data
 
         YYY = board location
               (example)
               14B = position 14 in row B (matches board silkscreen)
 
 MONO-BOARD uses Z-80 for main CPU.
 TURBO CHEAP SQUEAK uses 6809 for sound CPU.
 
 -
spyhunt Spy Hunter
[Aug/23/97]
 
 SPY HUNTER ROM DUMPS
 --------------------
 
 All EPROMs are 2732s, 2764s, and 27128s.
 
 These came from a board that wasn't tested -- so I can't vouch for the
 accuracy of the dumps.  Anyone who has a working version is highly 
 encouraged to compare the checksums here with those of known good ROMs
 and notify the archive administrator of any discrepancies.
 
 Filenames are in the format xxx_yyyy.zzz, where "xxx" denotes which of
 the four PCBs on which the chip is located, "yyyy" denotes the label on
 the chip, and "zzz" denotes the position of the chip on the board.
 
 NOTE:  I only had the four PCBs to work from, namely the three-board set 
        consisting of the CPU/SOUND/VIDEO PCBs in a metal housing, and the
        Cheap Squeak Deluxe PCB (the one with the big 68000 on it)...
 
 NOTE:  I may have gotten the sound (snd_yyyy.zz) switched (a8 and a7) up.
        Also, snd_0sd.a8 at a8 may not be numbered correctly - the sticker 
        on the chip window was very faded and nearly illegible.  This was 
        my best guess as to what the name was.  Sorry...
 
 
 MCR III CPU PC:
 ---------------
 cpu_alph.10g a1e9
 cpu_bg0.3a   bb3b
 cpu_bg1.4a   d59c
 cpu_bg2.5a   f382
 cpu_bg3.6a   08b0
 cpu_pg0.6d   d381
 cpu_pg1.7d   1b05
 cpu_pg2.8d   3274
 cpu_pg3.9d   ed95
 cpu_pg4.10d  a3a0
 cpu_pg5.11d  7693
 
 SUPER SOUND I/O PC:
 -------------------
 snd_0sd.a8   e5e2
 snd_1sd.a7   6bde
 
 MCR III VIDEO GEN PC:
 ---------------------
 vid_0fg.a8   29b2
 vid_1fg.a7   83f3
 vid_2fg.a6   dd6c
 vid_3fg.a5   86a1
 vid_4fg.a4   971b
 vid_5fg.a3   f84b
 vid_6fg.a2   c85b
 vid_7fg.a1   b61d
 
 CHEAP SQUEAK DELUXE:
 --------------------
 csd_u17b.u17 71d5
 csd_u18d.u18 e556
 csd_u7a.u7   ab89
 csd_u8c.u8   f869
 
 -
2004-2008 MAWS all copyrights belong to their respective owners