The history of computing is peppered with rivalry among users of different gaming machines. Perhaps the competition between Commodore 64 and Spectrum 48k users is one of the best known examples of such rivalry, and one some of us experienced personally in our teenage years.
Well, I am glad to say that the incredible tape preservation work being done behind the scenes by tape enthusiasts such as Paul Jones (Ziggy72) has led to an unexpected discovery. Such discovery is, perhaps, even more interesting for the history of computing due to the above mentioned rivalry between Commodore and Spectrum communities in the ’80s and ’90s.
The discovery is two-fold and a number of people have been involved in it, including Hoxy (who also independently documented the structure of the tape loader I am about to introduce), Ziggy72, SLC, and myself.
Here’s my account of this discovery. Hopefully, those involved, apart for Hoxy who unfortunately recently passed away, or those who knew about all of this already, will add their side of the story in the comments section, so watch out for those comments too!
Ready? Here we go. In 2017 a few commercial Commodore 64 tapes from the early ’80s were found to use the same turbo file structure, and partly the same loader code. I recently named this format “Glass Tape” and added support for it in TAPClean 0.37.
Not only this loader is one of the earliest turbo loaders written for the Commodore 64, but Paul found out that the files it loads are, in fact, standard Spectrum files, i.e. files encoded with a scheme that is common on Spectrum tapes! To confirm this finding he ran the dumps of his Commodore 64 tapes that use “Glass Tape” through the MakeTZX tool and was able to successfully gather information on turbo file contents, including file names!
I wrote above that the discovery appears to be two-fold. Here’s why:
1. the author of the C64 loader might have been motivated by his love for a Spectrum machine he owned,
2. he, perhaps unwillingly, implemented a strategy to exchange data from Spectrum computers to Commodore ones.
Whether or not the author himself was able to appreciate the latter point in any practical way, Paul raised the fascinating point that, technically speaking, software writers releasing games for Spectrum and Commodore could have written their games on a Spectrum machine and shared data common with the Commodore release by simply mastering data files on a Spectrum. In fact, the loader now known as “Glass Tape” would have been able to read such files and store their data in RAM on a C64.
Although this is a fascinating idea, tape dumps of Commodore 64 titles using “Glass Tape” seem to suggest a slightly different story. Apparently, turbo files have been written by a rather time-inaccurate mastering program, possibly running on a Commodore 64. Furthermore, they also present transients at the beginning of certain turbo files, due to the fact data was written before the tape motor speed had settled. These transients are sometimes found on C64 tapes (especially in “Flashload” titles), but are extremely rare to see on Spectrum tapes.
All in all, then, and this is a good thing IMHO, my perception is that the author of the loader was really mostly motivated by the existence of a corresponding loader on Spectrum machines. In other words, it looks like a work of love to me.
Neither Paul nor myself were able to find further useful details about the author of the C64 loader, whose name I managed to find in one of Paul’s tape dumps. In fact, I stumbled over some loader source code leftover in the CBM Data file of the game “Pyramid”, by Fantasy Software. Among the strings I found:
"<missing text>ER" "WRITEN BY J.K.GLASS" "INITIAL ISSUE 2/3/84"
Now, it doesn’t take much to conclude that part of the missing text in the first string could indeed be “LOAD”, so it would read “LOADER”. One point in favour of such hypothesis is that the name J.K.Glass does not appear within the game’s credits. The name itself doesn’t seem to have been recorded anywhere in the computer history sections that Paul and myself have been crawling recently.
More corroborating evidence comes from another game, “Shoot the rapids”, by New Generation Software. There’s some different code leftover from the loader itself and one of the instructions reads:
Well, if you wrote a loader in the early 80’s, you too might have wanted to label its core entry point after yourself, and perhaps named the loader after yourself too.
That’s pretty much my account of how the fascinating “Glass Tape” loader came to be known to us as such.
It wouldn’t feel right to close this post without giving readers a reminder to have a thought for Hoxy, who did so much of the documenting and reverse engineering work that contributed to this discovery. Rest in peace Hoxy and thank you for your passionate work.