2004 year. Installing DOOM on the Japanese handheld Sharp Zaurus SL-C1000

Short description

The article is about deploying the Linux operating system on a 20-year-old handheld PDA called Sharp Zaurus SL-C1000 and installing and running DOOM, a famous game, on it. The author highlights the device’s unique characteristics, which include a 416 MHz ARM Intel PXA250 CPU, 64MB RAM, a VGA screen with a resolution of 640×480 pixels, built-in hardware qwerty keyboard, and two slots for expansion cards. The author also discusses how they searched and installed the operating system, installed and configured the DOOM port from the repository, and installed the maps (WAD) for the game. The article also briefly talks about trying to run Quake on the PDA as well.

2004 year. Installing DOOM on the Japanese handheld Sharp Zaurus SL-C1000

Hello, dear friends!

Recently, I got my hands on a small dinosaur… but about everything in order.

DOOM! What can be added to this? Doom, Rock, Fate. When the name of the game is mentioned, the unforgettable roar of monsters, crazy dynamic music, one-eyed Cacodemon and the time when it all began are remembered. Why is there a challenge to run it on anything that more or less has a CPU, RAM and display?

In this article, we will try to systematize knowledge on the issue of deploying the Linux operating system on a 20-year-old handheld and, taking up the challenge that a device capable of running DOOM should be installed for a reason, and at the end of the article – a demonstration and launch of an equally famous game. guessed which one? :))

The first of my computers capable of pulling said game was based on an i386sx processor, without a math coprocessor. Yes, DOOM started on it, but in order to play it smoothly, you had to use the “+” and “-” buttons to decrease/increase the size of the window. It’s 2023 outside, and the screen is also small, because we’re running DOOM on a PDA.

The purpose of the article is to describe the performance of a number of actions:

  • A brief overview of the PDA;
  • Search and installation (deployment) of the operating system;
  • Installing and configuring the DOOM port from the repository;
  • Installation of cards (WAD);
  • Checking the functionality of the game;
  • Easter

A brief overview of the PDA

So, the dinosaur is called a PDA (Personal Mobile Tool), as the manufacturer positioned it. Dinosaur – because the Zaurus part of compound words like “tyrannosaurus”, “brontosaurus”, and even simply “dinosaur” contain “saurus”. I got Sharpik the dinosaur without an installed operating system and software.

When folded, it looks like this:

By the standards of 20 years ago, it is quite an interesting device. The model is called Sharp Zaurus SL-C1000, a qwerty palm-top device with the following characteristics:

  • CPU: ARM Intel PXA250 with a clock frequency of 416 MHz
  • RAM: 64Mb
  • VGA screen, size 3.7″, with a resolution of 640×480 pixels
  • Slots for expansion cards – 2, Compact Flash and SD formats
  • Built-in hardware qwerty keyboard

Keyboard. Oh, it is worth any admiration, separate buttons, amazing tactile sensations. You get used to the layout and modifiers very quickly and continue to use it with comfort, which I have not experienced on any excellent qwerty device (imho, neither Blackberry, nor Nokia n900, nor Nokia e90). I have used these devices for several years, so there is something to compare them with (if the comparison of handheld devices with communicators is correct at all), but I do not insist on anything, convenience is a subjective and individual thing.

Search and install the operating system

Hardware without software is dead, so the next important point is the choice of operating system (OS). There is a choice, it is Gentoo, pdaXrom, Cacko Linux and OpenBSD 5 and a number of other software products of the Free Software Foundation.

The main difficulty in finding the OS was that many of the links that were found were years old. However, everything was not so bad. I managed to come across a link to the BACKUP of the saurus flash memory, which contained a clean image of the operating system installed by the manufacturer during the sale of the handheld.

The backup is available at the link.

The found operating system image was unzipped and written to the root of the CF card. Next, the CF card is inserted into the handheld. Then the battery was removed from the device, and by pressing the two buttons D and M, it was installed back. A diagnostic menu appeared on the screen, in which the RESTORE item was found and selected.

After selecting this item and a successful recovery procedure, which took about 3 minutes, the operating system began to load. As the boot progressed, you were prompted to stop loading the console or continue loading the GUI. A command line is enough for us to install the software. We don’t need a graphical interface yet.

The download was crowned with an invitation to the command line, and first of all we need to determine in which environment we found ourselves. The # (sharp) character in the prompt means that the shell has root privileges. According to the uname -a command, it was found that we have Linux Zaurus OS with kernel version 2.4.20 under the arm architecture. The operating system is installed (not a very precise definition, rather deployed, because I restored the image from a previously saved backup). Let’s move on to the next step – installing the DOOM clone.

Installing and configuring the DOOM port from the repository

As a result of DOOM’s search for a suitable installation, a working repository appeared, which was downloaded entirely to local storage, and then, with the help of a card reader, written to a CF card.

The configuration files we are interested in look like this:

The files have the extension .ipk. In addition to the files containing the doom root in the estate, a port of prboom was discovered. We will install the prboom port.

Installation is performed by running the following command


After installing the prboom port and trying to run the executable, the miracle didn’t happen. A number of dependencies were missing, including the libSDL libraries marked in the photo. In the end, after digging through the forums, I found these libraries.

All required libraries were successfully installed by the ipkg-install libSDL* command.
I note that the entire installation was carried out on behalf of the privileged user – root.

Installation of cards (WAD)

So, we have installed the game engine and after its installation it is necessary to install the maps (locations where we will run). Maps for the game DOOM have the WAD extension. You can use different original and custom maps, in general, any. I keep DOOM ports for different operating systems together with maps on a separate flash drive with Kakodemon so as not to lose them.

The cards must be placed in a certain place so that prboom can detect them.

After all these manipulations, the game (hurray) started in portrait, not full-screen mode (in a window and rotated by 90 degrees). Install as I would like, so I went to look for a configuration file with settings. The file was detected by:

After experimenting with the screen resolution and changing the value to 640×480, in places:

We see the desired result:



Well, of course, where there is DOOM, there is also QUAKE, which is interesting, there are settings for network functions, I want to try network multiplayer. Zavryk as a server?)) But this is another of the future experiments.

General appearance:

Network settings menu:


In conclusion, I would like to note that the installation was successful and did not differ in complexity, with the exception of searching for software and struggling with libraries. The game starts and runs without any slowdown, does not hang and does not cause trouble.

Thanks for your time, I hope it was interesting.

PS In my rank report card, one of the most sophisticated implementations of fantasy flight is the launch of Quake on an oscilloscope. The oscilloscope is, of course, with a CRT, but this is, of course, aerobatics, which should be striven for. If you see an expressive tutorial, please let me know.

Related posts