Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

Return to Part 1: Dumpster Diving

Continued from Part 46: Bursting Bubbles

So far the oldest game binary I have launched has been the original Linux port of Doom, after reading an article by Jason Heiss outlining how to launch legacy a.out executables on later Red Hat Linux versions. This brought me back to 1994, both the year I was born and the year that the Linux kernel reached its milestone 1.0 release. Linux as a project however dates back to 1991, first announced by Linus Torvalds on the comp.os.minix newsgroup my father also frequented at the time.

Browsing an old SunSITE archive I came across the jetpack-linux.tar.z tarball, which contained an unusual X11 game built and packaged in June 1993. Jetpack itself was first released by Mark Bradley in 1992 under a restrictive source licence requiring his written consent to any changes, contributing to its obscurity. Getting the game to start was even more complicated than it was for the X11 build of Doom, although both are a.out executables demanding an X server running at 8-bit colours.

After extracting the game files to the paths specified in the tarball, I discovered that I also needed to create symbolic links of the libX11.so.3 and libc.so.4 libraries in the top-level directory of my file system. From there I found that Jetpack would only launch from the Failsafe session accessible in the display manager, as even a window manager as basic as Blackbox would cause the game to fail with an "X Error of failed request: BadAccess (attempt to access private resource denied)" warning.

As with many other X11 games the default control scheme is odd, but Jetpack is even weirder than most by demanding the use of a three button mouse; there are keybinds for moving your character left or right, but to fire the titular jetpack you must press the middle mouse button. As such it becomes easier to just control the entire game using the mouse, which is cumbersome at first but does somewhat succeed at imitating how the game would feel if it were played with a joystick.

Similar to Xkobo the game features simple but attractive graphics, smooth scrolling, and a strong arcade premise. You begin each level at a set of doors and must find a key to unlock them to reach the next level, with the game awarding you a bonus if you return fast enough. Text will berate you severely for not completing a stage in time, which can be rather aggravating given most of the level layouts and item drops are randomly generated. Even the praise feels hollow if it is down to just luck.

There is one pre-defined "DEMO" level that functions as a tutorial of sorts, but getting this to load requires knowing how the game was configured at compilation. There are no sound effects, but considering that OSS support was not even merged into the Linux kernel until 1994, this can be very much excused. Perhaps due to limitations such as these Mark Bradley would soon shift his focus to Mac OS, releasing an expanded shareware version of Jetpack for Macintosh not long after.

The Mac OS version has twenty five levels and does have music and sound effects. I was able to extract the WAV files using the resource_dasm utility, with the music consisting of short repeating loops. These I cut into roughly one minute tracks, apart from the menu music which I kept at thirty seconds, which I then made work with a modified version of my MIDI scripts using the play command from SoX instead. I also got the X cursor to change to the "shuttle" theme for added flare.

The only UNIX flavour I have found still packaging Jetpack is NetBSD, which still has the original jetpack.tar.Z source tarball backed up through pkgsrc. Using this I was able to build an ELF binary after passing "-L/usr/X11/lib" on the "XONLYLIB" line of the generated Makefile, which also allowed me to change where it looks for the score and level files to be in the same directory as the executable; levels are easy to parse text files, which when renamed to jetpack.lev001 will take the first slot.

Beyond being built for ELF the game still has all of the same limitations as the old a.out binaries, but it will at least attempt to start on modern versions of Linux now. Supplying the 8-bit colour depth it demands can be realized through a nested Xephyr session, allowing me to further modify my launch script to even have the game be playable on my current Arch Linux machine; Jetpack refused to build from there, but the ELF binary I made on Red Hat Linux 7.3 works just fine.

In a lot of ways this is more convenient as the mouse focus can be grabbed by the Xephyr window, and I no longer need to fall back to to a Failsafe session or modify my XF86Config-4 file each time I want to play. I am not even breaking Mark Bradley's restrictive licence in order to do this, as I did not modify any of the source code, just a few of the paths specified in the Makefile. I somehow seem to have gotten stuck in this particular time period, as the next game I played also dates to 1993.

Carrying on in Part 48: Byzantine Labyrinthine

Return to Part 1: Dumpster Diving

Article taken from GamingOnLinux.com.
7 Likes
About the author -
author picture
Hamish Paul Wilson is a free software developer, game critic, amateur writer, cattle rancher, shepherd, and beekeeper living in rural Alberta, Canada. He is an advocate of both DRM free native Linux gaming and the free software movement alongside his other causes, and further information can be found at his icculus.org homepage where he lists everything he is currently involved in: http://icculus.org/~hamish
See more from me
You can also find comments for this article on social media: Mastodon
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
2 comments Subscribe

Ehvis 13 hours ago
  • Supporter Plus
This brings me back to the first time I ever installed Linux. Probably around 1993 since the idea of Doom on Linux was definitely not a thing. No distro, just a 3.5" boot disk image and a 30-40 MB .tar.gz file and a text instruction on how to get it all on a booting partition. Linux improved really quickly in the years ahead. Never heard of Jetpack though.
Hamish 5 hours ago
Further links and resources can be found on the official website:
https://icculus.org/~hamish/retro/part47.html
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register