(* 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 ;