********************************
* *
* KDT-Buna, AG Mikro-Computer *
* *
********************************
* *
* Z1013.SUPER-URLADER (SURL) *
* Kurzbeschreibung *
* *
********************************
* *
* Autor: Michael Gaertner *
* C.-Schorlemmer-Str.103*
* Merseburg, 4 2 0 0 *
* Tel.: dienst.: 495210 *
* priv.: 215634 *
* Version: 3.00 vom 22.11.88 *
* *
********************************
1. Allgemeines
--------------
Der SURL ist ein Programm, das
anstelle des ueblichen Monitors
auf dem PROM des Z1013 geschrie-
ben werden kann. In Verbindung
mit nachfolgend beschriebenen
Hardware-Voraussetzungen dient
dieser SURL dem Laden beliebiger
Monitore bzw. Betriebsysteme in
den Speicher des Z1013. Eine
Tastatur wird dazu nicht benoe-
tigt, so dasz diese erst durch
die geladene Software spezifi-
ziert wird. Durch diese Vorge-
hensweise musz zwar nach jedem
Einschalten zunaechst mindesten
eine Datei von Kassette geladen
werden, doch sind Monitorver-
besserungen, unterschiedliche
Tastaturen sowie die Nutzung
ganzer MR-Betriebssysteme (z.B.
CP/M) zukuenftig ohne weitere
Hardware-Aenderungen moeglich.
2. Hardware-Voraussetzungen
---------------------------
- 64-RAM-Erweiterung
- Moeglichkeit Abschaltung des
SURL-PROMs
OUT 18H: ROM aus
OUT 1AH: ROM ein
- Moeglichkeit eines RAM-
Schreibschutzes (nicht unbe-
dingt notwendig aber mind.
fuer den Bereich F000H-FFFFH
empfehlenswert)
OUT 1CH: Schreibschutz ein
OUT 1EH: Schreibschutz aus
- 2 MHz Takt (bei Einschalten
bzw. RESET)
Diese Hardware-Veraenderungen
sind derzeit der Standard bei
der AG Mikro-Computer der KDT
Buna. Der inzwischen von der IG
HC der TU Dresden empfohlene
Standard , Zusatzschalt-Funk-
tionen generell mit dem Befehl
"OUT 04H" unter Verwendung der
Datenbits 0-7 fuer die Teil-
funktionen zu realisieren, wird
in einer Version 4.xx des SURL
beruecksichtigt werden. Diese
Unterschiede sind fuer die
folgende Funktionsbeschreibung
ohne Bedeutung.
3. Funktionsbeschreibung
------------------------
Der SURL-PROM (F000-FFFF)
enthaelt einen Urlader, der nach
jedem RESET vesucht, eine Reihe
beliebiger Programme und/oder
Betriebssysteme von Kassette in
den Speicher des Z1013 zu laden.
Die Dateien muessen mit dem
allg. verbreiteten Header-Save-
Verfahren (R.Brosig,IG-HC)
erzeugt worden sein. Diese
Dateien enthalten in ihrem
Kopfteil (Header) folgende, fuer
das Urladen wichtigen, Angaben:
- Lade-Anfangsadresse AAD
- Lade-Endadresse EAD
- Startadresse SAD
- Dateityp (A,B,C ... Z)
Damit arbeitet der Urlader wie
folgt:
a) TYP=X, AAD, EAD, SAD:
Laden von F000 bis (F000+EAD-
AAD) und Starten bei SAD
b) TYP=Y, AAD, EAD, SAD:
Laden von AAD bis EAD und
Starten bei SAD
c) TYP=Z, AAD, EAD:
Laden wie a) aber kein Start,
d.h. Weiterladen
d) TYP nicht X,Y o. Z, AAD, EAD:
Laden wie b) aber kein Start,
d.h. Weiterladen
Der Fall a) dient hauptsaech-
lich zum Laden eines
4K-Monitors, da der Bereich
F000-FFFF nicht direkt mit
Header-Save ausgelagert werden
kann, sondern dazu auf andere
Adressen verschoben werdn musz.
Mit b) lassen sich beliebige
Betriebssysteme bzw. Programme
laden, die sofort gestartet
werden. Die Faelle c) u. d)
dienen dem stueckweisen Laden
mehrer Programme oder Daten
bevor mit einer Datei vom Typ X
oder Y der Ladevorgang abge-
schlossen wird. So kann man z.B.
Kassetten erzeugen, von denen
nach Einschalten o. RESET autom.
der 4K-Monitor (Typ Z), der
BASIC-Interpreter gemeinsam mit
BASIC-Programm (Typ B) und ein
Starthilfsprogramm (Typ Y) zum
autom. Starten des BASIC-Pro-
gramms (o. anderer Programme,
s.a.Abschnitt 5.).
Vor dem Urladen erfolgt zuaetz-
lich ein zerstoerungsfreier RAM-
Test ueber alle 64 KByte in
Schritten von 1 Kbyte. Fuer
jedes getestete Kbyte wird auf
dem Bildschirm die H-Adresse
angezeigt, die im Fehlerfall mit
einem '*' markiert wird. Dadurch
kann der SURL zur Inbetriebnahme
des Z1013 verwendet werden.
Bei RAM-Fehlern im Bereich 0000-
EBFF u. F000-FFFF wird das Urla-
den fortgesetzt (!!!). RAM-
Fehler im Bereich EC00-EFFF
fuehren zum HALT, ebenso ein
defekter SURL-PROM (Pruefsumme
<> 0). Ein erneuter Urlade-
Versuch ist mit RESET moeglich.
Da sich der SURL-PROM auf den
gleichen Adressen befindet wie
evtl. zu ladende Dateien,
besteht der SURL aus 2 Teilen
mit folgenden Funktionen:
URLAD1:
- NMI kurzschlieszen (RETN)
- Init Stackpointer
- Init PIO Port B (Kassette)
- Bildschirm loeschen
- URLAD2 in obere BS-Haelfte
umladen
- SURL-PROM-Selbsttest, evtl.
HALT
- RAM-Test (0000-FFFF), evtl.
HALT
- NMI Initialisieren fuer 4K-
Monitor-Restart (JMP F000)
- Urladen (siehe a)-d) oben)
- Steuerungsuebergabe an
Programm vom Typ X o. Y
URLAD2 (zur Laufzeit im BWS):
- rSTORE: Laden von Bytes im
Bereich F000-FFFF
- RAMT2: RAM-Test F000-FFFF
- ROSRT: SURL-PROM abschalten,
Programmstart
Waehrend des Urladens werden
Informationen ueber den
laufenden Speichertest, sowie
Informationen zur Kassetten-
arbeit in der unteren BS-Haelfte
eingeblendet. Das Urladen
erfolgt ohne Bedienereingriff,
so dasz keine bestimmte Tastatur
am Z1013 gefordert ist. Diese
wird ausschlieszlich durch die
geladene Software spezifiziert.
Das gilt auch bei Lesefehlern
waehrend des Ladens. In diesem
Fall musz die Kassette vor den
fehlerhaften Block zurueckge-
spult werden (s.a. Ausschriften
in den untersten BS-Zeilen).
Folgende Ausschriften sind
moeglich:
"Next file please !"
erscheint zu Beginn des Urla-
dens und nach jeder vollstaen-
dig geladenen Datei und fordert
zum Anbieten einer neuen Datei
(Kassette starten, Weiterlaufen
lassen, Kassettenwechsel) auf.
"TYP u. DATEINAME"
Typ und Name einer gerade
geladenen Datei.
"bad rec., rewind"
Lesefehler, Kassette ist vor
die fehlerhafte stelle zu spu-
len und weiterlaufen zu lassen.
"Wait a moment ! "
Kassette ist genuegend zurueck-
gespult, das Lesen geht (hof-
fentlich) gleich weiter.
Weiterhin gibt es Anzeigen ueber
AAD, EAD, SAD (lt. gelaenem
Header) sowie die akt. Lade-
adresse und akt. Blockerwar-
tungsadresse.
Der SURL wird mit allen seinen
oben genannten Funktionen nach
jedem Einschalten oder RESET
aktiv. Ist aber bereits ein
Monitor/Betriebssystem geladen,
und kann unter deren Steuerung
ein Programm nur mit RESET
verlassen werden, so kann der
SURL nach dem RAM-Test durch
Druecken einer NMI-Taste zum
Abbruch gezwungen werden. Es
erfolgt dann ein Restart des 4K-
Monitors (Zelle 66H = 00, JMP
F000H). Dieser Restart erfolgt
also immer auf die fixe Adresse
F000. Das musz bei anderen
Monitoren/Betriebssystemen
beachtet werden.
4. Applikationen
----------------
In diesem Abschnitt werden die
Dateien einer vom Autor
erstellen Anwendungskassette
erlaeutert.
1. MW+Z1013.SURL.T
C 0100 3FFF 0100
2. Z1013.SURL.3.00
E 1000 17FF 0000
3. 4K.MONITOR.7652
Z 1000 1FFF 0000
4. B+CENTIPEDE
B 0100 481C 0000
5. START.BASIC
Y EA80 EBFF EB00
Datei 1 enthaelt eine 16K-
Version von MicroWORD 1.5
gemeinsam mit dieser SURL-
Beschreibung.
Datei 2 enthaelt den Inhalt des
SURL-PROMS (Version 3.00)
Die Dateien 3 - 5 stellen eine
Demonstration des SURL dar. Dazu
ist mit eingebauten SURL-PROM
der Z1013 einzuschalten. Das
Kassettengeraet ist nach
erfolgten RAM-Test und der
Auschrift "Next file please !"
mit Datei 3 zu starten. Danach
passiert folgendes:
_ Datei 3 wird als 4K-Monitor
nach F000-FFFF geladen. Der
Dateityp Z sorgt dafuer, dasz
die urspruenglich auf 1000-
1FFF ausgelagerte Datei
richtig geladen wird. Die
verwendete Monitorversion
untestuetzt die Tastatur
K7652
- Datei 4 ist der BASIC-Inter-
preter, der zusammen mit
einem BASIC-Spielprogramm
nach einem Probestart ausge-
lagert wurde. Diese Datei
wird nur geladen und nicht
gestartet (Typ nicht X o. Y).
- Datei 5 ist ein START-Hilfs-
Programm. Dieses Programm be-
endet das Urladen, indem es
auf seiner SAD (EB00) gestar-
tet wird. Es ist ein univer-
sell einsetzbares Programm
zum automatischen Starten
beliebiger anderer Program-
me. Im konkreten Fall wurde
es zum autom. Starten eines
BASIC-Programms installiert.
Nach dem Start von Datei 5
wird also CENTIPEDE autom.
gestartet.
5. START.xxxxx - ein universell
einsetzbares Startprogramm
--------------------------------
START veraendert den 4K-Monitor,
der ja nach dem Urladen im RAM
steht derart, dasz dieser nach
seinem Start (JMP F000)
automatisch eine vorgegebene
Zeichenfolge ohne Betaetigung
der Tastatur abarbeitet.
Danach wird der Monitor gestar-
tet.
Zusaetzlich wird der Bereich
00H-7FH mit einer waehlbaren
Belegung vorgeladen. Dies ist
z.B. beim BASIC-Intepreter
notwendig, damit dieser sofort
nach seinem Laden mit einem
RESTART gestartet werden kann.
In diesem Fall ist der
Interpreter 1x neu zu starten
und danach die Belegung von 00-
7F zu copieren. START.xxxxx hat
folgenden Aufbau:
EA80-EAFF: Daten, die nach 00-
7F umgeladen werden.
EB00-EB7F: Das eigentliche
START-Programm
EB80-EBFF: Zeichenkette, die
nach Monitor-Start
autom. abgearbeitet
wird. Endekennzei-
chen ist FFH.
4A 20 33 30 32 0D
0D 52 55 4E 0D FF
startet ein BASIC-
Programm. Das ent-
spricht den Eingaben
J 302 <Enter>
<Enter>
RUN <Enter>
Das Programm kann damit durch
Installationen in den Bereich-
en EA80-EAFF u. EB80-EBFF an
andere Auto-Starts angepaszt
werden. Das gesamte Programm
kann auch auf andere Adressen
verschoben werden, da es bis auf
folgende Randbedingung frei
verschieblich programmiert
wurde:
Das Programm beginnt auf EB00
mit dem Befehl "LD HL,0EA80H",
d.h. auf den Adressen SAD+1 und
SAD+2 steht die Adresse des La-
depunkts von START.xxxx. Wird
hier ein anderer Ladepunkt
eingetagen laeuft es auch auf
anderen Adressen bei gleicher
rel. Bereichsaufteilung.
** Ende **