Structured BASIC
Aus C64-Wiki
Zur Navigation springenZur Suche springen
Dieser 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) | ![]() ![]() |
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