Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z1013:software:headersave [2011/08/30 06:03] – volkerp | z1013: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 > | ||
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' | Autostart bei COM-FILE' | ||
oder " | oder " | ||
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, | + | Der Rechner befindet sich so lange in einer Warteschleife, |
Kopf gelesen oder mit > | Kopf gelesen oder mit > | ||
gelingt nur bei anliegenden Signal, ansonsten mit > | gelingt nur bei anliegenden Signal, ansonsten mit > | ||
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" | wird mit "bad record" | ||
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 " | + | Wird ein Blockkopf mit Inhalt 0FFFFH gelesen, wird der Ladevorgang mit " |
record" | record" | ||
- | -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: | ||
+ | < | ||
* H(IY)=0 | * H(IY)=0 | ||
H(IY)=Typkennzeichen | H(IY)=Typkennzeichen | ||
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 | ||
- | + | </ | |
- | -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, | ||
+ | |||
+ | 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. | ||