Structured BASIC
Aus C64-Wiki
Zur Navigation springenZur Suche springenDieser Artikel beschreibt Structured BASIC von Ariolasoft. Außerdem gibt es Waterloo Structured BASIC von Watcom, das ebenfalls als Steckmodul vertrieben wurde, sowie Strubs.
Structured BASIC | |
---|---|
Entwickler | R. Standke, Rainer Hartwig |
Firma | Ariolasoft |
Verleger | Ariolasoft |
Release | 1984 |
Lizenz | Vollversion |
Plattform(en) | C64 |
Genre | BASIC-Erweiterung |
Steuerung | |
Medien | |
Sprache(n) | , Anleitung |
Information | Preis: 189 DM (ca. 95 €) Cartridge-ID: 22 |
Structured BASIC ist eine BASIC-Erweiterung, die von R. Standke und Rainer Hartwig für den C64 entwickelt wurde. Sie erweitert den Befehlssatz des BASIC V2 um nützliche Kommandos und wurde 1984 von Ariolasoft vertrieben.
Befehlsübersicht[Bearbeiten | Quelltext bearbeiten]
Die neuen BASIC-Befehle dienen folgenden Zwecken:
- Funktionstastenbelegung
- Programmierung: Hilfen wie RENUMBER, Quellcodeanzeige, Fehlerbeseitigung, Schutzoptionen
- Erweiterte und zusätzliche numerische Funktionen
- Zusätzliche Disketten-Befehle
- Hochauflösende Grafiken auch im Farbmodus
- Befehle für die Manipulation des Textbildschirms
- Ergänzende Programmierbefehle zur strukturierten Programmierung
- DO...LOOPS mit 128 Ebenen
- Rekursive Programmaufrufe
- Vereinfachte Erstellung und Umgang mit Musik und Tönen
- Vereinfachter Umgang mit Eingabegeräten wie Paddles
- Gesamter Speicherraum 100KB durch externes ROM
Token | Befehl | Format / Parameter | Beschreibung | Beispiel | |
---|---|---|---|---|---|
$fa | & | bis zu sechzehnstellige Binärzahl | Die Umrechnungsfunktion für Konstanten in Binärdarstellung zu entsprechenden Dezimalwerten ist als Präfix ausgeführt und kann in jedem numerischen Ausdruck verwendet werden. Das Zeichen & gefolgt von einem bis sechzehn Zeichen, die Binärziffern 0 und 1 enthalten, werden in die entsprechende Dezimalzahl umgerechnet (0 bis 65535). |
| |
$f3 | £ | bis zu vierstellige Hexadezimalzahl | Die Umrechnungsfunktion für Konstanten in Hexdezimaldarstellung zu entsprechenden Dezimalwerten ist als Präfix ausgeführt und kann in jedem numerischen Ausdruck verwendet werden. Das Zeichen £ (Pfund) gefolgt von max. vier Zeichen, die Hexadezimalziffern 0 bis 9 und a bis f enthalten, werden in die entsprechende Dezimalzahl umgerechnet (0 bis 65535). |
| |
$f9 | AT | PRINT AT <Spalte> , <Zeile> , <Ausdruck> [, | ;] ... | AT ist eine vom BASIC-V2-Befehl PRINT abhängige Anweisung, die den Cursor an eine definierte Stelle auf dem Bildschirm positioniert und einen oder mehrere Ausdrücke ausgibt. |
| |
$da | BLOCK | ||||
$f1 | CALL | ||||
$ec | CATALOG | Mit CATALOG gibt der Interpreter das Inhaltsverzeichnis der Floppy in Laufwerk mit Geräteadresse 8 aus, ohne dass das aktuelle BASIC-Programm dabei gelöscht wird. CATALOG kann auch innerhalb eines Programms aufgerufen werden. | |||
$d9 | CIRCLE | ||||
$9c | CLR* | ||||
$de | COLOUR | COLOUR [<Schriftfarbe>] [,<Hintergrundfarbe>] [,<Rahmenfarbe>] | Die Anweisung COLOUR setzt die drei Bildschirmfarben für Schrift, Hintergrund und Rahmen. Ohne Parameter werden die Standardfarben wiederhergestellt. |
| |
$fc | DEC | DEC( <Zahlenstring> ) | Die Umrechnungsfunktion eines maximal vierstelligen Hexstrings in eine Dezimalzahl. |
| |
$dd | DISK | ||||
$d3 | DO | ||||
$d5 | DRAW | ||||
$ee | DUMP | ||||
$cd | ELSE | ||||
$80 | END* | ||||
$e7 | ERROR | ||||
$f0 | EXIT | ||||
$e2 | FRAC | ||||
$d7 | FRAME | ||||
$8d | GOSUB* | ||||
$89 | GOTO* | ||||
$f4 | GRAPHICS | ||||
$e5 | HELP | ||||
$fb | HEX$ | HEX$( <Ausdruck> ) | Die Umrechnungsfunktion für Dezimal- oder Binärzahlen in Hexstrings. Die vorzeichenlose Zahl muss zwischen 0 und 65535 liegen und wird in den entsprechenden Hexstring umgewandelt. Ergebnisse im Bytebereich sind zweistellig, alle anderen vierstellig. Es wird kein Präfix erzeugt. |
| |
$e1 | HIMEM | ||||
$fd | IEC | ||||
$8b | IF* | ||||
$f5 | KEY | ||||
$9b | LIST* | ||||
$93 | LOAD* | ||||
$cc | LOMEM | ||||
$f2 | LOOP | ||||
$ef | MEM | ||||
$cf | MERGE | ||||
$fe | MUSIC | ||||
$a2 | NEW* | ||||
$e0 | NOISE | ||||
$df | NUMBER | ||||
$e6 | OFF | ||||
$91 | ON* | ||||
$ea | PADDLE | ||||
$d8 | PAINT | ||||
$97 | POKE | POKE [<Speicheradresse>] , <Wert> [, <Wert>] ... | Hier wird der bereits vorhandene BASIC V2-Befehl POKE erweitert.
Es können nun weitere numerische Ausdrücke angegeben werden, bei der die Speicheradresse entsprechend erhöht wird. Die Speicheradresse ist optional. |
| |
$e4 | POP | ||||
$99 | PRINT* | ||||
$f7 | PROC | ||||
$d1 | PROTECT | ||||
$f8 | QUIT | ||||
$ce | RENEW | ||||
$ed | RENUMBER | ||||
$d0 | REPEAT | ||||
$8c | RESTORE* | ||||
$8a | RUN* | ||||
$94 | SAVE* | ||||
$db | SOUND | ||||
$e8 | SPACE | ||||
$e3 | SWAP | ||||
$d6 | TEXT | ||||
$dc | TRACE | ||||
$eb | UNKEY | ||||
$d2 | UNLOCK | ||||
$f6 | UNTIL | ||||
$95 | VERIFY* | ||||
$e9 | WAVE | ||||
$d4 | WHILE |
Speicherverwaltung[Bearbeiten | Quelltext bearbeiten]
Adressbereich | Belegung |
$0000-$03FF | Wie beim normalen BASIC |
$0400-$07FF | Video-RAM bei normalem Betrieb |
$0800-$7FFF | Speicher für Anwendungsprogramm, Variablen und Strings |
$8000-$9FFF | Structured BASIC (Zwei umschaltbare 8KB-Bänke) |
$A000-$BFFF | Standard BASIC |
$C000-$C3FF | Video-RAM bei Grafik |
$C400-$CFFF | ? |
$D000-$DFFF | I/O und Farb-RAM |
$E000-$FF3F | Grafik-Speicher |
$FF40-$FFFF | freies RAM |
Geänderte Vektoren[Bearbeiten | Quelltext bearbeiten]
Adresse | Bedeutung | Structured BASIC | Original |
---|---|---|---|
$0300-$0301 | BASIC Fehlermeldungen | $9FDB | $E38B |
$0302-$0303 | Eingabe einer Zeile | $8E3F | $A483 |
$0304-$0305 | Umwandlung in Interpretercode | $82F9 | $A57C |
$0306-$0307 | Umwandlung in Klartext | $B238 | $A71A |
$0308-$0309 | BASIC-Befehl ausführen | $853B | $A7E4 |
$030A-$030B | Nächstes Element eines Ausdrucks holen | $9029 | $AE86 |
$0316-$0317 | BRK-Interrupt | $80AA | $FE66 |
$031E-$031F | CHKIN-Routine; Eingabe | $8489 | $F20E |
$0320-$0321 | CHKOUT-Routine; Ausgabe | $8469 | $F250 |
$0326-$0327 | CHROUT-Routine; Ausgabe eines Zeichens | $C806 | $F1CA |
$032E-$032F | Warmstart-Vektor | $80AA | $FE66 |
Hardware[Bearbeiten | Quelltext bearbeiten]
Schaltplan[Bearbeiten | Quelltext bearbeiten]
Bildergalerie[Bearbeiten | Quelltext bearbeiten]
Weblinks[Bearbeiten | Quelltext bearbeiten]
- Thema: Structured Basic (CRT?) auf Forum64.de