1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
(* 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 ;
|