Loco
| Loco | ||
|---|---|---|
| Game No. | 547 | |
| Voting | 5.67 points, 6 votes | |
| Developer | Antony Crowther | |
| Company | Alligata Software | |
| Publisher | Alligata Software | |
| Musician | Ben Daglish | |
| HVSC-File | /MUSICIANS/D/Daglish_Ben/L_O_C_O.sid | |
| Release | 1984 | |
| Platform | C64, Atari 400/800, ZX Spectrum | |
| Genre | Shoot'em Up | |
| Gamemode | Single player | |
| Operation | ||
| Media | ||
| Language | ||
| Information | [2] | |
Description[edit | edit source]

In the game "Loco", the player must repeatedly control a locomotive around a circular track, defending themselves with smoke plumes against attacking airplanes, zeppelins, and handcars . By cleverly choosing their route, the locomotive replenishes its fuel supply at depots along the track. If five laps are completed — with a travel time of approximately 55 seconds per lap — without the locomotive being hit by an opponent or running out of fuel, the level is successfully completed, and the next one begins with more numerous, faster, and more aggressive opponents.
Backstory[edit | edit source]

... is practically nonexistent. The player must pointlessly drive a small locomotive in circles while airplanes and zeppelins bomb it for no apparent reason, and kamikaze handcars try to blow it up. The most plausible interpretation of this journey is that it represents an escape from the enormous stationmaster, who waves his arm menacingly (see image on the right).
Background[edit | edit source]
The game Loco is inspired by the arcade game "Super Locomotive", released by Sega in 1982, which the author of Loco discovered during a Sunday stroll in Blackpool. However, Loco is based solely on the details that Antony Crowther was able to memorize in 10 minutes while watching others play "Super Locomotive"[1].
Design[edit | edit source]
The locomotive's journey is displayed on the screen in two separate sections that scroll at different speeds. The upper half of the screen shows the locomotive against a hilly landscape; the lower half displays the track layout, the locomotive, and approaching enemies from a bird's-eye view. Since the lower view is reduced to a 1:4 scale compared to the side view, enemies are visible here long before they get close enough to the locomotive to pose a threat. Furthermore, this view provides an overview of fuel depots along the route, allowing for the planning of track changes and the defense against enemies.
Graphics[edit | edit source]
The graphics are displayed entirely in multicolor text mode (screen memory at address $0400, character set at $0800). The sophisticated sprite multiplexing, which allows a large number of sprites to be displayed simultaneously, is particularly noteworthy. Switching between sprites is triggered in a total of 8 different raster lines (lines 0, 72, 95, 111, 142, 163, 168, and 188). The following image shows a typical scene from the second level; the locomotive is composed of six sprites, and airplanes and zeppelins each consist of two.

Sound[edit | edit source]
The game is accompanied by Jean-Michel Jarre's music "Équinoxe (Part 5)". The Commodore 64 version is not only very well done but also perfectly complements the theme of the speeding locomotive, as it evokes the rhythmic clatter of the wheels on the rails.
Additionally, some events during the game (gunshots, explosions, refueling, gaining an extra life) are accompanied by simple sound effects.
Hints[edit | edit source]
Controls[edit | edit source]
The game can be controlled either with a joystick in Port 2 or with the keyboard.
The game and each new level are started by pressing the spacebar or the fire button. The following key mappings then apply:
- Fire button or R : Eject a cloud of smoke. Hold the button or key down until the cloud reaches the desired height.
- Joystick up or D : Hold left at the next switch (in top view: Switch to the next higher track).
- Joystick down or C : Hold right at the next switch (in top view: Switch to the next lower track).
- Joystick to the right or F : Fire a projectile in the direction of travel.
Joystick movements and presses of the fire button can be combined. If you move the joystick to the upper right and press the fire button at the same time, the locomotive fires a projectile, emits a puff of smoke, and changes tracks at the next switch.
Screen Layout[edit | edit source]
The following illustration shows the split screen and the game's display elements. Of particular interest are the fuel level indicator, allowing you to refuel in time, and the current score (every 10,000 points earns an extra life).
In the upper half of the screen, the player fends off attacking aircraft and zeppelins with smoke clouds and engages handcars. The lower half of the screen provides advance warning of attackers, allowing the player to prepare (for example, by dodging an approaching handcar or fighting off an aircraft with a preemptive smoke puff). Fuel depots along the route are only visible in the lower view.

Enemies[edit | edit source]

Aircraft fly only horizontally and approach the locomotive from behind at one of three possible altitudes. Both the aircraft and the bombs they drop can be countered with smoke plumes from the locomotive's chimney. A shot-down aircraft is worth between 100 and 250 points, depending on its altitude; a defused bomb is worth 50 points.

Zeppelins approach the locomotive from the front at high altitude. Like airplanes, they only fly horizontally and can be countered with smoke plumes. A shot-down zeppelin is worth 200 points.

Handcars approach the locomotive on the tracks and must be countered with projectiles fired by the locomotive in the direction of travel. A knocked-down handcar is worth 200 points.

The locomotive takes on fuel by passing the blue-marked sections on the track labeled "FUEL". This increases the capacity of its 36-unit fuel tank by 8 units, up to a maximum of 100%. No points are awarded for refueling.
Tips[edit | edit source]
- Zeppelins can only pose a threat to the locomotive when they are directly above it. A smoke cloud released at the right moment, hitting the zeppelin at the top, prevents it from getting that far (left animation in the following gallery).
- Airplanes always move horizontally and fly at one of two possible altitudes in the first level, and at one of three altitudes in later levels. If you spot approaching airplanes in the lower half of the screen, you can preemptively send two or three smoke clouds rising to those altitudes. With a bit of luck, they will hit the airplanes right at the left edge of the screen, so they can never pose a threat to the locomotive (middle animation).
- Handcars are especially dangerous when they only enter a collision course with the locomotive at the last moment due to a track change and can only be countered fractions of a second before the impact. By swerving early onto a siding that is inaccessible to the handcar, the locomotive may be able to avoid this critical situation.
- If the locomotive runs out of fuel, it will immediately be attacked by numerous enemies, who also move significantly faster than before. In this situation, the locomotive can create a kind of "shield" by rapidly emitting many puffs of smoke, against which airplanes, zeppelins, and bombs crash, quickly earning a large number of points and possibly even an extra life.
![]() |
![]() |
![]() |
Solution[edit | edit source]
The "solution" of Loco is simply to flawlessly defeat every enemy that appears early over a longer period of time, while visiting as many fuel depots as possible.
Map[edit | edit source]
The following illustration shows the landscape through which the locomotive travels in a circle. The map is 5440 pixels wide, so at a speed of 2 pixels per screen refresh, it is traversed completely every 54.4 seconds.

The top view of the railway tracks is reduced to a scale of 1:4 compared to the landscape, so it is traversed at a speed of 1 pixel every other screen refresh. For easier orientation, the station is shown at both ends of the following illustration.

Cheats[edit | edit source]
In the CSDb there are Cracks with Trainer functions:
![]() Trainer for Remember with four different options |
![]() Trainer for Talent with two options |
Votes[edit | edit source]
| Voting of the C64-Wiki users (10=the best vote): | ||
| 5.67 points at 6 votes (rank 959). You need to be logged in to cast a vote. | ||
| C64Games | 3 | 23.Juli 2022 - "geht so" - 21799 downs |
| Lemon64 | 7,4 | July 23, 2022 - 44 votes |
| Ready64 | 6,43 | July 23, 2022 - 7 voti |
| Rombachs C64-Spieleführer | 7 | September 1984 - "Verdict 3" |
| Crash | 44% (Presentation 54%, Graphics 48%, Playablity 57%, Addictive qualities 40%, Value for money 51%) | Issue 38 (March 1987) |
| Personal Computer Games | 9/10 (Graphics 10/10, Sound 10/10, Originality 4/10, Lasting Interest 5/10) | Issue 8 (July 1984) |
| Your Sinclair | 6/10 (Graphics 5/10, Playability 6/10, Value for Money 6/10, Addictiveness 5/10) | Issue 16 (April 1987) |
| Tilt | Graphisme 5/5, Animation 4/5, Bruitage 3/5, Intérêt 2/5 | N° 17 (Novembre/Décembre 1984) |
| Universal Videogame List | 1.7/5 | 18. Februar 2023 |
Critics[edit | edit source]
Stephan64: "Hectic shooting without any long-term strategy, requiring only the player's multitasking skills. The 4 points I still awarded are for Ben Daglish, whose port of "Équinoxe (Part 5)" for the C64 is masterful."
Shakermaker303: "A cute game with multitasking elements reminiscent of 1984. Keeping track of everything happening on the screen and the map simultaneously isn't easy at all. The fluffy background music complements the simple but nicely designed game. Of course, it gets too monotonous and difficult after a while."
Rombachs C64-Spieleführer: "The game gives the impression of an unusual shooter, unless, at higher difficulty levels, more than the length of the track and the number of enemies change (Rating 3)." [2]
Miscellaneous[edit | edit source]
Cover[edit | edit source]

Inlay[edit | edit source]

Cassette[edit | edit source]

Video Recording[edit | edit source]
Longplay of the game "Loco"
Bugs[edit | edit source]
The number of remaining lives is not stored in a variable whose value is then displayed on the screen as a decimal. Instead, the game simply initializes the memory cell at address $0460 in the video RAM with the value $33 (screen code for the number "3") and then counts this value up or down depending on the game situation. If you manage to accumulate more than 9 lives in total, 9 lives plus 1 extra life do not equal "10" lives, but rather ":" (screen code $3A, see the left animation in the gallery below).
If several aircraft attack simultaneously, artifacts appear between the sprites, indicating poor sprite multiplexing (right image, the lower propeller blade of the left aircraft appears above the right one).
![]() 9 lives plus one extra life equals... not "10", but ":" lives |
![]() Messy sprite multiplexing when attacking multiple aircraft |
Trivia[edit | edit source]

- The on-screen display of the game situation (side view at the top, top view at the bottom) is reversed in Loco compared to Sega's game "Super Locomotive", which inspired the author Antony Crowther. This was unintentional, but rather due to the fact that Antony was only able to watch "Super Locomotive" for ten minutes and later didn't remember the correct screen layout.[3]
- "Équinoxe (Part 5)" by Jean-Michel Jarre was chosen as the musical accompaniment because Antony Crowther thought he recognized a piece by this composer in the music for "Super Locomotive."[4] In fact, the background music for "Super Locomotive" is based on the song "Rydeen" by the Japanese band "Yellow Magic Orchestra".[5]
Theme[edit | edit source]
The following illustration shows the first page of the accompaniment melody in standard musical notation. For creative reuse, the sheet music is also available as a PDF document (File:Loco Theme.pdf) and in ABC musical notation (File:Loco Theme.abc.txt).
Fastloader[edit | edit source]
The cassette version of "Loco" uses an integrated software fast loader, which is automatically activated during loading and speeds up the loading process by approximately a factor of 8. The fastloader simply loads a BASIC program (which in the case of "Loco" consists of a single line containing a SYS command, followed by the game's binary data) into main memory and starts it with RUN. The actual program code is preceded by a 4-byte data structure containing the program's start and end addresses. Thanks to optimized encoding (shorter intervals for 0 and 1 bits, no parity bit, no duplicate storage of program data), loading "Loco" takes less than two minutes, whereas the KERNAL's cassette loading routines would take about a quarter of an hour for a program of this size.
The fastload routines follow the filename directly in the first data block on the cassette and are therefore already in memory when the message "FOUND LOCO BY A.R.C." appears on the screen. Subsequently, only a short data structure is loaded, which overwrites all BASIC vectors with the start address of the fast loader, thus preparing for an autostart of the loading routine. After the program data is loaded, these vectors are first restored, and then the program is started.
The author of the routine made no effort to conceal the operation of the fast loader and thus make it difficult to extract the program from the tape data. If you interrupt the loading process when the screen message "FOUND LOCO BY A.R.C" appears by pressing the RUN/STOP key, disable autostart with the command POKE 909,96, and then manually start the fast loader by entering SYS 849, the complete game will be in main memory (in the address range $0801-$BBFF) after the loading process is finished. You can then list it, start it with RUN, or save it to disk using a routine previously stored in a suitable memory location. For example, if you first execute the following short program before loading "LOCO" as described, the command SYS 679 "LOCO",8,2049,48383+1 will then be sufficient to save a runnable copy of the game to disk (device address 8):
1 FOR N=0 TO 48:READ D:POKE 679+N,D:NEXT:POKE 43,216:POKE 44,2:POKE 56,3:NEW 2 DATA 32,158,173,32,163,182,32,249,253,32,241,183,134,186,32,253,174,32,138 3 DATA 173,32,247,183,132,193,133,194,32,253,174,32,138,173,32,247,183,132,174 4 DATA 133,175,198,1,32,237,245,230,1,96,0
![]() The Loco program code is freely accessible with minimal effort. |
Highscore[edit | edit source]

- Riffislam - 65.650 (01.01.2023)
- Stephan64 - 38.850 (15.07.2022)
- Shakermaker303 - 12.750 (10.01.2026)
Links[edit | edit source]
- C64Games.de - Game No. 106
- Gamebase64.com - Game No. 4416
- Lemon64 - Game No. 1532
- C64.com - Game No. 1337
- ready64 - Game No. 1254

- CSDb - Release No. 133650, CSDb - Release No. 36976
- CSDb
- Loco at MobyGames
- Gamebase64: Game of the week
- Finnish Retro Game Comparison Blog
- Spectrum Computing
- The King of Grabs
- MoeGamer: Atari A to Z
- Universal Videogame List
- Magazine
- Personal Computer Games test report (p. 63)
- Your Sinclair preview (S. 13)
- Your Sinclair test report (p. 63)
- Crash Magazine test report (p. 18)
- Tilt test report (p. 53)

- Tilt test overview (S. 78f.)

Videos[edit | edit source]
Sources[edit | edit source]
- ↑ Retro Gamer 196, p. 44
- ↑ Oswald Reim, Martin Scholer: "Rombachs C64-Spieleführer", Rombach, 1984, page 207
- ↑ Retro Gamer 196, p. 44
- ↑ Retro Gamer 196, p. 44
- ↑ Wikipedia: "Super Locomotive"









