After the header come the file’s name and then its data, with nothing between them.
Name
The file name as plain characters, ending in a byte 00. It is at most 16
characters, so it takes 1 to 17 bytes with the 00. The name can be empty, in which case
the byte right after the header is 00: the second file of the real tape checked here has
no name. A name with no 00 in its first 17 bytes is an error, and the explorer reports it.
Data
The file’s bytes, which the loader puts in memory from the start address. There is no length
field: the length is the end address minus the start address, both from the
header. A header with end $0514 and start
$0501 is followed by 19 bytes.
The end address is one past the last byte
The last byte is at the end address minus one. This was checked on the one real Oric tape on this Mac, the Oric emulator’s demo, which has five files:
- the BASIC file’s 19 bytes are exactly its program: two lines and the
00 00that ends the chain, and BASIC’s own end-of-program pointer is the address after those; - the second file’s last byte, taking the end address as one past, is
60(RTS), the end of a machine-code routine; - with this rule, exactly one byte lies between each file’s data and the next leader (
1Eafter the first file,FFafter the others), and that is true for all five files.
Reading the end address as the last byte itself (length end − start + 1) fits the spacing as well, and would
make that extra byte the last byte of every file. The BASIC program and the 60 argue against
it, but no second reader of Oric tapes was available to settle it, so the explorer uses end − start and shows
the byte after the data as a byte outside any file. If another tool writes tapes the other way, its files
will show one byte short.
Several files
The next file begins with its own leader and sync,
and may be separated from the data before it by other bytes. A tape of a program that loads its own parts, such
as the demo, is a short BASIC file that calls CLOAD"" followed by machine-code files, each loaded to
its own start address.