Retro Computing

Archiving a copy protected disk

I recently received a rare floppy disk for the Acorn Archimedes, one I cannot find archived anywhere. My concern is that a nearly 40 year old disk may not have many years left in it, so I wanted to archive it. This proved more difficult than I thought. I figured I would document why and how managed it in the end.

The disk

Whilst working on restoring the Valiant Turtle, I was looking for a ROM of Logotron Logo for the BBC Micro, I happened to find a floppy disk version of Logotron Logo for the Archimedes, called “Archimedes Logo” and bought it.

I popped this into my Archimedes A3010 and tried to use ADFFS to backup the disk as an ADF. The ADF (Acorn Disk Format) format is not to be confused with the Amiga ADF (Amiga Disk File) format, despite having the same extension they are not compatible.

It started well but then hit several issues at the end of the disk.

I tried using the image created, but when running the software the Archimedes would immediately crash. But when using the original floppy disk, the software would load correctly.

The problem

The image indicates what the problem is with that yellow block, there is a quite good copy-protection on the disk. When a disk is formatted it has special sector layouts put on it. The ADF file basically stores the sector data for the disk.

Several copy protection schemes deliberately mess with the low-level format of the disk, making parts unreadable at a sector level, but reading the raw disk flux, the required data can be read. Making a sector-by-sector disk copy impossible. I believed this disk was using a scheme such as this.

I couldn’t even copy the files from the disk to the hard drive in my A3010, it would immediately crash when running from there.

The ADFFS tool can create another format called a JFD file, which stores more raw information, but it is not easy to do. I had another solution.

The solution

I have a tool called a Greaseweazle, this uses a standard old floppy drive with a USB connected microcontroller to give the capability of reading the raw magnetic flux from the disk. This helps backup disk formats that are not PC compatible, which is not possible with a standard USB floppy disk drive.

When you plug it in to your computer, you won’t see an extra drive appear, this needs special software to talk to it. Here is one of my Greaseweazles in a 3D printed case connected to an old PC floppy drive. The face has been broken off, but this is probably the most reliable floppy drive in my collection.

Using this I ran the following command to backup the disk. I specify drive B because this is a PC floppy drive and it is on a cable without a twist, so on an old PC this would show as a B drive with the same cable.

The normal bitrate for a DD disk is 250 and for HD is 500, so I tried 250. The HFE format is a low-level format which stores the encoded magnetic flux changes of the disk. The downside of this is any corruption is also stored exactly how it is read, it cannot be verified easily.

gw read --drive B logotron.hfe::bitrate=250

This creates a 2MB file, which is larger than than 800KB a sector by sector copy would produce, but it contains the raw low-level disk information. Once complete I grabbed a spare DD disk from a scrap disk pile and wrote the image onto it.

gw write --drive B logotron.hfe

I inserted this disk into the A3010 and tried to run LOGO from it.

Success! It has taken a backup of the whole disk, including the copy protection. As this disk does not seem to be archived anywhere and could be useful for educational purposes, I have made the backup available here. This should work with Gotek drives and can be used to create new floppy disks with a Greaseweazle.

I have the manual for this software coming soon, I might try and make a PDF archive of this as well.

LinuxJedi

View Comments

Share
Published by
LinuxJedi

Recent Posts

Diagnosing an Amiga 1200 Data Path Fault

I recently acquired an Amiga 1200 motherboard in a spares/repairs condition for about £100 recently.…

2 days ago

Bare Metal “Hello World” on an STM32MP135F-DK

Whilst I do like working with STM32 development boards, some basic information I need can…

3 days ago

Two special Amiga 4000s: Diagnosing Jops

When I last left this blog series, the first of Stoo Cambridge's A4000s had gone…

6 days ago

Joining wolfSSL

At the beginning of November, I started working for wolfSSL. Now that I'm a week…

1 week ago

Two special Amiga 4000s: Rebuilding Jools

In my previous post, I had the Amiga 4000 known as Jools mostly repaired, there…

4 weeks ago

Two special Amiga 4000s: Repairing Jools

In my last post, I created a list of things I needed to repair on…

4 weeks ago