Home News Forum                            

Play your favorite classic games and more with the GameEx front end. Read more.

ccastles: MAME ROM Information.


Crystal Castles (c) 1983 Atari.

Crystal Castles is an inventive variation on the maze-driven collect-the-dots gameplay first seen in Namco's legendary "Pac-Man". The player takes on the role of 'Bentley Bear', who must run around a number of "castles" - each presented in the form of an isometric forced 3D maze - picking up the red ruby gemstones that litter its walkways and platforms, before moving onto the next castle.

Each level is populated by a variety of enemies, including sentient trees, gem eaters, a swarm of bees and Berthilda the Witch. Some enemy types move around the levels randomly, while others will actively chase Bentley. Gem Eaters will devour any gems they reach before the player.

In addition to four-directional walking, Bentley can also jump to avoid pursuing enemies and obstacles. Many levels have platforms that can only be reached via an elevator and some screens also contain hidden secret passages and ramps, as well as 'warps' that move players forward several levels.

Jumping over the trees will shrink and temporarily disable them, while wearing Berthilda's red hat grants the player temporary invincibility, allowing them to kill the witch should they manage to catch her. If Bentley Bear touches a Gem Eater while it's in the process of eating a gem, the Gem Eater dies and 500 points are awarded to the player. However, if the Gem Eater is not eating a gem when touched, Bentley Bear dies.

Some levels contain a large pot of honey. A swarm of bees appears near the honey approximately every five seconds but collecting the honey pot earns the player 1, 000 bonus points and causes the bees to appear less frequently. Other enemies, such as the balls, skeletons and ghosts must be avoided.

If Bentley collects all of the gems on a castle, the player receives bonus points. A bonus is also awarded in the event of the player picking up the last gem on the level.

Crystal Castles consists of ten different stages broken down into 37 castle mazes (with four castles making up each stage, apart from 10th, which has only one castle).


5,380 units were produced. There were 2 different Crystal Castles cabinets, an upright and a cocktail. Both of these were highly detailed and covered with decorations. The upright had a production run of 4880 and the cocktail had a production run of 500.

* The Crystal Castles upright was one of the best looking cabinets ever made. It is sort of colored white, and has huge painted sideart of Bentley Bear gathering gems in the castle. The marquee has a futuristic looking logo flanked with two in game scenes on a black background. There is a second mini-marquee over the speaker are that has a large Atari logo. For some reason that logo ends up going missing on many machines, and don't believe sellers when they say it is a cheap or easy part to find, because it isn't. The control panel continues the same graphical scheme as the rest of the machine. It has a standard trackball mounted centrally with fire/start buttons on either side. These trackballs eventually become worn out or damaged, and are mildly expensive to replace.

* The cocktail version has no sideart, very few cocktail machines do. But the top glass is nicely decorated and the control panel art matches the upright version. The players sit across from each other on this version, and the on screen image flips over to face whichever player is currently controlling Bentley Bear.

Game ID : 136022

Main CPU : M6502 (@ 1.5 Mhz)

Sound Chips : (2x) POKEY (@ 1.25 Mhz)

Screen orientation : Horizontal

Video resolution : 256 x 232 pixels

Screen refresh : 60.00 Hz

Palette colors : 32

Players : 2

Control : trackball

Buttons : 1 (JUMP)


When it first appeared in arcades in July 1983, Crystal Castles amazed players with its sharp graphics and pseudo 3-D mazes.

The game was originally supposed to be a variation on the mega-hit "Asteroids" and the working title was 'Toporoids' (from TOPOgraphics and asteROIDS). It featured a one-legged robot and/or a spaceship placed in 3-D mazes lined with asteroids and the goal was (of course) to shoot them. The mazes were similar to those in Crystal Castles.

The character 'Bentley Bear' was originally named 'Braveheart Bear' in the released prototypes. But, Atari ran into trouble over that name from the American Indians and so had to change it. Whenever Bentley is killed, he shrinks, and says something in a cartoon-type balloon above his head. The four possible sayings are: OUCH; OH NO; BYE; and #?!.

Originally, FXL designed the game so that Bentley could jump while in a tunnel. But he decided to take that ability away when he saw Bentley's head popping through the roof!

The game was programmed in 6502, and Fortran was used as tool for programming.

All of the musical themes in the game are from works of classical music. The tune when you first start the game and the bonus life music, are both from The Mephisto Waltz by Liszt. The last gem bonus music is from one of the scenes in Tchaikovsky's Nutcracker Suite. And, the triumphant theme played when you complete level 10 is of course from The 1812 Overture, again from Tchaikovsky.

If you hadn't noticed, the color schemes of the castles change during the game, and from one game to the next. The colors in the first level are always the same. From level 2 thru 6, they appear in a set order, but every 100 paid games, this set order changes. Finally, in levels 7 and up, the color scheme is picked randomly. A most odd arrangement! There are 17 possible maze color schemes, and four different color possibilities on every board: gem, floor, front wall, and side wall colors. But, each one is not randomly picked and mixed with the other; they are pre-determined as a group, and then the whole group is chosen randomly. The possible gem colors are red, blue, white, and yellow. The floor can be white, black, or pea-green. And, there are 12 possibilities for wall colors, including pink, maroon, and peach!

On two of the mazes in the game, FXL has built into the structure initials of friends of his. On Hidden Spiral, the DES stands for Desiree McCrorey, who holds a contest record on "Mr. Do!". SSM is Sam Mehta, who came in 2nd in a "Centipede" contest held by Atari. And BBM stands for Brian McGhee, a former Atari game designer. On Berthilda's Palace, the initials are harder to make out, as they are cutouts in the floor. EDG is the initials of Eric Ginner, while MAR stands for Mark Robichek. Both of these were famous video game players at the time Crystal was made and are still known by many. Other initials appear in the game, on the above-mentioned scoreboard. While many are made up, some stand for real people. FXL appears in the top 3 spots on a new, or newly reset, game scoreboard and he also appears at other places in the top 250 initials. MEC appears more than once also. This stands for Mark Cerny, a fellow designer at Atari. He is responsible for "Marble Madness".

Note : The formula for calculating the points given for the last gem bonus on a particular level and board number is 1000 + ((((level x 4) - 1) - (4 - board)) x 100).

Frank Seay holds the official record for this game with 910,722 points.

A Crystal Castles units appears in the 1984 movie 'Gremlins'.

Michael Jackson used to own this game. It was sold at the official Michael Jackson Auction on Apr. 24th, 2009.


Points awarded for collecting gems.

Killing Gem Eaters : 500 or 1,000 points.

Collecting the honeypot : 1,000 points.

Collecting the witch's hat : 2,000 points.

Killing Berthilda : bonus points.


* Warps : There's a 'continue option' warp on the first board. It won't take you any higher than level 8, though.

1) The first warp is behind the palace on the upper-right hand corner of the first board. Go there then jump. It'll take you to level 3.

2) The second warp : get the hat, run to an elevator, and at the back corner of the hidden ramp, jump before the hat expires. The warp always gives you four lives (not including the one you're on) and takes you to level 5.

3) The third warp is on the third screen of Level 5, titled 'Crossroads'. It is extremely easy to trigger; just move to the very upper left corner and jump. You will be transported to the first screen of Level 7, again with four lives to spare. There are no other warps.

* A Trick : If you jump at least 128 times in the front right corner of any maze, the next maze that is fully drawn from the beginning will have a string of the words ATARI stretched across the middle of the screen. It disappears on the next maze, unless you are playing a two-player game, in which case it can appear on two screens.

* Another Trick : On Level 5, Berthilda's Palace grab the hat and enter the large door where Berthilda is. Run over her for 3000 points, then head to the corner of the room (where Berthilda was) and jump. The initials FXL will appear in the lower-right hand corner of the screen, which stands for Franz Lanziger, one of the designers of Crystal Castles!

* This Trick Is Free : When the machine is in its demo mode, wait until the first stage appears. When Bentley gets killed, hold down BOTH jump buttons and the accounting screen, which shows customer play information, will appear.

* Secret Message : When you complete level 10, a special screen appears that says, I GIVE UP : YOU WIN YOU MUST BE _______________.

What goes in the blank depends on the number of lives you have left.

For 1 life, fill in AMAZINGLY GOOD;





and for 6, A VIDEO WIZ.

* Time Bonus : For every four seconds of game play, you lose 1000 points. The amount of time bonus starts at 200,000, so you can figure that a 5 minute game will have a time bonus of 125,000. Also, for every life you lose, you lose at least 1000 time bonus points, so even though you can make up for your life as far as the life bonus, you still lose in time bonus.


Program : Franz Lanzinger (FXL)

Hardware : Sam Ly

Project leader : Scott Fuller

Team leader : John Ray (RAY)

Graphics : Barbara Singh (BAS), Dave Ralston

Techs : Paul Mancuso, Gardner Crosby


* Consoles :

Atari 2600 (1984)

Atari 7800 (unreleased prototype)

Atari XEGS

Sony PlayStation (1998, "Arcade's Greatest Hits - The Atari Collection 2")

Sony PlayStation (2001, "Atari Anniversary Edition")

Sega Dreamcast (2001, "Atari Anniversary Edition")

Sony PlayStation 2 (2004, "Atari Anthology") : appears in both arcade and Atari 2600 forms.

Microsoft XBOX (2004, "Atari Anthology") : appears in both arcade and Atari 2600 forms.

* Computers :

Tandy Color Computer (1984)

Commodore C64 (1985)

Atari ST (1986)

Amstrad CPC (1986)

Sinclair ZX Spectrum (1986)

PC [CD-Rom] (2000, "Atari Arcade hits 2")

PC [CD-Rom] (2001, "Atari Anniversary Edition")

PC [CD-Rom] (2003, "Atari - 80 Classic Games in One!") : appears in both arcade and Atari 2600 forms.

* Others :

Atari Flashback Classic Game Console (2005)

Nokia N-Gage (2006, "Atari Masterpieces Volume 2")

Apple Store (2012, "Atari Greatest Hits")

Google Play (2012, "Atari Greatest Hits")


Game's rom.

Machine's picture.

Mark Alpiger (MDA), http://www.classicarcadegaming.com/games/cc/index.htm

MAME Info:

0.59 [Chris Hardy]

0.26 [Patrick Lawrence]

Artwork available


- To start a game, press the '5' and JUMP button. '1' and '2' work only in cocktail mode.


- Visible resolution is incorrect. sxevious (ID 03130)


- 0.146: Couriersud improved sound emulation for POKEY chip. Changed audio emulation to emulate borrow 3 clock delay and proper channel reset. New frequency only becomes effective after the counter hits 0. Emulation also treats counters as 8 bit counters which are linked now instead of monolytic 16 bit counters. Fixed high pass filters for POKEY. Added POKEYN device based on modern device. Fixed random lfsr generation. Consolidated polynom code. Removed legacy left overs from pokey code. Added a internal pokey_channel class. Convert all remaining drivers to use the modern pokey device.

- 0.139u4: Aaron Giles changed Crystal Castles and Cloud 9 to use the X2212 instead of the hacked-up fake version they had.

- 0.133u1: Renamed (ccastleg) to (ccastlesg), (ccastlep) to (ccastlesp), (ccastlef) to (ccastlesf), (ccastle3) to (ccastles3), (ccastle2) to (ccastles2), (ccastle1) to (ccastles1) and (ccastlej) to (ccastlesj).

- 0.126u4: Guru added clone Crystal Castles (joystick version).

- 9th July 2008: Mr. Do - Added the marquee for Crystal Castles, just cause it looks cool, thanks to the BYOAC/CAG artwork.

- 0.113u4: Changed visible area to 319x255.

- 0.107u1: Added clones Crystal Castles (version 1), (version 3, French), (version 3, German) and (version 3, Spanish). Swapped gfx1 roms and fixed rom names.

- 0.106u13: More Crystal Castles tweaks [Aaron Giles]: Connected EAROM correctly (passes POST now). Added a guess for what the "POTATO" chip does. If you're a Crystal Castles fan report to MAMETesters how MAME looks compared to the arcade when the screen scrolls up inbetween level 4 and 5.

- 0.106u12: Rewrote Crystal Castles driver from the schematics [Aaron Giles]: Changed clock speeds and frame rates, reimplemented video system to use mixer PROM, now using sync PROM to generate interrupts at correct times, sync PROM is also used to determine proper visible area and VBLANK timings, implemented the VRAM write protection by using the WP PROM, hooked up second player trackball properly, fixed coin counters, now computing palette based on resistor weights, watchdog is now set for 8 VBLANKs to match the schematics, added save state support and mapped complete memory space according to schematics. Fixed prom names, changed VSync to 61.035156 Hz and added 2x 'Unknown' dipswitches.

- 30th June 2005: Alessio dumped Crystal Castles (Version 3). Please check out PCB pics, and let me know if it's the same layout as the one already in MAME or if it's different.

- 0.90u2: Santeri Saarimaa added unused proms (synchronous, bus, write and color) to Crystal Castles.

- 0.59: Added Crystal Castles (version 4). Changed 'Crystal Castles (set 1)' to clone '(version 3)' and '(set 2)' to '(version 2)'. Renamed (ccastles) to (ccastle3).

- 6th February 2002: Chris Hardy added a newer revision ROM set to the Crystal Castles driver.

- 0.34b3: Nicola Salmoria added clone Crystal Castles (set 2). Changed parent description to 'Crystal Castles (set 1)'.

- 0.34b1: Known issues: The self test doesn't pass the EERAM test.

- 0.31: Known issues: The self test doesn't pass the EERAM test. I don't know if all of the scores are supposed to rusvive a reset, or only the first three as it is now.

- 0.29: Known issues: Keyboard control isn't up to the task. Use the mouse. When the cabinet is set to Cocktail, pressing 2 while in the switch test screen of the test mode is supposed to flip the screen. This doesn't work yet, since the screen is not refreshed.

- 0.28: Crystal Castles now has accurate colors and load/save of high score and settings (I mean the settings done in the service menu) [Nicola Salmoria]. New osd_modify_pen() function, proposed by Aaron Giles. It allows drivers to dynamically modify the palette. WARNING: Since this feature can severely reduce performance on some systems, it must only be used when necessary - that is, when the emulated game dynamically modifies the palette. The other games should continue to use the static palette as before. Many games already use this feature (e.g. Crystal Castles, the Gottlieb games, Tapper, Bubble Bobble, and many others). There's also osd_get_pen(), which is used by usrintf.c to dynamically pick the pens used to render menus.

- 0.27: Known issues: The colors are accurate, but the color space is downgraded from 3x3x3 to 3x3x2. Sound. It's better! The game sounds are slightly slow.

- 0.26: Patrick Lawrence provided a driver for Crystal Castles (Atari 1983). Game is playable with accurate colors and sound. Also this game supports trackball (-trak option). Valerio Verrando provided a new tweaked mode 256x232 for Crystal Castles. Control: Arrows = Move around and CTRL = Jump. Known issues: Sound. It's better! The startup sound no longer plays. The game sounds are slightly slow. Dynamic palette. I haven't given this the time it deserves. I'll get to this one soon. The game is always in cocktail mode. If I try to take it out of cocktail mode, the player 1 and player 2 buttons no longer work. Needless to say, I have not emulated cocktail mode, nor do I plan to so only try 1 player games for now. No high score saving yet. Cannot change the settings of the game. Vertical scrolling is wrong. Is horizontal scrolling right?


- Magic hat makes you invincible. Wear it and you can kill BERTHILDA.

- Catch GEM eaters when they are eating and stay away when they are moving from GEM to GEM.

- Take too much time and the swarm returns.

- Jump over trees to stun them.


Other Emulators:

* Retrocade

Recommended Games (Maze Extra):


Super Bagman



Crystal Castles

Flip & Flop (Max-A-Flex)

Money Money

Uncle Poo



The Tower of Druaga

Doki Doki Penguin Land

The Return of Ishtar

Kid no Hore Hore Daisakusen

Mustache Boy

Marchen Maze

Ufo Senshi Yohko Chan

Evil Stone

Magical Crystals

Cheese Chase

Mad Donna

Princess Clara Daisakusen

Burglar X


Monkey Ball

Monster Farm Jump

Romset: 57 kb / 11 files / 26.4 zip

MAME XML Output:

       <game name="ccastles" sourcefile="ccastles.c">
              <description>Crystal Castles (version 4)</description>
              <rom name="136022-403.1k" size="8192" crc="81471ae5" sha1="8ec13b48119ecf8fe85207403c0a0de5240cded4" region="maincpu" offset="a000"/>
              <rom name="136022-404.1l" size="8192" crc="820daf29" sha1="a2cff00e9ddce201344692b75038431e4241fedd" region="maincpu" offset="c000"/>
              <rom name="136022-405.1n" size="8192" crc="4befc296" sha1="2e789a32903808014e9d5f3021d7eff57c3e2212" region="maincpu" offset="e000"/>
              <rom name="136022-102.1h" size="8192" crc="f6ccfbd4" sha1="69c3da2cbefc5e03a77357e817e3015da5d8334a" region="maincpu" offset="10000"/>
              <rom name="136022-101.1f" size="8192" crc="e2e17236" sha1="81fa95b4d9beacb06d6b4afdf346d94117396557" region="maincpu" offset="12000"/>
              <rom name="136022-106.8d" size="8192" crc="9d1d89fc" sha1="01c279edee322cc28f34506c312e4a9e3363b1be" region="gfx1" offset="0"/>
              <rom name="136022-107.8b" size="8192" crc="39960b7d" sha1="82bdf764ac23e72598883283c5e957169387abd4" region="gfx1" offset="2000"/>
              <rom name="82s129-136022-108.7k" size="256" crc="6ed31e3b" sha1="c3f3e4e7f313ecfd101cc52dfc44bd6b51a2ac88" region="proms" offset="0"/>
              <rom name="82s129-136022-109.6l" size="256" crc="b3515f1a" sha1="c1bf077242481ef2f958580602b8113532b58612" region="proms" offset="100"/>
              <rom name="82s129-136022-110.11l" size="256" crc="068bdc7e" sha1="ae155918fdafd14299bc448b43eed8ad9c1ef5ef" region="proms" offset="200"/>
              <rom name="82s129-136022-111.10k" size="256" crc="c29c18d9" sha1="278bf61a290ae72ddaae2bafb4ab6739d3fb6238" region="proms" offset="300"/>
              <chip type="cpu" tag="maincpu" name="M6502" clock="1250000"/>
              <chip type="audio" tag="mono" name="Speaker"/>
              <chip type="audio" tag="pokey1" name="POKEYN" clock="1250000"/>
              <chip type="audio" tag="pokey2" name="POKEYN" clock="1250000"/>
              <display tag="screen" type="raster" rotate="0" width="319" height="255" refresh="61.035156" pixclock="5000000" htotal="320" hbend="0" hbstart="319" vtotal="256" vbend="0" vbstart="255" />
              <sound channels="1"/>
              <input players="2" buttons="1" coins="2" tilt="yes">
                     <control type="trackball" minimum="0" maximum="255" sensitivity="10" keydelta="30" reverse="yes"/>
              <dipswitch name="Service Mode" tag="IN0" mask="16">
                     <dipvalue name="Off" value="16" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="IN1" mask="1">
                     <dipvalue name="Off" value="1" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="IN1" mask="2">
                     <dipvalue name="Off" value="2" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="IN1" mask="4">
                     <dipvalue name="Off" value="4" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Cabinet" tag="IN1" mask="32">
                     <dipvalue name="Upright" value="0" default="yes"/>
                     <dipvalue name="Cocktail" value="32"/>
              <driver status="good" emulation="good" color="good" sound="good" graphic="good" savestate="supported" palettesize="32"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise