Going back to 8-bit with the Atari 800
Linux Format|October 2021
Les Pounder goes back to a time before E.T. cartridges were buried in the desert and 48KB was considered lots of RAM.
Les Pounder
The first exposure to an 8-bit Atari I had was the 65XE, owned by my mate Scott. Sitting down to play Millipede, we had a thoroughly good time. Atari’s 8-bit range of home computers dominated the US market but in the UK the home computer wars were fought between Sinclair, Amstrad and Commodore.

Released in late 1979, the Atari 800 and other Atari 8-bit machines of the era were originally developed as a second generation of Atari’s popular VCS consoles. But Atari president Ray Kassar wanted to challenge Apple, who had the most popular home computers at the time.

The Atari 800 was marketed as a “timeless computer”, driven by how well it could be expanded. The Atari 800’s MOS 6502 CPU ran at 1.79 MHz (NTSC) and 1.77 MHz (PAL) and had 16KB, later upgraded to 48KB of RAM. Later the 800XL came with 64KB of RAM. Of the 8-bit Ataris of this era, the 800 and 800XL were the premium models, featuring chunky, clunky keys that could withstand the hammering of an eight-year-old gamer. The beige plastic aesthetic screamed typewriter meets Blade Runner, which was a good thing. The 800 had two cartridge slots, one of which is often used for the bundled Atari BASIC cartridge (the 800XL had this built in).

In order to emulate the 800 we chose atari800, available via the Ubuntu repositories. Installation is a breeze. Open a terminal and first update the repositories, before installing the emulator.

$ sudo apt update

$ sudo apt install atari800

To start the emulator, in a terminal type the following.

$ atari800

You will notice that the emulator starts in a self-test mode; this caught us out, but it is a useful tool nonetheless. Pressing F3 (the Select key on an Atari 800XL) switches between the tests. We chose the audio test, then pressed F4 (Start key) to run the test. We were presented with a simple audio test which played a tune similar to that played by Captain Picard in the Star Trek The Next Generation episode ‘The Inner Light’. To stop the test and boot the Atari 800 normally, press F5.

To skip the self-test completely we can start the emulator with an argument:

$ atari800 -basic

The atari800 emulator is full of rich features, but they are a little hidden. To access the menu press F1 and you will see a plethora of options. In the course of this feature the main sections we will use are Disk Management, Cartridge Management, System Settings and Emulator Configuration. Using the arrow keys, navigate down to System Settings and press Enter. Here we can change our Atari model, from the Atari 400 all the way to a 130XE. The best overall compatibility comes from the Atari 800XL. We can also change between a PAL and NTSC video system, not a big thing now, but NTSC machines run a little quicker than their European cousins. Emulator Settings, also found in the main menu, is where we can set our emulator to boot into the BASIC interpreter, run a tape on boot (press F4 and Shift+F5 to load) and also set our machine into Turbo mode. Turbo mode makes the BASIC interpreter a little twitchy so perhaps only use it if you are booting directly into a game.

Intro Atari BASIC

Atari BASIC, released in 1979 and created by Paul Laughton and Kathleen O’Brien, was a little different to other versions of BASIC in this era. It wasn’t based upon Microsoft’s BASIC and it had a few keywords that were specific to Atari BASIC. Originally distributed as an 8KB ROM cartridge, BASIC was soon added as a built-in option for the 600XL and 800XL. There were three releases of Atari BASIC, each fixing bugs and introducing new features.

Revision B was meant to fix all of the bugs in Revision A, including a pesky bug that added 16 bytes to a program every time it was saved and loaded into memory – not ideal when the max RAM was 48KB. All versions of BASIC were provided on cartridge, but some machines, notably the 800XL, XE and XEGS models had it built in.

To determine what version of BASIC we have is pretty simple. In the BASIC interpreter we can type this command to return a value:

PRINT PEEK(43234)

Revision A is 162, Revision B 96 and Revision C 234. It looks like our emulator is running Revision C.

Okay, let’s flex a little BASIC muscle. We’ve done this a few times on many different machines but we start as always with the ol’ 10 PRINT project. Each line of BASIC code for a project will start with a number, 10, 20, 30 and so on. This tells the interpreter the sequence of code; it jumps from one line to the next in ascending order. But why do we do this? Quite simply if we make a mistake and miss out a line of code we can insert another line of CODE without messing up the original code. Let’s do the 10 PRINT project to illustrate this.

10 PRINT “HELLO WORLD”

20 GOTO 10

Continue reading your story on the app

Continue reading your story in the magazine

MORE STORIES FROM LINUX FORMATView All

How To Create Efficient Backups

Backups aren’t just a safety net for Trekkies such as Shashank Sharma, but a way of life. But they can take up quite a lot of space if not done right…

6 mins read
Linux Format
November 2021

Improve Your Shots Using Optical Filters

Mike Bedford looks at the benefits of photographic filters and how to emulate them – but some effects can only be achieved optically.

10+ mins read
Linux Format
November 2021

Build your own custom Ubuntu distro

Why settle for what the existing distributions have to offer? Michael Reed looks at Cubic, a tool for creating your own custom respin based on Ubuntu.

10+ mins read
Linux Format
November 2021

Controlling the Pi's GPIO with Scratch

Les Pounder shows how we can use Scratch with simple electronics.

7 mins read
Linux Format
November 2021

American Truck Simulator

Management is firm: no new pay rises. So they’re terrified that Andy Kelly is planning to retrain as a highly paid truck driver.

5 mins read
Linux Format
November 2021

LINUX WINDOWS

Old rivalries have been forgotten and ancient boundaries blurred. Jonni Bidwell investigates this new Redmond-Penguin harmony.

10+ mins read
Linux Format
November 2021

Network-share files quickly and easily

Nick Peers reveals how to share files over your local network without getting bogged down in networking protocols.

7 mins read
Linux Format
November 2021

Asus Tinker Board 2S

This is the little board that couldn’t, says a disappointed Les Pounder as he tries a board that’s definitely no Raspberry Pi.

3 mins read
Linux Format
November 2021

Pinhole photography with the HQ Camera

Interchangeable lenses enable us to experiment with that historical curiosity, the pinhole camera, Mike Bedford shows you how.

10+ mins read
Linux Format
October 2021

Linux Mint 20.2

Jonni Bidwell is running low on mint metaphors and time, but the promise of some budget mojito mix expedited this review.

6 mins read
Linux Format
October 2021