Classic Basic Games Page

It was a "find". A real, ASR-33 teletype. These units were used originally
by people like Western Union to transmit telegrams. Later they became a
standard computer accessory for cheap input and output. You can see them
in old movies and photographs.

For a budding computer hobbyist, it was the thing to have after you
got your first computer. It had a keyboard, a printer that served for all
output, and even a means of input and storage, a paper tape reader and punch.

The hobby computer revolution started with the MITS 8800, 6-7 years
before the IBM-PC came to being. That fact usually brings yawns until you
note that this was where Microsoft got their start, beginning with a couple
of college drop outs and ending. in amazingly short time all things considered,
with an empire that could purchase outright several small countries.

If you got one, for the steep price of about $1000, and then
put it together, not a small feat, what you got was a big blue box with
lights on the front. If you did your homework correctly, those lights did
the right things, and after carefully reading the manual, and inputting
several byte instructions, painstakingly flipping each bit of the byte,
8 bits, then hitting enter for each byte, you could actually get the machine
to do something sensible with the lights on the front.

The beast was commanded to count on the lights. In binary of course.
Next, a lit bit was walked across each of the front panel lights in turn,
marquee style. Finally, the game "shoot the duck" was entered, which rotated
a light across the row of lights. The object was to hit the switch under
it at just the right time, and turn the light off. Miss and you just created
another light. Get all the lights out, and, well, you ran out of interesting
things to do rapidly.

Of course, using a computer stripped of its essence like this is somewhat
like buying an engine, starting it up on the garage floor and marveling
at it. Obviously more has to happen. In short order, a lot happened. It
soon became known that if you bought a little extra memory, and an I/O
device, and got hold of a thing called a "Basic interpreter" you could
reach the next level in computerdom (and limits on your credit card).

Now, with an ASR-33 clanking away next to the blue box, and that Basic
tape, probably borrowed from a friend, you were ready to sign on.

The teletype stops.

The end of the tape falls on the floor.

The machine hammers out a sign-on. Microsoft Basic 1.2. Ready. Ready
! The machine talks ! Those who were there know. It was time for a beer,
to show the wife, to cheer. That goddam box spoke to me in English. Now
I understand.....

The period of time for Classic Basic, as I define it was short, from
about 1976 to 1980 at the latest[1]. For a brief time, and the last time for
quite a while, home computers were unified in simplicity. You had Basic.
It printed and accepted lines in "teletype mode", which is to say a line
at a time, resembling a typewriter.

Many programs were passed back and forth then, typed in from magazines,
punched in from paper tape, read in from cassette tapes, or from a new,
odd device called a "floppy disk". Passed from hand to hand, copied without
a care, even from the writers of the programs themselves.

And most of them were games.

[1] To be fair, the "golden age" of simple line oriented basic
started in 1964, with the Dartmouth timeshare system, and continued though minicomputer
Basics. In fact, some of the microcomputer Basic games here are recodes of games
running on those systems.

These elementary Basic programs are still perhaps the only collection
of programs that can honestly be said to run on any computer, anywhere.
This property alone makes a museum collection worthwhile.

Original Basic programs from this time are hard to find now, even on
the Internet. The media on which they were kept was either lost, destroyed,
or more likely, simply belonged to an obsolete computer or media type that
was thrown out at the end of its life. The magazines that published them
are gone, interest in them has waned.

Perhaps most destructive of all, when advanced graphics began to become
common on computers such as the Apple, a lot of them were "converted" to
run specifically on those computers. This made the game more interesting
by adding graphics, but was the death warrant to the source, as when that
computer died, so did the specially modified source for it.

Many of the games were reinvented over and over. Lunar Lander had several
versions, later becoming a full graphical game. Artillery was also a popular
graphics game. Many early programs were inspiration for later, more complex
games. The gaming empire that became Quake started as a humble Apple computer
game named "Castle Wolfenstein". And of course, the ultimate irony is that
the Microsoft Basic that ran many of these games started an empire of unimaginable
wealth.

The creative computing library

(volume #1)

After having this site up for a while and getting many letters from
you all (thank you), it became apparent that most of the early games came
from a magazine that used to be published called "Creative Computing".
Further, they had published two volumes of these computer games in book
form.

Now since these are way out of print, this might not have helped me
a couple years back. However, we live in Internet time, and the Internet
has enabled me to find books that I would never have been able to find
formerly. Within days I had a copy of it.

The intent was to scan it in and OCR it (convert it automatically to
computer readable text). Unfortunately, the programs in the book had been
reproduced from listings made on a dot matrix printer, and attempts
to OCR it yielded nothing but garbage. However, I was able to obtain a collection
of the programs in a archive file meant for CP/M users (probally for Microsoft
Basic-80). In this collection I found most
every file accounted for. I also found that the games have been modified
from the original book form. Some of the modifications were useful, such
as printing out instructions for how to play the game, that only appeared
in the original book. Some were not so useful, such as printing control
characters here and there.

Acting as a computer historian, I "unmodified" the games to create the
original games as they appeared in the book.

The Creative computing library serves several important goals for the
purposes of the Classic Basic Games page. First, I can verify that these
games were original from 1978, the time the collection was published. Second,
the original author, David H. Ahl, did research back then as to "who wrote
what" program, research that would be hard to reproduce today. Thus, hopefully,
the programs are titled with the proper authors.

Readers will note that the "More Basic Computer Games", the sequel to
the collection, does not appear here. I have the book, but I have not found
more than a very few of the programs in computer source form. I am still
looking for the games, or a better OCR program to convert the book form to computer
form.

The Creative Computing collection was received from helpful people on
the net, and those sources restored to original condition as referenced
to the original book. Because the collection was restored from modified
sources, it is still possible to find errors or differences from the original
program. These are being corrected as I find them.

I have tried to stay as close to the original, as determined by the
book, as possible. In some cases, this results in errors that were in the
original program being left in. Occasionally, it was necessary to fix errors
in the source because the programs would not even load, such as missing
quotes, which many Basics will not allow. Some of these might have been printing
errors, some may have been original program errors.

After dealing with these programs for quite some time, I decided to wrap
up the various fixes into a "modified" form for GW-Basic and QBasic
use. These are the most popular in-use versions, and QBasic is (unfortunately)
the last Microsoft Basic that can really run these programs.

The list of changes made are in the gqgames.zip folder above, as "changes.txt".
The changes made are more in the nature of "cleanups". They fix tricks
that took advantage of quirks in the original Microsoft Basic. As a result,
the new versions should run on all Microsoft Basic versions, including the original.

There are a few (four at this writing) programs that were still found not
to function, these are listed in the changes.txt file. They simply required
more time and work than I have available at present.

The versions in this library were tried (admittedly not extensively) and
found to work on both GW-Basic and QBasic.

The original creative computer games from the book are in a separate library,
and were kept as much original as I could manage. They'll remain that way for
historical purposes.

Where can I get a basic to run these programs?

What happened to original Microsoft Basic?

All of the programs here are made to run on Microsoft Basic for microcomputers,
so if you want to run them without modification, you are going to need one of
the original versions of Microsoft basic.

The first versions of Microsoft Basic were loaded by paper tape, the Microsoft
4k and 8k (referring to memory size) Basics. Later, Mbasic-80 became the standard
Microsoft Basic running under CP/M. All of these versions can still be run using
CP/M or Altair simulators.

When the IBM-PC came out, Microsoft created BASICA, which was tied to the
early IBM-PC roms, and cannot be run on modern machines, followed by GW-BASIC.

However, this is a non-trivial task for moderate to expert computer users.
The most difficult task is moving the Basic source files to within the simulated
disc.

GW-Basic

GW-BASIC has excellent backward compatibility with the early Microsoft Basic
versions. It behaves as an extended version of those early Basics. Best of all,
it is freely available, and still runs in a DOS box on the most advanced Windows
(XP, Vista) that are available. You can find it right here:

Note that there are still programs in the collection that will not run on
GW-BASIC, see the notes above.

QBasic

The next version of Microsoft Basic was QBASIC, which "replaced"
GW-BASIC. QBASIC is not "exactly" upwards compatible with GW-BASIC,
but apparently it is compatible enough. I have been able to run all of the programs in the collection on QBASIC,
so the difference between GW-BASIC and QBASIC does not affect them, aside from
where I have noted.

Visual Basic

The next version of Microsoft Basic was Visual Basic. Visual Basic is not
compatible with GW-Basic nor QBASIC. It really isn't a traditional basic at
all. You will not be able to run these programs on Visual Basic without extreme
modification, very likely a complete rewrite.

How about other Basics?

There are lots of other
Basic implementations floating around the network, but you are going to find
that compatibility between different Basics was never a strong suit of the language.

I am sure there is a Basic out there that is compatible with the original
microcomputer Basics. Unfortunately, that would take some work to find such
a Basic. My searches on the Internet have mainly turned up a series of Basics
implementations that are more interested in adding graphics or objects to Basic
than in backward compatibility. This is one (of the many reasons) I don't personally
program in Basic anymore.

If you want to find such a Basic, I recommend you search for one that advertises
good compatability with GW-BASIC or QBASIC.

By the way, I tried BASCOM, which is a companion compiler to GW-BASIC, but
it failed on many or most of the programs here.

How this page got started

How did I get started collecting these programs ? Well......

I write programming language interpreters and compilers for fun. The
first language processors I wrote, a compiler and an interpreter, were
written for Basic, back when most of my code was written in assembly language.
Because of the simplicity of Basic, it is usually possible to write a "tiny
Basic", a stripped down version of Basic, in a day or so. Writing such
a Basic in various languages has been a pastime for me, and is an important
benchmark of a new language for me (perhaps the subject of another web
page).

Because the machines that ran my earlier Basics became obsolete, I decided
that I wished to have a Basic implementation written in my chosen high
level language, Pascal, and slowly grew a Basic implementation in my spare
time from a tiny basic in the 1980s to the very not-so-tiny IP Basic today (this
is a large Basic interpreter that I work on from time to time. It is not finished
nor avialable).

I needed some test material to verify that it worked correctly. Well,
Basics vary a lot, especially in the details of graphics and sound, so
what I needed were some very simple programs that did not do any advanced
I/O. It occurred to me that the old basic programs I used to play with
when I first started using a computer 20 odd years ago were perfect for
that purpose, and so I set out to find some.

After having a great difficulty finding more than a sparse few, it occurred
to me that finding these programs would be a lot easier if I placed the
results of my search up for general viewing and download, sort of a "stone
soup" idea that would get programs to come to me. In typical Internet fashion,
this has worked pretty well.

The "real" Sam the computer man

So did I in fact start programming in the garage with an 8800 and a
teletype ? Weeeellllllll........

The famous article in Popular Electronics about the Mits 8800 appeared
just before I graduated high school in Los Angeles. I read it backwards
and forwards, it did not have a lot of information. I later realized that
some of the information was wrong, and still later it came out that the
computer in the article was a fake, a mockup, even though the 8800 was
later a real product.

The truth is that in 1975, getting into computers was a several thousand
dollar proposition, and I simply could not afford it. Instead, I learned
the basics (pun intended) of computers at the disk drive maker Micropolis.
I liked it so much, and still could not afford a "real" computer, that
I did what a few hardy (or perhaps insane) people did, and cobbled up an
S-100 system from a combination of kits, my own designed boards, scrounged
parts and jury rigs. In fact, until 1987, I never owned a computer that
was not a collection of parts that I designed or made, including the operating
system. On the other hand, because I worked for a disk drive maker, I never
really used paper tape or cassette tape extensively, so I missed the "joys"
of having to start up my computer that way.

Later, I did in fact get an 8800 and an ASR-33 teletype, in the early
1980's. By then they were being sold cheap. I finally had the system everyone
started the whole thing with. The ASR-33 was a little to big to keep around,
but I still have the 8800. I hear they are valuable now, but to me, having
one sitting up there on the shelf is priceless.

In 1987 I got tired of being incompatible with everyone else, and put
together a PC, yes, again from parts. In fact, aside from the two notebook
computers I own, I have never purchased a preassembled computer, because
all I do is upgrade parts of my existing ones. I have three computers in
various parts of the house used by various members of the family, making
five in total, with an 8 address TCP/IP lan running the whole show.