Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z1013:software:headersave [2011/08/30 06:03] volkerpz1013:software:headersave [2019/10/28 14:30] (aktuell) – [maintape] volkerp
Zeile 120: Zeile 120:
 ===== Laden von Programmen ===== ===== Laden von Programmen =====
  
-@L  -Laden das nächstfolgenden Files ohne Namen- und +**@L** - Laden das nächstfolgenden Files ohne Namen- und Typkontrolle. 
-     Typkontrolle. + 
-@LN -Laden eines Files mit Namen- und Typkontrolle. +**@LN** - Laden eines Files mit Namen- und Typkontrolle. 
-     Es gilt, dass alles signifikant ist, was eingegeben wird. Das heißt, wird nur mit >ENTER< quittiert, erfolgt für den Typ oder den Namen keine Kontrolle. Es müssen nur so viele Zeichen eingegeben werden, wie für eindeutige Signifikanz notwendig sind.+ 
 +Es gilt, dass alles signifikant ist, was eingegeben wird. Das heißt, wird nur mit >ENTER< quittiert, erfolgt für den Typ oder den Namen keine Kontrolle. Es müssen nur so viele Zeichen eingegeben werden, wie für eindeutige Signifikanz notwendig sind.
  
 ACHTUNG: ACHTUNG:
Zeile 131: Zeile 132:
 Bildschirm als Puffer. Bildschirm als Puffer.
  
--Erfolgt der Aufruf mit X, z.B.: @LNX oder @LXX, wird nach dem Laden auf einen +Erfolgt der Aufruf mit X, z.B.: @LNX oder @LXX, wird nach dem Laden auf einen 
 Autostart bei COM-FILE's verzichtet.(X=alle Zeichen außer Space; kann auch  "L"  Autostart bei COM-FILE's verzichtet.(X=alle Zeichen außer Space; kann auch  "L" 
 oder "N" sein; z.B.: @LLL oder @LAB, bei Namenkontrolle - @LNN oder @LNZ o.ae.).  oder "N" sein; z.B.: @LLL oder @LAB, bei Namenkontrolle - @LNN oder @LNZ o.ae.). 
Zeile 138: Zeile 139:
 geändert oder anderweitig bearbeitet werden sollen.   geändert oder anderweitig bearbeitet werden sollen.  
  
--Der Rechner befindet sich so lange in einer Warteschleife, bis ein gültiger +Der Rechner befindet sich so lange in einer Warteschleife, bis ein gültiger 
 Kopf gelesen oder mit >CTRL-C< (S4-K/>BREAK<) abgebrochen wird. Der Abbruch  Kopf gelesen oder mit >CTRL-C< (S4-K/>BREAK<) abgebrochen wird. Der Abbruch 
 gelingt nur bei anliegenden Signal, ansonsten mit >RESET<. Ungültige Köpfe  gelingt nur bei anliegenden Signal, ansonsten mit >RESET<. Ungültige Köpfe 
Zeile 146: Zeile 147:
 gesuchten Files spulen. gesuchten Files spulen.
  
--Soll ein File auf eine andere Adresse geladen werden, als die im Kopf +Soll ein File auf eine andere Adresse geladen werden, als die im Kopf 
 angegeben, ist es möglich, eine neue Anfangsadresse anzugeben:  angegeben, ist es möglich, eine neue Anfangsadresse anzugeben: 
  
Zeile 155: Zeile 156:
 Namensignifikation nutzbar! (bei externen Aufruf auch mit). Namensignifikation nutzbar! (bei externen Aufruf auch mit).
  
--Sollte bei einem File, welches mit Blockadressen aufgezeichnet wurde, ein +Sollte bei einem File, welches mit Blockadressen aufgezeichnet wurde, ein 
 Lesefehler auftreten, oder ein Block ueberlesen worden sein, so wird das  Lesefehler auftreten, oder ein Block ueberlesen worden sein, so wird das 
 Einlesen unterbrochen und eine Fehlermeldung ausgegeben. Durch kurzes  Einlesen unterbrochen und eine Fehlermeldung ausgegeben. Durch kurzes 
Zeile 162: Zeile 163:
 der Lesevorgang fortgesetzt wird. der Lesevorgang fortgesetzt wird.
  
--File ohne Kopfblocknummern (HEADERSAVE-Versionen unter 5.0) können ab Version +Files ohne Kopfblocknummern (HEADERSAVE-Versionen unter 5.0) können ab Version 
 5.8 nicht mehr gelesen werden. Es wird nur der Kopf angezeigt und das Einlesen  5.8 nicht mehr gelesen werden. Es wird nur der Kopf angezeigt und das Einlesen 
 wird mit "bad record" unterbrochen. Man kann dieses File im Monitor-LOAD-Modus  wird mit "bad record" unterbrochen. Man kann dieses File im Monitor-LOAD-Modus 
Zeile 168: Zeile 169:
 der RB-Monitorversion gibt es dazu das Kommando @LA) der RB-Monitorversion gibt es dazu das Kommando @LA)
  
--Wird ein Blockkopf mit Inhalt 0FFFFH gelesen, wird der Ladevorgang mit "bad +Wird ein Blockkopf mit Inhalt 0FFFFH gelesen, wird der Ladevorgang mit "bad 
 record" abgebrochen. record" abgebrochen.
  
--externer Aufruf : CALL LORUF (E000H), möglichst über Sprungverteiler (FFF1H). +externer Aufruf : **CALL LORUF** (E000H), möglichst über Sprungverteiler (FFF1H). 
 Der 1. Registersatz und AF' werden zerstört. Der 1. Registersatz und AF' werden zerstört.
  
 Parameterübergabe: Parameterübergabe:
 +<code>
   * H(IY)=0   -Typ wird abgefragt   * H(IY)=0   -Typ wird abgefragt
     H(IY)=Typkennzeichen  -Typvorgabe und keine Abfrage Typ     H(IY)=Typkennzeichen  -Typvorgabe und keine Abfrage Typ
Zeile 183: Zeile 184:
   * L(IY)=20H -Freigabe des Selbststart bei COM-Files   * L(IY)=20H -Freigabe des Selbststart bei COM-Files
   * Zellen 1B/1CH=0 oder neue Ladeadresse    * Zellen 1B/1CH=0 oder neue Ladeadresse 
- +</code> 
--Beim Laden auf eine neue Anfangsadresse muss auf Zelle 1B/1CH +Beim Laden auf eine neue Anfangsadresse muss auf Zelle 1B/1CH 
- die neue Adresse übergeben werden (>0FFH), ansonsten m u s s  +die neue Adresse übergeben werden (>0FFH), ansonsten m u s s  
- die Zelle mit 0 initialisiert werden.+die Zelle mit 0 initialisiert werden.
  
 ===== Externer Aufruf von Unterprogrammen ===== ===== Externer Aufruf von Unterprogrammen =====
Zeile 268: Zeile 269:
 | 0DH-0FH | 3 x 0D3H = Kopfkenzeichen\\ (An diesem D3 erkennt jedes Kopfsuchprogramm einen Kopf !!) | | 0DH-0FH | 3 x 0D3H = Kopfkenzeichen\\ (An diesem D3 erkennt jedes Kopfsuchprogramm einen Kopf !!) |
 |10H-1FH | 16 Byte Namensblock | |10H-1FH | 16 Byte Namensblock |
 +
 +
 +====== maintape ======
 +
 +entwickelt Martin Duchrow.
 +
 +Der Autor schrieb mir 2014:
 +
 +maintape ist eine Verbesserung gegenüber Headersave.\\
 +Mich störte von Anfang an, dass ich zum Finden von Programmen stets zum Kassettenanfang zurückspulen musste, um den Zählerstand auf 0000 zu stellen, damit ich anschließend bis zur markierten Stelle vorspulen konnte. Deshalb habe ich das originäre Z1013-Kasettenformat um eine Filefolgenummer ergänzt, die beim Abspeichern abgefragt und beim Laden des Z1013-Programms immer auf die aktuelle Position verweist. Meine Listen für die Programme enthielten danach nicht mehr den Stand des Kassettenlaufwerks, sondern die Filefolgenummer 1, 2, 3, ..., A, B, C, ..., a, b, c usw. Diese Filefolgenummer (und der Memory-Pointer zur Anzeige der Position innerhalb des Programms) werden immer angezeigt, wenn der L-Befehl ausgeführt und das Kassettengerät gestartet ist, unabhängig davon ob das Programm schon geladen wird oder nicht. Dadurch hat man die Möglichkeit, das Kassettengerät nach vorn oder hinten zu spulen, bis man das gesuchte File gefunden hat und benötigt den Zählerstand nicht mehr. Ist es das nicht Wert, maintape zu nutzen? Ich wollte es jedenfalls nicht mehr missen.
 +
 +Maintape ergänzt demzufolge auch die Kassettenformate des Z1013. Um kompatibel zu bleiben, habe ich den eigentlichen Teil des originären Z1013-Formats beibehalten. Nur füge ich diesem noch 8 Bit hinzu, um meine File-Folgenummer einzubringen. Das originäre L-Kommando merkt davon nichts, da der Block an dieser Stelle schon zu Ende ist und es auf den nächsten Block wartet. Ich habe nur 8 Bit und kein ganzes Byte hinzugefügt - weil es reicht das Alphabet unterzubringen und damit kein unerwünschter Zeitverzug eintritt. Der Datenbereich enthält jetzt also 32,5 Bytes bzw 16,25 Datenwörter.\\
 +Um originäre Files mit nur 32 Datenbereichsbytes einlesen zu können, habe ich der Einfachheit halber ein zusätzliches LA-Kommando in meinen Monitor eingefügt.
 +
 +Ich habe auch weitere Programme mit meinem maintape ergänzt, z.B. das Programm zum Füllen der RAM-Disk, was vorher mit dem Headersave ausgestattet war.
  
  
  • z1013/software/headersave.1314684187.txt.gz
  • Zuletzt geändert: 2011/08/30 06:03
  • von volkerp