Hardware manual

BFSTryDisk(drive, track, sector[0]) returns true if a seek command to the specified track on the specified
drive is successful. Note that the drive argument can contain an imbedded partition number. Seeks to
track zero will fail if the drive is not on line. Seeks to track BFS31NTracks+1 will fail if the drive is a
model 31.
10. Implementation -- Tfs
Operation and implementation of the Trident T80 disks is described in separate documentation under the
heading "TFS/TFU" in Alto Subsystems documentation.
11. BFSTest
BFSTest is used to test the Basic File System (BFS) and Disk Streams software packages. It creates,
deletes, reads, writes and positions files the same way that normal programs do, and checks the results
which normal programs do not do. These high-level operations cause patterns of disk commands which
are quite different from those generated by lower-level tests such as DiEx.
When started, BFSTest asks you which disks to test, whether to erase them first, and how many passes to
run. You can use a disk with other files on it, and BFSTest will not disturb them if you prohibit erasing.
The duration and throughness of a pass depends on the amount of free space on the disks.
BFSTest creates as many test files (named Test.001, Test.002, ...) as will fit on the disk, filling each file with
a carefully chosen test pattern. When it is done, it deletes all of the files. One ’pass’ consists of stepping
through the test files, performing a randomly chosen operation on the file, and checking the results. It
looks for commands from the keyboard after each file. The current commands are:
Q Quit Delete all test files and stop.
S StopOnError Wait until a character is typed.
All test files are 100 pages long. Each page of a file has the page number in its first and last words and a
data pattern in the middle 254 words. The data pattern is constant throughout a file, consisting of a single
one-bit in a word of zeros or a single zero-bit in a word of ones. Files are read and written with ReadBlock
and WriteBlock using buffers whose lengths are not multiples of the page size. The operations are:
Write Write the entire file with the data pattern.
Read Read the entire file checking the data pattern.
Delete Delete the file, create it again and then write it.
Copy Copy the file to some other randomly chosen file. If both disks are being tested,
one third of the time pick a destination file on the other disk.
Position Position to twenty randomly chosen pages in the file. Check that the first word
of the page is indeed the page number. One third of the time dirty the stream by
writing the page number in the last word of the page.
Disks & Bfs August 10, 1980 62
For Xerox Internal Use Only -- December 15, 1980