Trailing-Edge
-
PDP-10 Archives
-
decuslib20-01
-
decus/20-0003/sektst.pas
There is 1 other file named sektst.pas in the archive. Click here to see a list.
{This program was written for our C.E.'s to try and pull out problems
with a disk pack on line. It is similar to the SEKTST diagnostic.
It seeks to cylinder 0 and somewhere near the last cylinder (for an
RP06 - you will have to change the 240000 to something else for
a different drive. It is the block number (128-word blocks) of
a block in the last cylinder. It just seeks back and forth between
these two blocks as fast as possible.}
var
block:array[0:511]of integer;
c,u,a,w:integer;
procedure rdblock(c,u,a:integer);
var addr:packed record case boolean of
true:(word:integer);
false:(atype:0..3B;chan:0..37B;unit:0..77B;bnum:0..37777777B)
end;
begin
addr.atype := 1;
addr.chan := c;
addr.unit := u;
addr.bnum := a;
jsys(242B;addr.word,128,block);
end;
function octread:integer;
var i:integer;
begin
1:
i := 0;
while (tty^ >= '0') and (tty^ <= '9') do
if tty^ > '7'
then begin
writeln(tty, 'Octal number required');
readln(tty);
goto 1
end
else begin
i := i*8 + (ord(tty^)-60B);
get(tty)
end;
octread := i
end;
begin
write(tty,'Chan: '); readln(tty); c := octread;
write(tty,'Unit: '); readln(tty); u := octread;
while true do
begin
a := 0;
rdblock(c,u,a);
a := 240000;
rdblock(c,u,a);
end
end.