summaryrefslogtreecommitdiff
path: root/doc/dos/dos-dat-handbuch
blob: a1e4fd4019687f6234b22cef66f9b8967405349f (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
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
____________________________________________________________________________ 
 
 
#on("b")##on ("u")# 
#center#Betriebssystem E U M E L 
#off ("u")# 
 
 
#center#MS-DOS-DAT 
 
 
 
 
#off("b")# 
#center#Lizenzfreie Software der 
#on ("b")# 
 
#center#Gesellschaft für Mathematik und Datenverarbeitung mbH, 
#center#5205 Sankt Augustin 
 
 
#off("b")# 
#center#Die Nutzung der Software ist nur im Schul- und Hochschulbereich für 
#center#nichtkommerzielle Zwecke gestattet. 
 
#center#Gewährleistung und Haftung werden ausgeschlossen 
 
 
____________________________________________________________________________ 
#page# 
#free(4.5)# 
 
#center#Lesen und Schreiben 
#center#von 
#center#MS-DOS Dateien 
 
#on ("b")##center#MS-DOS-DAT#off ("b")# 
#free(1.5)# 
 
 
#center#Version 2.0 
 
#center#Stand 10.09.87 
#page# 
#pagenr ("%",1)##setcount (1)##block##pageblock##count per page# 
#headeven# 
% #center#MS-DOS-DAT 
#center#____________________________________________________________ 
 
#end# 
#headodd# 
#center#MS-DOS-DAT#right#% 
#center#____________________________________________________________ 
 
#end# 
#on("bold")# 
#ib#1. Allgemeines#ie# 
#off ("b")# 
 
Dieses Programm ermöglicht MS-DOS Dateien vom EUMEL aus von Disketten zu
lesen und auf Disketten zu schreiben. Die Benutzerschnittstelle ist ähnlich der des
EUMEL-Archivs organisiert. Der Benutzer kommuniziert mit einer Task des
EUMEL-Systems, nämlich mit der Task 'DOS'. Diese wickelt dann über das Archiv­
laufwerk die Diskettenzugriffe ab. Der Benutzer meldet die MS-DOS Diskette mit
'reserve ("...", /"DOS")' an und kann dann mit 'list (/"DOS")', 'fetch ("...", /"DOS")',
'save ("...", /"DOS")' und weiteren Kommandos auf die MS-DOS Diskette zugreifen.
Für das Schreiben und Lesen (save, fetch) stehen insgesamt 7 verschiedene Be­
triebsarten zur Verfügung. Man kann in eine Datei im ASCII Code mit und ohne
Anpassung der Umlaute, im IBM-ASCII Code, im Atari-ST Code oder ganz ohne
Codeumsetzung lesen bzw. schreiben. Die Betriebsart selbst wird beim Anmelden der
MS-DOS Diskette durch den Textparameter des 'reserve'-Kommandos bestimmt. 
 
Die gleiche Benutzerschnittstelle gilt für die Kommunikation mit der Task 'DOS HD'.
Diese Task liest und schreibt aber nicht auf der Diskette, sondern in der MS-DOS
Partition der Festplatte (falls vorhanden). 
 
 
#on("bold")# 
#ib#2. Benutzeranleitung #ie# 
#off ("b")# 
Im Normalfall will man als Benutzer eine EUMEL-Textdatei auf eine MS-DOS
Diskette schreiben oder eine mit z.B. Word-Star erstellte MS-DOS-Textdatei in
das EUMEL-System einlesen (implementierte Formate siehe Abschnitt 3). 
 
Lesen einer MS-DOS-Datei: 
 
#linefeed (1.25)# 
#on ("b")# 
  reserve ("file ascii german", /"DOS"); 
  (* MS-DOS-Diskette ins Laufwerk einlegen *) 
  fetch (filename, /"DOS"); 
  release (/"DOS") 
#off ("b")# 
 
Schreiben einer MS-DOS-Datei: 
 
#on ("b")# 
  reserve ("file ascii german", /"DOS"); 
  (* MS-DOS-Diskette ins Laufwerk einlegen *) 
  save (filename, /"DOS"); 
  release (/"DOS") 
#off("b")# 
#linefeed (1.0)# 
 
 
Sollen statt der Umlaute []{|}\ verwendet werden, so ist statt "file ascii german" "file
ascii" einzustellen. Eine genaue Beschreibung aller 7 möglichen Betriebsarten wird in
Abschnitt 6 gegeben. Der Dateiname 'file name' unterliegt den im Abschnitt 4 be­
schriebenen Einschränkungen. 
 
 
#on("bold")# 
#ib#3. Implementierte Formate#ie# 
#off("b")#
 
Diese Hardware ermöglicht das Bearbeiten von MS-DOS Disketten mit Hilfe der
Task /"DOS" und (falls es sich um einen MS-DOS fähigen Rechner mit MS-DOS Parti­
tion auf der Festplatte handelt) das Bearbeiten von Daten in der MS-DOS Partition
der Platte. 
 
#on("bold")# 
#ib#3.1 Arbeiten mit der Task /"DOS"#ie# 
#off ("b")# 
 
Die Task /"DOS" verwendet das Archivlaufwerk als MS-DOS Datenträger. Es sind
alle mit dem IBM-Format der DOS Version 2 und 3 kompatiblen Formate für 5.25
Zoll und 3.5 Zoll Disketten implementiert, sofern diese 512 Byte große Sektoren
verwenden und im ersten Sektor einen erweiterten BIOS-Parameterblock (BPB)
enthalten (hierzu gehören auch mit dem Atari ST bearbeitete Disketten). Weiterhin
sind die beiden von IBM verwendeten Formate der DOS Version 1 implementiert (5.25
Zoll, ein- bzw. zweiseitig, 40 Spuren a 8 Sektoren). 
 
Die einzige Hardwarevoraussetzung besteht darin, daß der Hardwareanpassungs­
modul (SHard) alle von DOS benutzten Sektoren lesen und schreiben können muß. 
 
#on("bold")# 
#ib#3.2 Arbeiten mit der Task /"DOS HD"#ie# 
#off ("b")# 
 
Die Task /"DOS HD" verwendet die MS-DOS Partition der Festplatte als Daten­
träger (falls eine solche vorhanden ist und das SHard diese ansprechen kann). Hier
gibt es keine Beschränkungen bezüglich des Plattentyps. 
 
 
#on("bold")# 
#ib#4. Dateibenennung#ie# 
#off ("b")# 
 
Die Namen für MS-DOS Dateien unterliegen bestimmten Regeln. Ein Dateiname
kann aus 
-  einem bis acht Zeichen  oder 
-  einem bis acht Zeichen gefolgt von einem Punkt und einer Namenserweiterung
   von einem bis drei Zeichen 
bestehen. 
 
Gültige Zeichen sind 
-  die Buchstaben A bis Z 
-  die Ziffern 0 bis 9 
-  die Sonder- und Satzzeichen $ \# & § ! ( ) { } 
 
Da weitere Sonderzeichen in verschiedenen MS-DOS Versionen in unterschiedlich­
em Umfang erlaubt sind, ist ihre Verwendung beim Schreiben (save) vom EUMEL aus
nicht zugelassen. Beim Lesen und Löschen dagegen sind sie erlaubt. 
 
Außerdem sind die Buchstaben a - z erlaubt. Diese werden beim Zugriff auf das
MS-DOS Inhaltsverzeichnis (Directory) in große Buchstaben konvertiert. Durch das
Kommando 'fetch ("Test", /"DOS")' wird also die MS-DOS Datei mit dem Namen
'TEST' in die EUMEL Datei mit dem Namen 'Test' gelesen; 'save ("test", /"DOS")'
überschreibt dann die MS-DOS-Datei 'TEST' (natürlich nach Anfrage). 
 
 
#on("bold")# 
#ib#5. Beschreibung der Kommandos#ie# 
#off ("b")# 
 
In diesem Abschnitt steht der Begriff Dostask beim Arbeiten mit der Floppy für die
Task /"DOS" und beim Arbeiten mit der MS-DOS Partition der Platte für die Task
/"DOS HD". Analog steht der Begriff Dosbereich beim Arbeiten mit der Floppy für die
Floppy und beim Arbeiten mit der MS-DOS Partition der Platte für diese Partition. 
 
#on("bold")# 
THESAURUS OP ALL (TASK CONST task) 
#off ("b")# 
  Wird der 'ALL'-Operator für die Dostask aufgerufen, so wird ein Thesaurus ge­
  liefert. In diesem Thesaurus sind alle im Dosbereich vorhandenen Dateien einge­
  tragen. Die vorhandenen Unterinhaltsverzeichnisse (Subdirectories) werden nicht
  eingetragen. 
 
 
#on("bold")# 
PROC check (TEXT CONST filename, TASK CONST task) 
#off ("b")# 
  Durch Aufruf dieser Prozedur für die Dostask wird die Datei 'filename' im Dosbe­
  reich prüfgelesen. Es werden nur die mit Daten belegten Blöcke prüfgelesen. Sollen
  auch der Einträge im Inhaltsverzeichnis überprüft werden, so erreicht man dies
  durch vorheriges neues Anmelden mit der Prozedur 'reserve'. 
 
 
#on("bold")# 
PROC clear (TASK CONST task) 
#off ("b")# 
  Durch Aufruf dieser Prozedur für die Task /"DOS" wird die gesamte Diskette ge­
  löscht. Mit dieser Prozedur können #on ("u")#nur MS-DOS formatierte Disketten#off ("u")# behandelt
  werden. Soll eine Diskette dagegen für den Gebrauch unter MS-DOS initialisiert
  werden, so ist sie auf einem MS-DOS-Rechner zu formatieren. 
 
  Der Aufruf dieser Prozedur für die Task /DOS HD" ist aus Sicherheitsgründen nicht
  erlaubt. 
 
 
#on("bold")# 
PROC erase (TEXT CONST filename, TASK CONST task) 
#off ("b")# 
  Durch Aufruf dieser Prozedur für die Dostask wird die Datei 'filename' im Dosbe­
  reich gelöscht. 
 
 
#on("bold")# 
BOOL PROC exists (TEXT CONST name, TASK CONST task) 
#off ("b")# 
  Wird diese Prozedur für die Dostask aufgerufen, so liefert sie 'TRUE', falls eine
  Datei mit dem Namen 'name' im Dosbereich existiert. Andernfalls liefert sie
  'FALSE'. 
 
 
#on("bold")# 
PROC fetch (TEXT CONST filename, TASK CONST task) 
#off ("b")# 
  Durch Aufruf dieser Prozedur für die Dostask wird die Datei 'filename' aus dem
  Dosbereich gelesen. Hierbei wird in der beim Anmelden (reserve ("...", dostask))
  bestimmten Betriebsart gelesen (siehe Abschnitt 6). 
 
 
#on("bold")# 
PROC list (TASK CONST task) 
#off ("b")# 
  Wird diese Prozedur für die Dostask aufgerufen, so werden alle Dateien des In­
  haltsverzeichnisses und alle Unterverzeichnisse des Dosbereichs aufgelistet. 
 
 
#on("bold")# 
PROC release (TASK CONST task) 
#off ("b")# 
  Der Aufruf dieser Prozedur für die Task Dostask hebt deren Reservierung auf.
  Gleichzeitig wird auch der für block i/o benutzte Kanal freigegeben, so daß bei
  Benutzung der Task /"DOS" der Archivkanal durch das EUMEL-Archiv wieder
  benutzt werden kann. 
 
  Um möglichst effizient arbeiten zu können, werden Inhaltsverzeichnis und Ket­
  tungsblock des Dosbereichs als Kopie im EUMEL gehalten. Der hierdurch belegte
  Speicher wird beim 'release' wieder freigegeben. Dies ist bei kleinen Systemen
  besonders wichtig. 
 
 
#on("bold")# 
PROC reserve (TEXT CONST mode, TASK CONST task) 
#off ("b")# 
  Durch Aufruf für die Dostask werden Operationen mit dem Dosbereich angemel­
  det. Gleichzeitig koppelt sich die Dostask an den entsprechenden Kanal an.
  (/"DOS" an Kanal 31 und /"DOS HD" an Kanal 29). Die Anmeldung wird abge­
  lehnt, wenn der für die MS-DOS Operationen benötigte Kanal belegt ist (z.B. bei
  Kanal 31 durch eine Archiv­Operation). Ähnlich wie beim EUMEL-Archiv bleibt
  diese Reservierung bis 5 Minuten nach dem letzten Zugriff gültig. 
 
  Wird beim Arbeiten mit der Task /"DOS" die MS-DOS Diskette gewechselt, so
  muß erneut 'reserve ("...", /"DOS")' aufgerufen werden. Nur so ist gewährleistet,
  daß das Inhaltsverzeichnis der neuen Diskette geladen wird. 
 
  Der Text 'mode' gibt die Betriebsart für das Schreiben und Lesen der Diskette
  sowie den Pfad für das Bearbeiten von Subdirectories an und nicht wie beim
  EUMEL-Archiv den Diskettennamen. Es gilt folgende Systax: 
 
    modus :[\directory][\directory]...[\directory] 
 
  Hierbei sind die Angaben in eckigen Klammern optional. Wird kein Pfad angege­
  ben, so wird mit dem Hauptdirektory der Diskette gearbeitet. Ansonsten wird mit
  dem Directory gearbeitet, welches durch den hinter dem Doppelpunkt angegeben
  Pfad bezeichnet wird. Als 'modus' können alle in Abschnitt 6 beschriebenen Be­
  triebsarten verwendet werden. 
 
 
#on("bold")# 
PROC save (TEXT CONST filename, TASK CONST task) 
#off ("b")# 
  Durch Aufruf dieser Prozedur für die Dostask wird die Datei 'filename' in den
  Dosbereich geschrieben. Hierbei wird in der beim Anmelden (reserve ("...",
  dostask)) bestimmten Betriebsart geschrieben (siehe Abschnitt 6). 
 
 
#on("bold")# 
#ib#6. Die Betriebsarten von 'fetch' und 'save'#ie# 
 
#ib#6.1 Betriebsart: file ascii#ie# 
 
#on("bold")# 
fetch ("filename", dostask) 
#off ("b")# 
  Die MS-DOS Datei 'filename' wird in die EUMEL-Datei 'filename' kopiert. Dabei
  werden von allen Zeichen nur die niederwertigen 7 Bit gemäß DIN 66 003, ASCII
  Code, internationale Referenzversion interpretiert. Die Datei wird so aufbereitet, daß
  ein Bearbeiten mit dem EUMEL-Editor möglich ist. Dies geschieht folgenderma­
  ßen: 
    -  Alle im EUMEL darstellbaren Zeichen werden auf diese abgebildet. 
    -  Die Zeichenfolgen CR LF, LF CR, LF, CR (CR = carriage return, LF = line­
       feed) beenden einen Satz in der MS-DOS-Datei. Dementsprechend wird
       eumelseitig die aktuelle Zeile beendet. 
    -  Das Zeichen FF (form feed) beendet eumelseitig die aktuelle Zeile. Außerdem
       wird ein Satz mit dem Inhalt "\#page\#" eingefügt. 
    -  TAB's (Code 9) werden mit Blanks zur nächsten 8ter-Position expandiert. 
    -  'Ctrl z' in der MS-DOS Datei wird als Dateiende interpretiert. Fehlt dieses,
       so wird bis zum letzten Zeichen des letzten Sektors der Datei gelesen. 
    -  Alle anderen Zeichen mit 0 <= code (zeichen) <=  31 (Steuerzeichen)
       werden durch eine Ersatzdarstellung dargestellt (der Code des Zeichens wird
       als 3 stellige Dezimalzahl eingeschlossen von \#-Zeichen dargestellt). 
 
 
#on("bold")# 
save ("filename", dostask) 
#off ("b")# 
  Die EUMEL-Datei 'filename' wird nach MS-DOS geschrieben. Unter MS-DOS
  wird der ASCII Code, internationale Referenzversion gemäß DIN 66 003 verwendet.
  Dies geschieht folgendermaßen: 
    -  Die EUMEL-spezifischen Druckzeichen (Trenn -, Trenn k, Druck \#, ge­
       schütztes Blank) werden in -, k, \# und Blank umgesetzt. 
    -  Alle in der internationalen Referenzversion des ASCII Codes vorhandenen
       Eumel-Zeichen werden auf diese abgebildet. 
    -  Alle in der internationalen Referenzversion des ASCII Codes nicht vorhande­
       nen Eumel-Zeichen werden durch eine Ersatzdarstellung dargestellt (der
       Code des Zeichens wird als 3 stellige Dezimalzahl eingeschlossen von
       \#-Zeichen dargestellt) 
    -  Steht in einer Zeile nur das Kommando '\#page\#' so wird dieses in ein Sei­
       tenvorschubsteuerzeichen (""12"") umgewandelt. 
    -  Eine dreistellige Dezimalzahl eingeschlossen von \# Zeichen wird als Ersatz­
       darstellung für das Zeichen mit dem durch die Dezimalzahl angegebenen
       Code betrachte. Diese Ersatzdarstellung wird beim Schreiben aufgelöst (d.h.
       durch das entsprechende Zeichen ersetzt). 
    -  Nach jeder Zeile wird 'carriage return' und ' linefeed' angefügt 
    -  Am Ende der Datei wird 'ctrl z' angehängt. 
 
 
#on("bold")# 
#ib#6.2 Betriebsart: file ascii german#ie# 
 
fetch ("filename", dostask) 
#off ("b")# 
  Die MS-DOS Datei 'filename' wird in die EUMEL-Datei 'filename' kopiert. Dabei
  werden von allen Zeichen nur die niederwertigen 7 Bit gemäß DIN 66 003, ASCII
  Code, deutsche Referenzversion interpretiert. Die Datei wird so aufbereitet, daß ein
  Bearbeiten mit dem EUMEL-Editor möglich ist. Dies geschieht wie in der Be­
  triebsart 'file ascii', jedoch stehen statt []{}|\ die Umlaute und ß zur Verfügung. 
 
 
#on("bold")# 
save ("filename", dostask) 
#off ("b")# 
  Die EUMEL-Datei 'filename' wird nach MS-DOS geschrieben. Unter MS-DOS
  wird der ASCII Code, deutsche Referenzversion gemäß DIN 66 003 verwendet. Dies
  geschieht wie in der Betriebsart 'file ascii', jedoch stehen statt []{}|\ die Umlaute
  zur Verfügung. 
 
 
#on("bold")# 
#ib#6.3 Betriebsart: file ibm#ie# 
 
fetch ("filename", dostask) 
#off ("b")# 
  Die MS-DOS Datei 'filename' wird in die EUMEL-Datei 'filename' kopiert. Dabei
  werden alle Zeichen wie in der von IBM verwendeten Version des ASCII Codes
  interpretiert. Die Datei wird so aufbereitet, daß ein Bearbeiten mit dem EUMEL-
  Editor möglich ist. Dies geschieht folgendermaßen: 
    -  Alle im EUMEL darstellbaren Zeichen werden auf diese abgebildet. 
    -  Die Zeichenfolgen CR LF, LF CR, LF, CR (CR = carriage return, LF = line­
       feed) beenden einen Satz in der MS-DOS-Datei. Dementsprechend wird
       eumelseitig die aktuelle Zeile beendet. 
    -  Das Zeichen FF (form feed) beendet eumelseitig die aktuelle Zeile. Außerdem
       wird ein Satz mit dem Inhalt "\#page\#" eingefügt. 
    -  TAB's (Code 9) werden mit Blanks zur nächsten 8ter-Position expandiert. 
    -  Alle anderen Zeichen mit 0 <= code (zeichen) <=  31 (Steuerzeichen)
       werden durch eine Ersatzdarstellung dargestellt (der Code des Zeichens wird
       als 3 stellige Dezimalzahl eingeschlossen von \#-Zeichen dargestellt). 
 
 
#on("bold")# 
save ("filename", dostask) 
#off ("b")# 
  Die EUMEL-Datei 'filename' wird nach MS-DOS geschrieben. Unter MS-DOS
  wird der ASCII Code in der von IBM verwendeten Version verwendet. Dies ge­
  schieht folgendermaßen: 
    -  Die EUMEL-spezifischen Druckzeichen (Trenn -, Trenn k, Druck \#, ge­
       schütztes Blank) werden in -, k, \# und Blank umgesetzt. 
    -  Alle in der IBM Version des ASCII Codes vorhandenen Eumel-Zeichen
       werden auf diese abgebildet. 
    -  Alle in der IBM Version des ASCII Codes nicht vorhandenen Eumel-Zeichen
       werden durch eine Ersatzdarstellung dargestellt (der Code des Zeichens wird
       als 3 stellige Dezimalzahl eingeschlossen von \#-Zeichen dargestellt) 
    -  Steht in einer Zeile nur das Kommando '\#page\#' so wird dieses in ein Sei­
       tenvorschubsteuerzeichen (""12"") umgewandelt. 
    -  Eine dreistellige Dezimalzahl eingeschlossen von \# Zeichen wird als Ersatz­
       darstellung für das Zeichen mit dem durch die Dezimalzahl angegebenen
       Code betrachte. Diese Ersatzdarstellung wird beim Schreiben aufgelöst (d.h.
       durch das entsprechende Zeichen ersetzt). 
    -  Nach jeder Zeile wird 'carriage return' und ' linefeed' angefügt 
 
 
#on("bold")# 
#ib#6.4 Betriebsart: file atari st#ie# 
 
fetch ("filename", dostask) 
#off ("b")# 
  Die MS-DOS Datei 'filename' wird in die EUMEL-Datei 'filename' kopiert. Dabei
  werden alle Zeichen wie in der vom Atari ST verwendeten Version des ASCII Codes
  interpretiert. Die Datei wird so aufbereitet, daß ein Bearbeiten mit dem EUMEL-
  Editor möglich ist. Dies geschieht folgendermaßen: 
    -  Alle im EUMEL darstellbaren Zeichen werden auf diese abgebildet. 
    -  Die Zeichenfolgen CR LF, LF CR, LF, CR (CR = carriage return, LF = line­
       feed) beenden einen Satz in der MS-DOS-Datei. Dementsprechend wird
       eumelseitig die aktuelle Zeile beendet. 
    -  Das Zeichen FF (form feed) beendet eumelseitig die aktuelle Zeile. Außerdem
       wird ein Satz mit dem Inhalt "\#page\#" eingefügt. 
    -  TAB's (Code 9) werden mit Blanks zur nächsten 8ter-Position expandiert. 
    -  Alle anderen Zeichen mit 0 <= code (zeichen) <=  31 (Steuerzeichen)
       werden durch eine Ersatzdarstellung dargestellt (der Code des Zeichens wird
       als 3 stellige Dezimalzahl eingeschlossen von \#-Zeichen dargestellt). 
 
 
#on("bold")# 
save ("filename", dostask) 
#off ("b")# 
  Die EUMEL-Datei 'filename' wird nach MS-DOS geschrieben. Unter MS-DOS
  wird der ASCII Code in der vom Atari ST verwendeten Version verwendet. Dies
  geschieht folgendermaßen: 
    -  Die EUMEL-spezifischen Druckzeichen (Trenn -, Trenn k, Druck \#, ge­
       schütztes Blank) werden in -, k, \# und Blank umgesetzt. 
    -  Alle in der vom Atari ST verwendeten Version des ASCII Codes vorhandenen
       Eumel-Zeichen werden auf diese abgebildet. 
    -  Alle in der vom Atari ST verwendeten  Version des ASCII Codes nicht
       vorhandenen Eumel-Zeichen werden durch eine Ersatzdarstellung dargestellt
       (der Code des Zeichens wird als 3 stellige Dezimalzahl eingeschlossen von
       \#-Zeichen dargestellt) 
    -  Steht in einer Zeile nur das Kommando '\#page\#' so wird dieses in ein Sei­
       tenvorschubsteuerzeichen (""12"") umgewandelt. 
    -  Eine dreistellige Dezimalzahl eingeschlossen von \# Zeichen wird als Ersatz­
       darstellung für das Zeichen mit dem durch die Dezimalzahl angegebenen
       Code betrachte. Diese Ersatzdarstellung wird beim Schreiben aufgelöst (d.h.
       durch das entsprechende Zeichen ersetzt). 
    -  Nach jeder Zeile wird 'carriage return' und ' linefeed' angefügt 
 
 
#on("bold")# 
#ib#6.5 Betriebsart: file transparent#ie# 
 
fetch ("filename", dostask) 
#off ("b")# 
  Die MS-DOS Datei 'filename' wird in die EUMEL-Datei 'filename' kopiert. Dabei
  werden von allen Zeichen alle 8 Bit interpretiert. Es werden keine Zeichen einge­
  fügt, gelöscht oder gewandelt. Somit stehen dann auch CR und LF Zeichen in der
  EUMEL-Datei. 
 
  Da eine solche Datei noch Steuerzeichen enthält, ist beim Bearbeiten mit dem
  Editor Vorsicht geboten. 
 
 
#on("bold")# 
save ("filename", dostask) 
#off ("b")# 
  Die EUMEL-Datei 'filename' wird nach MS-DOS geschrieben. Es werden keine
  Codeumsetzungen durchgeführt. Insbesondere muß die EUMEL-Datei auch die CR
  LF Sequenzen für das Zeilenende enthalten. 
 
 
#on("bold")# 
#ib#6.6 Betriebsart: row text#ie# 
#off ("b")# 
 
Diese Betriebsart ist nur für Programmierer interessant. Sie ist für die Umsetzung
exotischer Codes in den EUMEL-Code mittels ELAN-Programmen gedacht. 
 
#on("bold")# 
fetch ("filename", dostask) 
#off ("b")# 
  Die MS-DOS Datei 'filename' wird in einen Datenraum mit folgender Struktur
  kopiert: 
 
    STRUCT (INT benutzte texte, ROW 4000 TEXT datensatz) 
 
  Dabei bekommt der Datenraum den Type 1000. Der Integer 'benutzte texte' gibt an,
  wieviele Elemente des ROW 4000 TEXT benutzt sind. In jedem benutzten Element
  des ROW 4000 TEXT steht der Inhalt einer logischen Gruppe der MS-DOS Disket­
  te. (Eine logische Gruppe umfaßt bei einer einseitig beschriebenen MS-DOS
  Diskette 512 Byte und bei einer zweiseitig beschriebenen 1024 bzw. 2048 Byte). In
  dieser Betriebsart werden keine Zeichen der MS-DOS Datei konvertiert oder
  interpretiert, so daß also auch alle Steuerzeichen erhalten bleiben. 
 
 
#on("bold")# 
save ("filename", dostask) 
#off ("b")# 
  Hier bezeichnet 'filename' einen Datenraum der Struktur: 
 
    STRUCT (INT benutzte texte, ROW 4000 TEXT datensatz) 
 
  Dieser Datenraum muß den Type 1000 haben. 
  Es werden die benutzten Texte (1 bis benutzte texte) aneinandergehängt und ohne
  irgendwelche Konvertierungen bzw. Interpretationen als MS-DOS Datei 'filename'
  geschrieben. Dies bedeutet, daß die Texte auch alle von MS-DOS benötigten
  Steuerzeichen (z.B. 'ctrl z' als Dateiendekennzeichen) enthalten müssen. 
 
 
#on("bold")# 
#ib#6.7 Betriebsart: ds#ie# 
#off ("b")# 
Diese Betriebsart ist nur für den Programmierer interessant. Sie ermöglicht das Abbil­
den von Datenstrukturen zwischen MS-DOS und EUMEL. 
 
#on("bold")# 
fetch ("filename", dostask) 
#off ("b")# 
  Die MS-DOS Datei 'filename' wird blockweise in den Datenraum 'filename' ko­
  piert. Hierbei wird der erste Block der MS-DOS Datei in die 2. Seite des Daten­
  raums kopiert. (Die 2. Seite eines Datenraums ist die erste, die von einer Daten­
  struktur voll überdeckt werden kann). 
 
 
#on("bold")# 
save ("filename", dostask) 
#off ("b")# 
  Der Datenraum 'filename' wird ab seiner 2. Seite in die MS-DOS Datei 'filename'
  geschrieben. Hierbei werden alle Seiten des Datenraums (auch die nicht allokier­
  ten) bis einschließlich der letzten allokierten Datenraumseite geschrieben. 
 
 
#on("bold")# 
#ib#7. Installation#ie# 
#off ("b")# 
 
Die Software zur Generierung der Tasks /"DOS" und /"DOS HD" wird auf einem
EUMEL-Archiv ausgeliefert. 
 
#on("bold")# 
#ib#7.1 Installation der Task /"DOS"#ie# 
            
#ib#7.1.1 Installation im Multi-User#ie# 
#off ("b")# 
 
Die Software muß in einer privilegierten Task mit dem Namen 'DOS' installiert wer­
den. Dies geschieht folgendermaßen: 
 
 
  begin  ("DOS", "SYSUR") 
 
  archive  ("austausch"); 
  fetch    ("dos inserter", archive); 
  run      ("dos inserter") 
 
 
Danach stehen die Prozeduren 
 
 
  PROC dos manager 
  PROC dos manager   (INT CONST channel) 
 
 
zur Verfügung. Beide Prozeduren machen die aufrufende Task zur Kommunikations­
task für das Schreiben und Lesen von MS-DOS Disketten. Die erste benutzt dazu
den Archivkanal (Kanal 31), bei der zweiten ist der Kanal über den Parameter ein­
stellbar. Eine dieser Prozeduren muß jetzt aufgerufen werden. 
 
#on("bold")# 
#ib#7.1.2. Installation im Single-User#ie# 
#off ("b")# 
 
Die Software wird im Monitor ('gib Kommando'-Modus) durch folgende Kommandos
installiert: 
 
 
  archive  ("austausch"); 
  fetch    ("dos inserter", archive); 
  run      ("dos inserter") 
 
 
Für das Schreiben und Lesen von MS-DOS Disketten wird der Archivkanal (Kanal
31) benutzt. 
 
 
#on("bold")# 
#ib#7.2 Installation der Task /"DOS HD"#ie# 
#off ("b")# 
 
Die Software muß in einer privilegierten Task mit dem Namen 'DOS HD' installiert
werden. Dies geschieht folgendermaßen: 
 
 
  begin  ("DOS HD", "SYSUR") 
 
  archive  ("austausch"); 
  fetch    ("dos hd inserter", archive); 
  run      ("dos hd inserter") 
 
 
Danach steht die Prozedur 
 
 
  PROC dos manager 
 
 
zur Verfügung. Sie macht die aufrufende Task zur Kommunikationstask für das
Schreiben und Lesen in der MS-DOS Partition der Platte. Sie benutzt dazu den
Kanal 29, der, wie im Portierungshandbuch für den 8086 beschrieben, implementiert
sein muß. 
 
#page# 
#headeven# 
#end# 
 
 
 
 
 
Herausgegeben von: 
 
   Gesellschaft für Mathematik und Datenverarbeitung mbH 
   (GMD) 
   Schloß Birlinghoven 
   5205 Sankt Augustin 1 
 
   und 
 
   Hochschulrechenzentrum der Universität Bielefeld 
   (HRZ) 
   Universitätsstraße 
   4800 Bielefeld 1 
 
Autor: 
 
   Frank Klapper 
 
überarbeitet von: 
 
   Thomas Müller 
   Hansgeorg Freese (GMD) 
 
Umschlaggestaltung: 
 
   Hannelotte Wecken