******************************** * * * 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 **