new stuff
This commit is contained in:
parent
acc44032d0
commit
91662cfbbc
|
|
@ -0,0 +1,708 @@
|
|||
.nr PO 0i
|
||||
.nr FL 0i
|
||||
.nr LL 6.6i
|
||||
.nr LT 6.6i
|
||||
.nr HM 1i
|
||||
.nr FM 1.8i
|
||||
.ds LH "Anlage 4
|
||||
.ds CH "\- \\n(PN \-
|
||||
.ds RH "WDOS-Software
|
||||
.ds CF "
|
||||
.LP
|
||||
.nh
|
||||
Anlage 4 - 1 - WDOS-Software
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.DS C
|
||||
.B
|
||||
WDOS-Erweiterungsmodul - A4-Ergebnisbericht
|
||||
|
||||
I. Software
|
||||
|
||||
WEGA-DOS (WDOS)
|
||||
.br
|
||||
Abarbeiten von DCP unter WEGA
|
||||
.R
|
||||
.DE
|
||||
.sp 10
|
||||
.DS L
|
||||
Bearbeiter: P. Hoge
|
||||
M. Klatte (sa.diags)
|
||||
.DE
|
||||
|
||||
.ds LH "WEGA-DOS
|
||||
.bp
|
||||
.DS L
|
||||
.B Inhaltsverzeichnis
|
||||
|
||||
|
||||
1. Einleitung .......................................... 3
|
||||
|
||||
2. Komponenten von WDOS ................................ 4
|
||||
2.1. WDOS-Treiber cpu2 im WEGA-Kern ...................... 4
|
||||
2.2. WDOS-Koppelprogramm wdos ............................ 5
|
||||
2.3. WDOS-Menueprogramm wm ............................... 6
|
||||
2.4. "ROM"-BIOS .......................................... 6
|
||||
|
||||
3. DOS-Programme ....................................... 7
|
||||
|
||||
4. Ergebnisse der WDOS-Implementation .................. 8
|
||||
4.1. Hardware-Voraussetzungen ............................ 8
|
||||
4.2. Lauffaehigkeit von Anwenderprogrammen ............... 8
|
||||
4.3. Verfuegbarer RAM .................................... 8
|
||||
4.4. Tastatureingaben .................................... 9
|
||||
4.5. Bildschirmausgaben .................................. 9
|
||||
4.6. Diskzugriffe ........................................ 9
|
||||
4.7. Systemuhr ........................................... 11
|
||||
4.8. Systemdiskette ...................................... 11
|
||||
4.9 DCP-Kommandos ....................................... 12
|
||||
|
||||
5. WDOS-Test-Version ................................... 13
|
||||
|
||||
6. Hardware-Testprogramm sa.diags ...................... 13
|
||||
|
||||
|
||||
Anlagen zur Anlage 4
|
||||
|
||||
1. WDOS-Dokumentation
|
||||
2. Quellprogramm cpu2.c
|
||||
3. Quellprogramm wdos.c
|
||||
4. Quellprogramm wm.c
|
||||
5. Quellprogramme fuer das BIOS
|
||||
6. Quellprogramme fuer die DOS-Programme
|
||||
|
||||
|
||||
.DE
|
||||
|
||||
.bp
|
||||
.NH
|
||||
Einleitung
|
||||
.LP
|
||||
WDOS gestattet die Benutzung von PCDOS bzw. MSDOS und kompatiblen
|
||||
Betriebssystemen, wie DCP, unter WEGA. Fuer diese Betriebssysteme
|
||||
wird im folgenden die Bezeichnung DCP verwendet. Mit WDOS
|
||||
wird auf dem P8000 eine Teilkompatibititaet zu DCP realisiert.
|
||||
Fuer die Benutzung von WDOS sind im
|
||||
P8000 die U80601-Erweiterungskarten (CPU-Karte / 1 MByte RAM-Karte)
|
||||
erforderlich. Auf dem P8000 muss WEGA Version 3.1 oder hoeher
|
||||
laufen.
|
||||
.LP
|
||||
Fuer die Abarbeitung der meisten DCP-Anwenderprogramme ist nur
|
||||
das P8000/WDOS-Terminal mit DCP-kompatibler Betriebsart geeignet.
|
||||
.LP
|
||||
Das Betriebsystem DCP meldet sich auch mit dem alten P8000-Terminal
|
||||
in der ADM31-kompatiblen Betriebsart.
|
||||
Einige Anwenderprogramme sind ebenfalls lauffaehig.
|
||||
Da aber fuer diesen Terminaltyp z.B. keine
|
||||
Funktionstasten, kein erweiterter Zeichensatz und kein simulierter
|
||||
Bildwiederholspeicher zur Verfuegung stehen, ist nur eine stark
|
||||
eingeschraenkte Arbeit moeglich.
|
||||
.LP
|
||||
Die wesentlichen Bestandteile von WDOS sind das WDOS-Menueprogramm
|
||||
wm, das Koppelprogramm wdos, der WDOS-Treiber cpu2 im WEGA-Kern
|
||||
und das ROM-BIOS. Koppelprogramm, Treiber und ROM-BIOS bilden
|
||||
in Verbindung mit den Erweiterungskarten
|
||||
die WDOS-Umgebung, in der das Betriebssystem DCP sowie die
|
||||
Anwenderprogramme ablaufen koennen.
|
||||
.LP
|
||||
WDOS arbeitet mit Programmen und Dateien,
|
||||
die im DCP-Format abgespeichert sind. Es ermoeglicht dem Nutzer,
|
||||
Dateien zu lesen oder zu schreiben, die z.B. auf dem
|
||||
A7150 oder EC1834 unter DCP erstellt wurden und erlaubt, viele unter
|
||||
DCP ausfuehrbare Programme ohne Aenderung abzuarbeiten. Programme, die
|
||||
Grafikausgaben enthalten, und Programme, die direkt auf die Hardware
|
||||
zugreifen, sind jedoch nicht lauffaehig.
|
||||
.LP
|
||||
WDOS simuliert mit einfachen
|
||||
Hardware-Mitteln eine Personal-Computer-Umgebung.
|
||||
Eine vollstaendig kompatible Umgebung steht nicht zur Verfuegung.
|
||||
Somit kann auch keine Garantie fuer die Lauffaehigkeit von speziellen
|
||||
Programmen uebernommen werden.
|
||||
.LP
|
||||
Unter WDOS laufen die DCP-Programme in Echtzeit ab.
|
||||
Auf den Erweiterungskarten wird dazu das unveraenderte
|
||||
Betriebssystem DCP gestartet. Es ergibt sich jedoch
|
||||
die Einschraenkung, dass nur ein WEGA-Nutzer zur gleichen Zeit
|
||||
DCP abarbeiten kann.
|
||||
.LP
|
||||
Die 1 MByte-RAM-Karte kann von WEGA auch als RAM-Disk benutzt werden. Die
|
||||
Abarbeitung von Programmen unter DCP ist dann jedoch nicht moeglich.
|
||||
.LP
|
||||
.NH
|
||||
Komponenten von WDOS
|
||||
.NH 2
|
||||
WDOS-Treiber cpu2 im WEGA-Kern
|
||||
.LP
|
||||
Im Betriebssystem WEGA ist in Verbindung mit der CPU U8001 ein
|
||||
Schutzmechanismus realisiert, der verhindert, dass Anwenderprogramme
|
||||
direkt auf Systemressourcen zugreifen koennen.
|
||||
Nur der WEGA-Kern laeuft im Systemmode des U8001 und verfuegt damit
|
||||
ueber den vollen Befehlssatz der CPU. Alle anderen Programme laufen
|
||||
im User-Mode. Im User-Mode koennen die priviligierten Befehle des U8001
|
||||
(z.B. E/A-Befehle) nicht benutzt werden. Dadurch koennen z.B.
|
||||
(fehlerhafte) Anwenderprogramme nicht den WEGA-Kern zerstoeren.
|
||||
.LP
|
||||
Fuer die Bedienung der Erweiterungskarten wurde der Treiber cpu2
|
||||
fuer die Einbindung in den WEGA-Kern entwickelt. Zusaetzlich wurden
|
||||
in einigen weiteren Kernmodulen (event.s mch.s trap.c prf.c) geringe
|
||||
Erweiterungen noetig.
|
||||
.LP
|
||||
Der Treiber cpu2 simuliert in Verbindung mit dem "ROM"-BIOS fuer
|
||||
die CPU2 die peripheren Geraete Tastatur, Bildschirm, Harddisk,
|
||||
Floppydisk, Drucker und Echtzeit-Uhr.
|
||||
.LP
|
||||
Die Kommunikation mit der CPU2 wird ueber DUAL-PORT-RAM
|
||||
und ueber Interrupts realisiert. Der Treiber realisiert weiterhin
|
||||
die RESET-Steuerung fuer die CPU2.
|
||||
.LP
|
||||
Der Treiber realisiert folgende Kommunikationsaufgaben:
|
||||
.IP 1.
|
||||
Tastatureingaben von WEGA zur CPU2
|
||||
.IP 2.
|
||||
Bildschirmausgaben von der CPU2 zu WEGA
|
||||
.IP 3.
|
||||
Druckerausgaben von der CPU2 zu WEGA
|
||||
.IP 4.
|
||||
Diskzugriffe fuer die CPU2
|
||||
.IP 5.
|
||||
Zugriff fuer WEGA auf die 1 MByte RAM der Erweiterungskarten
|
||||
.IP 6.
|
||||
Realisierung einer Echtzeit-Uhr fuer CPU2
|
||||
.LP
|
||||
Fuer die Benutzung des Treibers sind im Directory /dev von
|
||||
WEGA folgende Geraete-Eintraege erforderlich:
|
||||
|
||||
.DS L
|
||||
Name Art Major Minor Zweck
|
||||
---------------------------------------------------------------------
|
||||
|
||||
/dev/cpu2tty c 4 1 U80601-Terminal
|
||||
/dev/cpu2lp c 4 2 U80601-Drucker
|
||||
/dev/cpu2disk c 4 3 U80601-Disk-Request
|
||||
/dev/cpu2rram c 4 0 U80601-RAM-raw-Interface
|
||||
(Diskdaten)
|
||||
/dev/cpu2ram b 4 0 U80601-RAM-Blockinterface
|
||||
(1 MByte RAM-Disk fuer WEGA)
|
||||
.DE
|
||||
Der Treiber cpu2 darf nur vom WEGA-Koppelprogramm wdos benutzt werden.
|
||||
Eine Ausnahme bildet /dev/cpu2ram. Ueber diesen Geraete-Eintrag
|
||||
koennen die 1 MByte RAM der Erweiterungskarten von WEGA als RAM-Disk
|
||||
benutzt werden.
|
||||
.LP
|
||||
Um die Groesse des Treibers und die Belastung fuer die Haupt-CPU klein
|
||||
zu halten, realisiert der Treiber nur die Vermittlung von Daten
|
||||
zwischen WEGA und der CPU2 in Bloecken von 1 bis 800hex Bytes. Alle
|
||||
erforderlichen Konvertierungen muessen durch die CPU2 erfolgen.
|
||||
.LP
|
||||
.NH 2
|
||||
WDOS-Koppelprogramm wdos
|
||||
.LP
|
||||
Durch Start des Koppelprogramms wega stellt der Anwender die
|
||||
Verbindung zur CPU2 her. Das Programm fuehrt folgende
|
||||
Initialisierungen aus:
|
||||
.IP 1.
|
||||
Laden des "ROM"-BIOS bios bzw. bios.p8, in Abhaengigkeit
|
||||
der Umgebungsvariable TERM
|
||||
.IP 2.
|
||||
Setzen des Terminaltreibers tty in den Raw-Mode
|
||||
.IP 3.
|
||||
P8000/WDOS-Terminal in den WDOS-Mode schalten
|
||||
.br
|
||||
(Tastatur liefert SCAN-Code, Bildschirm realisiert
|
||||
abgeruesteten 8-Bit-Zeichensatz)
|
||||
.IP 4.
|
||||
Initialisierung der Signalbehandlung
|
||||
.IP 5.
|
||||
Aufheben von Reset fuer die CPU2
|
||||
.LP
|
||||
Anschliessend teilt sich das Programm in 4 Prozesse, die
|
||||
jeweils die verschiedenen Kommunikationsaufgaben
|
||||
realisieren:
|
||||
.IP 1.
|
||||
Tastatureingaben von WEGA zur CPU2
|
||||
.br
|
||||
(Read von Treiber tty, Write zu cpu2tty)
|
||||
.IP 2.
|
||||
Bildschirmausgaben von der CPU2 zu WEGA
|
||||
.br
|
||||
(Read von Treiber cpu2tty, Write zu tty. Um eine
|
||||
schnelle Ausgabe der Zeichen zu erzielen, werden
|
||||
alle Ausgabezeichen durch die CPU2 aufbereitet. Die
|
||||
Haupt-CPU kopiert nur Bloecke von 1 bis max. 800 hex Bytes.)
|
||||
.IP 3.
|
||||
Druckerausgaben von der CPU2 zu WEGA
|
||||
.br
|
||||
(Read von Treiber cpu2lp, Write zum Druckertreiber, Druckerspooler
|
||||
oder in eine Datei)
|
||||
.IP 4.
|
||||
Diskzugriffe fuer die CPU2
|
||||
(Read/Write von/zu cpu2disk und cpu2rram, Zugriff
|
||||
erfolgt auf reale Harddisk-Partition, Floppy-Disk,
|
||||
Pseudoharddisks und Pseudo-Floppy-Disks)
|
||||
.LP
|
||||
.NH 2
|
||||
WDOS-Menueprogramm wm
|
||||
.LP
|
||||
Zur einfacheren Handhabung des Programmsystems WDOS,
|
||||
wurde auf Basis der SCREEN/CURSES-Bibliothek ein
|
||||
Menueprogramm realisiert. Dieses Programm gestattet
|
||||
die Verwaltung der verschiedenen Diskarten, die Konvertierung
|
||||
von Dateien von/nach WEGA,
|
||||
die Steuerung der Druckerausgaben und den Start von DCP.
|
||||
.LP
|
||||
.NH 2
|
||||
"ROM"-BIOS
|
||||
.LP
|
||||
Das "ROM"-BIOS ist die Schnittstelle der Software zur Hardware
|
||||
des Rechners. Alle Ein-/Ausgabefunktionen, die Systemuhr, verschiedene
|
||||
andere Dienste und der Start des Boot-Vorganges sind hier
|
||||
enthalten. Das BIOS befindet sich am Ende des 1 MByte Speicherbereiches
|
||||
der CPU2.
|
||||
.LP
|
||||
Bei WDOS ist das BIOS jedoch nicht in PROM's enthalten,
|
||||
sondern wird von der Haupt-CPU (U8001) in den RAM der Erweiterungskarten
|
||||
geladen. Das BIOS realisiert die Kommunikation mit WEGA.
|
||||
.LP
|
||||
Das BIOS wurde mit Hilfe des WEGA-Cross-Assemblers fuer den
|
||||
K1810WM86 erstellt. Es setzt sich aus folgenden Modulen
|
||||
zusammen:
|
||||
.IP 1.
|
||||
bios.asm - Boot, Uhr u.a. Funktionen
|
||||
.IP 2.
|
||||
dseg.asm - Datensegment, Interrupttabelle
|
||||
.IP 3.
|
||||
term.asm - Terminalinterface fuer P8000/WDOS-Terminal
|
||||
.IP 4.
|
||||
termp8.asm - Terminalinterface fuer (altes) P8000-Terminal
|
||||
.IP 5.
|
||||
disk.asm - Diskinteface
|
||||
.IP 6.
|
||||
orgs.asm - Systemeinspruenge, Kommunikationsbereich zu WEGA
|
||||
|
||||
.NH
|
||||
DOS-Programme
|
||||
.LP
|
||||
Auf Basis von Quellprogrammen der TU Karl-Marx-Stadt
|
||||
wurden auf dem P8000 Programme implementiert, die
|
||||
von WEGA aus, den Zugriff auf DCP-Disketten,
|
||||
DCP-Harddisks, DCP-Pseudodisketten und -harddisks
|
||||
ermoeglichen. Fuer diese Programme sind die
|
||||
U80601-Erweiterungskarten nicht erforderlich. Diese
|
||||
Programme werden unabhaengig von WDOS mit der
|
||||
WEGA Version 3.1 vertrieben. Diese Programme koennen
|
||||
auch vom WDOS-Menueprogramm aus aufgerufen werden.
|
||||
Folgende Programme stehen zur Verfuegung:
|
||||
.IP 1.
|
||||
dosdir - DCP-Directory im DCP-Format anzeigen
|
||||
.IP 2.
|
||||
dosls - DCP-Directory im WEGA-Format anzeigen
|
||||
.IP 3.
|
||||
doscp - Kopieren von Dateien zwischen DCP und WEGA
|
||||
.IP 4.
|
||||
doscat - DCP-Dateien ausgeben
|
||||
.IP 5.
|
||||
dosrm - DCP-Dateien loeschen
|
||||
.IP 6.
|
||||
dosmkdir - DCP-Directory erstellen
|
||||
.IP 7.
|
||||
dosrmdir - DCP-Directory loeschen
|
||||
.IP 8.
|
||||
dosformat - DCP-Diskette formatieren
|
||||
.LP
|
||||
|
||||
.bp
|
||||
.NH
|
||||
Ergebnisse der WDOS-Implementation
|
||||
.LP
|
||||
In diesem Kapitel sind wichtige Unterschiede und Besonderheiten
|
||||
bei der Abarbeitung von DCP unter WEGA aufgefuehrt.
|
||||
.LP
|
||||
.NH 2
|
||||
Hardware-Voraussetzungen
|
||||
.LP
|
||||
Fuer die Abarbeitung von DCP unter WEGA sind zwei U80601-Erweiterungskarten
|
||||
(CPU-Karte und 1MByte-RAM-Karte) im P8000 erforderlich, die
|
||||
auf 2 Slots der 16-Bit-Rechnerkarte im P8000 gesteckt werden. WDOS
|
||||
realisiert mit diesen Karten eine PC-Umgebung, die jedoch nicht
|
||||
vollstaendig PC-kompatibel ist. Als Terminal muss ein spezielles
|
||||
P8000/WDOS-Terminal mit 25 Bildschirmzeilen und Flachtastatur eingesetzt
|
||||
werden. Dieses Terminal besitzt eine PC-kompatible Betriebsart.
|
||||
In dieser Betriebsart liefert die Tastatur anstelle der ASCII-Zeichen
|
||||
einen SCAN-Kode und die Bildschirmansteuerung realisiert die
|
||||
meisten Zeichen des erweiterten ASCII-Zeichensatzes.
|
||||
.LP
|
||||
.NH 2
|
||||
Lauffaehigkeit von DCP-Programmen
|
||||
.LP
|
||||
Auf den U80601-Erweiterungskarten steht keinerlei Hardware zur
|
||||
Verfuegung, die direkt E/A-Geraete oder andere PC-kompatible
|
||||
E/A-Ports ansprechen kann. Anwenderprogramme duerfen daher
|
||||
keine In- und Out-Befehle enthalten. Alle Zugriffe auf
|
||||
periphere Geraete duerfen nur ueber das Betriebssystem oder
|
||||
das BIOS erfolgen. Eine Ausnahme bilden Bildschirmausgaben.
|
||||
Anwenderprogramme duerfen direkt in einen simulierten
|
||||
Bildwiederholspeicher schreiben. Es ist aber nur ein alphanumerischer
|
||||
Mode (entsprechend der MDA-Karte) realisiert.
|
||||
Alle Programme, die Grafikausgaben enthalten und
|
||||
auf Bildschirmkarten wie CGA, EGA ... angewiesen sind, koennen
|
||||
unter der WDOS-Umgebung nicht benutzt werden.
|
||||
.LP
|
||||
In der WDOS-Umgebung stehen 1 Systemkonsole (Tastatur/Bildschirm),
|
||||
1 Drucker, max. 4 (Pseudo-)Floppy-Disk-Laufwerke und max.
|
||||
2 (Pseudo-)Harddisk-Laufwerke zur Verfuegung. Serielle Schnittstellen
|
||||
sind nicht vorhanden.
|
||||
.LP
|
||||
.NH 2
|
||||
Verfuegbarer RAM
|
||||
.LP
|
||||
Dem Betriebssystem DCP und den Anwenderprogrammen stehen unter WDOS
|
||||
von 0 bis 9ffff 640 KByte RAM zur Verfuegung, sowie zusaetzlich von
|
||||
A0000 bis Affff weitere 64 KByte (in diesem Bereich liegt bei
|
||||
einem normalen PC die Grafikkarte). Im Bereich von B0000 bis B1fff wird
|
||||
von WDOS eine Monochrom-Bildschirmkarte simuliert. Der Bereich
|
||||
von F0000 bis Fffff ist fuer das "ROM"-BIOS reserviert. Der
|
||||
Bereich von B2000 bis Effff ist zur Zeit frei und kann unter DCP z.B. fuer
|
||||
einen vom Anwender geschriebenen RAM-Disk-Treiber benutzt werden.
|
||||
.LP
|
||||
.NH 2
|
||||
Tastatureingaben
|
||||
.LP
|
||||
Die Tastatur ist PC-kompatibel und liefert einen SCAN-Kode.
|
||||
Unter DCP darf kein zusaetzlicher Tastaturtreiber installiert
|
||||
werden, da dieser direkt auf die Hardware zugreift.
|
||||
.LP
|
||||
.NH 2
|
||||
Bildschirmausgaben
|
||||
.LP
|
||||
Im 1 MByte RAM wird eine Monochrom-Karte simuliert. Diese besitzt
|
||||
nur einen alphanumerischen Mode mit 25 Zeilen zu 80 Zeichen und
|
||||
einer Seite.
|
||||
Anwenderprogramme koennen direkt diesen
|
||||
"Bildwiederholspeicher" beschreiben. Durch das "ROM"-BIOS wird
|
||||
der Bildwiederholspeicher mit einem zweiten Abbild verglichen und
|
||||
die Differenzen zum Terminal ausgegeben. Das Terminal besitzt bezueglich
|
||||
der erweiterten ASCII-Zeichen und der VIDEO-Attribute Einschraenkungen.
|
||||
Fast alle VIDEO-BIOS-Requests schreiben die Zeichen zuerst in den
|
||||
"Bildwiederholspeicher". Eine Ausnahme bildet der
|
||||
WRTIE-TTY-Request (0eh). Hier erfolgt die Ausgabe direkt zum
|
||||
Terminal. Somit koennen auch ESC-Folgen (ADM31-kompatibel) ausgegeben
|
||||
werden. Das Betriebssystem DCP benutzt in der Regel diesen BIOS-Request.
|
||||
.LP
|
||||
Unter WDOS kann in DCP auch der Bildschirmtreiber "ANSI.SYS" installiert werden.
|
||||
Mit diesem Treiber werden ANSI-kompatible ESC-Folgen wirksam und die
|
||||
Ausgaben werden zuerst in den "Bildwiederholspeicher" geschrieben.
|
||||
Der Vergleich der "Bildwiederholspeicher" kostet aber Zeit und die Ausgabe der
|
||||
Zeichen ist daher etwas langsamer als die direkte Ausgabe zum Terminal.
|
||||
.LP
|
||||
Bei Verwendung des CP/M-Emulators EM80 fuer DCP
|
||||
(gehoert nicht zum Lieferumfang von WDOS)
|
||||
sollte ANSI.SYS nicht installiert werden. OS/M-Programme, wie TP, sind
|
||||
fuer das P8000-Terminal installiert und dann mit EM80 in der WDOS-Umgebung
|
||||
sofort lauffaehig.
|
||||
.LP
|
||||
.NH 2
|
||||
Diskzugriffe
|
||||
.LP
|
||||
Das Betriebssystem DCP erkennt durch Informationen im Urlader jeder
|
||||
Diskette das entsprechende Format der Diskette und stellt sich
|
||||
logisch darauf ein. Es kann aber bei realen Disketten nicht das
|
||||
physische Format des Floppy-Disk-Treibers (im WEGA-Kern) beeinflussen.
|
||||
Achten Sie bitte daher beim "Mounten" von realen Laufwerken im WDOS-Menue
|
||||
darauf, dass das Format mit dem Diskettenformat uebereinstimmt.
|
||||
.LP
|
||||
DCP ermittelt beim Systemstart das physische Format seiner
|
||||
Floppy-Disk-Laufwerke. Das Laufwerksformat ist aber
|
||||
nur beim Formatieren von Disketten von Bedeutung. Es hat keinen
|
||||
Einfluss beim Erkennen von Diskettenformaten. DCP erkennt z.B.
|
||||
eine 720 KByte Diskette in einem 360 KByte Laufwerk.
|
||||
Fuer die "physischen" Laufwerke
|
||||
E: und F: wird das Laufwerksformat mit der Aktivierung
|
||||
des Treibers DRIVER.SYS festgelegt
|
||||
(Standardeinstellung: 720 KByte
|
||||
Laufwerke). Fuer die Laufwerke A: und B: wird das physische
|
||||
Format aus dem "ROM"-BIOS ermittelt. Ist im Laufwerk A: eine
|
||||
1,2 MByte-Pseudo-Systemdiskette eingelegt, liefert das "ROM"-BIOS
|
||||
die Werte fuer 1,2 MByte Laufwerke ohne Disk-Change-Signal,
|
||||
sonst fuer 720 KByte Laufwerke ohne Disk-Change-Signal. Durch Fehlen
|
||||
dieses Signals setzt nur PCDOS das richtige Laufwerksformat. MSDOS und
|
||||
DCP stellen stets 360 KByte Laufwerke ein. Durch folgende Eintraege in die
|
||||
Datei CONFIG.SYS kann das Laufwerksformat auf 720 KByte eingestellt
|
||||
werden:
|
||||
.DS L
|
||||
drivparm=/d:0
|
||||
Drivparm=/d:1
|
||||
.DE
|
||||
Mit drivparm lassen sich aber auch anderer Formate einstellen.
|
||||
.LP
|
||||
Das Disk-Change-Signal dient zum automatischen Erkennen von Diskettenwechseln.
|
||||
Es wird von den (Pseudo-)Laufwerken nicht bereit gestellt. Das Signal kann
|
||||
aber vom "ROM"-BIOS simuliert werden. Der Parameter /C von DRIVER.SYS und
|
||||
DRIVPARM aktiviert das Signal. DCP fuehrt dann weniger Diskettenzugriffe
|
||||
aus. Beachten Sie jedoch, dass dann ein Diskettenwechsel in einem
|
||||
Laufwerk nur noch moeglich ist, wenn zuvor ein Zugriff auf ein anderes
|
||||
Laufwerk erfolgte, z.B. mit dem Kommando DIR. Ein Wechsel des
|
||||
aktuellen Laufwerks mit dem Kommando CD reicht nicht aus.
|
||||
.LP
|
||||
Zum Zugriff auf CP/M-Disketten und speziellen DOS-Disketten koennen
|
||||
die Treiber CDRIVE.SYS und MDRIVE.SYS (nicht im Lieferumfang von WDOS)
|
||||
installiert werden. Es koennen aber nur die physischen Formate angesprochen
|
||||
werden, die in der WDOS-Umgebung zur Verfuegung stehen. Die Treiber
|
||||
muessen so installiert werden, dass der Floppy-Disk-Treiber des
|
||||
"ROM"-BIOS benutzt wird, z.B.:
|
||||
.DS L
|
||||
device=cdrive.sys -rah -u1 -g
|
||||
device=mdrive.sys -rah -u1
|
||||
.DE
|
||||
In der WDOS-Umgebung wird von den DISK-BIOS-Requests FORMAT und
|
||||
VERIFY keine Funktion ausgefuehrt. Es wird die erfolgreiche
|
||||
Ausfuehrung der Funktion angezeigt.
|
||||
Somit koennen Kommandos wie FORMAT zum logischen Formatieren benutzt
|
||||
werden. Physisch koennen reale Disketten direkt unter WEGA oder
|
||||
vom WDOS-Menue aus formatiert werden.
|
||||
.NH 2
|
||||
Systemuhr
|
||||
.LP
|
||||
Beim Start von DCP werden die Anfangswerte fuer Datum und Zeit von WEGA
|
||||
uebernommen. Im "ROM"-BIOS ist eine Echtzeituhr realisiert. Diese erhaelt
|
||||
vom WEGA-Kern Clock-Impulse mit einer Frequenz von 10Hz. Beim verlassen
|
||||
von DCP wird die Uhr gestoppt. Wird anschlissend die Arbeit in
|
||||
DCP ohne Neustart fortgesetzt (Kommando r im WDOS-Menue bzw. wdos -r in WEGA)
|
||||
geht die Uhr nach.
|
||||
.NH 2
|
||||
Systemdiskette
|
||||
.LP
|
||||
Im Lieferumfang von WDOS ist die Pseudosystemdiskette wdos_sys
|
||||
enthalten. Als Systemdiskette kann aber auch eine reale Systemdiskette
|
||||
eines PC-kompatiblen Rechners benutzt werden. Folgende Systemdisketten
|
||||
wurden in der WDOS-Umgebung getestet:
|
||||
.DS L
|
||||
- Systemdiskette DCP 3.20 fuer A7150
|
||||
- Systemdiskette PCDOS 3.20 fuer IBM-PC
|
||||
- Systemdiskette PCDOS 3.30 fuer IBM-PC
|
||||
- Systemdiskette MSDOS 3.20 fuer Schneider-PC
|
||||
.DE
|
||||
Vor Verwendung einer fremden Systemdiskette, ist die Datei
|
||||
CONFIG.SYS dieser Diskette zu Ueberpruefen. Diese Datei darf keine
|
||||
Treiber aktivieren, die das "ROM"-BIOS umgehen. Deshalb sollten zuerst
|
||||
alle Zeilen mit
|
||||
.DS L
|
||||
device=...
|
||||
.DE
|
||||
entfernt werden.
|
||||
.LP
|
||||
Folgende Eintraege in der Datei CONFIG.SYS sind fuer die Arbeit in der
|
||||
WDOS-Umgebung guenstig aber nicht unbedingt erforderlich:
|
||||
.DS L
|
||||
drivparm=/d:0 ... (Format fuer Laufwerk A: setzen)
|
||||
drivparm=/d:1 ... (Format fuer Laufwerk B: setzen)
|
||||
device=driver.sys /d:4 ... (Laufwerk E: aktivieren)
|
||||
device=driver.sys /d:5 ... (Laufwerk F: aktivieren)
|
||||
.DE
|
||||
Auf jeder Systemdiskette befindet sich ein "Disketten"-BIOS. Probleme
|
||||
mit fremden Systemdisketten koennen entstehen, wenn dieses BIOS
|
||||
direkt die Hardware anspricht. Das "Disketten"-BIOS koennte z.B. in
|
||||
Abhaengigkeit der Version und des Datums des "ROM"-BIOS bestimmte
|
||||
Treiber des "ROM"-BIOS ersetzen.
|
||||
.LP
|
||||
Bei der Installation einer DCP-Harddisk sind keine Besonderheiten
|
||||
zu beachten. Sie erfolgt mit den Programmen FDISK, FORMAT und
|
||||
COPY.
|
||||
.LP
|
||||
.NH 2
|
||||
DCP-Kommandos
|
||||
.LP
|
||||
Folgende Kommandos funktionieren in der WDOS-Umgebung nicht:
|
||||
.IP CTTY 10
|
||||
Definition Primaerkonsole
|
||||
.IP MODE
|
||||
Einstellen Geraetemodus
|
||||
.IP SELECT
|
||||
Einstellen nationale Besonderheiten
|
||||
.IP GRAFTABL
|
||||
Laden zweiter grafischer Zeichensatz
|
||||
.IP GRAPHICS
|
||||
Vorbereiten grafische Print-Screen-Funktion
|
||||
.IP KEYBxx
|
||||
Ersetzten Tastaturprogramm
|
||||
.LP
|
||||
Bei folgenden Kommandos sind Einschraenkungen zu beachten:
|
||||
.IP DISKCOPY 10
|
||||
Physisches Kopieren von Disketten
|
||||
.br
|
||||
Unter WDOS ist das physisches Formatieren der Zieldiskette nicht moeglich.
|
||||
.IP FORMAT
|
||||
Formatieren von Disketten
|
||||
.br
|
||||
WDOS gestattet nur das logisches Formatieren von Disketten.
|
||||
720 KByte "Laufwerke" gestatten nur das logische Formatieren
|
||||
dieses Formats. "High-Density-Laufwerke"
|
||||
gestattet das logische Formatieren von 1,2 MByte Pseudodisketten
|
||||
und von 40-spurigen Disketten.
|
||||
Physisch koennen
|
||||
Disketten im WDOS-Menue oder direkt unter WEGA formatiert werden.
|
||||
.LP
|
||||
Das folgende intene Kommando dient zum Aendern der Parameter der internen
|
||||
Laufwerke. In vielen Dokumentationen ist es nicht beschrieben:
|
||||
.DS L
|
||||
DRIVPARM=/D:ddd [Schalter]
|
||||
|
||||
Schalter:
|
||||
/D:ddd logische Geraetenummer (0...255)
|
||||
/F:f Geraetetyp (0=160/180,320/360k, 1=1,2M, 2=720k)
|
||||
(Standard 720k)
|
||||
/T:ttt Spuren pro Seite (Standard 80)
|
||||
/S:ss Sektoren pro Spur (Standard 9)
|
||||
/H:hh Koepfe (Standard 2)
|
||||
/C Test auf Diskettenwechsel
|
||||
/N nichtwechselbare Magnetplatte
|
||||
.DE
|
||||
|
||||
.NH
|
||||
WDOS-Testversion
|
||||
.LP
|
||||
Zur Inbetriebnahme der U80601-Erweiterungskarten wurde eine
|
||||
WDOS-Testversion erstellt. Diese Version beinhaltet ein
|
||||
modifiziertes Koppelprogramm und ein modifiziertes "ROM"-BIOS.
|
||||
Die Test-Version dient vor allem zur Ueberpruefung der
|
||||
Funktionsfaehigkeit der 1 MByte RAM der Erweiterungskarten
|
||||
(DUAL-PORT-RAM) bei gleichzeitigem staendigen Zugriff durch
|
||||
Haupt-CPU und CPU2.
|
||||
|
||||
.NH
|
||||
Hardware-Testprogramm sa.diags
|
||||
.LP
|
||||
Das Hardware-Diagnoseprogramm sa.diags wurde um die Testschritte
|
||||
zur Funktionspruefung der WDOS-Erweiterungskarten erweitert.
|
||||
Die Testschritte entsprechen im wesentlichen der Testsoftware
|
||||
des WDOS-Funktionspruefplatzes. Folgende Testschritte wurden realisiert:
|
||||
.IP 1.
|
||||
Test des MP600-RAM (1MByte) vom U8000 aus
|
||||
.IP 1.1.
|
||||
Alle Segmente werden mit einem Bytemuster vollstaendig beschrieben.
|
||||
Regeln fuer die Mustererzeugung:
|
||||
.br
|
||||
- laenge l des Musters mit l <> 2^x, x e N = (0,1,2,3,...)
|
||||
.br
|
||||
(es wurde die Laenge l=17 gewaehlt)
|
||||
.br
|
||||
- Die Musterbytes muessen voneinander verschieden sein.
|
||||
.IP 1.2.
|
||||
Vergleich der beschriebenen Segmente mit dem Soll-Bytemuster.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Soll-Daten, Ist-Daten
|
||||
|
||||
.IP 2.
|
||||
Paritaetstest des MP600-RAM durch den U8000
|
||||
.IP 2.1.
|
||||
Die Segmente %70 bis %7f (MP600-RAM) werden mit einem beliebigen
|
||||
Muster gefuellt.
|
||||
.IP 2.2.
|
||||
Die Segmente werden Byte fuer Byte gelesen und dabei die Merkzelle
|
||||
fuer Paritaets-NMI getestet.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Ist-Daten
|
||||
|
||||
.IP 3.
|
||||
Anlauf des MP600
|
||||
.IP 3.1.
|
||||
Der U8000 laedt ein kurzes Anlaufprogramm fuer den MP600 in den
|
||||
MP600-RAM und loescht einen Kommunikationsbereich. Es wird eine
|
||||
Transferkontrolle durchgefuehrt.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Soll-Daten, Ist-Daten
|
||||
.IP 3.2.
|
||||
Der U8000 setzt das RESET fuer den MP600 zurueck. Der MP600 beginnt mit
|
||||
der Befehlsabarbeitung und fuehrt folgende Befehle aus:
|
||||
.DS
|
||||
MOV AX,CS
|
||||
MOV DS,AX ;DSEG=CSEG=F000H
|
||||
MOV AX,returncode
|
||||
MOV RETCODE,AX ;Returncode im Kommunikations-
|
||||
;bereich ablegen
|
||||
HLT
|
||||
.DE
|
||||
(siehe dazu auch asm86-Listing 'MP600 TEST3')
|
||||
.IP 3.3.
|
||||
Der U8000 wartet ca. 1 ms und ueberprueft den uebergebenen Returncode.
|
||||
.br
|
||||
Fehler: Fehlernummer, Soll-Code, Ist-Code
|
||||
|
||||
.IP 4.
|
||||
INT-Verkehr U8000 <--> MP600
|
||||
.IP 4.1.
|
||||
Vom U8000 werden ein INT-Initialisierungsprogramm, zwei
|
||||
Interrupt-Service-Routinen (dienen dem Test des INT-Vektors) und eine
|
||||
INT-Vektor-Tabelle fuer dem MP600 in seinen RAM geladen.
|
||||
Es erfolgt wiederum ein Kontrollesen der uebertragenen Programmteile.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Soll-Daten, Ist-Daten
|
||||
.IP 4.2.
|
||||
Der U8000 setzt das RESET-Signal des MP600 zurueck.
|
||||
.br
|
||||
* Der MP600 initialisiert sich fuer VINT
|
||||
.br
|
||||
* Meldung der erfolgreichen Initialisierung an den U8000, durch
|
||||
laden des Quittungsbytes 2 in den Kommunikationsbereich.
|
||||
.br
|
||||
* MP600 geht in den HALT-Zustand
|
||||
.IP 4.3.
|
||||
Der U8000 wartet ca. 1 ms und ueberprueft dann das Quittungsbyte 2 fuer
|
||||
eine erfolgreiche INT-Initialisierung.
|
||||
.br
|
||||
Fehler: Fehlernummer, Soll-Code, Ist-Code
|
||||
.IP 4.4.
|
||||
U8000 sendet 256 Interrupts mit verschiedenen Vektoren (1,2,3,...,255,0) an
|
||||
den MP600. In der INT-Vektor-Tabelle wird vor jedem INT, der Zeiger auf
|
||||
die ISR1, auf den Tabellenplatz des naechsten Vektors geladen. Alle
|
||||
anderen Zeiger in der INT-Vektor-Tabelle zeigen auf die ISR2. Diese
|
||||
wird dann nur bei einem fehlerhaft gelesenen Vektor angesprungen.
|
||||
Nach Ausloesung eines INT durch den U8000 springt der MP600 in die ISR1.
|
||||
Dort wird der Stackpointer zurueckgesetzt, ein Quittungsbyte 3 fuer den
|
||||
korrekten Ansprung der ISR uebergeben und ein NVI (nichtvektorisierter INT)
|
||||
an den U8000 gesendet (durch OUT-Befehl). Danach geht der MP600 in den
|
||||
HALT-Zustand und wartet auf den naechsten Interrupt.
|
||||
.IP 4.5.
|
||||
Nachdem der U8000 einen INT an den MP600 sendete, wartet er ca. 1 ms und
|
||||
ueberprueft dann das Quittungsbyte 3 und seinen eigenen NVI-Status durch
|
||||
kontrollieren einer Merkzelle.
|
||||
.br
|
||||
Fehler: Fehlernummer fuer falsches Quittungsbyte oder kein NVI.
|
||||
|
||||
.IP 5.
|
||||
RAM-Test vom MP600 aus
|
||||
.IP 5.1.
|
||||
Der U8000 laedt ein RAM-Testprogramm fuer den MP600 mit Transferkontrolle.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Soll-Daten, Ist-Daten
|
||||
.IP 5.2.
|
||||
Der U8000 setzt das RESET-Signal fuer den MP600 zurueck und der MP600
|
||||
fuellt den 1MByte RAM mit einem vorgegebenen Datenmuster und der jeweiligen
|
||||
Segmentnummer.
|
||||
.IP 5.3.
|
||||
Der U8000 wartet ca. 1 s und testet danach den RAM des MP600 auf das richtig
|
||||
Eingetragene Datenmuster.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Soll-Daten, Ist-Daten
|
||||
|
||||
.IP 6.
|
||||
gemeinsamer Speicherzugriff
|
||||
.IP 6.1.
|
||||
Der U8000 laedt ein Programm fuer den MP600 mit Transferkontrolle.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Soll-Daten, Ist-Daten
|
||||
.IP 6.2.
|
||||
Der U8000 setzt das RESET-Signal fuer den MP600 zurueck und der MP600
|
||||
arbeitet sein Programm im Block %0f ab und greift auf Bloecke %00 bis %0e
|
||||
zu (schreiben lesen).
|
||||
.IP 6.3.
|
||||
Der U8000 greift gleichzeitig auf die Bloecke %00 bis %0E zu (schreiben
|
||||
lesen).
|
||||
.IP 6.4.
|
||||
Danach testet der U8000 den RAM auf korrekten Dateninhalt.
|
||||
.br
|
||||
Fehler: Fehlernummer, Adresse, Soll-Daten, Ist-Daten
|
||||
.LP
|
||||
Loading…
Reference in New Issue