summaryrefslogtreecommitdiff
path: root/system/dos/1.8.7/src/dos inserter
blob: 2f70b284573635f9e92d6cfaab48a19ec135d7cd (plain)
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
IF NOT single user
  THEN do ("IF name (myself) <> ""DOS"" THEN error stop (""Bitte der Task den Namen 'DOS' geben und neu starten"") FI");
FI; 
 
archive ("austausch");
check off;
command dialogue (FALSE);
hol ("shard interface");
hol ("bpb ds");
hol ("insert.dos");
IF single user
  THEN do (PROC (TEXT CONST) gen s, ALL "insert.dos");
       gen s ("manager/S.dos")
  ELSE do (PROC (TEXT CONST) hol, ALL "insert.dos");
       hol ("manager/M.dos");
       release (archive);
       do (PROC (TEXT CONST) gen m, ALL "insert.dos");
       gen m ("manager/M.dos");
       putline ("jetzt mit 'dos manager' bzw. 'dos manager (channnel)' starten");
FI;
do ("hd version (FALSE)");
do ("load shard interface table");
forget ("shard interface", quiet);
forget ("insert.dos", quiet);
forget ("dos inserter", quiet).
 
single user:
  (pcb (9) AND 255) = 1.
 
PROC gen m (TEXT CONST name):
  insert (name);
  forget (name, quiet)
 
END PROC gen m;
 
PROC gen s (TEXT CONST t):
  hol (t);
  insert (t);
  forget (t, quiet)
 
END PROC gen s;
 
PROC hol (TEXT CONST t):
  IF NOT exists (t)
    THEN fetch (t, archive)
  FI
 
END PROC hol;