FE3:Handbuch/Firmware/Wedge/Syntax: Unterschied zwischen den Versionen
Tw (Diskussion | Beiträge) (→RESET) |
Tw (Diskussion | Beiträge) (→OFF (disable Wedge)) |
||
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 57: | Zeile 57: | ||
<br /> | <br /> | ||
| − | === <,> === | + | === <,> (convert Numbers) === |
Der Beistrich ist ein Befehl zur Zahlenumrechnung (Mini Taschenrechner). Alles nach dem Beistrich wird als numerischer Ausdruck gewertet und errechnet. Das Ergebnis wird in verschiedenen Notationen angezeigt: dezimal, hexadezimal, binär und als ASCII String. | Der Beistrich ist ein Befehl zur Zahlenumrechnung (Mini Taschenrechner). Alles nach dem Beistrich wird als numerischer Ausdruck gewertet und errechnet. Das Ergebnis wird in verschiedenen Notationen angezeigt: dezimal, hexadezimal, binär und als ASCII String. | ||
<br /> | <br /> | ||
| + | |||
=== DEL (delete lines) === | === DEL (delete lines) === | ||
| Zeile 133: | Zeile 134: | ||
<br /> | <br /> | ||
| − | === DOS <@> === | + | === DOS <@> (send DOS command) === |
Das "@" Zeichen sendet ein Kommando zum Floppy (zb: S:, N:, I: …). Welche Befehle verfügbar sind und wie die Syntax der Befehle lautet, entnehmen Sie bitte dem Handbuch zu dem Laufwerk. Das Argument zum Befehl kann mit oder ohne Anführungszeichen eingegeben werden. Wird das Argument ohne Anführungszeichen eingegeben, dann kann es zu unerwünschten Effekten kommen weil Befehle in der Befehlszeile in Token verwandelt werden. | Das "@" Zeichen sendet ein Kommando zum Floppy (zb: S:, N:, I: …). Welche Befehle verfügbar sind und wie die Syntax der Befehle lautet, entnehmen Sie bitte dem Handbuch zu dem Laufwerk. Das Argument zum Befehl kann mit oder ohne Anführungszeichen eingegeben werden. Wird das Argument ohne Anführungszeichen eingegeben, dann kann es zu unerwünschten Effekten kommen weil Befehle in der Befehlszeile in Token verwandelt werden. | ||
| Zeile 156: | Zeile 157: | ||
<br /> | <br /> | ||
| + | |||
=== FIND (find Text) === | === FIND (find Text) === | ||
| Zeile 224: | Zeile 226: | ||
<br /> | <br /> | ||
| − | === OFF === | + | === OFF (disable Wedge) === |
Der Befehl **OFF** schaltet die FE3 Wedge ab. Alle Vektoren werden auf Normalwerte gesetzt. Der Speicherbereich wo die Wedge liegt ist wieder frei. Die zusätzlichen Befehle sind nicht mehr verfügbar und auch die Jiffy Unterstützung (SJLOAD) ist deaktiviert. | Der Befehl **OFF** schaltet die FE3 Wedge ab. Alle Vektoren werden auf Normalwerte gesetzt. Der Speicherbereich wo die Wedge liegt ist wieder frei. Die zusätzlichen Befehle sind nicht mehr verfügbar und auch die Jiffy Unterstützung (SJLOAD) ist deaktiviert. | ||
<br /> | <br /> | ||
| + | === OLD === | ||
| + | |||
| + | Tut exakt dasselbe wie '''UNNEW'''. | ||
| + | |||
| + | <br /> | ||
| + | |||
=== RENUM (renumber lines) === | === RENUM (renumber lines) === | ||
| Zeile 306: | Zeile 314: | ||
<br /> | <br /> | ||
| − | === UNNEW === | + | === UNNEW (restore BASIC) === |
Der Befehl **UNNEW** hebt die Wirkung des Befehl NEW wieder auf. Nach einem NEW oder einem Reset des VC-20 sind BASIC Programme gelöscht. Mit diesem Befehl wird das Programm wieder hergestellt. | Der Befehl **UNNEW** hebt die Wirkung des Befehl NEW wieder auf. Nach einem NEW oder einem Reset des VC-20 sind BASIC Programme gelöscht. Mit diesem Befehl wird das Programm wieder hergestellt. | ||
Aktuelle Version vom 30. August 2019, 20:13 Uhr
Inhaltsverzeichnis
- 1 Liste der Befehle (FE3 Wedge)
- 1.1 BLK, BLKP und BLKD
- 1.2 <,> (convert Numbers)
- 1.3 DEL (delete lines)
- 1.4 DEVICE (set IEC Device#)
- 1.5 DIR <$> (Directory)
- 1.6 DOS <@> (send DOS command)
- 1.7 FIND (find Text)
- 1.8 KILL (disable FE3)
- 1.9 LOAD </>
- 1.10 NOIO (disable IO register)
- 1.11 OFF (disable Wedge)
- 1.12 OLD
- 1.13 RENUM (renumber lines)
- 1.14 RESET (Reset VC-20)
- 1.15 SAVE <←>
- 1.16 UNNEW (restore BASIC)
- 1.17 VERIFY
Liste der Befehle (FE3 Wedge)
Die FE3 Wedge erweitert den Befehlssatz des VC-20 BASIC Interpreter.
BLK, BLKP und BLKD
Die Block Befehle dienen zur vereinfachten Speicher-Konfiguration der FE3.
BLK
Dieser Befehl macht das selbe wie BLKP und ist nur noch aus Kompatibilität vorhanden.
BLKP (block protection)
Der Befehl veranlasst die FE3 Hardware einen Speicherblock gegen überschreiben zu schützen. Man lädt erst ein Programm in einen Block und schützt ihn danach gegen überschreiben.
Geschützte Blöcke wirken wie ein ROM, der Inhalt kann nur gelesen werden aber nicht verändert. Dem Befehl folgen eine oder mehrere Zahlen durch Beistrich getrennt. Die Zahlen können die Werte 0, 1, 2, 3 oder 5 annehmen (Block Nummer).
- __Syntax:__**
BLKP block[,block]...
\\
- __Beispiel:__**
BLKP 2,3,5 \\ BLKP 5 \\
BLKD (block disable)
Der Befehl veranlasst die FE3 Hardware einen Speicherblock zu deaktivieren. Die betroffenen Blöcke sind physisch ausgeblendet, also quasi nicht vorhanden.
Die deaktivierten Speicher Blöcke könnten nun von einer anderen Cartridge verwendet werden. Dem Befehl folgen eine oder mehrere Zahlen durch Beistrich getrennt. Die Zahlen können die Werte 0, 1, 2, 3 oder 5 annehmen (Block Nummer).
- __Syntax:__**
BLKD block[,block]...
- __Beispiel:__**
BLKD 2,3,5 \\ BLKD 5
<,> (convert Numbers)
Der Beistrich ist ein Befehl zur Zahlenumrechnung (Mini Taschenrechner). Alles nach dem Beistrich wird als numerischer Ausdruck gewertet und errechnet. Das Ergebnis wird in verschiedenen Notationen angezeigt: dezimal, hexadezimal, binär und als ASCII String.
DEL (delete lines)
Der Befehl **DEL** löscht eine oder mehrere Programmzeilen aus dem BASIC Speicher.
Die Parameter sind wie beim LIST Befehl ein Zeilennummern Bereich. Aber im Gegensatz zum LIST Befehl muß mindestens ein Parameter angegeben werden. Der Befehl DEL ohne Parameter führt zur Fehlermeldung "Syntax error".
\\
- __Syntax:__**
DEL [von Zeile] [ [-] [bis Zeile] ]
\\
- __Beispiel:__**
DEL 200 \\ DEL 200- \\ DEL -200 \\ DEL 200-1000
DEVICE (set IEC Device#)
Der ...
\\
- __Syntax:__**
←
\\
- __Beispiel:__**
←"
DIR <$> (Directory)
Das Dollarzeichen listet das Directory der Diskette im eingestellten Laufwerk, dabei wird das Programm im Speicher nicht überschrieben. Optional können weitere Zeichen nach dem Dollar eingegeben werden, damit selektiert man ensprechende Dateien deren Name mit den eingegebenen Zeichen beginnt.
Die Eingabe eines Stern sofort nach dem Dollarzeichen bewirkt die Ausgabe des Directory mit der Besonderheit, daß auch gelöschte und versteckte Dateien angezeigt werden (raw directory).
Die Ausgabe des Directory kann jederzeit durch die **<Stop>** Taste abgebrochen werden.
Eventuell auftretendes rollen des Bildschirminhalt kann wie bei allen Befehlen mit der **<Blank>** Taste verlangsamt werden.
Neu bei der FE3 Wedge ist, dass man das Rollen des Bildschirminhalt mit der **<←>** (Pfeil nach links) Taste unterbrechen kann. Solange die Taste gedrückt bleibt, ist die Ausgabe unterbrochen. Sobald man die Taste los lässt wird die Ausgabe fortgesetzt.
\\
- __Syntax:__**
$[*][joker]
\\
- __Beispiel:__**
$ \\ $* \\ $TEST \\ $*B
DOS <@> (send DOS command)
Das "@" Zeichen sendet ein Kommando zum Floppy (zb: S:, N:, I: …). Welche Befehle verfügbar sind und wie die Syntax der Befehle lautet, entnehmen Sie bitte dem Handbuch zu dem Laufwerk. Das Argument zum Befehl kann mit oder ohne Anführungszeichen eingegeben werden. Wird das Argument ohne Anführungszeichen eingegeben, dann kann es zu unerwünschten Effekten kommen weil Befehle in der Befehlszeile in Token verwandelt werden.
Mit dem "@" Zeichen ohne Argument, wird der Floppy Status gelesen und angezeigt (Fehlerkanal). Dabei wird ein eventuell anstehender Fehler zurückgesetzt, dh. eine zweite Abfrage ergibt dann immer Status 0 (ok).
\\
- __Syntax:__**
@[DOS command]["DOS command"]
\\
- __Beispiel:__**
@ \\ @S:TEST \\ @"R:TESTNEU=TESTALT" \\
FIND (find Text)
Der Befehl **FIND** durchsucht den BASIC Speicher nach einer Zeichenfolge oder einem Befehl.
Als Parameter wird ein **Suchstring** angegeben. Der Befehl listet alle BASIC Zeilen wo der Suchstring enthalten ist. Der Suchstring kann in Anführungszeichen (") gesetzt werden oder nicht.
Bei einem Suchstring in Anführungszeichen wird der Text innerhalb der Anführungszeichen gesucht. Dies ist gewöhnlich sinnvoll, wenn man etwas sucht das auch innerhalb von Anführungszeichen steht.
Ein Suchstring ohne Anführungszeichen wird behandelt wie eine Befehlszeile. Das bedeutet dass Befehlsworte im Text konvertiert werden (in Token). dadurch kann man auch nach Befehlen suchen wie GOTO oder GOSUB. Dies ist gewöhnlich sinnvoll, wenn man etwas sucht das nicht innerhalb von Anführungszeichen steht.
Der Befehl FIND ohne Parameter führt zur Fehlermeldung "Syntax error".
\\
- __Syntax:__**
FIND Suchstring
\\
- __Beispiel:__**
FIND "Euro" \\ FIND GOTO 100
KILL (disable FE3)
Wie beim Befehl OFF wird die FE3 Wedge abgeschaltet. Alle Vektoren werden auf Normalwerte gesetzt. Der Speicherbereich wo die Wedge liegt ist wieder frei. Die zusätzlichen Befehle sind nicht mehr verfügbar und auch die Jiffy Unterstützung (SJLOAD) ist deaktiviert.
Zusätzlich werden die FE3 Register deaktiviert, wie beim Befehl NOIO.
LOAD </>
Der ...
\\
- __Syntax:__**
←
\\
- __Beispiel:__**
←"
NOIO (disable IO register)
Der Befehl deaktiviert die beiden Register (Adresse 39938 und 39939) der FE3. Dadurch kann man die Konfiguration der FE3 nicht mehr per Software ändern. Dies sollte verwendet werden, wenn ein Programm nicht korrekt läuft, weil es in die Register schreibt. Die FE3 Register sind erst nach einem Reset des CPLD (rote Reset Taste) wieder sichtbar.
Durch diesen Befehl ist eine optimale Kompatibilität zu gewöhnlichen Speichererweiterungen gewährleistet. Es sollte jede Software laufen, die auch ohne FE3 bzw. mit normalen Speichererweiterungen läuft.
Die zuletzt eingestellte Speicherkonfiguration bleibt erhalten.
OFF (disable Wedge)
Der Befehl **OFF** schaltet die FE3 Wedge ab. Alle Vektoren werden auf Normalwerte gesetzt. Der Speicherbereich wo die Wedge liegt ist wieder frei. Die zusätzlichen Befehle sind nicht mehr verfügbar und auch die Jiffy Unterstützung (SJLOAD) ist deaktiviert.
OLD
Tut exakt dasselbe wie UNNEW.
RENUM (renumber lines)
Der Befehl **RENUM** nummeriert das Programm im BASIC Speicher ganz oder teilweise.
Als Parameter muss zumindest die Schrittweite angegeben werden. Ausgehend von der ersten Zeile werden die Zeilennummern dann fortlaufend neu nummeriert, wobei die Zeilennummer fortlaufend um die Schrittweite erhöht wird. Die erste Zeilennummer wird dabei nicht verändert.
Optional kann man die Zeilennummer der ersten Zeile auf einen angegebenen Startwert (erste Zeilennummer) setzen. Für die folgenden Zeilen wird der Startwert jeweils um die Schrittweite erhöht.
Optional kann man den Zeilenbereich angeben, für den die Neu-Nummerierung durchgeführt wird. Wie beim Befehl LIST kann ein Zeilenbereich angegeben werden. Dabei sind drei Arten des Zeilenbereich erlaubt: bis Zeile (zB. -200), von Zeile bis Zeile (zB. 200-800) und von Zeile bis (zB. 200-).
Der Befehl RENUM ohne Parameter führt zur Fehlermeldung "Syntax error".
\\
- __Syntax:__**
RENUM [Zeilenbereich,] Schrittweite [,erste Zeilennummer]
\\
- __Beispiel:__**
RENUM 200-,10 \\ RENUM 200-1000,15 \\ RENUM -800,20 \\ RENUM 10 \\ RENUM 5,100 \\ RENUM 200-1000,5,500
\\
- __Anmerkung:__**
Die Sprungbefehle in einem BASIC Programm werden **nicht** korrigiert durch den RENUM Befehl. Dadurch ist dieser Befehl für BASIC Programme praktisch nicht verwendbar. Ein BASIC Programm läuft nach der Renummerierung nicht mehr richtig.
RESET (Reset VC-20)
Der Befehl löst einen Software Reset des VC-20 aus. Im Gegensatz zu SYS64802 wird ein richtiger Reset emuliert, wie es nach dem Einschalten oder bei einem Hardwarereset der Fall ist. Benötigt wird dieser Befehl um Cartridges im Block 5 zu starten.
Wenn man die gelbe Reset Taste an der FE3 drückt, löst man einen Hardware Reset aus. Beide Reset Varianten sind gleichwertig und führen zum selben Ergebnis.
SAVE <←>
Der Pfeil nach links ist das Kürzel für den **SAVE** Befehl. Optional kann auch die Start- und Endadresse des zu speichernden Block angegeben werden.
Wenn die zu speichernde Datei bereits am Laufwerk vorhanden ist, dann fragt die Wedge ob die Datei ersetzt (replace) oder versioniert (update) werden soll.
__replace__:
Beim Verionieren werden 2 Versionen der Datei aufbewahrt und die jeweils älteste Version der Datei gelöscht. Die um eine Version ältere Datei hat bei dem Dateinamen das Zeichen ' vorangestellt.
__update__:
Beim Verionieren werden 2 Versionen der Datei aufbewahrt und die jeweils älteste Version der Datei gelöscht. Die um eine Version ältere Datei hat bei dem Dateinamen das Zeichen ' vorangestellt.
\\
- __Syntax:__**
←dateiname[,device][,SA][,von adresse,bis adresse]
\\
- __Beispiel:__**
←test1 \\ ←"test1" \\ ←"test2",8,1,$9000,$B000
UNNEW (restore BASIC)
Der Befehl **UNNEW** hebt die Wirkung des Befehl NEW wieder auf. Nach einem NEW oder einem Reset des VC-20 sind BASIC Programme gelöscht. Mit diesem Befehl wird das Programm wieder hergestellt.
Das UNNEW funktioniert nur, wenn das Programm noch unverändert im Speicher liegt. Die Eingabe von Code (Programmzeilen) oder Variablen überschreiben das Programm das mit NEW gelöscht wurde.
UNNEW berechnet auch die Verkettung aller Programmzeilen neu. Das kann sinnvoll sein, wenn man BASIC Programme anderer Systeme oder BASIC Teile lädt.
\\
- __Erklärung:__**
Der Befehl NEW löscht das BASIC Programm nicht wirklich. Es werden nur die ersten beiden Bytes des Programm gelöscht und die Länge des Programmes auf Null gesetzt.
Das UNNEW sollte möglichst rasch ausgeführt werden. Wenn das BASIC durch eine Fehleingabe eine Variable anlegt, dann wird der Beginn des Programm überschrieben und damit zerstört. Eine Variable wird bereits angelegt, wenn man nur eine beliebige Buchstabenkombination eingibt ...
VERIFY
Der ...
\\
- __Syntax:__**
←
\\
- __Beispiel:__**
←"