Ceci est une ancienne révision du document !
We interrupt our regularly scheduled programming (Linux Help) this month, for a related topic, troubleshooting, as applied to a retrogaming issue. Help will be back in earnest next month.
The Atari 800
Back in the day (the 80’s), I really wanted an Atari 800, but they were far more expensive than I could afford. The Atari 800 was a quite capable 8-bit computer, which was a huge draw, but it was also an excellent game console (an even bigger draw for me, personally). Atari had licensed versions of most of the great arcade hits from the 8-bit arcade era, like Space Invaders, Galaxian, Pac-Man, Defender, Asteroids, Ms. Pac-Man, Missile Command, Joust, Dig Dug, Centipede, Donkey Kong, and Donkey Kong Jr. I don’t think any other console or home computer had all of those.
I now have an Atari 65 XE, which is compatible with all those games, and I have all those cartridges for it. It’s always had problems with the first joystick port, and they have steadily worsened until it is now unplayable. So I thought emulation might be a good choice to allow me to keep playing the Atari 800 titles.
I downloaded a ROM image for Ms. Pac-Man, since I do own the cartridge, and went looking for an Atari 800 emulator for Linux. Lo and behold, there was one, ‘Atari800’, in Synaptic Package Manager, so I installed.
But after installation, there was nothing on Atari 800 in the Dash. Searching for ‘atari800’ turned up a Debian package. Running it took me to the Ubuntu store, where it appeared to not actually be installed, despite Synaptic Package Manager’s success message, so I installed again.
What's the deal?
Then, it occurred to me, this software might have been old enough to have no GUI (Graphical User Interface), therefore having to be run from the command-line. I opened a Terminal, typed in atari800 and hit <Enter>. Sure enough, I was greeted by a small window with a command-line Atari operating system prompt. But, no menus. How do we run a program, in this specific case, a game cartridge?
Function Key Roulette
Many times, programs like this use function keys to control various operations. Without any GUI or menu options, I tried the function keys, hoping to get a response. Sure enough, F1 brings up a number of options for the emulator. Fortunately, it also lists most of the other function key commands (like F9 to exit – that should be handy to know).
How to Write a Configuration File
After making a number of changes, particularly to screen resolution to run in Full Screen mode, I exited the program and restarted it. But it still started up in a small window. Looking in the Home directory via File Manager, I found a file called .atari800.cfg. The first period signifies to Linux that it is a hidden file, so you have to turn on the option in the File Manager to show hidden files, in order to see it. Click the second button in the upper right corner of File Manager, between the magnifying glass and ‘hamburger menu’ icons, then click Show Hidden Files.
This is a very common situation for Linux application configuration files (that may or may not be named with a .cfg extension, it just depends), they are often hidden files in the Home directory, or in a hidden directory (also starting with a ‘.’ character) for the application (for example, the .dosbox folder).
You can usually open a configuration file by right clicking it in File Manager and tell it to Open With Text Editor. You can then read the file’s contents and try to figure out what changes to make.
Most configuration files have a number of non-executed comment lines, starting with a ‘#’ character, providing details on what options are available and what each line means or does, but this one does not. Most of the lines, though, are pretty self-explanatory. I tried to save the manually made changes to the CFG file found in the Home directory, but could not. What was the problem? Eureka! An epiphany struck. The problem is I don’t have permissions as a normal user to write to the CFG file in Home.
SUDO
The simple solution is to run a session of ‘atari800’ as SUDO, or ‘Super User DO’. I also guessed, correctly as it turned out, that the command for atari800 needed an ‘argument’ at the end, specifying the location and file name for the ROM I wanted it to load. I had already created an Atari800 directory in Home, with a ‘roms’ subdirectory containing the mspacman.bin file. So, this time, I ran the command-line:
sudo atari800 ~/Atari800/roms/mspacman.bin
Remember from Everyday Ubuntu in FCM#137, the ~ character is an abbreviation for the Home directory. Now, after the password for the Super User has been entered, we can get into the configuration options inside ‘atari800’, rather than manually updating the CFG file, and tell it to save the configuration changes upon exiting the program. NOW it will save our updated video configuration options to give a full-sized screen instead of running in a tiny window, and will default to that even if we don’t use the ‘sudo’ option in future. Go to Display Settings, Video Mode Settings, and set Full Screen to Yes (use Enter to cycle through options). Also go to Emulator Configuration – Save Configuration on Exit, and change it to Yes. After you finish running the program (press F9 to exit), it will save that video setting automatically for future sessions. Problem solved!
Next month: Getting Even More Help in Linux (or Even More Getting Help in Linux, I suppose). This time, for real.