Finally, we have confirmation for the original hardware, an HP9845 with an external floppy drive, the HP9895A Disk Drive attached to it. The disks have 77 tracks, or cylinders, and contain 30 sectors with an interleaving factor of 7. The machine was marketed for scientific purposes and was widely used in the university’s medical centre until the mid 1980s before the IBM PCs were introduced. It offered a wide range of peripheral connections and general programmed input/output (PIO).
Response to our call for help
Responding to a call on cctech for information about decoding a Kryoflux stream for HP M2FM, Eric Smith said that he had already decoded Intel M2FM and most generously added the HP M2FM to his program which converts the stream to IMD format. The code has been posted on github. The imd file output of this utility can be viewed with another freeware utility, ImageDisk by Dave Dunfield. The display in ImageDisk showed 30 sectors of 256 bytes with 77 tracks, confirming our previous assumptions.
Finding the right disk
Many of the floppy disks contained in the set seem to have mostly data of clinical trials on them, judging from the file names and brief descriptions on the disk labels. We still did not know how these data are actually organized and if there is much text contained within. We went back to the disks to see if we could glean any more meaningful information. Fortunately, there was one disk labelled “publications” which looked a promising candidate to test our colleague’s decoder.
Ultimately it is really great if multiple paths produce reasonable results and it is possible to compare solutions with each other. Our colleague in Stuttgart came to the same conclusions as us regarding the particular used to format of the floppy disks: He wrote “I had to kludge my program with the Kryoflux stream decoder. As far as I can tell, the floppy is in standard M²FM HP format with 30 sectors/track and 256 bytes/sector, ranging from sector 0 to 29.”
Our local colleague wrote some python scripts to to check CRC values and to extract text. He ran these on the disk we suspected of containing publications and to our delight we could read some of the content, as shown in Fig 1.
Around the same time, I received a decoded disk dump from Stuttgart. Using HPdir (a utility from the HP9845 Project), I can view the directory listing which matches exactly the original faded thermal print of the disk contents (Fig 2).
This project took a lot of patience and a lot of following hints and hunches to track down relevant information. We also had a lot of luck and were aided enormously by the generosity of colleagues and strangers.
Trying to confirm the disk format and model of the original system took quite a while, until we finally made contact with someone who was actually involved with the scrapping of the system.
Various different levels of forensic science came into play; physical, logical, and higher level information were all needed to identify the system, the drive, the disk format so that we could finally extract some text.
We have not yet extracted other data content. This is much more complicated, as we now know that mostly scientific analysis work was carried out on the system with a lot of the data used in databases, spreadsheets and custom written analysis software. Without the context or the software we cannot tell if we have the right numeric values, whereas it is easier for ASCII text. As seen in the first figure, there are undecipherable characters within the text, these could be word processor markup or formatting, or something else entirely.
It would be possible to try to find publication(s) that match the text, so we can see to check if there are numeric values present. Knowing these values would help us then decode the original files. But that is work for another day.