Home News Forum                            

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

hangon1: MAME ROM Information.


Hang-On [Sit-Down model] (c) 1985 Sega.

A superb point-to-point sprite scaling racing game in which the player takes control of a superbike and must race over 5 twisting circuits, avoiding rival bikers and trying to reach the end of each stage before the time limit expires.

Hang-On's handling and superb graphics were unlike anything seen before in the arcades and, like many Yu Suzuki games that followed, revolutionised the racing genre.

The 5 stages of 'Hang-On' are :


Grand Canyon

City Night




Main CPU : (2x) 68000 (@ 6 Mhz), Z80 (@ 4 Mhz)

Sound Chips : YM2203 (@ 4 Mhz), Sega (@ 8 Mhz)

Screen orientation : Horizontal

Video resolution : 304 x 224 pixels

Screen refresh : 60.00 Hz

Palette colors : 6144

Players : 1


Released in July 1985.

The first in a series of classic racing games designed by the legendary Yu Suzuki and his team (who would go on to create, among others, the "Out Run" series, as well as this game's sequel, "Super Hang-On"). First simulation game in the world. After this game was released, the standard for motorcycle games is the riding type kind. This game was the first Sega game to use digitized drums in the music.

There are 2 cabinet versions : This Site-Down model and a "Hang-On [Ride-On model]", which was a large, mock-up motorcycle that the player sat on. The Site-Down model featured a motorcycle handlebar, throttle and break lever. The cabinet also has a simulated tachometer and speedometer. The Ride-On version lets you steer your bike by moving your weight left and right, but didn't feature any of the hydraulics or force feedback that would become the staple of future Sega arcade games.

Don Novak holds the official record for this game on a 'Simulator' cabinet with 40,715,030 points.

Richard Powell holds the official record for this game on a 'Upright' cabinet with 33,923,450 points.

Alfa Records released a limited-edition soundtrack album for this game (Sega Taikan Game Special - 28XA-198) on 21/12/1987.


1. Hang-On [Sit-Down model] (1985)

1. Hang-On [Ride-On model] (1985)

2. Hang-On II (1985, Sega SG-1000)

3. Hang-On Jr. (1985)

4. Super Hang-On [Mini Ride-On Model] (1987)

4. Super Hang-On [Sit-Down model] (1987)

4. Super Hang-On [Upright model] (1987)

5. Limited Edition Hang-On (1991)


Designed by : Yu Suzuki (YU.)

From highscore table : (KAN), (OHE), (ISH), (NAG), (KAJ), (INO)

Music by : Hiroshi Miyauchi


* Consoles :

Sega Master System (1985)

Sega Master System (1986, "Hang On & Astro Warrior")

Sega Master System (1986, "Hang On & Safari Hunt")

Sega Saturn

Sega Dreamcast (2000, "Shenmue")

Sega Dreamcast (2001, "Yu Suzuki Game Works Vol. 1")

* Computers :

MSX (1985)

* Others :

LCD handheld game (1989) released by Tiger Electronics.


Game's rom.

Machine's picture.

MAME Info:

0.36b1 [Andrew Prime]


- 0.143u8: Changed 'Unknown' to 'Unused' dipswitches.

- 0.141u1: hap fixed loop address in SegaPCM sound, Hang-On engine sounds better now. Also included documentation in source of known register functions.

- 10th August 2010: Smitdogg - That Hang-On board I mentioned before, I hooked it up and it had lines in some of the graphics and I couldn't get the sound to output anything so I just returned it. I'll probably lose the cost of return shipping but that's it.

- 28th July 2010: Smitdogg - I mentioned a few days ago that I ordered a new Hang-On board set. Well, one of the pictures in the auction showed the four main program roms and I noticed they had a revision letter written on them. I asked the seller what the letter was and he said "F". There is no dump of a Rev.F and the price was low so I bought it. It just arrived and there is no F. It's clearly an A, so it's a dumped set. Now I'm not really sure what to do with it. If I return it I'll probably have to at least pay return shipping and get hit again with some sort of PayPal fee. I'm pretty sure I can sell it for more than I paid, pretty much positive, but it sucks that we won't get a new revision.

- 22nd July 2010: Smitdogg - I ordered a rare version of Hang-On. If anyone can help out a few bucks on the cost.

- 0.121u2: Tony Beason added clone Hang-On. Changed parent description to 'Hang-On (Rev A)'.

- 0.114u1: Changed clock speed of the 2x 68000 CPUs to 6293700 Hz and VSync to 60.054389 Hz.

- 0.107u4: Fixed rom names.

- 0.103u3: Mamesick fixed Hang-On stereo sound routine.

- 0.93: Added clock parameter to Sega_PCM sound (31250 Hz).

- 0.90u4: Aaron Giles cleaned up tilemap handling using the new user_data feature. Added pixel-accurate scaling to System 16B sprites. Based on this knowledge, tweaked Hang-On sprite systems. Fixed documentation on Hang On road chip. Added 6844 zoom-table dump.

- 0.90u3: Aaron Giles changes Hang-On, Space Harrier and Enduro Racer to have now accurate road and sprite scaling. Changed Z80 CPU3 clock speed to 4MHz. Changed visible area to 304x224 and palettesize to 6144 colors. Fixed cpu2/3 rom loading.

- 6th January 2005: Aaron Giles - I whipped together a skeletal Hang On driver this morning, should keep me busy for a few days figuring that one out. Fortunately, there are schematics available, which is a nice bonus. One thing I noticed right away is that the game runs on dual 6MHz 68000's, not 10MHz as the current driver has them. Only the very earliest 68000-based games used the 6MHz parts. In fact Food Fight and Quantum are the only other ones I can come up with.

- 15th March 2004: Charles MacDonald made various Hang-On fixes: Fixed sprite, tile and shared RAM (2nd 68000) size in hangon - RAM test works, fixed visibility of 2nd 68000 ROM to 1st 68000, passes ROM test, fixed access to road RAM and shared RAM by both CPUs - road layer works again and added proper emulation of the I/O hardware in hangon: Cleaned up input management, now entering test mode does not crash MAME, there are no specific control hacks for the name entry screen, and the ROM patches are no longer needed.

- 21st January 2004: Brian Troha added Hang On Limited Edition to the Outrun driver, but it doesn't work.

- 0.74u2: Input uses now IPT_AD_STICK_Z. Changed YM2203 clock speed to 4MHz. Removed 2nd Player.

- 18th November 1999: Michael Soderstrom fixed a Hang-On crash bug.

- 0.36b3: Changed Paddle input to Stick.

- 0.36b2: Added cpu3/sound1 roms and YM2203 (4096000 Hz) and Sega_PCM sound.

- 0.36b1: Andrew Prime added Hang-On (Sega 1985).

- 3rd August 1999: Andrew Prime sent in a huge System 16 driver update, with Hang-On graphics fixed and working drivers for Bay Route, Outrun, Space Harrier and Super Hang-On.


Other Emulators:

* Calice

* FB Alpha

* System 16

Recommended Games (Motorbike):

Super Rider


Excite Bike (PlayChoice-10)

Jumping Cross

Kick Start Wheelie King

Vs. Excitebike


Hang-On Jr.

Super Hang-On

Super Hang-On (Mega-Tech)

Vs. Mach Rider

Enduro Racer

Super Cross II

Racing Hero

World Grand Prix

GP Rider

Riding Hero

Moto Frenzy

Stadium Cross

Suzuka 8 Hours

Suzuka 8 Hours 2

Cyber Cycles

Manx TT Superbike


Romset: 856 kb / 28 files / 358.5 zip

MAME XML Output:

       <game name="hangon1" sourcefile="segahang.c" cloneof="hangon" romof="hangon">
              <rom name="epr-6918.ic22" size="32768" crc="0bf4f2ac" sha1="26c5bb6fe805644a8d427ad77814f4b0b1128b1a" region="maincpu" offset="0"/>
              <rom name="epr-6916.ic8" size="32768" crc="06c21c8a" sha1="f06f21ff272a803c72e5041534053494f055e466" region="maincpu" offset="1"/>
              <rom name="epr-6917.ic20" size="32768" crc="f48a6cbc" sha1="6437efaeb0e4cb727c03eb83678a9e107d244af1" region="maincpu" offset="10000"/>
              <rom name="epr-6915.ic6" size="32768" crc="75d3b5ee" sha1="00948d0610f52b1b554cadde96227428e510e73e" region="maincpu" offset="10001"/>
              <rom name="epr-6920.ic63" merge="epr-6920.ic63" size="32768" crc="1c95013e" sha1="8344ac953477279c2c701f984d98292a21dd2f7d" region="sub" offset="0"/>
              <rom name="epr-6919.ic51" merge="epr-6919.ic51" size="32768" crc="6ca30d69" sha1="ed933351883ebf6d9ef9428a81d09749b609cd60" region="sub" offset="1"/>
              <rom name="epr-6841.ic38" merge="epr-6841.ic38" size="32768" crc="54d295dc" sha1="ad8cdb281032a2f931c2abbeb966998944683dc3" region="gfx1" offset="0"/>
              <rom name="epr-6842.ic23" merge="epr-6842.ic23" size="32768" crc="f677b568" sha1="636ca60bd4be9b5c2be09de8ae49db1063aa6c79" region="gfx1" offset="8000"/>
              <rom name="epr-6843.ic7" merge="epr-6843.ic7" size="32768" crc="a257f0da" sha1="9828f8ce4ef245ffb8dbad347f9ca74ed81aa998" region="gfx1" offset="10000"/>
              <rom name="epr-6819.ic27" merge="epr-6819.ic27" size="32768" crc="469dad07" sha1="6d01c0b3506e28832928ad74d518577ff5be323b" region="gfx2" offset="1"/>
              <rom name="epr-6820.ic34" merge="epr-6820.ic34" size="32768" crc="87cbc6de" sha1="b64652e062e1b88c6f6ae8dd2ffe4533bb27ba45" region="gfx2" offset="0"/>
              <rom name="epr-6821.ic28" merge="epr-6821.ic28" size="32768" crc="15792969" sha1="b061dbf24e8b511116446794753c8b0cc49e2149" region="gfx2" offset="10001"/>
              <rom name="epr-6822.ic35" merge="epr-6822.ic35" size="32768" crc="e9718de5" sha1="30e3a7d5b33504da03c5780b4a946b977e46098a" region="gfx2" offset="10000"/>
              <rom name="epr-6823.ic29" merge="epr-6823.ic29" size="32768" crc="49422691" sha1="caee2a4a3f4587ae27dec330214edaa1229012af" region="gfx2" offset="20001"/>
              <rom name="epr-6824.ic36" merge="epr-6824.ic36" size="32768" crc="701deaa4" sha1="053032ef886b85a4cb4753d17b3c27d228695157" region="gfx2" offset="20000"/>
              <rom name="epr-6825.ic30" merge="epr-6825.ic30" size="32768" crc="6e23c8b4" sha1="b17fd7d590ed4e6616b7b4d91a47a2820248d8c7" region="gfx2" offset="30001"/>
              <rom name="epr-6826.ic37" merge="epr-6826.ic37" size="32768" crc="77d0de2c" sha1="83b126ed1d463504b2702391816e6e20dcd04ffc" region="gfx2" offset="30000"/>
              <rom name="epr-6827.ic31" merge="epr-6827.ic31" size="32768" crc="7fa1bfb6" sha1="a27b54c93613372f59050f0b2182d2984a8d2efe" region="gfx2" offset="40001"/>
              <rom name="epr-6828.ic38" merge="epr-6828.ic38" size="32768" crc="8e880c93" sha1="8c55deec065daf09a5d1c1c1f3f3f7bc1aeaf563" region="gfx2" offset="40000"/>
              <rom name="epr-6829.ic32" merge="epr-6829.ic32" size="32768" crc="7ca0952d" sha1="617d73591158ed3fea5174f7dabf0413d28de9b3" region="gfx2" offset="50001"/>
              <rom name="epr-6830.ic39" merge="epr-6830.ic39" size="32768" crc="b1a63aef" sha1="5db0a1cc2d13c6cfc77044f5d7f6f99d198531ed" region="gfx2" offset="50000"/>
              <rom name="epr-6845.ic18" merge="epr-6845.ic18" size="32768" crc="ba08c9b8" sha1="65ceaefa18999c468b38576c29101674d1f63e5f" region="gfx2" offset="60001"/>
              <rom name="epr-6846.ic25" merge="epr-6846.ic25" size="32768" crc="f21e57a3" sha1="92ce0723e722f446c0cef9e23080a008aa9752e7" region="gfx2" offset="60000"/>
              <rom name="epr-6840.ic108" merge="epr-6840.ic108" size="32768" crc="581230e3" sha1="954eab35059322a12a197bba04bf85f816132f20" region="gfx3" offset="0"/>
              <rom name="epr-6833.ic73" merge="epr-6833.ic73" size="16384" crc="3b942f5f" sha1="4384b5c090954e69de561dde0ef32104aa11399a" region="soundcpu" offset="0"/>
              <rom name="epr-6831.ic5" merge="epr-6831.ic5" size="32768" crc="cfef5481" sha1="c04b302fee58f0e59a097b2be2b61e5d03df7c91" region="pcm" offset="0"/>
              <rom name="epr-6832.ic6" merge="epr-6832.ic6" size="32768" crc="4165aea5" sha1="be05c6d295807af2f396a1ff72d5a3d2a1e6054d" region="pcm" offset="8000"/>
              <rom name="epr-6844.ic123" merge="epr-6844.ic123" size="8192" crc="e3ec7bd6" sha1="feec0fe664e16fac0fde61cf64b401b9b0575323" region="proms" offset="0"/>
              <chip type="cpu" tag="maincpu" name="68000" clock="6293700"/>
              <chip type="cpu" tag="sub" name="68000" clock="6293700"/>
              <chip type="cpu" tag="soundcpu" name="Z80" clock="4000000"/>
              <chip type="audio" tag="lspeaker" name="Speaker"/>
              <chip type="audio" tag="rspeaker" name="Speaker"/>
              <chip type="audio" tag="ymsnd" name="YM2203" clock="4000000"/>
              <chip type="audio" tag="pcm" name="Sega PCM" clock="8000000"/>
              <display tag="screen" type="raster" rotate="0" width="320" height="224" refresh="60.054389" pixclock="6293700" htotal="400" hbend="0" hbstart="320" vtotal="262" vbend="0" vbstart="224" />
              <sound channels="2"/>
              <input players="1" coins="2" service="yes">
                     <control type="paddle" minimum="32" maximum="224" sensitivity="100" keydelta="4" reverse="yes"/>
                     <control type="pedal" minimum="0" maximum="255" sensitivity="100" keydelta="40"/>
              <dipswitch name="Coin A" tag="COINAGE" mask="15">
                     <dipvalue name="4 Coins/1 Credit" value="7"/>
                     <dipvalue name="3 Coins/1 Credit" value="8"/>
                     <dipvalue name="2 Coins/1 Credit" value="9"/>
                     <dipvalue name="2 Coins/1 Credit, 5/3, 6/4" value="5"/>
                     <dipvalue name="2 Coins/1 Credit, 4/3" value="4"/>
                     <dipvalue name="1 Coin/1 Credit" value="15" default="yes"/>
                     <dipvalue name="1 Coin/1 Credit, 5/6" value="3"/>
                     <dipvalue name="1 Coin/1 Credit, 4/5" value="2"/>
                     <dipvalue name="1 Coin/1 Credit, 2/3" value="1"/>
                     <dipvalue name="2 Coins/3 Credits" value="6"/>
                     <dipvalue name="1 Coin/2 Credits" value="14"/>
                     <dipvalue name="1 Coin/3 Credits" value="13"/>
                     <dipvalue name="1 Coin/4 Credits" value="12"/>
                     <dipvalue name="1 Coin/5 Credits" value="11"/>
                     <dipvalue name="1 Coin/6 Credits" value="10"/>
                     <dipvalue name="Free Play (if Coin B too) or 1/1" value="0"/>
              <dipswitch name="Coin B" tag="COINAGE" mask="240">
                     <dipvalue name="4 Coins/1 Credit" value="112"/>
                     <dipvalue name="3 Coins/1 Credit" value="128"/>
                     <dipvalue name="2 Coins/1 Credit" value="144"/>
                     <dipvalue name="2 Coins/1 Credit, 5/3, 6/4" value="80"/>
                     <dipvalue name="2 Coins/1 Credit, 4/3" value="64"/>
                     <dipvalue name="1 Coin/1 Credit" value="240" default="yes"/>
                     <dipvalue name="1 Coin/1 Credit, 5/6" value="48"/>
                     <dipvalue name="1 Coin/1 Credit, 4/5" value="32"/>
                     <dipvalue name="1 Coin/1 Credit, 2/3" value="16"/>
                     <dipvalue name="2 Coins/3 Credits" value="96"/>
                     <dipvalue name="1 Coin/2 Credits" value="224"/>
                     <dipvalue name="1 Coin/3 Credits" value="208"/>
                     <dipvalue name="1 Coin/4 Credits" value="192"/>
                     <dipvalue name="1 Coin/5 Credits" value="176"/>
                     <dipvalue name="1 Coin/6 Credits" value="160"/>
                     <dipvalue name="Free Play (if Coin A too) or 1/1" value="0"/>
              <dipswitch name="Demo Sounds" tag="DSW" mask="1">
                     <dipvalue name="Off" value="1"/>
                     <dipvalue name="On" value="0" default="yes"/>
              <dipswitch name="Difficulty" tag="DSW" mask="6">
                     <dipvalue name="Easy" value="4"/>
                     <dipvalue name="Medium" value="6" default="yes"/>
                     <dipvalue name="Hard" value="2"/>
                     <dipvalue name="Hardest" value="0"/>
              <dipswitch name="Time Adj." tag="DSW" mask="24">
                     <dipvalue name="Normal" value="24" default="yes"/>
                     <dipvalue name="Medium" value="16"/>
                     <dipvalue name="Hard" value="8"/>
                     <dipvalue name="Hardest" value="0"/>
              <dipswitch name="Play Music" tag="DSW" mask="32">
                     <dipvalue name="Off" value="0"/>
                     <dipvalue name="On" value="32" default="yes"/>
              <dipswitch name="Unused" tag="DSW" mask="64">
                     <dipvalue name="Off" value="64" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Unused" tag="DSW" 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="6144"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise