Do you ever wonder what it takes to do software preservation? Well, if so, today is your
lucky day because we’re going through the trials and tribulations to try and archive
multiple versions of the famous word processor WordStar. You might be surprising to find that
this little dive into history would ultimately involve DOS, disk surgery, and a Commodore 128.
As usual, this is your host NCommander, and today, we’re spinning some floppy disks.
Now, if you’ve been a fan of my channel, this might look familiar. Infact, I did a five hour
livestream on the topic and that led to the birth of what I’m tentatively calling “NCommander in
Real Time”. The idea is simple, I start with a live stream and complete a project on air, and
then afterwards, use that footage to create a more edited video as an experiment in content creation.
These realtime videos are meant to let me cover a larger variety of topics, and act as a supplement
to my normal longform videos. With that lengthy introduction aside, let’s get down to business.
Sitting on my desk are three separate copies of Wordstar, specifically versions 3 and 4
for CP/M-80, and Wordstar 2000 Release 3 for DOS in nice bound boxes. Meanwhile,
sitting on top of my desktop computer two 5.25 drives connected via a SuperCard Pro.
Now I intend to do a more in-depth video on magnetic flux preservation,
but the very short version is that this setup allows me to essentially make a magnetic
photocopy of each disk, and is generally the gold standard in floppy disk preservation.
For 5.25in disks specifically, it’s important that that the disk and the drive type match.
That’s why I have both double destiny, and high destiny drives connected.
The chat decided to have me start with WordStar 2000. Magnetic flux dumping is a somewhat fiddly
process, and it can take several attempts to get a successful dump even with good drives
and good media. Strangely, my first attempt at dumping the disk got me this error-filled mess
which made me wonder if the disk or the drive had simply given up the ghost.
I did eventually find the problem: these are double destiny disks, and not high
destiny like I had assumed. The confusion is understandable though. As a rule of thumb,
you can generally tell the type of disk by looking at it visually. Double destiny 5.25
disks tend to have an inner reinforcement ring which high destiny disks lack. I’m going to
emphasize the word “generally” because it turns out MicroPro used diskettes that lack the ring.
Once past me had figured out what had gone wrong, it was a simple enough fix.
Not long after, I had all 15 disks properly dumped.
Sorta. As I would realize after the fact, I actually made a mistake and didn't’ save
the manufacturing tracks correctly so I ended up dumping all these disks again off stream.
That tangent aside, there was still the matter of validating that I had indeed made good dumps.
Personally, I don’t consider a disk dump successful until I’m able to install and
use whatever I’m saving. I hadn’t seen any sort of copy protection in place,
so I converted the images to flat files, and then loaded up DOS in an emulation.
After figuring out how to start the installation process,
it didn’t take long until I was at a C prompt with everything installed. I suppose it's not too
surprising that I was able to load up WordStar 2000 without issue at this point. Now while I
intend to do a more in-depth video on WordStar in the future, I quickly realized that WordStar
2000 had relatively little similarity to the older versions that are more fondly remembered.
From my brief impressions, it seems that this product could be described as
“WordStar in name only”. That being said, the main objective has been achieved.
I still needed to archive the component disks,
but chat was getting a bit restless to go to the CP/M versions, and so I decided to switch
gears. Chat voted to dump Wordstar 3 next. These are single sided/double density disks,
and there are some quirks with dealing with CP/M disks that I’ll get into as we go along.
Unfortunately, this is also where things start going downhill,
and that I would learn a few lessons on how to best preserve floppies..
The biggest problem was that I didn't notice that the WordStar 3.0 disks had warped slightly,
and the disk cookie was not spinning freely in its jacket. During the attempted dump,
the drive was making what could be described as a “rubbing” sound. I had experienced this
before with disks that were marginal but had managed a successful dump in those
cases , so after some debate, I decided to let the disk dump run through and hope for the best.
To be honest, this worked better than it should have, and I got a partial disk image.
That being said, from the visual graph, it was clear that something had gone wrong.
A closer examination of the disk showed scratches in the outer ring of the cookie.
I’m not certain if the scratch was there before or not, but the other two disks do not have them.
Now, I knew that this version of WordStar had been archived, so I decided to experiment a
bit to learn techniques for the future. As I see it, if the disk ended up getting shredded,
nothing irreplaceable has been lost, and I would have learned something in the process.
After a few minutes of debate, I came up with a plan of action.
The first was to disconnect the double destiny drive and clean the drive heads.
This would make sure the disk had not left any dirt or grime during the attempted read.
There was a small black spec when I ran a q-tip over the drive heads,
which was a bad sign that the disk was delaminating and distigrading.
By this point, I had noticed that the disk was indeed warped, and one solution to that problem
was to remove the disc cookie from it’s sleeve, and transplant it into another. I had never tried
this, but I figured it was worth a short. I have a bunch of blank high destiny disks, and I chose one
of those to use as a donner. A few snips with the scissors, and that, as they say, is that.
I then repeated the process with the WordStar disk. Unfortunately,
I accidentally nicked the edge of the disk cookie. Since there’s usually a fair bit of “gap” space,
this wasn’t necessarily fatal, but it's a reminder that I need to be more careful in the future.
Once out, I cleaned the disc surface with isopropyl alcohol, put the frankensteined
disk in the drive and crossed my fingers. I’d love to tell you this worked, but well …
I think the picture speaks for itself.
After removing the frankensteined disk, I could see visible damage to the disk cookie
and parts where light was visible. The disk had literally started disintegrating in the drive.
I spent the next half an hour removing the gunk left on the drive read heads.
Needless to say, this was a frustrating experience.
I think, in hindsight, had I realized that the disk was warped, I could have probably saved this
disk. Since Wordstar 3 is well preserved as is, I’m not going to lose sleep over this one, since I
at least learned something from the experience. In truth, I still wanted to end the note on a
high note, and thus it was time to strap WordStar Release 4 for C/PM to the disk dumping machine.
Inside the Installation Kit, we had these amazing 8-inch floppy disks.
Sadly, I don’t have an 8 in drive, or I would have dumped these bad boys. Instead, we’ll have
to be content with the smaller 5.25 in disks. Time had separated the disk labels from the disks, but
they otherwise appeared to be in good condition and I made sure each one could spin freely.
Just like WordStar 2000, each Release 4 disk went into the SuperCard Pro,
and this time, all six disks were dumped successfully!
However, because these are CP/M disks, I still had a few more hurdles to climb.
Without going into too much detail, CP/M disks have what can be best described as
compatibility problems. In short, CP/M diskettes are essentially specific to a given machine.
That means a disk for an Osborne 1 won’t work in a Kaypro. There are exceptions to this rule,
but in general, if I wanted to actually use these disks in an emulator, I need to extract the files.
To do that, there are the cpmtools utilities which can essentially read
most CP/M format disk images, but you still need to know the type of machine the disks were for.
Based on a hunch, I tried reading them as in the Osborne 1 format and that turned out to be
the correct choice, and I was able to extract all the flat files. Now we just needed to test these.
There are numerous ways to emulate a CP/M machine to test if this actually worked,
but I decided to go with what is probably the most mediocre CP/M machine ever, the Commodore 128.
The reason for this? Well, it’s because I own a 128, and I’m planning on doing
videos about it. Sadly, I don’t own a 1571 disk drive which would one stop solution,
and eBay prices can be best described as exorbitant.
The honest truth that CP/M on the 128 is a very strange beast,
and it’s not done well in preservation.
While the VICE Commodore emulator can indeed start CP/M,
it can’t read MFM disks like a real 128 with a 1571 disk drive can.
Instead, you need to load the files onto Commodore CP/M's semi-unique GCR disk format.
To do this, I used VICE to create a blank d71 image, and then formatted it under CP/M.
I then used a very old package called ctools to copy the CP/M files on the D71 disk.
I could then load WordStar up in VICE, but I was struggling to use
it due to the differences between a normal PC keyboard, and a Commodore 128 keyboard.
It was at this point that I wanted to end my inaugural stream on a high note,
so I went and got my 128, and the 1702 monitor I use with it.
I don’t have any real Commodore disk drives, instead, I have a single SD2IEC
which, unfortunately, has major down sides especially when used with a Commodore 128.
To make a very long story short, the SD2IEC does not support what is known as burst mode out of the
box. In preparation for making an eventual video on the 128, I have modded my SD2IEC to connect
the SRQ line, and compiled patched firmware for it. By running the SNOOP program in C64 mode,
I can see that I am indeed running the burst mode firmware. With the prep work done,
it was time to switch to 80 columns mode, and show why I haven't made that video on the 128 yet.
Filming CRTs at the best of times is difficult and just to make things more complicated, I’m
using an 80 columns composite cable, and on the 1702, the text is virtually ineligible on camera.
I did adjust the contrast as best I could, but I’ve already accepted the
need to use a more modern display if I want acceptable results for a longform video.
Still, I think this is good enough to get the point across.
I had set up an AUTOSWAP.LST file, and then used my modded SD2IEC to kick into CP/M.
Since we’re using burst mode, we’re dropped to the A> prompt in about seven seconds. I
could then swap disks to WordStar, and run WS to get to the main menu!
To be honest though, I’m still having some problems here.
The backspace key isn’t working properly under WordStar 4, and even after WINSTALL and WSCHANGE,
I couldn’t convince WordStar to work properly despite having it correctly configured.
I’ve run other CP/M programs, and even WordStar 3 on this machine without issue before,
so I’m not certain what the problem is, but that’s a debugging session for another day. Still,
I’ve reached my goal of “installing the software I archived”, so I think we can call it good.
I still need to scan the manuals, but unfortunately, the magic smoke escaped my second
hand document scanner so that isn’t an option for the moment. A friend of mine is seeing if he
can get it going again, but until then, I think I’ll need to save up and invest in a new one.
With all that said, I think we can bring this first episode of “NCommander in Realtime” in
close. I’d love to hear your opinions below, both on this, and my livestream in general and ask
that you like and subscribe. I’d also recommend folks check out the Community page of my channel,
where I’m currently discussing the possibility of setting up Patron or YouTube Memberships for the
channel with the intent of investing in better gear, and embarking on more ambitious projects.
Beyond that, if you’re interested in checking out more live NCommander content,
I do regular charity livestreaming events for the DEFCON 201 group, who I’ve linked in the
description below. As usual, feel free to come join me on Discord, and follow me on Twitter.
Until the next time, this is NCommander, signing off, and wishing you all a pleasant day.