EXOS 2.1 Cassette Driver Specification

7. Quick Reference Summary


7.1 EXOS Calls

Open Channel

Opens a read channel and gets the header chunk.
Only one read channel allowed.
Device name "TAPE:", unit number ignored.
Filename compared with file on tape (unless null).
No EXOS variables need to be set up before open.

Create Channel

Opens a write channel and write the header chunk.
Only one write channel allowed.
Device name "TAPE:", unit number ignored.
Filename written into header.
EXOS variables LV_TAPE, SP_TAPE and PROTECT must be set up before create.

Close/Destroy Channel

Treated identically.
For a write channel will write out any buffered data.

Read Character/Block

Only allowed for read channel.
Read characters from buffer until empty, then read another data chunk from tape.

Write Character/Block

Only allowed for write channel.
Writes characters into buffer and writes it out to tape when it gets full.

Read Status

Returns C=0FFh at end of file or after an error
Returns C=000h otherwise.

Set Status

Not supported.

Special Function

No special functions.


7.2 EXOS Variables

These must be set up before a channel is created:

LV_TAPE - Tape output level (1..6)
SP_TAPE - Tape output speed (0=fast, 0FFh=slow)
PROTECT - Non­zero to write out protected file

Miscelaneous:

TAPE_SND - nonzero to suppress tape sound feedthrough
REM1/REM2 - Control tape remote relays 0=on, 0FFh for off.



David Bouman. (dsbouma@cs.vu.nl)