Home News Forum                            

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

llander: MAME ROM Information.


Lunar Lander (c) 1979 Atari.

Lunar Lander is a 1-player coin-op electronic game that simulates landing a manned spaceship on the moon. Various video-display phrases indicate score, time elapsed during this landing mission, fuel units consumed, altitude above the moon, and horizontal and vertical speed. The fuel consumption and both speed readings are important for the player to determine how to land the craft. Realistic engine rumble and crash sounds accompany game play. A high beep warns of an almost-depleted fuel supply, whereupon players can add coins to automatically extend the game and 'fill up' their fuel tanks. Depending on the quality of the landing or the crash, various messages are displayed on the screen.

Game play begins with engine rumble and the lander drifting towards the bottom

right corner of the screen. Horizontal and vertical speeds are constantly displayed, including two arrows to show horizontal and vertical directions of travel. Altitude is measured in distance above the surface of the mountain - not above 'sea level'. The screen also shows time in actual seconds, representing time elapsed in the current mission.

The operator can select from 4 different settings for fuel units - 450, 600, 750 or 900 fuel units per coin (free play is also available). As the lander module flies over the landscape, it approaches the mountains and a landing site. At a certain point near the mountains, the game 'zooms in' for a close-up view of everything on the screen.

If the player realizes the speed is too fast and the landing looks hopeless, he or she can press the ABORT button on the control panel. This will give the lander extra thrust and make it fly upwards at top speed. The abort feature does consume 120 to 180 fuel units, though, as a disincentive to overusing it. If the ABORT button is pressed too late, however, a crash cannot be avoided.

The 4 levels of mission difficulty are determined by the player and can be changed at any time during the game or the ready-to-play mode. The differences between the 4 are printed on the mission select panels and are self explanatory, except perhaps rotational momentum. This feature causes the lander to tumble around when either ROTATE button is pushed. The longer either button is held down, the faster the lander module will spin in that direction. The player gains control of the lander by pressing the other ROTATE button for the same amount of time.


Lunar Lander came in a large black upright cabinet, which was a little heavier than most. The sideart is a (predominately blue); there is no front art at all, and the monitor bezel is relatively clear of decals. The marquee features a 'Lunar Lander' blasting off from the surface of the moon (some of these have a black background, while others have blue, it appears that there were 2 print runs of these).

Cabinet dimensions : 25,25'' (64,14cm) wide x 32'' (81,28cm) deep x 71,87'' (182,54cm) high.

Cabinet monitor : 19'' B/W

Game ID : 0345xx

Main CPU : M6502 (@ 1.512 Mhz)

Sound Chips : Discrete

Screen orientation : Horizontal

Video resolution : Vector, capable of 1024 x 768 static points, infinite resolution of lines in between.

Screen refresh : Dynamic, varies depending on how many vectors are drawn on screen at once.

Palette colors : 16 levels of grey.

Players : 1

Control : Lever (increase or decrease the THRUST)



Released in August 1979. Approximately 4830 Uunits were produced. Original price was $1,695.

Licensed to Sega for Japan market.

Atari's first vector game. "Lunar Lander", was inspired by "Moonlander", a game written by Jack Burness in 1973 as a demo for the DEC GT40 vector graphics terminal (based on a PDP-11/05 CPU). This game used a light pen to control thrust and rotation.

If the player landed at exactly the right spot, a McDonalds appeared. The astronaut would leave the lander and walk over to the McDonalds and order a Big Mac to go, before walking back to the Lander and taking off again. If players crashed directly into the McDonalds, the game displayed a message reading 'You clod. You've destroyed the only McDonald's on the Moon.' After a short run of Lunar Lander machines were manufactured, production was shifted over to "Asteroids" and the first few hundred Asteroids machines were housed in Lunar Lander cabinets. Atari donated a gold edition version of the coin-operated video game to the Discovery Center of Science & Technology in Syracuse, New York.

On 17 June 1980, Atari's "Asteroids" and "Lunar Lander" were the first two video games to ever be registered in the Copyright Office.

David Nelson holds the officially recognized world record for this game (certified via Twin Galaxies) with 1,525 points. This was achieved using a single credit and 750 units of fuel which are the default settings for this game.

A Lunar Lander units appears in the 1984 movie 'The Philadelphia Experiment'.


Revision 1 : DIP switches allow 450, 600, 750, or 900 fuel units per coin.

Revision 2 : DIP switches allow 450, 600, 750, 900, 1100, 1300, 1500, or 1800 fuel units per coin.


The scoring system gives 50 points for a good landing, plus 50 fuel units as a bonus. A hard landing earns only 15 points, and a crash earns 5 points. A crash happens when the vertical speed exceeds 15 and the horizontal speed exceeds 31. The number displayed after SCORE is cumulative of all landings made in the current game. The point scores for a good or hard landing can be greatly increased by landing on an area with a flashing multiplier, for example 2X or 5X. Thus, a good landing on the very narrow 5X site would give that player 250 points.


* When you start the game, your Lunar Lander will be floating above the moon's surface. Immediately, your lander will start to descend. Figure out where you want to land and maneuver your lander to that landing pad. Fuel is a valuable commodity in this game. To get the most ''bang'' for your quarter, try to use as little as possible. Since everything burns fuel (even rotating your lander left and right), do your best to get centered over a landing pad so you don't have to overreact at the last minute.

* Use the thrust lever sparingly. It is easy to move it up and down so you can easily put on full thrusters before you realize what's happening. This can be especially dangerous if you are in a canyon and are going sideways. Your lander will become part of the moonscape very quickly. Just use short bursts to correct your downward and left/right movement. This not only gives you better control, but it also saves you on fuel.

* After you have decided on the landing pad, start maneuvering your lander toward it. Use minimal thrusters to keep your lander from going too fast toward the moon. Also, only tap on the right and left rotation buttons so that you keep your left/right speed as near to zero as possible.

* When you get near enough to the moon's surface, the view will change and you will get the close-up view. This is the time you can start doing all your finishing maneuvers. If you set yourself up right when you were way above the moon's surface, you shouldn't have to do much to ensure that you are over the landing pad. If you find yourself in trouble and there is no way out, press the ABORT button. The effects are that it automatically straightens out your lander, stops all left/right movement, and moves you a little ways off the surface. The penalty for this is approximately 100 units of fuel.

* On your final descent onto the landing pad, watch your speed. If you land at anything greater then 10, you run the risk of damaging or destroying your lander. When you have landed, the game will give you an assessment of the landing and the points earned.

* Over time, the easy pads will go away and you will have to land on pads located on the sides of mountains or very deep, steep sided ravines. It will be even more critical that you know how to do small maneuvers since some of the landing pads are not wider then your lander.


Original design by : Jack Burness

Programmed by : Rich Moore

Vector generator display system by : Howard Delman


* Consoles :

Sony PlayStation 2 (2004, "Atari Anthology")

Microsoft XBOX (2004, "Atari Anthology")

Nintendo DS (2005, "Retro Atari Classics")

Nintendo Game Boy Advance (2005, "Millipede / Super Breakout / Lunar Lander")

* Computers :

PC [Booter] (1983, "Eagle Lander", part of the "Friendlyware PC Arcade" suite)

Tandy Color Computer (1983 "Lander")

Tandy Color Computer 3 (19??)

PC [MS Windows, CD-Rom] (2003, "Atari - 80 Classic Games in One!")

Microtan 65

VTech Laser-VZ

* Others :

Nokia N-Gage (2005, "Atari Masterpieces Volume 1")

Atari Flashback 2 (2005)


Game's rom.

Machine's picture.

F.A.Q. by Kevin Butler A.K.A. War Doc

MAME Info:

0.26 [Brad Oliver, Bernd Wiebelt, Allard van der Bas, Al Kossow, Hedley Rainnie, Eric Smith]

Artwork available


- Many if not all Lunar Lander games produced for sale in the USA do not have the ROM with the part number 034597-01. This ROM is used for non-English messages only. This ROM is not currently available in the archive.


- Press SERVICE (F2) to enter test mode. Wait 15 seconds for the ram/rom test and then hit Advance (F1) to cycle through test. To execute hit F2.


- 0.141u2: Derrick Renaud fixed broken discrete sound in Lunar Lander.

- 0.132u3: Brian Troha fixed rom names in Lunar Lander and clone.

- 0.131u1: Derrick Renaud changed Lunar Lander thrust control from a paddle to a pedal. This more accurately emulates the control. Note: The current code uses IPT_PADDLE. This causes the game to start with the thrust at 50%. This is not correct. The control is really a hand operated pedal.

- 0.128u4: Luigi30 derived clocks from crystals in the Asteroids driver.

- 0.125u9: Couriersud fixed assertions in all Asteroids driver sets.

- 0.125u4: Discrete sound update [Couriersud]: Added NODE_RELATIVE(NODE, offset) macro to discrete.h. Fixed driver to use this macro instead of adding directly to the node.

- 0.123u2: RansAckeR added DIP locations to Lunar Lander (rev 1/2).

- 0.115u1: Changed region proms to user1.

- 0.114u4: Aaron Giles fixed Asteroids and Lunar Lander controls to be buttons not joysticks.

- 0.112u3: Derrick Renaud fixed thrust control in Lunar Lander. The way the DAC/counter circuit always trys to self center at the voltage derived from the thrust control, I don't think it ever expected to get to 0xff. We can not emulate the external DAC circuit exactly, so changing the range to 0xfe seems to solve the problem.

- 0.108u5: Mathis Rosenhauer rewrote the Atari vector generators, using the schematics and actual state machine PROMs. The state machine is now emulated so timing should be much more realistic. Clipping hardware in bzone and others is emulated instead of hardcoded. Improved accuracy of clocks and various other bits of cleanup. Changed M6502 CPU clock speed to 1512000 Hz and added prom ($0 - DVG PROM).

- 0.108u1: Brian Troha improved documentation in the Asteroids driver.

- 21st October 2005: f205v dumped Lunar Lander (rev 1). This is an original and working Atari PCB. Comparing it to MAME's Asteroid driver, there is NO 034597.01 rom (there is no socket as well, position on PCB is unpopulated); on the contrary there is a PROM (DVG) marked with the Atari Fuji symbol. It's dumped now.

- 0.68: Derrick Renaud fixed all sound effects and gain levels.

- 3rd August 2002: Ken Reneris submitted another small improvement to the Asteroids discrete sound emulation and added phosphorescent persistence emulation to the vector graphics drawing code, possibly improving the look & feel of vector games.

- 24th July 2002: Ken Reneris and Keith Wilkins both submitted improvements to the discrete sound system in Asteroids.

- 0.58: Changed palettesize from 33024 to 32768 colors.

- 17th January 2001: Bernd Wiebelt fixed a bug causing static in the discrete sound functions.

- 0.37b11: Some support for discrete component sound emulation [Keith Wilkins]. Replaced Custom sound with Discrete.

- 28th November 2000: Keith Wilkins sent in a discrete sound system update, fixing some sounds in Asteroids.

- 7th November 2000: Keith Wilkins sent in a preliminary version of discrete sound system emulation, not supporting any game yet.

- 0.37b3: Changed palettesize from 256 to 33024 colors.

- 4th May 1999: Mathis Rosenhauer modified the Lunar Lander artwork functions to support a new control panel by Nathan Strum.

- 0.35b9: Added 2nd player.

- 6th April 1999: Mathis Rosenhauer updated the Lunar Lander artwork to be scalable if needed.

- 0.34b8: Cristopher Kirmse added artwork support to Lunar Lander.

- 0.33b7: Added clone Lunar Lander (rev 1). Inspired by Retrocade and Vector Dream, Bernd Wiebelt changed the vector games to use translucent vectors. Color intensities had to be lowered, if it feels to dark for you now, increase the gamma correction value. Changed parent description to 'Lunar Lander (rev 2)'.

- 0.33b3: Keith Wilkins emulated sound in Lunar Lander.

- 0.33b2: Keith Wilkins fixed fuel alert sound in Lunar Lander.

- 0.31: Known issues: The language dipswitch has no effect, this ROM set doesn't have support for that.

- 0.29: Known issues: Selftest does not work. It seems page 0 and 1 are mirrored, and the cpu emulation can't handle this correctly.

- 0.27: Control: Arrows = Left and Right to rotate, CTRL = Thrust, ALT = Maximum trust and A = Abort.

- 0.26a: Some credits that were left out last time: Thanks to Al Kossow, Hedley Rainnie and Eric Smith for the code to their vecsim emulator which had emulated these games previously on the unix and the mac, and thanks to Neil Bradley for pointing out the critical bug in the vector generator engine which prevented Tempest from working.

- 0.26: Added Lunar Lander (Atari 1979). Game is playable with accurate colors and sound. Selftest does not work. It seems page 0 and 1 are mirrored, and the cpu emulation can't handle this correctly. Thanks to the outstanding combined efforts of Brad Oliver, Bernd Wiebelt and Allard van der Bas, MAME entered in vectorial emulation world! All in a time, we have support for Asteroids, Asteroids Deluxe, Black Widow, Battlezone, Gravitar, Lunar Lander, Red Baron, Spaceduel and Tempest. Thanks to Al Kossow, Hedley Rainnie and Eric Smith for the code to their VECSIM emulator which had emulated these games previously on the UNIX and MAC. Control: Arrows = Left/Right to rotate, Up to Trust and CTRL = Maximum Trust and ALT = Abort.

- 21st March 1993: Dumped Lunar Lander.


- Insert Coin, select mission with key 2 and then push start

- Land on any flat surface: Crash (5 points), Hard Landing (15 pts) and Good Landing (50 pts)

- Blinking sites multiply score

- If mission looks hopeloss - press abort

- TRAINING MISSION: Light Gravity. Friction From Atmosphere. Controlled Rotation.

- CADET MISSION: Moderate Gravity. No Friction. Controlled Rotation.

- PRIME MISSION: Strong Gravity. No Friction. Controlled Rotation.

- COMMAND MISSION: Moderate Gravity. No Friction. Rotational Momentum.

Other Emulators:


* Retrocade

Recommended Games (Moon):

Lunar Lander

Lunar Rescue


Moon Patrol



Mag Max

Romset: 13 kb / 7 files / 9.79 zip

MAME XML Output:

       <game name="llander" sourcefile="asteroid.c">
              <description>Lunar Lander (rev 2)</description>
              <rom name="034572-02.f1" size="2048" crc="b8763eea" sha1="5a15eaeaf825ccdf9ce013a6789cf51da20f785c" region="maincpu" offset="6000"/>
              <rom name="034571-02.de1" size="2048" crc="77da4b2f" sha1="4be6cef5af38734d580cbfb7e4070fe7981ddfd6" region="maincpu" offset="6800"/>
              <rom name="034570-01.c1" size="2048" crc="2724e591" sha1="ecf4430a0040c227c896aa2cd81ee03960b4d641" region="maincpu" offset="7000"/>
              <rom name="034569-02.b1" size="2048" crc="72837a4e" sha1="9b21ba5e1518079c326ca6e15b9993e6c4483caa" region="maincpu" offset="7800"/>
              <rom name="034599-01.r3" size="2048" crc="355a9371" sha1="6ecb40169b797d9eb623bcb17872f745b1bf20fa" region="maincpu" offset="4800"/>
              <rom name="034598-01.np3" size="2048" crc="9c4ffa68" sha1="eb4ffc289d254f699f821df3146aa2c6cd78597f" region="maincpu" offset="5000"/>
              <rom name="034597-01.m3" size="2048" status="nodump" region="maincpu" offset="5800"/>
              <rom name="034602-01.c8" size="256" crc="97953db8" sha1="8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad" region="user1" offset="0"/>
              <chip type="cpu" tag="maincpu" name="M6502" clock="1512000"/>
              <chip type="audio" tag="mono" name="Speaker"/>
              <chip type="audio" tag="discrete" name="DISCRETE"/>
              <display tag="screen" type="vector" rotate="0" refresh="40.000000" />
              <sound channels="1"/>
              <input players="1" buttons="3" coins="3" service="yes" tilt="yes">
                     <control type="pedal" minimum="0" maximum="254" sensitivity="100" keydelta="10"/>
              <dipswitch name="Service Mode" tag="IN0" mask="2">
                     <dipvalue name="Off" value="2" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Right Coin" tag="DSW1" mask="3">
                     <dipvalue name="X 1" value="0" default="yes"/>
                     <dipvalue name="X 4" value="1"/>
                     <dipvalue name="X 5" value="2"/>
                     <dipvalue name="X 6" value="3"/>
              <dipswitch name="Language" tag="DSW1" mask="12">
                     <dipvalue name="English" value="0" default="yes"/>
                     <dipvalue name="French" value="4"/>
                     <dipvalue name="Spanish" value="8"/>
                     <dipvalue name="German" value="12"/>
              <dipswitch name="Fuel Units Per Coin" tag="DSW1" mask="208">
                     <dipvalue name="450" value="0"/>
                     <dipvalue name="600" value="64"/>
                     <dipvalue name="750" value="128" default="yes"/>
                     <dipvalue name="900" value="192"/>
                     <dipvalue name="1100" value="16"/>
                     <dipvalue name="1300" value="80"/>
                     <dipvalue name="1550" value="144"/>
                     <dipvalue name="1800" value="208"/>
              <dipswitch name="Coinage" tag="DSW1" mask="32">
                     <dipvalue name="Normal" value="0" default="yes"/>
                     <dipvalue name="Free Play" value="32"/>
              <driver status="good" emulation="good" color="good" sound="good" graphic="good" savestate="supported" palettesize="0"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise