tw¶
tw is the hardware half of Tapewyrm. It talks to a Greaseweazle v4.1
running the Tapewyrm firmware, drives a QIC-117 floppy-tape drive, dumps tape
tracks to TWRF flux captures, and converts the captures into a TWTI or TWTZ
tape image. It also flashes the firmware. It does not need Greaseweazle's gw
command. Reading backups and files out of an image is the job of
qicsilver.
The package installs the same command under two names, tw and tapewyrm.
To run it from a clone, see Install the tools.
Synopsis¶
tw [GLOBAL OPTIONS] COMMAND [ARGS]...
Global options¶
Global options go before the subcommand: tw --profile colorado drive
status, not tw drive status --profile colorado.
| Option | Default | Description |
|---|---|---|
--version |
Print the version and exit. | |
--port TEXT |
found automatically | The Greaseweazle's serial port. Without it, tw looks for the one attached board (USB 1209:4d69) and stops if there are none or several. The config file can set it. |
--profile TEXT |
auto |
The drive profile: a name (colorado, teac, ...) or a path to a .toml file. auto tries the wake-ups the Linux ftape driver tries. See Drive profiles. The config file can set it. |
--config PATH |
the per-user file, if it exists | The config file to read instead of the per-user one. See Configuration and logging. |
--progress |
off | Show progress bars on stderr. |
-v, --verbose |
More log output. -v turns on debug logging. |
|
-q, --quiet |
Less log output. -q shows warnings and errors only, -qq errors only. |
|
--help |
Show help and exit. Works on every subcommand. |
--profile and --port matter only to the commands that open the board or
the drive. --profile is read even by commands that do not use it, so a bad
profile name fails every command.
Commands¶
| Command | Needs | Does |
|---|---|---|
tw info |
Greaseweazle | Shows which tw and firmware builds are in use, and which board. |
tw drive |
drive | Runs one QIC-117 operation by hand: select, status, reports, tape and head motion, diagnostics. Never writes to tape. |
tw dump |
drive | Captures whole tracks to TWRF files, one Logical Forward pass each. |
tw convert |
nothing | Decodes TWRF captures into a TWTI or TWTZ tape image. |
tw inspect |
nothing | Shows the header of a TWRF, TWTI/TWTZ or TWVL file. |
tw update |
Greaseweazle | Updates the firmware over USB through the application bootloader. |
tw dfu |
Greaseweazle, DFU strap | First flash or recovery through the AT32 ROM bootloader, using dfu-util. |
Output¶
Results go to stdout. Logs and progress bars go to stderr, so a command's output can be piped or redirected cleanly:
tw inspect --json captures/mytape.twtz > captures/mytape-header.json
Exit status¶
| Status | Meaning |
|---|---|
0 |
The command succeeded. |
1 |
The command failed. tw prints Error: and the reason on stderr. |
2 |
The command line was wrong: an unknown option, a missing argument, or a value out of range. |