John Foskett





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…

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