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
|
#type ("12")##limit (16.0)##block##pageblock#
#head#
#center#Dokumentation zum EUMEL-SHard
#end#
#bottom#
#center#- % -
#end#
************************************************************************
* *
* D o k u m e n t a t i o n z u m S H a r d (8) *
* *
* Stand der Dokumentation: 26.06.87 *
* Stand der Implementation: 26.06.87, Version 1.5 *
* *
* Michael Staubermann *
* Moränenstraße 29 *
* 44 Münster-Hiltrup *
************************************************************************
1. Allgemeines
1.1 Neuheiten
1.2 Logische und physische Kanäle
2. Block I/O
2.1 Harddisk (Kanal 0)
2.2 SCSI-Floppy (Kanal 31)
2.3 Harddisk-Volume (Kanal 28)
2.4 160k/640k-Floppys (Kanal 29, 30)
2.5 Graphikmemory (Kanal 1)
3. Stream I/O
3.1 Konsole (Kanal 1)
3.2 6551-Seriell (Kanal 5)
3.3 SCCs (Kanal 2, 3)
3.4 CIO-Drucker (Kanal 4)
3.5 Motherboard-Drucker (Kanal 6)
4. Graphik
4.1 CTRL
4.2 MOVE
4.3 DRAW
4.4 TEST
4.5 CLR
4.6 FILL
4.7 TRANS
5. Hardware
5.1 Zugriff auf die Hardware-Uhr
5.2 Zugriff auf die Analog-Ports
5.3 Zugriff auf die I/O-Ports
5.4 ID-Felder
6. Installation
6.1 Vortest/Speichertest
6.2 Konsole
6.3 SCSI-Floppy
6.4 Harddisk Volume
6.5 Logische Kanäle zuordnen
6.6 Installation auf Harddisk
6.7 Installation auf Floppy
#page#
#ub#1 Allgemeines#ue#
#ub#1.1 Neuheiten#ue#
Neu in Version 1.2: 40% höherer CPU-Durchsatz.
Neu in Version 1.4: Texthardcopy mit SHIFT CTRL F12.
Neu in Version 1.5: Beide Printer-Spooler löschbar mit control (-10,...).
Korrektur in 1.5: Kanal 4 - Printer darf auch während des Betriebs aus-
und eingeschaltet werden (läuft automatisch wieder an).
#ub#1.2 Logische und physische Kanäle#ue#
Die Unterscheidung zwischen logischen und physischen Kanälen bringt Vortei-
le:
- Der Systemstart muß nicht mehr an der Konsole erfolgen (jetzt z.B. an
einem externen Terminal).
- Systemfehler/Hardwarefehler und Info werden damit auch an einem anderen
physischen Kanal ausgegeben.
- Das Hintergrundmedium muß nicht mehr unbedingt die Harddisk sein. Eine
SCSI-Floppy (720k) wäre denkbar, oder ein anderes Harddisk-Volume.
- Das Archivmedium muß nicht mehr unbedingt die SCSI-Floppy sein. Ein Hard-
diskvolume oder eine 640k-Floppy wären denkbar.
- Für einen anderen SHard geschriebene Software (z.B. alter Druckertrei-
ber/Graphiktreiber) muß nicht geändert werden.
#page#
#ub#2. Block I/O#ue#
#ub#2.1 Harddisk (Kanal 0)#ue#
Keine Recalibrates (wg. Timeout/DMA-Fehler) mehr!
Das beste Sektor-Interleave ist 5.
#ub#2.2 SCSI-Floppy (Kanal 31)#ue#
- Falls keine Floppy im Schacht liegt, werden keine Retries mehr gemacht.
Bei Write-Protect auch nicht.
- Harddisk und Floppy arbeiten jetzt auch bei intensiver Benutzung gut
nebeneinander.
- Mit 'size (schluessel)' kann vom EUMEL aus das Format eingestellt werden.
Interpretiert wird 0 und 2 als 720k-Format und 1 als 360k-Format, sowie
der analytische Schlüssel (lt. Portierungshandbuch).
- 'format (schluessel)' formatiert eine Floppy im 720k-Format. Der Control-
ler wird allerdings wie bei 'size (schluessel)' vorher initialisiert, da
EUMEL das nicht macht.
- Falls gewünscht kann auch SCSI-Floppy #1 über Kanal 31 angesprochen wer-
den. Die entsprechende Frage wird im Installationsprogramm gestellt.
#ub#2.3 Harddisk-Volume (Kanal 28)#ue#
Mit diesem Kanal ist es möglich, ein anderes Harddisk-Volume, dessen Anfang
und Größe auf der Platte mit dem Installationsprogramm ausgewählt wurde,
anzusprechen. Ein CP/M-Volume kann z.B. auch durch EUMEL genutzt werden
oder das Harddisk-Volume wird als Archiv-Kanal genutzt.
#ub#2.4 160k/640k Floppys (Kanal 29, 30)#ue#
- Kanal 29 spricht Disk #1 in Slot 6 an,
- Kanal 30 spricht Disk #0 in Slot 6 an.
- Da sich beide Disks einen Controller und Datenbereich (4k-Cache) teilen,
kann Block I/O nicht auf beiden Kanen parallel ablaufen. Blockweise Ab-
wechslung ist allerdings möglich (Wird durch Semaphor geregelt).
- Formatieren ist auf diesen Kanälen nicht möglich.
- Das Format (160k/640k) wird mit 'size (schluessel)' im EUMEL eingestellt.
Außer dem analytischen Schlüssel wird noch 0 und 2 für 2 * 80 Tracks
(640k) und 1 für 1 * 40 Tracks (160k) interpretiert.
- Ein (CP/M-) Interleave von 3 Sektoren ist eingestellt.
- Daten werden jeweils Trackweise in einen Puffer gelesen und in 512-Byte
Blöcken an EUMEL übergeben. Bei 'blockout' wird der Block (512-Bytes)
sofort auf die Floppy geschrieben.
- Writeprotection wird erkannt.
- Media-Mangel wird nicht erkannt, sondern als Lesefehler interpretiert bei
dem Retries versucht werden. (SHard führt von sich aus 1 Recalibrate aus,
den Rest muß EUMEL machen).
#ub#2.5 Graphikmemory (Kanal 1)#ue#
- Dieser flüchtige Speicher hat eine Größe von 32KB (64 Blöcke)
- 4 Graphikseiten zu jeweils 8KB sind linear angeordnet.
- Seiten 0 und 1 können als Grahikbitmap angezeigt werden
- Seiten 2 und 3 können dienen als Hilfsspeicherseiten
#page#
#ub#3. Stream I/O#ue#
#ub#3.1 Konsole (Kanal 1)#ue#
- Die Blinkfrequenz des Cursors kann nicht mehr mit 'control' eingestellt
werden, sondern vor dem Systemstart mit dem Installationsprogramm.
- Zusätzlich kann die Tonhöhe des Steuercodes ""7"" bestimmt werden (Im
Installationsprogramm).
- Der Zeichensatz wird nicht mehr mit 'control' eingestellt. Da jetzt Steu-
ercodes benutzt werden, kann der Zeichensatz in der Typtabelle festgelegt
werden.
- Zeichencodes 128..255 werden ohne Umsetzung auf den Bildschirm geschrie-
ben.
- Folgenden Steuercodes sind definiert:
0 - Keine Aktion
1 - Cursor Home
2 - Cursor right
3 - Cursor up
4 - Clear to end of Page
5 - Clear to end of Line
6 - Cursor Positionierung (Row, Column) (ohne Offset!)
7 - Bell
8 - Cursor left
9 - Clear Screen
10 - Cursor down
11 - Insert Line
12 - Delete Line
13 - Carriage Return
14 - End Mark
15 - Begin Mark
16 - Deutscher Zeichensatz (German ASCII)
17 - ASCII Zeichensatz
18 - APL Zeichensatz
19 - Universal Zeichensatz (German ASCII + APL)
20 - Mode einschalten: Inverse Zeichen blinken nicht
21 - Mode einschalten: Inverse Zeichen blinken
- Es werden keine Eingabeumcodierungen gemacht, dies soll in der Typtabelle
geschehen.
- Falls EUMEL keine Eingabezeichen mehr puffern kann, werden diese im Ta-
staturpuffer gespeichert. Damit ist es möglich bis zu 270 Tastendrücke im
voraus zu tippen. Werden noch mehr Tasten gedrückt, ertönt ein Signal, da
weitere Tastendrücke verlorengehen. EUMEL wird beim nächsten Inputinter-
rupt ein Overrun-Error gemeldet.
- Einige Funktionstasten haben eine besondere Bedeutung:
F2 = SV-Call: Diese Taste wird auch dann weitergeleitet, wenn EUMEL keine
weiteren Zeichen puffern kann, damit Tasks, die nicht auf
Eingabe warten, abgebrochen werden können.
SHIFT CTRL F12 = Texthardcopy: Durch Drücken dieser Tasten wird der In-
halt des Textbildschirms auf einem Drucker an der paralle-
len Basisschnittstelle ausgedruckt. Achtung: Dies funktio-
niert nur, wenn der Spooler leer ist. Falls ein Druckauf-
trag läuft, sollte keine Hardcopy gemacht werden (Falls der
Spooler nämlich kurzfristig leer ist, wird die Hardcopy
gedruckt den Druckauftrag ruinieren.)
SHIFT CTRL F13 = Weiter: Durch Drücken dieser Tasten wird der Tastatur-
puffer ohne Rücksicht darauf, ob EUMEL noch Zeichen puffern
kann, zeichenweise entleert. (Wird wohl kaum benutzt werden
müßen).
SHIFT CTRL F14 = Shutup: Durch Drücken dieser Tasten wird das System
kontrolliert heruntergefahren.
SHIFT CTRL F15 = Reset: Falls verdrahtet löst die Software einen Hard-
warereset aus.
#ub#3.2 6551-Seriell (Kanal 5)#ue#
Dieser Kanal wurde erweitert:
- Außer Baudrate können jetzt auch Stopbits, Datenbits, Parity und Fluß-
kontrolle eingestellt werden (CTS, DSR/DTR, XON/XOFF).
- Ein Empfangspuffer von 2300 Zeichen wurde eingebaut und der Ausgabepuffer
auf 1k erweitert.
- Ein- und Ausgabe läuft jetzt Interruptgetrieben, kann also auch während
einer Floppyoperation stattfinden.
- Übertragungsfehler (Parity, Framing, Overrun) werden beim Inputinterrupt
an EUMEL gemeldet. Die Fehler werden in dem Moment, in dem sie bemerkt
werden gemeldet, d.h. i.d.R. nicht passend zum gleichzeitig übermittelten
Zeichen.
- Ein Break-Kommando wird interpretiert und ggf. an EUMEL gemeldet. Folgt
auf das Break-Kommando ('00' + Framing Error) ein 'Kommandozeichen', dann
wird dieses Remote-Kommando ausgeführt, anderenfalls wird das auf 'Break'
folgende Zeichen in den Empfangspuffer geschrieben und 'Break' an EUMEL
gemeldet.
- Folgende Break-Komandos werden interpretiert:
<BREAK> <CTRL B> : SV-Call ohne Rücksicht auf Verluste an EUMEL leiten.
<BREAK> W : Wie SHIFT CTRL F13 bei Keyboard.
<BREAK> S : Shutup, System kontrolliert herunterfahren.
<BREAK> R : Software löst, falls verdrahtet, einen Hardarereset
aus.
#ub#3.3 SCCs (Kanal 2, 3)#ue#
- Außer der Baudrate kann man jetzt auch Stopbits, Datenbits, Parity und
Flußkontrolle (RTS+DTR /CTS) einstellen. XON/XOFF wird nicht empfohlen.
- Übertragungsfehler (Overrun, Parity und Break) werden EUMEL gemeldet.
- Beide Kanäle besitzen einen Ausgabepuffer von jeweils 2KB.
#ub#3.4 CIO-Drucker (Kanal 4)#ue#
- Der Drucker wird mit Strobe/-ACK - Protokoll angeschloßen.
- Dieser Kanal besitzt einen Ausgabepuffer von 4KB (Interruptgetrieben).
- Der Druckerpuffer kann mit 'control (-10, 0, 0, r)' an Kanal 4 gelöscht
werden.
#ub#3.5 Motherboard-Drucker (Kanal 6)#ue#
- Der Drucker wird mit Strobe/-ACK - Protokoll angeschloßen.
- Dieser Kanal besitzt einen 4KB Ausgabepuffer (Polling).
- Der Druckerpuffer kann mit 'control (-10, 0, 0, r)' an Kanal 6 gelöscht
werden.
#page#
#ub#4. Graphik#ue#
#ub#4.1 CTRL#ue#
control (-8, flags, linienmuster, r)
Setzt verschiedene Graphikmodi.
Die Bits im Parameter 'flags' sind folgendermaßen zugeordnet:
Bit 0 :
0 = Textmodus einschalten, Graphikmodus ausschalten
1 = Graphikmodus einschalten, Textmodus ausschalten
Bit 1 :
0 = Seite 0 als sichtbare Seite wählen
1 = Seite 1 als sichtbare Seite wählen
Bit 2 :
0 = Seite 0 als bearbeitete Seite wählen
1 = Seite 1 als bearbeitete Seite wählen
Bit 3, 4 : Verknüpfung Patternbit: 0 1
0 OR setzen unverändert
1 NAND löschen unverändert
2 XOR invertieren unverändert
3 COPY löschen setzen
Bit 5 :
0 = Der gesamte Bildschirm zeigt die Graphikseite ('full screen')
1 = In den letzten 32 Graphikzeilen erscheint die Textseite ('mixed')
Bit 6 :
0 = Das im zweiten Parameter übergebene Wort wird als 16-Bit
Linienmuster eingestellt. Modus siehe Bit 3/4.
1 = Das alte (bzw. voreingestellte) Linienmuster wird benutzt
Bit 7 :
0 = Als Punkthelligkeit wird 'dunkel' (bzw. Violett) eingestellt
1 = Als Punkthelligkeit word 'hell' (bzw. Gelb) eingestellt
Bit 8..11 :
0 = Default-Strichdicke (1)
1..15 = Strichdicke (Es werden 2*s-1 Linien parallel gezeichnet.)
Der zweite Parameter enthält das 16-Bit Linienmuster. Dieses wird beim
Zeichnen einer Linie zyklisch Bitweise abgetastet. Je nach Status des Bits
im Linienmuster wird eine Punktaktion ausgeführt, deren Wirkung in 'flags'
mit den Bits 3 und 4 spezifiziert wird.
#ub#4.2 MOVE#ue#
control (-5, x pos, y pos, r)
Setzt den (unsichtbaren) Graphikcursor auf xpos/ypos.
Der nächste 'draw' zeichnet eine Linie beginnend bei xpos/ypos.
#ub#4.3 DRAW#ue#
control (-6, x pos, y pos, r)
Zeichnet eine Linie zur angegebenen Position xpos/ypos.
Die eingestellten Parameter Helligkeit, Linientyp, Bitverknüpfung und Dicke
werden beachtet. Der nächste 'draw' zeichnet eine Linie beginnend bei
xpos/ypos.
#ub#4.4 TEST#ue#
control (-7, x pos, y pos, result)
Testet den Status eines bestimmten Pixels.
Die Pixelposition wird mit xpos/ypos beschrieben.
Als 'result' wird zurückgeliefert:
255, falls xpos/ypos außerhalb des sichtbaren Fensters liegt.
Bit 0 = 1: Pixel sichtbar
Bit 0 = 0: Pixel unsichtbar
Bit 7 = 1: Pixelfarbe ist hell (gelb)
Bit 7 = 0: Pixelfarbe ist dunkel (violett)
#ub#4.5 CLR#ue#
control (-3, seite, muster, r)
Füllt die angegebene Seite mit dem angegebenen Muster.
Bit 7 des Musters bestimmt die Farbe (0 = dunkel, 1 = hell). Das Muster
wird zyklisch Spalten- und Zeilenweise wiederholt. muster=128 löscht z.B.
die Graphikseite.
#ub#4.6 FILL#ue#
control (-4, muster nummer, 0, return)
Füllt eine beliebig durchgehend begrenzte Fläche mit dem angegebenen Mu-
ster.
Das Muster ist eine 8 x 8 Matrix, die sich auf allen (pos MOD 8)-Pixel-
adressen wiederholt. Im NAND-Modus wird mit dem inversen Muster gefüllt.
Die Fläche muß dann aber mit unsichtbaren Pixeln begrenzt werden.
Folgende Muster sind möglich:
0 = 'solid' (alles gefüllt)
1 = 'lrs2' (jeder zweite Punkt, Zeilenweise versetzt)
2 = 'row4' (jede 4. Zeile wird gefüllt)
3 = 'row2' (jede 2. Zeile wird gefüllt)
4 = 'col4' (jede 4. Spalte wird gefüllt)
5 = 'col2' (jede 2. Spalte wird gefüllt)
6 = 'grid4' (jede 4. Spalte/Zeile wird gefüllt)
7 = 'grid2' (jede 2. Spalte/Zeile wird gefüllt)
8 = 'ls4' (Schraffur links unten --> rechts oben, jede 4.)
9 = 'rs4' (Schraffur rechts unten --> links oben, jede 4.)
10 = 'lrs4' (Schräges Gitter wie 8 und 9 zusammen)
11 = 'point2'(In jeder 2. Zeile jeder 2. Punkt)
12 = 'wall4' (Mauer, ein Ziegelstein 4 Pixel hoch)
13 = 'basket'(Korb/Netz)
14 = 'wave4' (Wellenlinie 4 Pixel hoch)
15 = 'wave8' (Wellenlinie 8 Pixel hoch)
Falls die zu füllende Fläche zu komplex wird, kann es vorkommen, daß der
interne Stack überläuft. In diesem Fall wird nicht die gesamte Fläche ge-
füllt.
#ub#4.7 TRANS#ue#
control (-9, from page, to page, r)
Kopiert den Inhalt der Graphikseite 'from page' in die Seite 'to page'.
Folgende Seitennummern sind möglich:
0 : Seite 0 kann mit 'visible page (0)' angezeigt werden
1 : Seite 1 kann mit 'visible page (1)' angezeigt werden
2 : Seite 2 kann nicht sichtbar werden (Hilfsspeicher-Seite)
3 : Ähnlich Seite 2, wird aber bei 'FILL' noch als Arbeitsseite benutzt
(wird dann überschrieben!)
#page#
#ub#5. Hardware#ue#
#ub#5.1 Zugriff auf die Hardware-Uhr#ue#
Mit 'TEXT PROC calendar (INT CONST feld)' kann in Söhnen von SYSUR die
Hardware-Uhr gelesen werden. Für 'feld' sind folgende Werte zugeordnet:
0 Sekunden (0..59)
1 Minuten (0..59)
2 Stunden (0..23)
3 Tag des Monats (1..31)
4 Monat (1..12)
5 Jahr (87..99)
Ist die Uhr richtig gestellt (das ist aus CP/M mit 'date set' möglich),
liefert jeder Aufruf von 'calendar' eine Zahl, anderenfalls wird immer
'niltext' geliefert und EUMEL fragt nach dem Systemstart nach dem Datum.
Dabei wird die Hardware-Uhr jedoch #ub#nicht#ue# gestellt.
In diesem Fall ist der Akku wahrscheinlich entladen (Abhilfe: Rechner eini-
ge Stunden laufen lassen) oder die Uhr ist noch nicht gestellt worden (Ab-
hilfe: 'date set' im CP/M).
In Tasks, die keine Söhne von SYSUR sind, kann die Hardware-Uhr mit
TEXT PROC calendar (INT CONST feld) :
INT VAR r ;
control (10, feld, 0, r) ;
text (r DIV 256 * 10 + (r AND 15))
ENDPROC calendar ;
abgefragt werden.
#ub#5.2 Zugriff auf die Analog-Ports#ue#
Die 4 Analog-Ports auf dem Motherboard können mit
control (-2, port, 0, r)
abgefragt werden. 'port' kann 1..4 sein, in 'r' werden Werte von 1..255
zurückgemeldet. Dieser Wert ist proportional dem Widerstandswert zwischen
+5V und Analogeingang.
Für Hardwarefreaks :
Port Connectorpin
------------------
1 6
2 10
3 7
4 11
+5V 1
Da der Meßwertaufnehmer ein 'LS123 mit C#d#t#e#=68nF, R#d#t#e#=0.27+R#d#x#e# kOhm ist, gilt:
t#d#w#e#=0.45 * R#d#t#e# * C#d#t#e# = (30.6 * R#d#x#e# + 8.262) [us]. t#d#w#e# wird gemessen. (t#d#w#e# = 11
Zyklen * r + 5 Zyklen bei 1.023 MHz)
==> 30.6 * R#d#x#e# + 8.262 = (11 * r + 5) / 1.023 [us]
<==> R#d#x#e# = ((11 * r - 5) / 1.023 -8.262) / 30.6 [kOhm]
(Damit ist auch klar, warum der Wert 0 nicht geliefert wird.)
R#d#x#e# [kOhm] = 0.351 * r + 0.43
r = 2.846 * R#d#x#e# + 1.221
#ub#5.3 Zugriff auf die I/O-Ports#ue#
Das Schreiben #ub#und#ue# Lesen der I/O-Ports der CPU ist jetzt nur an privilegier-
ten Kanälen (25..32) möglich.
control (-1, port, -1, r)
kann der angegebene Port 'port' (0..255) gelesen werden. Das Resultat (By-
te) steht dann in 'r'. Falls der aufrufende Kanal ungültig war, wird -1
geliefert. Mit
control (-1, port, wert, r)
kann der angegebene Port 'port' (0..255) beschrieben werden. Der Bytewert
steht in 'wert', die Erfolgsmeldung in 'r' (0 = ok).
#ub#5.4 ID-Felder#ue#
Mit 'INT PROC id (INT CONST feld nr)' können Systemkonstanten abgefragt
werden. Für 'feld nr' sind folgende Werte zugeordnet:
0 Minimale Hintergrundversion (175)
1 Urladertyp (1 = Z80)
2 Urladerversion (101 = Version 1.1)
3 Reserviert
4 Lizenznummer des SHards
5 Installationsnummer
6 Reserviert
7 Versionsnummer des SHards: 1000 * Interfaceversion + SHard Version (ent-
hält z.Zt. 8105, d.h. Interface 8, Version 1.5)
#page#
#ub#6. Installation#ue#
#ub#6.1 Vortest/Speichertest#ue#
Vortest und Speichertest sollten normalerweise durchgeführt werden. (Beide
Fragen mit 'j' beantworten). Wird kein Vortest gewünscht, wird automatisch
auch kein Speichertest durchgeführt und es besteht keine Möglichkeit, das
Hardwaretest-Menue aufzurufen.
#ub#6.2 Konsole#ue#
Die Blinkperiode des Cursor und die Tonhöhe des Steuercodes ""7"" kann
verändert werden (Sekunden bzw. Hertz). Defaults sind 0.8s und 500Hz.
#ub#6.3 SCSI-Floppy#ue#
Falls nicht SCSI-Floppy #0 sondern, falls vorhanden, SCSI-Floppy #1 als
Kanal 31 angesprochen werden soll, wird diese Frage mit 'n' beantwortet.
#ub#6.4 Harddisk Volume#ue#
Als Kanal 28 kann ein Harddisk-Volume angesprochen werden. Alle verfügbaren
Volumes werden angeboten und ein ausgewähltes wird im SHard als Kanal 28
installiert. Achtung: Sollte dieses Volume gelöscht, vergrößert oder ver-
schoben werden (durch CP/M) dann weiß SHard noch nichts davon. Deshalb
sollte der SHard nach einer solchen Aktion noch einmal installiert werden.
Aus Sicherheitsgründen wird empfohlen, ein spezielles Volume einzurichten,
über das dann der Datenaustauch CP/M <--> EUMEL läuft.
#ub#6.5 Logische Kanäle zuordnen#ue#
Als logische Kanäle stehen Kanal 0..31 zur Verfügung, als physiche Kanäle
0..6 und 28..31. Den logischen Kanälen können fast beliebig physische Kanä-
le zugeordnet werden.
Ausnahmen:
- Der log. Kanal 0 (Hintergrund) muß als Blockkanal definiert werden (d.h.
die physischen Kanäle 0, 28, 29, 30, 31 können zugeordnet werden.)
- Der log. Kanal 1 (Systemkanal) muß als Stream-I/O-Kanal definiert werden
(d.h. die physischen Kanäle 1, 2, 3, 5 können zugeordnet werden.)
- Der log. Kanal 31 (Archiv) sollte definiert werden, dann aber als Block-
kanal (d.h. die physischen Kanäle 0, 28, 29, 30, 31) können zugeorndet
werden.)
- Nicht jeder physische Kanal muß zugeordnet werden.
- Jeder physische Kanal darf höchstens einmal zugeordnet werden.
Hinweis:
EUMEL verwaltet Kanal 1..16 als (unprivilegierte) Stream-Kanäle,
Kanal 17..24 als unprivilegierte Block-Kanäle,
Kanal 25..31 als privillegierte Block-Kanäle.
#ub#6.6 Installation auf Harddisk#ue#
Wie früher kann der SHard auf einem Harddisk-Volume installiert werden.
Dazu werden alle vorhandenen EUMEL-Volumes angeboten und das gewünschte
ausgesucht. Falls kein EUMEL-Volume (mehr) vorhanden ist, werden alle ande-
ren Volumes angeboten. Dadurch ist es möglich ein neues EUMEL-Volume einzu-
richten (mit 'dmgr' unter CP/M). Der SHard belegt 2 Tracks (16k) auf der
Harddisk.
#ub#6.7 Installation auf Floppy#ue#
Um ganz auf eine Harddisk verzichten zu können oder falls der Harddisk-
SHard zerstört wurde, kann EUMEL jetzt auch über eine Boot-Diskette hochge-
fahren werden. Eine Bootdiskette (160k oder 640k) enthält auf den ersten 4
Tracks den SHard, kann deshalb nicht mehr als CP/M-Datendiskette verwendet
werden.
Die Floppy kann mit dem Installationsprogramm bootfähig gemacht werden.
|