Skip to content

Quick start

From a Duplicator in a box to a capture on disk. Fifteen minutes, most of it waiting for a download.

You need the Duplicator, a USB 3 cable, a computer with a USB 3 port, and somewhere to put the file — a capture writes about 40 MB every second, so roughly 145 GB an hour.

These pages describe the August 2026 release

This documentation covers the current capture application, FX3 firmware and FPGA gateware, all as they stand in August 2026. The firmware and the gateware are the matched set: they are built from one commit and installed together from one update, so a board is running both halves of a release or neither. The application releases separately and is not expected to match them — what ties it to a device is the protocol the firmware speaks and the register interface the gateware presents, not the commit either was built from, and a board programmed before this release speaks something this application does not know.

If the application does not find your board, or finds it and reports it as running something else, the board needs bringing up to this release — that is the expected outcome for an existing Duplicator, not a fault. Follow Bringing up a new or legacy board for a board that has never run this firmware, or Updating your Domesday Duplicator to move one from an earlier release. Neither needs any special equipment beyond the USB cable.

The device's USB ID has changed with this release, from 1d50:603b to 1209:2347 — the pair now registered to this project with pid.codes. Device access is granted per USB ID, so follow step 1 below even if this machine already captured with an older board: udev rules or a Zadig binding written for the old ID do not match the new one, and the symptom is a device that enumerates perfectly and still cannot be opened. A board part way through bring-up appears as 04b4:… instead, which the rules shipped with the project also cover.

1. Install the application

Take the package for your platform and follow the page for it, including the part about device access. That step is the one that catches people out, and it is different on each platform:

  • LinuxFlatpak, plus udev rules on the host
  • macOS (Apple Silicon)DMG; nothing else to do, macOS lets the application claim the device on its own. Intel Macs are not supported
  • Windows 11MSI, plus binding the WinUSB driver with Zadig. Windows 10 and earlier are not supported

2. Plug the Duplicator in

Use a USB 3 port, directly on the computer rather than through a hub. The device produces 80 MB/s and a USB 2 port physically cannot carry it.

Start the application and read the Status line at the bottom of the Capture panel:

What it says What it means
Ready Found, and it can capture
connected at insufficient speed It is on a USB 2 port. Move it
recovery mode, no firmware installed The device needs programming. A board you have just built needs Bringing up a new or legacy board; a board that was working before this happened is repaired by If an update fails
original Duplicator firmware The board was programmed before this application existed. It works, but nothing here can talk to it — see Bringing up a new or legacy board
No capture device attached Nothing was found. On Linux that is almost always the udev rules; on Windows, the WinUSB binding

3. Tell it what the gain switch is set to

File → Settings…, and set Front-end gain to the position of SW401 on the Duplicator board.

The switch is mechanical and has no connection to anything the application can read, so it has to be told. Until it is, every level is shown in converter codes rather than millivolts — which is correct rather than unhelpful: a guess here would put authoritative-looking voltages on screen that could be wrong by a factor of four.

The switches are written the way they sit on the board, left to right: 1010 is switches 1 and 3 closed and the other two open. If you are not sure, leave it undeclared and work in codes; nothing about the capture itself depends on it. See Settings.

4. Start monitoring

Press Start monitoring. Nothing is written yet — this is the stream with no file on the end of it.

First check the machine is doing its job, in the Statistics panel:

  1. Throughput should settle at about 76 MB/s (40.00 Msps). That figure is the converter's rate, and a working device cannot exceed it.
  2. Integrity should say Verified — no samples lost.

Now play a disc and ask the three questions of the signal itself. They are the three panels down the right-hand side, top to bottom, and they are in that order for a reason — see The three questions:

  1. Do I have a signal? — the Waveform panel. A band of RF filling a recognisable part of the scale, with television line structure visible at the default 200 µs span. A flat line or a trace pinned to one end means the player, the output or the cable, and nothing further down this list will make up for it.
  2. What is the signal? — the Spectrum panel. The carriers the disc ought to be producing, at the frequencies they belong at: the video carrier, the analogue audio carriers below it, and the EFM band lower still on a digital-audio disc. This is what tells you that what is arriving is the disc rather than merely something.
  3. Can I capture it? — the Amplitude History panel, or Signal level in the Statistics panel. The signal should fill a good part of the range without reaching the ends: the amplitude strip marks the recommended 75 % bounds on both sides, and the aim is to sit inside them with Clipping at zero.

Adjust the player's RF output, or the SW401 gain, until the third one is right — too quiet and the decode gets a fraction of the converter's range, too loud and the peaks clip and are gone. Then leave it running for a minute and check the strip has stayed there: that is what monitoring is for, and it costs nothing.

5. Choose where the capture goes

  • Folder — in File ▸ Settings…, since it is set once and then left. Browse… to the drive you want. Back on the Capture panel, the Free space row answers the question you actually have: not "how many gigabytes", but how much capture this volume holds.
  • Name — on the Capture panel. Leave it empty and each capture is named after the time it was taken, which is what keeps a folder of them in order. Type one and it is used instead; if that name is already there you are told what the file will be called — Casper (1) — and nothing is overwritten.
  • Compression — leave it at 8 unless the machine cannot keep up.

6. Capture

Press Start capture.

The button turns red — "recording", not "fault" — the status bar names the file being written, and the Statistics panel gains Written and Encoder backlog rows. Everything else carries on as it was — a capture is the monitoring stream with a file attached, so the displays do not change.

Press Stop capture when the side ends. The stream keeps running, so the second side is one more press: turn the disc over, press Start capture again.

While it runs, the two figures worth watching are Buffer queue and Encoder backlog. Both should sit near zero. If either climbs and stays up, the machine is not keeping up — Statistics says which of the two to act on and If a capture fails says what to do about it.

If your player has a serial port

That is the capture taken by hand, and it is the path to know first. Turn on player control and the application will do the whole of it for you instead: Tools ▸ Player ▸ Automatic capture… examines the disc, names the capture from what it found, plays the side, and stops both the capture and the player at the end.

7. Use the file

You now have a .ddd.flac in the folder you chose. It goes straight into a decode:

ld-decode capture.ddd.flac output

Nothing to convert, and nothing to remember about it later — the sample rate, the build that made it and the declared gain travel inside the file. See Capture files.

If something is wrong

  • The device is not found, or the capture stops — If a capture fails
  • You want to prove the capture path itself rather than a disc — Test mode
  • The device does not appear as a Duplicator at all — If an update fails, which is also the page for a board that has never been programmed