system/dos/1986/src/gen.dos

Raw file
Back to index

(* 28.02.88, DOS Inserter HD/FD *) 
TASK VAR fd, hd ; 
IF NOT exists ("files.dos") THEN fetch ("files.dos", archive) FI ; 
IF highest entry (ALL "files.dos" - all) > 0 
   THEN fetch (ALL "files.dos" - all, archive) ; 
FI ; 
forget ("files.dos", quiet) ; 
forget ("gen.dos", quiet) ; 
release (archive) ; 
ins ("eumel-ebcdic + sub") ; 
ins ("open") ; 
ins ("name conversion") ; 
begin ("FD", PROC fd start, fd) ; 
begin ("HD", PROC hd start, hd) ; 
globalmanager ; 
 
PROC ins (TEXT CONST name) : 
 insert (name) ; 
 forget (name, quiet) 
ENDPROC ins ; 
 
PROC hd start : 
 command dialogue (FALSE) ; 
 
 fetch ("eu disk descriptor.hd") ; 
 erase ("eu disk descriptor.hd") ; 
 fetch ("disk descriptor.dos.hd") ; 
 erase ("disk descriptor.dos.hd") ; 
 fetch ("cluster") ; 
 fetch ("block i/o") ; 
 fetch ("fat and dir.dos.hd") ; 
 erase ("fat and dir.dos.hd") ; 
 fetch ("fetch") ; 
 fetch ("save") ; 
 fetch ("disk manager") ; 
 fetch ("manager/M.dos.hd") ; 
 erase ("manager/M.dos.hd") ;  (* fetch beendet signalieren *) 
 
 IF NOT exists ("manager/M.dos.fd", father) (* FD auch fertig ? *)
    THEN erase ("block i/o") ; 
         erase ("cluster") ; 
         erase ("fetch") ; 
         erase ("save") ; 
         erase ("disk manager")
 FI ; 
 
 ins ("eu disk descriptor.hd") ; 
 ins ("disk descriptor.dos.hd") ; 
 ins ("cluster") ; 
 ins ("block i/o") ; 
 ins ("fat and dir.dos.hd") ; 
 ins ("fetch") ; 
 ins ("save") ; 
 ins ("disk manager") ; 
 ins ("manager/M.dos.hd") ; 
 do ("dos manager") 
ENDPROC hd start ; 
 
PROC fd start : 
 disablestop ;
 command dialogue (FALSE) ; 
 fetch ("table thes.dos") ; 
 erase ("table thes.dos") ; 
 fetch (ALL "table thes.dos") ; 
 erase (ALL "table thes.dos") ; 
 fetch ("eu disk descriptor.fd") ; 
 erase ("eu disk descriptor.fd") ; 
 fetch ("disk descriptor.dos.fd") ; 
 erase ("disk descriptor.dos.fd") ; 
 fetch ("cluster") ; 
 fetch ("block i/o") ; 
 fetch ("fat and dir.dos.fd") ; 
 erase ("fat and dir.dos.fd") ; 
 fetch ("fetch") ; 
 fetch ("save") ; 
 fetch ("disk manager") ; 
 fetch ("manager/M.dos.fd") ; 
 erase ("manager/M.dos.fd") ;  (* fetch beendet signalieren *) 
 
 IF NOT exists ("manager/M.dos.hd", father) (* HD auch fertig ? *)
    THEN erase ("block i/o") ;
         erase ("cluster") ; 
         erase ("fetch") ; 
         erase ("save") ; 
         erase ("disk manager")
 FI ; 
 
 ins ("eu disk descriptor.fd") ; 
 ins ("disk descriptor.dos.fd") ; 
 ins ("cluster") ; 
 ins ("block i/o") ; 
 ins ("fat and dir.dos.fd") ; 
 ins ("fetch") ; 
 ins ("save") ; 
 ins ("disk manager") ; 
 ins ("manager/M.dos.fd") ; 
 do ("dos manager") 
ENDPROC fd start ;