← Back to Guides

Dumping Your Own Einstein Discs with a Greaseweazle

Version:
1.1
Last Updated
September 27, 2026

Every disc image on this site began as a physical disc someone still had. This guide is how that happens: a real Einstein 3 inch disc goes into a drive, and out comes an image that is verifiably correct, boots in MAME, and preserves what was actually on the disc, faults included.

It is also an ask. If you have Einstein discs in a drawer, the software on them may exist nowhere else. We would like to help you read them, and we would like copies.

You do not need to be a programmer. It is four commands, and the first one only checks your setup.

Why flux, and why not just copy the files

A Greaseweazle reads the magnetic flux off the surface rather than asking a disc controller for files. That matters for three reasons. A disc that will no longer boot still has readable flux. Copy protection lives in deliberate faults that a file copy silently discards. And deleted files are still physically present until something overwrites them, which is how several things in this library were recovered.

The flux capture is a .scp file. It is the master: everything else is derived from it, and it is never edited afterwards. See DSK, MFI and SCP: Which Disc Image Do I Need? for how the three formats relate.

What you need

  • A Greaseweazle, any model, and the Einstein's external 3 inch drive on its ribbon cable. The drive's jumper must select drive 0, which the tools call DS0 and use by default.
  • Python 3.8 or later. Most Macs and Linux machines already have it. On Windows, install it from python.org and tick Add Python to PATH during setup.
  • The Greaseweazle host tools, version 1.23 or later. They are not installed like an ordinary Python package: download the release zip from the Greaseweazle wiki.
  • Our Einstein Disc Tools.

Getting set up

Unzip the Einstein Disc Tools into one folder. Keep all the scripts together: the dumping script looks for the others beside it and calls them itself, so moving one out breaks it.

On Windows, unzip the Greaseweazle host tools into that same folder. The script looks for a greaseweazle folder next to itself and will find gw.exe inside it without being told. On macOS or Linux, install the host tools so that gw is on your PATH, or pass --gw with the path to it.

Open a terminal in that folder and run:

python3 einstein_dump_v0.1.py info

On Windows, type py in place of python3 in this and every command below.

This works with nothing plugged in, which is why it is the first thing to run. It lists the tools it found and their versions, then tells you whether it can see the Greaseweazle. If it says gw: NOT FOUND, the host tools are not where it is looking, and nothing else will work until that is fixed.

With the Greaseweazle connected and a drive attached, add the drive to have its speed measured too:

python3 einstein_dump_v0.1.py info --drive 0

A drive more than 5% off 300 rpm gets flagged, and it is worth attending to: a slow spindle produces marginal reads that look like disc damage.

Dumping a disc

Put the disc in. Nothing is ever written to it, whatever the write protect tab is set to.

python3 einstein_dump_v0.1.py dump NAME --title "What the label says" --side A --notes "any condition notes"

Replace NAME with something short and without spaces, such as chess. It becomes a folder of that name, and the folder is never reused: dump the same disc again and you get chess-2, so nothing is ever overwritten.

What happens, in order:

  1. The device is checked, then the spindle measured over three revolutions.
  2. Cylinders 0 to 39, side 0, three revolutions a track, using an Einstein disk definition so the reader decodes each track as it goes and reads again any track short of its ten sectors. The output stays raw flux. This is NAME.scp.
  3. The capture is checked: every revolution decoded, CRCs, whether the revolutions agree with each other, geometry, boot header, directory, and which bytes of which files sit on bad sectors.
  4. Any track still without a clean revolution is read again on its own, with more revolutions, into NAME-reread1.scp.
  5. NAME.mfi is built from the best revolution of every track across all passes, and NAME.dsk is decoded from that. Bad sectors are kept and flagged, never dropped or repaired.
  6. NAME.session.json records the lot: tool and device versions, spindle speed, every command run, the per track choice of pass and revolution, and hashes of every file. NAME.report.txt is the readable summary.

A disc takes a couple of minutes. Most of that is the reading.

What the verdict means, and what to do about it

VerdictWhat it meansWhat to do
OKEvery sector recovered with a good CRC on the first pass, revolutions agreed, geometry and filesystem check out.Nothing. You have a clean dump.
ANOMALIESEverything was recovered, but a second read was needed or the revolutions disagreed somewhere.Dump it a second time. If the second dump flags the same tracks, that is the disc rather than the read, and both dumps are worth keeping.
BADSectors are missing or corrupt after every pass. The report names the tracks and the files affected.Try again, and try a different drive if you have one. Send it to us either way: a partial disc is still worth having, and some faults turn out to be copy protection rather than damage.

To watch the disc actually run, boot the .mfi in MAME: mame einstein -flop1 NAME.mfi. MAME cannot read .scp directly, which is why the .mfi exists.

Options worth knowing

  • --no-verify for a disc that is not in standard Einstein format, such as an Amstrad CPC disc or a copy protected one. Without it the reader retries every track looking for sectors that are not there, which is slow and pointless. The analysis still runs afterwards.
  • --out FOLDER to put the dump folder somewhere other than where you are.
  • --revs N for more revolutions on the first pass, and --rereads N for more repeat passes.
  • --tracks when the usual 40 cylinders, one side is wrong for the disc.
  • --drive and --device if the drive is not 0 or the Greaseweazle is not found automatically.
  • --dry-run prints the commands it would run and stops.

Checking a capture without any hardware

python3 einstein_dump_v0.1.py check dump.scp

This runs the whole analysis on an existing .scp, with nothing plugged in. It is how we examine captures handed to us from another machine, and how you can check one before sending it. If you have several passes of the same disc, name them all, first pass first.

What this does not do

Being straight about the limits matters more than sounding capable.

  • It never writes to a disc.
  • It does not merge revolutions bit by bit, and it does not handle weak bit protection. It picks the best whole revolution for each track.
  • It does not decide for you whether a fault is damage or copy protection. The checker flags what it sees, and the raw flux is kept for anyone who wants to look harder.

Please send them in

Send the whole dump folder, whatever the verdict said. It carries its own evidence: the flux, the report, the session record and the hashes. If that is too large, the .scp files and NAME.report.txt are the parts that matter.

Three things worth saying plainly. Scruffy discs are the interesting ones: hand labelled blanks and backups have turned up demonstration builds, unreleased versions and software that was never sold. A disc that will not boot is still worth dumping, because flux survives what a disc controller gives up on. And we will help. If you have discs but no Greaseweazle, or you get stuck at any point above, get in touch and we will work something out.

One thing we ask in return. Old working discs often carry their owner's own files as well as the software: letters, accounts, school work, address books. We remove anything personal before an image is published, and we will do the same with yours. If you would rather we did not publish a disc at all, say so and we will keep it for the record only.

Verified

Every command and option on this page was run against the version of the tool in the download linked above, on Python 3.9. The workflow itself is the one we use: the analysis half has been proven against real flux captures, and the capture half has been run on the drive across more than two hundred dumps, including discs with genuinely bad tracks and discs whose faults turned out to be copy protection rather than damage.

The TatungBytes logo
TatungBytes

Get the Newsletter

New guides, disk images and community finds, roughly once a quarter. No spam, we promise, this isn't Tatung's marketing department.
Your subscription could not be saved. Please try again.
Your subscription has been successful.

Newsletter

Subscribe to our newsletter and stay updated.