Тексты программ 421
DSK := 2 (Закончить с ошибкой} until not Disk_Error or (DSK=2);
TrassBlock2;
if Disk_Error then
begin {Нет доступа ни к А:, ни к В:! DiskettPrepare := False;
Exit end;
(Проверяем тип дискеты} TrassBlockl;
with Info do begin
if (TracksOETracks) or
(TrackSizOETrackSiz) then begin {He эталонный тип) DiskettPrepare := False;
DSK := 3;
Exit end;
{Переустанавливаем ТПД} TrassBlockl;
GetIntVec($lE,P) ;
OldDBT := P;
New(DBT);
DBT^'OldDBT'1;
with DBT" do begin
SizeCode := SIZ;
LastSect := ETrackSiz end;
SetIntVec($lE,DBT) end;
DiskettPrepare := True end; {DiskettPrepare} /————————————;
Function LegalDiskett(var DSK: Byte): Boolean;
(Проверяет легальность мобильной копии} var
k,n: Word;
begin
(Подготавливаем дискету} if DisltettPrepare(DSK) then
begin
{Читаем ключевой сектор} TrassBlockl;
with R do begin
ah :=• 2;
al := 1;
ch :- TRK;
Cl := SEC;
dh := HED;
dl := DSK;
es := seg(Buf) ;
bx := ofs (Buf) ;
Intr($13,R) ;
SetIntVec($lE,P) ;
if (Flags and FCarry)<>0 then begin