BEING
A
HISTORY
OF
TWO
BIRTHS
"COLEEN"
AND
"CANDY"
I don't know exactly when the concept of the Atari Computer was developed
within the corporate mind of Atari, Inc., nor do I know all of the people
responsible for nursing that concept into reality. The following history
covers the relationship with Atari, Inc., during the evolution of the system
software.
Sometime in early 1978, when the Atari 800
and 400 were still called “Coleen” and “Candy” and were still in the breadboard
stages, Atari bought a copy of the source for Microsoft 8K BASIC. This
version of BASIC was fundamentally the same product that was implemented
by Commodore in the early PETs, was used by OSI, and was a close ancestor
of Applesoft. Six months and many, many Atari man-hours later, that 8K
BASIC was almost functioning properly on the Atari prototypes. But buying
source for a program buys you just that: source. Generally, you also receive
little documentation, sometimes obscure code, no guide to modification,
and no real support. What to do? The products were due to be shown in early
January, 1979, at the Consumer Electronics Show (CES) in Las Vegas, Nevada.
Enter Shepardson Microsystems, Inc. (SMI),
my employer at that time. Though little known by the microcomputer public,
SMI had already produced some very successful, private labeled microcomputer
software. Among our better-known efforts were the original Apple DOS, Cromemco
16K Extended BASIC, and Cromemco 32K Structured BASIC (just being completed
at that time). Also, we had done some work for Atari on a custom game processor.
(Which used a 12-bit ROM and 5-bit RAM configuration and was well received
at Atari, hut never produced.)
Coincidentally, about that same time SMI had
also purchased source for Microsoft 6502 BASIC. After producing Apple’s
DOS, we had the bright idea of mating the Apple II peripheral bus with
the KIM/SYM/AIM system bus (and it still seems like a good idea to us,
but ...). The idea was to provide a disk system (Apple’s) to the Single
Board Computer market. Needing a BASIC to sell with the system, we plunked
down a few grand and purchased Microsoft’s. Though it looked to us like
it would be difficult to modify, we were intending to resell it with a
minimum of changes, so it seemed appropriate.
A New BASIC?
Re-enter Atari, some time in the late summer of 1978, asking if SMI
could help them. With Microsoft BASIC? Well ... we really didn’t want to,
but ... Could we propose a new BASIC? We talked. And had meetings, and
a study contract, and more meetings, and finally we wrote a specification
for a 10K, ROM-based BASIC. (I still have a copy of that spec, and it’s
amazing how little the final version deviated from that original.)
Of course, in the middle of all these discussions,
Atari naturally divulged how their (truly superb) ROM-based Operating System
would interface both with BASIC and with various devices. Somewhere in
here, my memory of the sequence of events and discussions becomes a little
unclear, but suffice it to say that we found ourselves making a bid on
producing not only a BASIC for Atari, hut also the File Manager (disk device
driver) which would change Atari OS to Atari DOS.
Sometime in late September, 1978, the final
proposal was made to Atari, and it was accepted by them shortly thereafter.
In mid-October, 1978, we received the go-ahead. The project leader was
Paul Laughton, author of Apple DOS. The bulk of the work ended up being
done by Paul and Kathleen O’Brien. Though I was still involved in the finishing
touches on Cromemco BASIC, I take credit for designing the floating point
scheme used in Atari BASIC. Paul Krasno implemented the math library routines
following guidelines supplied to us by Fred Ruckdeschel (author of the
acclaimed text, BASIC Scientific Subroutines). And, of course, much credit
must go to Mike Peters, our combination keypuncher/computer operator/junior
programmer/troubleshooter.
Since we obviously couldn’t have the Atari
machines to work on (they hadn’t been built yet), the first step was to
bring up an emulator for Atari’s CIO (“Central Input-Output,” the true
heart of Atari’s OS) on our Apple II systems. With Paul Laughton leading
the way (and doing a lion’s share of the work), the pieces fell together
quickly. “Little” things had to be overcome: the cross-assembler was modified
to handle the syntax table pseudo-ops, the 256-byte Apple disk sectors
had to be made to look like 128-byte Atari sectors, the BASIC interpreter
seemed to function, but was waiting for the floating point routines. And
there are funny things to tell of, also. Like our cross-assembler, running
on an IMP-16P (a 1973 vintage, 16-bit, bit-sliced PMOS microprocessor)
that used keypunched cards for input, a floppy disk (with no DOS) as temporary
storage, and a paper tape punch as output.
Somehow, Kathleen and Paul guided the two programs unerringly toward completion. On December 28, 1978, Atari’s purchasing department at last delivered a signed copy of the final purchase order. It called for delivery of both products by April 6, 1979. There was a clause which provided for a $1,000 per week incentive (if we finished early) and penalty (if we finished late). What is especially humorous about that December 28th date is that the first working versions of both BASIC and FMS had already been delivered to Atari over a week before! That is fast work.
Fortunately, then, Atari took their new Atari BASIC to CES. Unfortunately, there was a limit on the amount of incentive money collectible. Oh, well.
In the months that followed, SMI fixed bugs, proofread manuals, and worked on other projects (including the Atari Assembler/Editor, which was mostly Kathleen’s effort). The nastiest bugs in BASIC were fixed by December, 1979, but it was too late: Atari had already ordered tens of thousands of BASIC ROMs. The FMS bugs were easier to get fixed, since DOS is distributed on disk.
In mid-1980, Paul Laughton once again tore into FMS. This time, he modified it to handle the ill-fated 815 double-density disk drive and added “burst I/O” (and there will be much more about both these subjects in the technical discussion that follows).
In late 1980, and early 1981, Bob Shepardson, owner of Shepardson Microsystems, Inc., decided that the pain and trouble of having employees wasn’t justified by the amount of extra income (if any) that he derived. Though we still occasionally function in a loose, cooperative arrangement, the halcyon days of SMI seem to be over.
A New Beginning
I negotiated with Bob Shepardson for his rights to the Atari products
(FMS, BASIC, and the Assembler/Editor) and their Apple II counterparts.
Thankfully, Atari had purchased from SMI only a non-exclusive right to
distribute these products. SMI had retained the rights to license other
users on a similar non-exclusive basis (and, indeed, SMI sold a version
for the Apple II during most of 1980).
So now it was frantic time again: this was
February 25, 1981, and the West Coast Computer Faire was April 3rd. But
our brand new company, Optimized Systems Software, arrived on time, bringing
with it BASIC A +, OS/A + and EASMD. All three were enhanced, disk-based
versions of the original Atari programs (and, in fact, derived some of
their enhancements from the previous OSS Apple II products).
The products have been well received by the
Atari user community, in part due to the fact that they are truly compatible,
yet enhanced, versions of standard Atari software.
Why This Book?
The decision to publish these listings was not an easy one to make;
and it is, in its own way, an historic occasion. After all, have you ever
seen anyone offering source or listings of CP/M, the most popular of all
computer operating systems? Since Atari, to their credit, has honored the
original agreement with SMI and not released either source or listings
without permission, the responsibility for doing SO seemed to rest with
OSS.
But Atari has set a powerful precedent by
publishing the listings of DUP (their portion of DOS 2.0S) and the OS ROMs.
The clamor from Atari users for the source for FMS finally even reached
us, so we have bowed to the inevitable, and honored the same commitment
that Atari has made: to release as much information and aid as possible
to the user community.
We hope that the users will appreciate these
efforts and, in turn, respect our rights and Copyrights. As long as there
is a mutual respect and benefit, you, the user, can expect continued support.
About This Book
With the release of this book, the dedicated Atari enthusiast can examine
all the inner workings of Atari DOS and modify his (or her) system to his
heart’s delight. Rather than simply publish listings, we have chosen also
to provide a complete guide to the workings of FMS.
Although the listing itself is relatively
clear and commented, all but the most expert would have trouble plowing
through some of the tortuous logic necessary in such a program. The guide
included here describes all aspects of the FMS, including the external
view, the charts and tables, the various interfaces, and (in copious detail)
the functions of the individual subroutines (including complete entry and
exit parameters).
There is much of value here even for the person
who never intends to modify Atari DOS. We feel that FMS is a fairly well-structured,
relatively sophisticated, system level assembly language program. We hope
that most users will gain by the insights presented here.
We would welcome any notes you would care
to send pointing out errors either in the DOS or in this book.
Bill Wilkinson
Optimized Systems Software
Cupertino, California
February, 1982
Return to Table of Contents | Previous Chapter | Next Chapter