Hello Atarians everywhere,
Some time ago I received an email from Paul Rixon
asking me as a former contributor to New Atari User to write a profile
of myself and my Atari days. Well it’s taken a while but here it is and
here’s hoping I am remembered on the Atari scene.
My life in the world of Atari 8-bits began one
Saturday in January 1986 when I visited my local branch of Dixons and
saw loads of Atari 800XL packages being sold off at £80 each. Purchasing
one of the packages seemed to be a good idea if only because I had never
pressed a key on a computer before and so a whole new world of computers
was about to open up for me but little did I know how addictive my Atari
was to become. That evening after setting up my new Atari, I tried a
couple of the games supplied but couldn’t really get interested in them,
I was never the type to be attracted by games machines with all the
flashing lights and funny noises. In the manual supplied (remember those
so called manuals?), I found a couple of little type-in listings, one of
which was called “Thunder” if I remember correctly and so it wasn’t
really surprising to be greeted with a roar every time I pressed Return
and I suppose the word Sound in the listing had something to do with it.
That same evening I learned how to save the listing to a blank cassette
and to reload it again using my new 1010 and I even tried changing a few
numbers in the listing to see what happens and from such humble
beginnings began my world of Atari programming.
A couple of months later as my programming knowledge
grew, cassettes were no longer good enough and a disk drive became a
necessity but because it was more or less the end of the great Atari
sell-off, there didn’t seem to be any Atari disk packages left. Every
store I visited had completely sold out and being told it was the end of
the line, I was faced with paying £199 for a 1050 from Silica Shop
instead of £120 for a disk package. My final visit of the day was to a
local branch of Currys who also told me that they had completely sold
out. As I was about to leave the shop, the man told me that they did
have one shop-soiled disk package that they had previously put aside for
returning which they would be prepared to let me have for half price. I
suppose he saw an opportunity, half a loaf is better than none. When I
got the package home I found it was the 800XL that was shop-soiled, the
results of kids with sticky fingers but the 1050 was in pristine
condition probably never even been out of the box and still sealed in
its polythene wrapping. A brand new 1050 for £60 and a spare 800XL
albeit shop-soiled, a real bargain and I was well pleased.
Sometime after transferring all my work from cassettes
to disks, I found out that my new DOS 3 system was not recommended and
should be replaced with DOS 2.5 but being new to disks I didn’t really
understand the problems and continued for some months with DOS 3. At the
next Atari show which was held at the Novotel in Hammersmith in London I
bought Amac (Atari assembler disk) and remembering that there were
apparently problems with DOS 3 (I still didn‘t really understand the
problems), I asked if Amac was suitable for use with DOS 3 and the man
said a most definite “No”, he disappeared for a minute or so and
returned with a DOS 2.5 master disk and told me to dump DOS 3.
Much time was taken transferring my DOS 3 work back to
cassette and then back to disk in my new DOS 2.5 format only to find
that after many hours of saving and loading to and from cassette that
there was in fact a utility on the master disk for transferring DOS 3
files directly. I transferred the rest of my work the easy way.
Having already purchased Amac, a suitable book about
machine code and assembly language was sought from my local bookshop. On
the first floor was a huge computer section devoted to all the computers
of the day with a whole range of books for each, but there were no books
whatsoever for the Atari. I couldn’t find a single Atari book anywhere
and so I asked one of the sales staff where their Atari books were and
the woman looked at me as if I had just landed from another planet and a
strange eerie silence followed. Puzzled by my strange request she told
me that they did not stock Atari books and recommended me to go to a
good toy shop and suggested Hamleys in Oxford Street. Needless to say I
did not go to Hamleys but it’s a good example of attitudes at the time
and it always brings a smile when I think back to that day especially
when considering the rows of books I saw on the shelves for the VIC20,
Spectrum, etc.
Having obtained a suitable book obviously from
elsewhere, I begun my adventures into assembly language and although I
liked Amac, I did not like the source code editor and I certainly did
not like the bad sector protection. Every time I wanted to assemble some
code I had to put up with all the sector searching and grinding noise.
The answer to the editor problem was easy, I simply used Textpro
instead, but the answer to the bad sector protection was less easy. I
put up with all that grinding for some time and eventually decided that
something had to be done about it, I tried to copy the Amac disk without
success and even tried to copy the Amac file using DOS 2.5 option K
(binary save) but again without success. Eventually I decided that if
Amac was always going to do its best to damage my 1050’s then I simply
wouldn’t use it and decided to write my own assembler instead. From the
outset I decided that my assembler would write its output code directly
into Basic either as data or as strings eliminating the need for a
separate program to convert the object code. I booted Turbo Basic and
soon had my assembler underway and by the end of the evening had the
main structure of the program albeit an empty shell devoid of any real
code more or less complete. I decided to call it “Turbo Assembler” for
obvious reasons. Over the weeks that followed my Turbo Assembler evolved
and grew but I wasn’t finished with Amac yet. I wrote several small
dummy source code routines encompassing all 6502 assembly language
instructions for use in checking my Turbo Assembler against Amac by
comparing their object codes. To do the actual checking, I wrote a small
Basic program that reads both object files from disk storing them in RAM
and then comparing them character by character flagging up any
differences found. It was then just a matter of making both codes match
and gradually as I corrected error producing sections of my Turbo
Assembler, the mismatches got fewer and fewer until the codes matched
perfectly every time. Armed with my newly finished Turbo Assembler I was
once again up and running writing machine code routines whilst Amac and
its bad sector remained out of sight hidden somewhere in my disk boxes.
The original version of my Turbo Assembler became my sole mate whenever
I needed to assemble code, it never let me down and I quickly gained
total confidence and trust in using it. The latest version of my Turbo
Assembler is version IV in which I decided to include full source code
checking and to include some special features of my own to help make
writing source codes a bit easier. The source code must be error free
before Turbo Assembler allows the source code to be assembled and there
are now six options for writing the output files directly into Basic as
data and strings and a seventh option for writing the standard object
code. All machine code routines used within all my published programs
were assembled using my Turbo Assembler mostly using version IV.
Although Turbo Assembler version IV was intended for publication, I used
it so often that I never got around to doing anything about it. Nobody
has yet seen Turbo Assembler version IV although a few people may have
seen an earlier version so keep a lookout on my website.
My first contribution to Page 6 or New Atari User was
my CES (Colour Extension Subroutine) program published in issue 63 but
my efforts to contribute went way back long before then. My first effort
to contribute was a double sided disk containing a selection of my best
programs sent with a covering letter to NAU but nothing ever came of it,
it just disappeared into the great black hole. Another followed some six
months or so later and that also disappeared without trace. Much time
passed and many issues of NAU came and went whilst waiting patiently for
something of mine to appear in the magazine but nothing ever did. At a
much later date I had reason to telephone Page 6 and speaking to Sandy
she confirmed that my contributions had been received and the disks were
currently sitting in the disk box. Many more months of patient waiting
followed and many more issues of NAU came and went and again with
nothing of mine ever being published I eventually came to the conclusion
that my contributions were not wanted and so I lost interest and gave
up. It might have been that I was a new name amongst many very good
regular contributors leading to my disks finding their way to the back
of the disk box hidden behind those of the regulars. Some time later and
inspired by Met-Man, a series of articles in NAU about writing text
adventures I began writing my first “The Cave”. Upon completion many
months later, I decided to place an advert for it in the NAU contact
columns offering it free of charge to anybody who sends me a blank disk
and return postage. Because such a very long time had passed since my
last efforts to contribute and still with nothing of mine ever being
published, I decided to try again. I prepared a double sided disk again
containing a variety of my latest and best programs and together with my
advert for The Cave, I sent it to NAU and with renewed hope I waited for
the next issue to appear. My advert appeared but nothing of my
contributions and reflecting past experience I once again lost interest
and gave up, that was until issue 63 dropped through my letter box. At
first I was convinced that somebody had stolen my CES program and
produced a version of their own and it took some time for me to realise
that I was looking at my own program and my own name in print. After all
the waiting and giving up, I had finally done it and there was something
of mine published in most issues of NAU from then on with my “League
Table” appearing in the final issue. My all machine code “Space Fighter”
was the disk bonus for issue 82 which is a bit like gold medal position
and also included on the same disk was my only other all machine code
program, my First Demo. Although it was my first demo, I never wrote a
second. Issue 82 also announced that my Atari Cad program has been
included in the Page 6 public domain library as disk DS#136. In total I
had about 30 programs and articles published, often with two and even
three being published together in a single issue and with odd bits and
pieces appearing unannounced on the issue disks.
Of my text adventures, The Cave was my first based
upon being trapped in a cave and having to find another way out and
although rather lacking when compared to my later adventures, it did
teach me a lot. After writing The Cave, I wrote a further three text
adventures … Ye Olde House, Where Dinosaurs Rule and Rose Gardens. Where
Dinosaurs Rule is probably my best adventure, the dinosaurs move about
and catch you off guard so you have to keep a lookout, but you have to
get to them first via a network of caves, I couldn’t resist adding
caves, perhaps as a mini-update of The Cave. Ye Olde House is based upon
exploring the strange happenings in a large old house and Rose Gardens
my final text adventure is based upon the supernatural.
My favourite programming language was Turbo Basic, a
faster and much fuller language than Atari Basic and I also found
writing assembly language to be very satisfying especially as I no
longer had to put up with Amac and its bad sector. Assembly language
produced very fast and compact code but it was very slow going when
writing machine code programs and the slow progress often lead to
boredom and sometimes to programs being abandoned. The solution was
simply to use a combination of both, to write the main part of a program
using Turbo Basic (or sometimes Atari Basic) with USR routines where
necessary to take advantage of the high speed of machine code with VBIs
and DLIs to do all those things that cannot be done from Basic. When
using Atari Basic, I really missed Turbo’s commands and although there
was usually a way around them, there was no substitute for Instring
which give me the inspiration to write my Instring USR routine published
in issue 80 of NAU. My Instring works in exactly the same way as Turbo’s
Instring, returning the location of the first character of a small
string found within a larger string or a zero if not found.
Of the many USR machine code routines I wrote, my
favourite is my “Character Set Copier and Redefiner” published in issue
77 of NAU. It was born out of boredom, a piece of programming I hated
and it was one day whilst doing this chore an idea suddenly occurred to
me and in the days that followed my most useful USR routine was born.
Character Set Copier and Redefiner, a bit of a mouthful I know but I
couldn’t think of a better title, at least it does exactly what it says
on the tin.
Many of my published programs and articles were spread
over many pages of NAU, the largest being “The Disk Companion” published
in issue 73 spread over ten pages. My second largest is “Let’s Write a
VBI” published in issue 71 spread over eight and a half pages.
Considering the smaller A5 size of NAU, is a ten page spread a record or
do you know of a larger spread?
Over the years I attended many of the Atari shows, the
earlier shows held at the Novotel in Hammersmith and at Alexandra Palace
in North London and the later AMS shows held at Bingley Hall in
Stafford. I met many Atari people at the AMS shows including Les and
Sandy of Page 6 Publishing (publishers of NAU), the lads of TWAUG and
many other Atari individuals. I often took a disk full of programs with
me to the AMS shows to give to Les for publishing. On one occasion when
I gave Les a disk full of programs I told him that it contained version
II of my Disk Directory Header. Les told me that it was too late for
version II because the first version had already been included in the
next issue of NAU which had already been sent to the printers. Les must
have liked version II because he published it in the following issue
immediately after version I breaking that golden rule of publishing of
no repeats.
With time moving on and the Atari era drawing to a
close, I also had to move on and in 1998 I invested in a Packard Bell,
Textpro and Mini-Office II giving way to MS Word and Works but there was
no programming languages and I really missed programming. Looking along
the shelves of a newsagent on one occasion proved particularly fruitful,
the list of contents of a CD attached to the cover of a magazine
contained a freebie cut-down trial version of Visual Basic 6 and so I
promptly bought the magazine, installed and began learning VB
programming. At first I found VB very difficult because it is a totally
different concept to Atari programming but as the weeks passed my
knowledge and understanding grew and I was soon up and running again.
The freebie trial version had no help files, compiler or packaging
utilities but it taught me a lot. My next step some months later was to
obtain a full version of VB6 but there was various versions to choose
from and I finally obtained the professional edition from a local
computer fair. Some months later I installed a modem, few computers had
modems preinstalled at that time and I logged onto the Internet for the
first time. About a year or so after that I created my website “John’s
Place” inevitably devoting a section to the Atari. I tried various web
editors that were popular at the time that were regularly available free
on magazine cover CD’s but they were all of the draw it as you want it
type (wysiwyg) which I found difficult to use and restrictive. I
eventually downloaded an html editor and found writing web pages
directly in html much more convenient and a lot easier and I am still
using the same editor today. In more recent times I have constructed a
1050-to-PC interface and have transferred my Atari programs to PC, all
of which will eventually be available for download on my website. My
website address…
www.johnap.pwp.blueyonder.co.uk
When I’m not programming or updating my website, I
sometimes like to chat on line and have communicated with people from
all over the world but my all time favourite was a girl in Saint
Petersburg. At times she would apologise for her bad English but I
thought her English was quite good and I told her so and on one of these
occasions I told her that her English was a lot better than my Russian
and that little comment seemed to be a turning point because from then
on I found myself being taught Russian. She taught me the Russian
alphabet, hundreds of Russian words, sentences and a little grammar
prior to which I knew absolutely nothing of the Russian language, not a
single word. Whilst it is obviously not possible to learn to speak
Russian using text alone at least I can spell every Russian word I know.
I have Russian language installed on my laptop and can type Russian
albeit slowly and I have downloaded midi files of Russian speech to help
me learn to say the words and sentences that I previously only knew in
text. Although I no longer chat to my Russian girlfriend, she
disappeared a while ago, it has left me wanting to learn more and so
despite all the bad news that we keep hearing about chatting on line,
there are some good things that can come from it.
And finally I often wonder what computers would be
like today if attitudes towards Atari had been different, perhaps Atari
would now be standing in the place of Microsoft and I wonder what Atari
Windows would have been like. Maybe it’s the best computer era we never
had.
John Foskett, July 2006
top