Monday, August 31, 2009

How-To: Play DOS Games On Your Nokia N97 [DOSBox]

Run some of the greatest DOS games on your Nokia N97!

Run some of the greatest DOS games on your Nokia N97!

Before there was Windows, there was DOS. A command-line interface with nothing but text, text, and more text. During the ’80s and ’90s, DOS was the OS of choice for gaming. And there were lots of great games.

Flash-forward to today. Thanks to an open-source emulator called DOSBox, you can now run those oldies-but-goodies on your Nokia N97 (or 5800XM, or any other S60 3rd or 5th Edition phone, for that matter). This how-to will get you started installing and running games with DOSBox.

Let’s begin!

The Setup

You’ll need the following:

- DOSBox. Latest version as of this writing: 2009-06-23.
- Custom dosbox.conf and premapper.txt files. Dosbox.conf is a config file, and premapper is a key map file. I’ve zipped them both up for your enjoyment. More on this later.
- DOSBox Binary Dependencies. Required to run the program. Click the “Binary Dependencies” box to show the link.

Installation

1. Copy the following files to your N97, in any folder of your choosing. Do not install yet.

- glib.SIS (from Binary Dependencies zip file)
- pips_nokia_1_3_SS.sis (Binary Dependencies)
- SDL-1.2.13-s60-2.3.4_armv5.sisx (Binary Dependencies)
- ssl.SIS (Binary Dependencies)
- stdcpp.SIS (Binary Dependencies)
- stdioserver_s60_1_3_SS.SIS: this may refuse to install. If it doesn’t install, skip this file. (from Binary Dependencies zip file)

- full3/dosbox.sisx: note that this is the full version dosbox, not the slim one. The slim one is for crappier phones. It should be located in the full3 folder in the dosbox zip file.

2. On your E: (Mass Memory) drive, check to see that you have a Data folder. If not, create it. Also, create a Games folder. You can choose to copy games to this folder now or later.

3. Copy the following files to the Data folder in Step 2.

- dosbox.conf
- premapper.txt

4. Install all binary dependencies files first (i.e. the first six files in Step 1). These should install without any prompts.

5. Install dosbox.sisx. I installed it on my Mass Memory drive, but I doubt having it on the phone memory would make any difference.

6. Run DOSBox. If you’ve done everything correctly, you should see something that looks like this (my directory already has games in it, so it’ll probably be different):

DOSBox: Your screen should look similar to this.

Congratulations, you’re done with the first (major) part. You can safely type “exit” to quit.

Key Mapping

Before you go digging around DOSBox, you might want to read a little bit about key mapping, and which buttons do what:

I’ve included my default key map file (premapper.txt). Basically all of the letter keys should function properly, both lowercase and uppercase. The Function key (blue diagonal arrow) does nothing. However, the Sym key is extremely important – it toggles between the normal/letter mode and number/special character mode:

Press Sym to toggle number/special mode, and press it again to return to letter mode. In number mode, the following keys are different:

- The top row of keys will default to their correct number (ie Q will be 1, W will be 2, and P will be 0).
- The Backspace key is now an ESC/escape key. You might need this in certain games to quit.
- The S key is a / or forward slash key.
- The D key is a – or dash key.
- The arrow keys move the mouse cursor, instead of acting as arrow keys.
- The 5-way directional key (the key inside the arrow keys) functions as a left click.
- The Space Bar functions as a right click.
- The H, J, and K buttons are Home, Up, and Page Up, respectively.
- The B, N, and M buttons are Left, Down, and Right, respectively.

I’m still messing around with key mappings, so check back for updated versions. Next thing I’d like to add is a left click on touch in number mode.

Adding Games, Running DOSBox, and Navigating DOS

Next, you’ll need to find some old DOS games. There’s a lot of sites that host this stuff – simply Google “Abandonware” or “dos games” and you should come up with quite a few. Once you’ve gotten hold of some games, copy them to your E:\Games directory. It’s best to create directories for each game, since each game could have tons of little files, and you don’t want to drop everything into one directory.

Now load up DOSBox again. You should see some commands that were automatically entered (see Configuration and Key Mapping section for more), and a listing of the current directory. For now, here’s the basic commands necessary to navigate through DOS: (be sure to enter the command and then hit the enter key afterwards)

cd – switches to the directory you specify in . Without the <> of course.
cd.. – go back to the previous directory
dir – displays a list of files in the current directory
dir .exe or dir .bat – displays a list of files with the exe or bat extension. Works with any other extension also.
– run a file. Only works on executable files such as .exe, .bat, and .com.
exit – quit DOSBox.

Let’s go through an example. I’ve copied a game called “dune” to my Games folder.

C:/> cd dune

This switches to the “dune” directory.

C:\DUNE> dir .exe

This displays all of the executable files in the dune directory. Running the command on my N97, I see that there’s a DUNE2.EXE file. This should be the main executable file.

C:\DUNE> dune2

This runs the executable and loads the game. You don’t need to add the extension.

Not too bad, right? And if you need some game suggestions, here’s a couple that I’ve tried:

- Dune 2 (one of the first RTS games made, a little slow but very playable and still a lot of fun)
- Commander Keen (excellent classic side-scroller game)
- Dark Sun (oldschool RPG, slow but playable)
- Civilization (the original that started it all)

Configuration

DOSBox includes a dosbox.conf configuration file that you can use to change the options. I’ve made the following changes to the dosbox.conf:

- devicescreenwidth and devicescreenheight is set to match the N97 (640×360)
- mouse sensitivity is 500
- cycles = 3000 (default is 800)
- all sound (pc speaker and sound blaster sound effects) have been turned off to increase frame rate
- upon loading, DOSBox will automatically mount the E:\games drive, read the premapper.txt file in E:\data, go to the E:\games directory, and display all files in that directory

Feel free to change any or all of the above settings to whatever you’d like.

Things to Remember

- E:\games is the default games directory. You can change this in the dosbox.conf file.
- E:\data is the default data directory. Make sure you put the dosbox.conf and premapper.txt files here.
- The config file is set to automatically open up the E:\games folder and display the contents.
- Sound will kill your FPS.
- Changing your s60scale variable will too.

Other Stuff

- You can also apply the same steps to the Nokia 5800 XpressMusic. However, since the 5800XM has no physical keyboard, you’ll have to use a virtual keyboard – read the help files included with DOSBox for more info on this. I don’t have a 5800XM any more, so I can’t test this.
- If you’d like to install DOSBox for other platforms (like Windows or OS X), check out the official DOSBox page.

Credits

Well, for the most part the above was figured out by me. Credits, however, do go out to a user named Lorenzo over at the Sourceforge page, who provided a custom key map that I used as a base for my own mapping. And major props to kljc for porting DOSBox to the S60 Fifth Edition platform – if you like what he’s doing, consider donating to the DOSBox project.

4 comments:

FragTastic said...

Thanks for this great tut. :)

The middle file is missing from the files section. The one that contains the dosbox.conf and premapper.txt. Could you please re-upload this or re-link it as necessary

Thanks again for helping me get more out of my N97. Finally some 3d games beyond quake\doom\wolf3d :)
Cant wait to get the missing piece

Esa said...

I just can´t open my dosbox on my n95! I´ve tried several times to uninstall and install it again but the problem won´t go away! When I´m trying to open it my n95´s screen flips sideways and after a while goesw back to normal position. Can You help? Dosbox should work on my n95 shouldn´t it?

Anonymous said...

I tried this. I am playing warcraft on my N79. Dosbox lags Little sound. Game speed is ok

Anonymous said...

man you made my day.. I downloaded the whole thing from its official site and made it to work but i wasn't able to do anything rather typing exit ( which i figured out myself expecting to work like command prompt). I only saw a black screen with some white letters on it :P
but with your article i was able to understand how to make it work and play some game. I wasn't able to type ':' so that i can mount c: but with your files i got to know that i don't need to.. Thanks a lot man.. You owe me one