Home News Forum                            

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

skyraid: MAME ROM Information.


Sky Raider (c) 03/1978 Atari.

Sky Raider is a two-dimensional, vertical scrolling game. You get to be the pilot of a bomber whose task is to destroy as many targets as possible in the allotted period of time. Fortunately for the player, it is a target-rich environment and the best part is that there are no defenses to fly through. That means you get to bomb targets at will without fear of any enemy fire. Who could ask for a simpler type of game.


Game ID : 009709

Main CPU : M6502 (@ 1.008 Mhz)

Screen orientation : Horizontal

Video resolution : 512 x 240 pixels

Screen refresh : 60.00 Hz

Palette colors : 20

Players : 1

Control : stick

Buttons : 7


1978 was a big year in video games. It was the year that Midway managed to secure a license from Taito and get "Space Invaders" brought to the United States. It was already causing a major commotion in Japan and the same happened in the United States. This, unfortunately, meant many other videogames suffered because Space Invaders was literally sucking up everyone's quarters. Atari, though, was starting to become a powerhouse in the video game world. The release of the Atari 2600 home console opened the doors to many possibilities. Atari even translated some of the 2600 games into arcade games. In later years, Atari would take the most successful arcade games and convert them to 2600 games. Atari had also been known for being on the cutting edge where technology was concerned. Sky Raider was no exception. It was the first vertically scrolling game to come out. In addition to a vertically scrolling terrain, the player could also control the 'speed' of their bomber in relation to the landscape.

From the designer : In '78 it seemed Atari was flying high on many successes and Lyle had this idea for a very unusual method of display. Since at the time we could make just about anything and they'd sell at least 100's of them, I believe the company thought we could experiment with some things. I must admit, even though the game itself ended up being rather trivial, the process of developing this unique hardware was very interesting to me.

Lyle, Steve Bristow and I got a patent issued to us for this game display (patent #4,169,272 issued 9/25/79).

It was _very_ difficult for an artist to design and sketch a playfield for this game. Lyle, being an excellent artist in his own right, did most, if not all, of that himself and even he had a terrible time with it. I remember these huge sheets of vellum graph paper with each row filled by pencils of varying shades of grey. The hardware allowed for 16 3 bit pixels per horizontal line but each pixel could be from 1 to 32 horizontal clocks wide. He managed to make a 2048 line playfield into a scroll map so line 2047 meshed perfectly with line 0 resulting in a seamless scroll. Then we (well, ok, it was I) had to transcribe those 2048 lines of streaks of grey, manually counting all the horizontal clocks, off the vellum and get them put into a 2Kx8 PROM. Yikes. It should be readily apparent why we only used this display on one game.

A Sky Raider unit appears in the ZZ Top music video 'Legs'.


Enemy point values are :

Tower : 350 points.

Bridge : 450 points.

City : 450 points.

Oil Refinery : 450 points.

Enemy Plane : 800 points.

Scores for extended play depend on allotted length of time set up for the game. Game lengths can be set at 60, 80, 100, or 120 seconds. Obviously, the higher the game length, the higher your score needs to be to win an extended play. Extended play is half the length of the normal game length the machine is set up to be. So the extended plays will be 30, 40, 50, or 60 seconds.

Scores needed for extended play (according to the length of the game) are :

60 seconds : 22,000 points.

80 seconds : 29,000 points.

100 seconds : 36,000 points.

120 seconds : 43,000 points.


You start the game at the bottom of the screen. Your main mission is to accumulate as many points in the time allotted. This means you will have to plan ahead and keep a mental note of where your targets are at all times.

* Obviously, the name of the game is getting points. This means you will have to be pretty darn precise in your ability to bomb. That means you will have to learn how to speed up and slow down with precision.

* Once you release your bombs on a target, don't dawdle over that target. You should be setting yourself up to take out the next target. This may mean some radical maneuvering and speed control to get to it.

* Keep in mind that you will not be attacked by any enemy units. This means you can put your full concentration into making sure your bombs hit their targets.

* Speaking of targets, if you are forced to decide between two targets, use this priority system to determine which ones to hit :

1) Go after the target that gives you the greatest point value. If they are of equal value, take your pick.

2) Go after a target that is clustered around other targets. That way, you get more 'bang for your buck'.

* Hit targets that make it easier to get to another target without wasting any time.

* You can only have one bomb on the screen at a time. Since you can fire bombs relatively fast, this shouldn't create too much of a problem.

* Always watch the top of the screen for the next target or targets to appear. Targets appear at random so you will need to be prepared as to where said targets will be. In addition to ground targets, the enemy plane could also appear although it comes out less frequently.

* Your ultimate goal, as far as targets are concerned, is to be sure to get the enemy plane every time since it is worth the most points.

* No free men are awarded or needed since nothing shoots back at your bomber.

This game is strictly time based.


Concept/Idea by : Lyle Rains

Designed and programmed by : Dave Shepperd

Design and programming assistant : Rich Patak


Game's rom.

Machine's picture.

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

MAME Info:

0.62 [Stefan Jokish]


- Sky Raider used special circuitry to squash the image to a trapezoidal shape. This created the illusion of objects getting larger as they swoop out of the sky.


- 0.144u7: Aaron Giles fixed Sky Raider driver assert in debug build.

- 0.141u1: Couriersud fixed a bug in makedep which will caused includes on the first line of the file like in skyraid.h to be ignored.

- 0.140u1: Derrick Renaud optimized speed of DISCRETE_DAC_R1.

- 0.139u3: Atari Ace converted Sky Raider to driver_data.

- 0.134u4: Derrick Renaud promoted DISCRETE_RC_CIRCUIT_1 for Sky Raider custom charge to it's own module so it could be used with the same circuit in Battlezone.

- 0.134u2: Derrick Renaud started making a more accurate simulation of the DISCRETE_566 based on testing of a real IC. This makes the rest of Sky Raider sounds work.

- 0.134u1: Derrick Renaud added partial Discrete (96000 Hz) sound to Sky Raider.

- 0.131u1: Angelo Salese merged memory maps in Sky Raider.

- 0.103: Stefan Jokisch fixed Sky Raider to use RAM mirroring for zero page memory.

- 0.62: Stefan Jokisch added Sky Raider (Atari 1978).

- 26th September 2002: Stefan Jokisch sent in a driver for Sky Raider, but it is missing sound emulation.

- 6th July 2001: Peter Fyfe dumped Sky Raider.

Recommended Games (Airforce 3D):

Sky Raider

Red Baron

M.A.C.H. 3

Fire Fox

Future Spy

Us vs. Them

Zero Target


Top Gunner

After Burner II

After Burner (Mega-Tech)

Vs. Top Gun

Captain Sky Hawk (PlayChoice-10)

Air Inferno

G-LOC Air Battle

F-15 Strike Eagle

Strike Fighter

Air Combat

Air Combat 22

Wild Pilot

Wing War

Sky Target

Sega Strike Fighter

Romset: 12 kb / 11 files / 6.45 zip

MAME XML Output:

       <game name="skyraid" sourcefile="skyraid.c">
              <description>Sky Raider</description>
              <rom name="030595.e1" size="2048" crc="c6cb3a2b" sha1="e4cb8d259446d0614c0c8f097f97dcf21869782e" region="maincpu" offset="7000"/>
              <rom name="030594.d1" size="2048" crc="27979e96" sha1="55ffe3094c6764e6b99ee148e3dd730ca263fa3a" region="maincpu" offset="7800"/>
              <rom name="030598.h2" size="512" crc="2a7c5fa0" sha1="93a79e5948dfcd9b6c2ff390e85a43f7a8cac327" region="gfx1" offset="0"/>
              <rom name="030599.m7" size="2048" crc="0cd179ea" sha1="e3c763f76e6103e5909e7b5a979206b262d6e96a" region="gfx2" offset="0"/>
              <rom name="030597.n5" size="256" crc="319ff49c" sha1="ff4d8b20436179910bf30c720d98df4678f683a9" region="gfx3" offset="0"/>
              <rom name="030596.m4" size="256" crc="30454ed0" sha1="4216a54c13d9c4803f88f2de35cdee31290bb15e" region="gfx3" offset="0"/>
              <rom name="030584.j5" size="2048" crc="81f6e8a5" sha1="ad77b469ed0c9d5dfaa221ecf47d0db4a7f7ac91" region="user1" offset="0"/>
              <rom name="030585.k5" size="2048" crc="b49bec3f" sha1="b55d25230ec11c52e7b47d2c10194a49adbeb50a" region="user1" offset="0"/>
              <rom name="030582.a6" size="256" crc="0eacd595" sha1="5469e312a1f522ce0a61054b50895a5b1a3f19ba" region="user2" offset="0"/>
              <rom name="030583.b6" size="256" crc="3edd6fbc" sha1="0418ea78cf51e18c51087b43a41cd9e13aac0a16" region="user2" offset="0"/>
              <rom name="006559.c4" size="256" crc="5a8d0e42" sha1="772220c4c24f18769696ddba26db2bc2e5b0909d" region="proms" offset="200"/>
              <chip type="cpu" tag="maincpu" name="M6502" clock="1008000"/>
              <chip type="audio" tag="mono" name="Speaker"/>
              <chip type="audio" tag="discrete" name="DISCRETE"/>
              <display tag="screen" type="raster" rotate="180" flipx="yes" width="512" height="240" refresh="60.000000" />
              <sound channels="1"/>
              <input players="1" buttons="7" coins="2" tilt="yes">
                     <control type="stick" minimum="0" maximum="63" sensitivity="10" keydelta="10" reverse="yes"/>
              <dipswitch name="Language" tag="LANGUAGE" mask="48">
                     <dipvalue name="English" value="0" default="yes"/>
                     <dipvalue name="French" value="16"/>
                     <dipvalue name="German" value="32"/>
                     <dipvalue name="Spanish" value="48"/>
              <dipswitch name="Play Time" tag="DSW" mask="48">
                     <dipvalue name="60 Seconds" value="0"/>
                     <dipvalue name="80 Seconds" value="16" default="yes"/>
                     <dipvalue name="100 Seconds" value="32"/>
                     <dipvalue name="120 Seconds" value="48"/>
              <dipswitch name="DIP #5" tag="DSW" mask="64">
                     <dipvalue name="Off" value="64" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <dipswitch name="Extended Play" tag="DSW" mask="128">
                     <dipvalue name="No" value="128"/>
                     <dipvalue name="Yes" value="0" default="yes"/>
              <dipswitch name="Coinage" tag="COIN" mask="15">
                     <dipvalue name="Mode 0" value="0"/>
                     <dipvalue name="Mode 1" value="1" default="yes"/>
                     <dipvalue name="Mode 2" value="2"/>
                     <dipvalue name="Mode 3" value="3"/>
                     <dipvalue name="Mode 4" value="4"/>
                     <dipvalue name="Mode 5" value="5"/>
                     <dipvalue name="Mode 6" value="6"/>
                     <dipvalue name="Mode 7" value="7"/>
                     <dipvalue name="Mode 8" value="8"/>
                     <dipvalue name="Mode 9" value="9"/>
                     <dipvalue name="Mode A" value="10"/>
                     <dipvalue name="Mode B" value="11"/>
                     <dipvalue name="Mode C" value="12"/>
                     <dipvalue name="Mode D" value="13"/>
                     <dipvalue name="Mode E" value="14"/>
                     <dipvalue name="Mode F" value="15"/>
              <dipswitch name="Score for Extended Play" tag="COIN" mask="16">
                     <dipvalue name="Low" value="0"/>
                     <dipvalue name="High" value="16" default="yes"/>
              <dipswitch name="Service Mode" tag="SYSTEM" mask="128">
                     <dipvalue name="Off" value="128" default="yes"/>
                     <dipvalue name="On" value="0"/>
              <driver status="imperfect" emulation="good" color="imperfect" sound="good" graphic="good" savestate="unsupported" palettesize="20"/>

emumovies.com      Retro bytes Portal           Bookmark and Share

Developed by: Spesoft  Headsoft     Terms of use     Privacy    Advertise