Home News Forum                            

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

cliffhgr: MAME ROM Information.


Cliff Hanger (c) 1983 Stern Electronics.

You are Cliff and your girlfriend Clarissa has been taken away by the evil Count Draco and will be forced to marry him unless Cliff can save her.


Main CPU : Z80

Sound Chips : Custom, Discrete circuitry

Players : 2

Buttons : 2


Released in December 1983.

This was Stern's first laser disk game.

Cliff Hanger uses animation from the Japanese manga series, Lupin III. Most of the animation came from 'Lupin III - Castle of Cagliostro' and a couple of scenes, including the helicopter chase and the hanging scene came from 'Lupin III - Mystery of Mamo'.

Even though Cliff Hanger is adapted from Lupin the 3rd, it does change the names of the main characters:

Lupin is renamed Cliff.

Daisuke Jigen is renamed Jeff.

Goemon Ishikawa is simply renamed Samurai.

Chip Sbronga holds the official record for this game with 1,310,000 points on August 11, 2003.


Designed & Programmed By: Paul M. Rubenstein, Bob Kowalski, Jon Michael Hogan, Edward J. March Jr.


Game's rom.

Machine's picture.

MAME Info:

0.111u4 [Ernesto Corvi]

LaserDisc required


- cliffhgr, cliffhnga: Dip switch reversed for "Short Scenes". italiandoh (ID 04300)


- 0.145u5: Changed parent description to 'Cliff Hanger (set 1)' and clone to '(set 2)'.

- 0.145: Aaron Giles fixed Cliff Hanger TMS9928a depends on the screen parameters matching output exactly, but for LD games it doesn't since they are externally clocked.

- 0.144u6: Replaced 'Laserdisc Analog' sound with 'Pioneer PR-8210'.

- 0.143u4: Changed VSync to 59.940057 Hz.

- 0.143: smf fixed Halts at "Please Standby" in Cliff Hanger and clone. Re-added I8049 (11MHz) CPU2.

- 0.142u3: Removed I8049 CPU2.

- 0.133u2: Ruben Panossian corrected resistor values in Cliff Hanger discrete sound based on actual PCB values.

- 0.133u1: smf made 'Cliff Hanger (Alt)' a clone of 'Cliff Hanger'. Tafoid fixed DEMO_SOUND dipswitch assignment in Cliff Hanger to work correctly when turned ON. Renamed (cliffhga) to (cliffhgra).

- 0.133: Added missing Laser Disc image from Cliff Hanger to Cliff Hanger (Alt).

- 0.132u5: Added Laser Disc image - Game now playable. Aaron Giles made a couple of minor tweaks to the Cliff Hanger driver. Fixed interrupt timing (was not taking into account interlacing) to fix up glitches in playback and ensure the disk test passes. Added SHA1 and marked the game as working. Added mechanism for the laserdisc core to return 0 for the Philips codes if video is squelched. Updated the Gottlieb and Cliff Hanger drivers to request it this way, since they decode externally.

- 0.129u4: Changed Custom sound to Laserdisc Analog.

- 0.127u4: Added I8049 (4410000 Hz) CPU2 with MCU rom (pr-8210_mcu_ud6005a.bin).

- 0.127: Aaron Giles added DISK_REGIONS to all laserdisc drivers. Changed visible area to 704x480 and VSync to 59.940052.

- 0.125u9: Aaron Giles fixed access violation when taking a snapshot.

- 0.111u5: Aaron Giles removed gross TMS9928a configuration in place of more standard techniques. Updates the Cliffhanger and sg1000a drivers accordingly. Changed visible area to 720x241 and VSync to 59.940060 Hz.

- 0.111u4: Ernesto Corvi added Cliff Hanger (Stern Electronics 1983) and Cliff Hanger (Alt). Also added support for the Pioneer PR-8210 laserdisc player. R. Belmont fixed TMS9928 so it recalculates the pattern mask when its dependancies change so we don't end up in weird half-modes.

Other Emulators:


Romset: 40 kb / 5 files / 16.1 zip

LaserDisc: 36.1 GB (Compressed: 13.3)

MAME XML Output:

       <game name="cliffhgr" sourcefile="cliffhgr.c">
              <description>Cliff Hanger (set 1)</description>
              <manufacturer>Stern Electronics</manufacturer>
              <rom name="cliff_u1.bin" size="8192" crc="a86ec38f" sha1="bfca1b1c084f5b7b1e0ccb2f3616ecea1340f04c" region="maincpu" offset="0"/>
              <rom name="cliff_u2.bin" size="8192" crc="b8d33b6b" sha1="02778f87a78199129c758a8fb0629b9ba74cab99" region="maincpu" offset="2000"/>
              <rom name="cliff_u3.bin" size="8192" crc="75a64cd2" sha1="18fe4d8885b59ec8b8c28b5d7141a27164c982ac" region="maincpu" offset="4000"/>
              <rom name="cliff_u4.bin" size="8192" crc="906b2af1" sha1="65fadd2fec90f47c91ac4928f342c79ab8bc6ef0" region="maincpu" offset="6000"/>
              <rom name="cliff_u5.bin" size="8192" crc="5922e710" sha1="10637baba4d16dc333aeb0ab88ee251f44e1a115" region="maincpu" offset="8000"/>
              <disk name="cliffhgr" sha1="4442995c824d7891a2a19c607bb3301d696fbdc8" region="laserdisc" index="0" writable="no"/>
              <device_ref name="pr8210"/>
              <chip type="cpu" tag="maincpu" name="Z80" clock="4000000"/>
              <chip type="cpu" tag="laserdisc:pr8210" name="I8049" clock="4410000"/>
              <chip type="audio" tag="laserdisc" name="Pioneer PR-8210"/>
              <chip type="audio" tag="lspeaker" name="Speaker"/>
              <chip type="audio" tag="rspeaker" name="Speaker"/>
              <chip type="audio" tag="discrete" name="DISCRETE"/>
              <display tag="screen" type="raster" rotate="0" width="704" height="480" refresh="59.940057" pixclock="28636362" htotal="910" hbend="0" hbstart="704" vtotal="525" vbend="44" vbstart="524" />
              <sound channels="2"/>
              <input players="2" buttons="2" coins="2" tilt="yes">
                     <control type="joy" ways="8"/>
              <dipswitch name="Lives" tag="BANK1" mask="3">
                     <dipvalue name="3" value="3" default="yes"/>
                     <dipvalue name="4" value="2"/>
                     <dipvalue name="5" value="1"/>
                     <dipvalue name="6" value="0"/>
              <dipswitch name="No Hanging Scene" tag="BANK1" mask="4">
                     <dipvalue name="Off" value="4" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Regular Length Scenes" tag="BANK1" mask="8">
                     <dipvalue name="Off" value="8"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="Display Score and Lives During Animation" tag="BANK1" mask="16">
                     <dipvalue name="Off" value="16"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="Action/Stick Hints" tag="BANK1" mask="32">
                     <dipvalue name="Off" value="32"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="Should Have Hint" tag="BANK1" mask="192">
                     <dipvalue name="Never" value="192" default="yes"/>
                     <dipvalue name="After 1st Player Mistake" value="128"/>
                     <dipvalue name="After 2nd Player Mistake" value="64"/>
                     <dipvalue name="After 3rd Player Mistake" value="0"/>
              <dipswitch name="Coin A" tag="BANK2" mask="3">
                     <dipvalue name="4 Coins/1 Credit" value="0"/>
                     <dipvalue name="3 Coins/1 Credit" value="1"/>
                     <dipvalue name="2 Coins/1 Credit" value="2"/>
                     <dipvalue name="1 Coin/1 Credit" value="3" default="yes"/>
              <dipswitch name="Unknown" tag="BANK2" mask="4">
                     <dipvalue name="Off" value="4" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="BANK2" mask="8">
                     <dipvalue name="Off" value="8" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Coin B" tag="BANK2" mask="48">
                     <dipvalue name="4 Coins/1 Credit" value="0"/>
                     <dipvalue name="3 Coins/1 Credit" value="16"/>
                     <dipvalue name="2 Coins/1 Credit" value="32"/>
                     <dipvalue name="1 Coin/1 Credit" value="48" default="yes"/>
              <dipswitch name="Unknown" tag="BANK2" mask="64">
                     <dipvalue name="Off" value="64" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="BANK2" mask="128">
                     <dipvalue name="Off" value="128" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Service Index" tag="BANK3" mask="1">
                     <dipvalue name="Off" value="1" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Switch Test" tag="BANK3" mask="2">
                     <dipvalue name="Off" value="2" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Free Play" tag="BANK3" mask="4">
                     <dipvalue name="Off" value="4" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Player Immortality" tag="BANK3" mask="8">
                     <dipvalue name="Off" value="8" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Disc Test" tag="BANK3" mask="16">
                     <dipvalue name="Off" value="16" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Demo Sounds" tag="BANK3" mask="32">
                     <dipvalue name="Off" value="0"/>
                     <dipvalue name="On" value="32" default="yes"/>
              <dipswitch name="Short Scenes" tag="BANK3" mask="64">
                     <dipvalue name="Off" value="64" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Allow Continue" tag="BANK3" mask="128">
                     <dipvalue name="Off" value="128"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="Move Difficulty" tag="BANK4" mask="15">
                     <dipvalue name="0 (Easiest)" value="15" default="yes"/>
                     <dipvalue name="1" value="14"/>
                     <dipvalue name="2" value="13"/>
                     <dipvalue name="3" value="12"/>
                     <dipvalue name="4" value="11"/>
                     <dipvalue name="5" value="10"/>
                     <dipvalue name="6" value="9"/>
                     <dipvalue name="7" value="8"/>
                     <dipvalue name="8" value="7"/>
                     <dipvalue name="9" value="6"/>
                     <dipvalue name="10" value="5"/>
                     <dipvalue name="11" value="4"/>
                     <dipvalue name="12" value="3"/>
                     <dipvalue name="13" value="2"/>
                     <dipvalue name="14" value="1"/>
                     <dipvalue name="15 (Hardest)" value="0"/>
              <dipswitch name="Unknown" tag="BANK4" mask="16">
                     <dipvalue name="Off" value="16" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="BANK4" mask="32">
                     <dipvalue name="Off" value="32" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="BANK4" mask="64">
                     <dipvalue name="Off" value="64" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unknown" tag="BANK4" mask="128">
                     <dipvalue name="Off" value="128" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <driver status="good" emulation="good" color="good" sound="good" graphic="good" savestate="unsupported" palettesize="16"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise