cassette(1) | General Commands Manual | cassette(1) |
cassette - data cassette image manipulator for xtrs TRS-80 emulator
cassette
To control the emulated cassette used by xtrs, a file called .cassette.ctl in the current directory keeps track of what file is currently “loaded” as the cassette tape and the current position within that file. The cassette shell script provides a way to manipulate this file; typing “help” at its prompt shows its commands. You may use this script to load and position cassette tape files. The operation works very much like an actual tape recorder.
This manual page also describes the image formats that the emulator supports and their limitations.
pos generates a status message including the filename being used as the cassette image and the current position within the image, in bytes.
load [filename] changes the cassette image currently being used
to the file specified, and resets the position counter to zero.
type [format] tells the emulator what type of image is loaded.
Usually format is detected from the file extension, but you can
override the detected value with this command. The supported types are
listed in Format Types, below.
rew [position] changes the position counter to the position
specified. If no position is given, the counter is reset to zero.
ff [position] changes the position counter to the position
specified. If no position is given, the counter is set to the end of the
file.
quit exits cassette.
xtrs supports several different types of cassette images, each of which represents cassette data in a different format.
cas format is fairly compact and is compatible with other TRS-80
emulators that have cassette support. This format represents the bit stream
that (the emulator thinks) the TRS-80 cassette routines were trying to save
to the tape, not the actual electrical signals on the tape.
cpt format (for “cassette pulse train”) encodes the
exact values and timing of the signals that the TRS-80 cassette routine
sends to the cassette output port to be recorded on the tape. Timing is
to the nearest microsecond. This format emulates a perfect, noise-free
cassette, so any cassette routines that even halfway worked on real
hardware should work with it.
wav format refers to WAVE, a standard sound file format developed
by IBM and Microsoft. The wav format is intermediate in emulation
accuracy between cas and cpt. It does represent actual
signals, not decoded bits, but its timing precision is limited by the
sample rate used. The default rate for new wav files is 44,100
Hz; you can change this with the -samplerate command-line option
to xtrs.
direct format is similar to wav format, except that the
samples go to (or come from) your sound card directly, not a WAVE file.
The direct format requires the Open Sound System /dev/dsp
device. Extending the code to work with other sound interfaces would
probably not be hard, but is left as an exercise for the reader. Please
send me the changes if you do this.
debug format is the same as cpt format except that the data
is written in human-readable ASCII. The cassette output is assumed to be
0 initially. Each line of output gives a new value (0, 1, or 2), and the
amount of time (in microseconds) to wait before changing the output to
this value.
xtrs 1.0 was written by David Gingold and Alec Wolman. The current version was revised and much extended by Timothy Mann (see http://www.tim-mann.org/).
2008-06-26 | xtrs |