Skip to content

Back up and restore files

Lars Brinkhoff edited this page Sep 13, 2023 · 4 revisions

A note about emulators

ITS runs on many PDP-10 emulators, and they have various names for the tape device. KLH10 calls it mta0. The SIMH based KA10 and KL10 emulators also call it mta0, but the KS10 "pdp10" emulator calls it tu0, and the KS10 "pdp10-ks" emulator calls it tua0. It's important to use the right device name. The instructions below use the mta0 name as appropriate for the KA10 emulator on the PiDP-10.

A note about file formats

PDP-10 files store 36 bits per word. Text files store five characters per word, plus one extra bit which may or may not be used. This presents a problem when storing PDP-10 files as a sequence of 8-bit bytes, and this has been solved using many different encodings. The itstar program expects files to use the "ITS evacuate" encoding, which makes text files look like normal Unix LF line ending files. If files use some other format, it's important to convert them to or from ITS evacuate format for use with itstar. This can be done with the cat36 program in the tools/dasm directory. For example, to convert from CR LF line endings, use cat36 -Wascii -Xits.

Back up and restore files

The DUMP program can back up and restore files, as well as the entire file system. The data is transferred to a virtual tape image on the Raspberry Pi.

First, the tape image must be mounted:

  1. Type Control-\ to the SIMH emulator console.
  2. At the sim> prompt, type ATTACH MTA0 file
  3. Next type CONTINUE to resume the emulator. ITS may notice that the clock has been stopped for a while; if so it will print ITS revived or similar.

When you start DUMP, it will announce itself and prompt for input with _. These are some interesting commands:

  • DUMP, for backing up disk files to tape.
  • LOAD, for restoring files from tape to disk.
  • LIST, for listing the contents of a tape.
  • REWIND, for rewinding the tape to the start.
  • ICHECK, to check an incremental backup and update backup status on disk files.
  • QUIT, exit DUMP.

The DUMP command will accept additional arguments:

  • I or INCREM for incremental dump, i.e. only write files which haven't been backed up before.
  • F or FULL for full dump, i.e. back up the entire file system.
  • LINKS to back up links.
  • LIST to list files being processed.

If a file listing is requested, DUMP will ask LIST DEV = for where to write the listing. Type a device name or just Enter for the TTY.

If neither of incremental of full dump is specified, DUMP will back up individual files. Enter the name of each file in response to the FILE= prompt, ending with a blank line. * can be used as a wild card.

When asked about TAPE NO=, enter a unique tape number, or use 0. Tape numbers are used to identify backup tapes in the tape database, which resides in the SYSENG; MACRO TAPES file and the .TAPE directories.

The LOAD command also accepts modifier arguments:

  • CARE does not overwrite existing files.
  • SORRY overwrite files with newer creation dates.
  • LIST to list files being processed.

The LOAD command will always ask FILE=. Type file names to restore, or use wild cards *; * * for all files.

Refer to the file .INFO.; DUMP INFO for the full documentation.

On the Raspberry Pi side, tape image files can be read or written with the itstar command. Files can be extracted with itstar xf file. The ITS file names will be transformed to something acceptable to Unix. For example, FOO; BAR BAZ will become foo/bar.baz.

To create a tape image, use the command itstar cf files.... Files can be either individual files, or directories. All files must be in a directory, with the same file name transformation as for extraction.

Clone this wiki locally