Simons Basic
Aus C64-Wiki
Simons' BASIC ist eine BASIC-Erweiterung, die vom damals 16jährigen Schüler David Simons für den C64 entwickelt wurde. Sie erweitert den Befehlssatz des BASIC V2 um 114 nützliche Kommandos und wurde 1983 von D.S. Software aus England vertrieben.
Simons' BASIC gibt es entweder als Steckmodul, das am Expansionsport angeschlossen wird, oder als Softwareversion auf Diskette. Es verkleinert den freien BASIC-Speicher des C64 um 8 KB.
Inhaltsverzeichnis |
[Bearbeiten] Befehlsübersicht
Die neuen BASIC-Befehle dienen folgenden Zwecken:- Funktionstastenbelegung: <F1> bis <F16> (!)
- Programmierung: Hilfen wie RENUMBER, Quellcodeanzeige, Fehlerbeseitigung, Schutzoptionen
- Kontrollierte Eingabe und Textmanipulationen
- Erweiterte und zusätzliche numerische Funktionen
- Zusätzliche Disketten-Befehle
- Befehle für Grafik
- Befehle für die Manipulation des Textbildschirms
- Vereinfachte Erstellung und Umgang mit Zeichen und Sprites (auch Multicolor)
- Ergänzende Programmierbefehle zur strukturierten Programmierung
- Laufzeitfehlerkontrolle
- Vereinfachte Erstellung und Umgang mit Musik und Tönen
- Vereinfachter Umgang mit Eingabegeräten wie Lightpen, Paddles und Joystick
Schlüsselwörter des Simons' Basic werden vom Interpreter in 2-Byte-Token gewandelt. Das erste Tokenbyte ist immer $64 (100).
Details zeigt die Tabelle Simons Basic Token.
Folgende neue BASIC-Befehle stehen unter SIMONS' BASIC zur Verfügung:
| % | $ | ANGL | ARC | AT | AUTO |
| BCKGNDS | BFLASH | BFLASH 0 | BLOCK | CALL | CENTRE |
| CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD |
| COLOUR | COPY | CSET | DELAY | DESIGN | DETECT |
| DIR | DISAPA | DISK | DISABLE | DISPLAY | DIV |
| DOWN (B/W) | DRAW | DUMP | DUP | ELSE | END LOOP |
| END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT |
| EXOR | FCHR | FCOL | FETCH | FILL | FIND |
| FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES |
| HRDCPY | INKEY | INSERT | INST | INV | JOY |
| KEY | LEFT (B/W) | LIN | LINE | LOCAL | LOOP |
| LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET |
| MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM |
| OFF | OLD | ON ERROR | ON KEY | OPTION | OUT |
| PAGE | PAINT | PAUSE | PENX | PENY | PLACE |
| PLAY | PLOT | POT | PROC | RCOMP | REC |
| RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT (B/W) |
| RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND |
| TEST | TEXT | TRACE | UP (B/W) | UNTIL | USE |
| VOL | WAVE | @ |
[Bearbeiten] Speicherverwaltung unter Simons' BASIC
[Bearbeiten] Belegungsplan
| Adressbereich | Belegung |
| $0000-$3FFF | Wie beim normalen BASIC |
| $0400-$07FF | Video-RAM bei normalem Betrieb |
| $0800-$7FFF | Speicher für Anwendungsprogramm, Variablen und Strings |
| $8000-$BFFF | Simons' BASIC |
| $C000-$C3FF | Video-RAM bei Hires (1. und 2. Farbe) |
| $C400-$C4FF | frei |
| $C500-$CBFF | Hilfszellen für Simons' BASIC |
| $CC00-$CFFF | Video-RAM nach MEM |
| $D000-$DFFF | I/O und Farb-RAM |
| $E000-$FF3F | Grafik-Speicher bzw. Zeichengen. nach MEM |
| $FF40-$FFF9 | (freies RAM) |
| $FFFA-$FFFB | NMI-Vektor (im RAM auf $8118 gerichtet) |
| $FFFC-$FFFF | (freies RAM) |
Bei (Kalt-)Start löscht Simons' BASIC den Bereich $C300-$CBFF,
TSB dagegen nur $C400-$C5FF und $CB00-$CBFF.
[Bearbeiten] Geänderte Vektoren
| Adresse | Bedeutung | Disk/TSB | Modul |
| $0300-$0301 | BASIC-Warmstart | $9E9C | $8FAE |
| $0302-$0303 | Eingabe einer Zeile | $825C | $8289 |
| $0304-$0305 | Umwandlung in Interpretercode | $8234 | $8261 |
| $0306-$0307 | Umwandlung in Klartext (LIST) | $8240 | $826D |
| $0308-$0309 | BASIC-Befehlsadresse holen | $917A | $8609 |
| $030A-$030B | Ausdruck auswerten | $8C8D | $9646 |
| $0314-$0315 | IRQ | $9694 | $9CDC |
| $0316-$0317 | BRK | $8314 | $8353 |
| $0318-$0319 | NMI | $82FA | $8330 |
[Bearbeiten] Modul ein-/ausschalten
Zum Ein-/Ausschalten benutzt das Modul das Register $E000.
Schreiben in das Register (STA $E000) schaltet das Modul ein, Lesen (LDA $E000) aus.
[Bearbeiten] Literatur
- von Hans Lorenz Schneider u. Werner Eberl
- Markt & Technik Verlag, ISBN 3-922120-71-7
- aus der Reihe "Computer Persönlich", Band 5
- enthält ein kommentiertes ROM-Listing
- von Axel Plenge u. Norbert Szczepanowski
- Data Becker GmbH, ISBN 3-89011-009-6
- beruht auf der Diskettenversion von Simons' BASIC
- Spiele mit Computergrafik für Phantasie und Logik
- von Norbert Treitz
- Hagemann Verlag, ISBN 3-544-53003-1
- enthält 111 kleine Grafikprogramme für Simons' BASIC (sehr empfehlenswert!)
- von Walter Bachmann
- Westermann Verlag, ISBN 3-14-508811-4
- entwickelt eine parametrisierte Grafikanwendung
- Einstieg in Simon's Basic für den Commodore 64
- von Vera F. Birkenbihl
- IWT Verlag, ISBN 3-88322-056-6
- beschäftigt sich hauptsächlich mit Grafik unter Simon's BASIC
Artikel über Simons' BASIC im 64'er-Magazin:
- Simons Basic (H.L. Schneider) - 4/84 S.40 ff.
- Simons Basic Teil 2 (H.L. Schneider) - 5/84 S. 42 ff.
- Simons Basic: Befehle die nicht im Handbuch stehen (Hans Lorenz Schneider) - 9/84 S. 103-104
- Befehlserweiterungen für Simons Basic (Dieter Temme) - 11/84 S. 90-91
- Tips und Erweiterungen zu Hi-Eddi und Simons Basic (Hans Haberl) - 3/85 S. 88 ff.
- Geschichte vom feinen Basic (Arndt Dettke) - 3/91 S.26
[Bearbeiten] Trivia
- Der korrekte Name der Erweiterung lautet Simons' BASIC, ein Genitiv des Nachnamens des Programmierers David Simons. Dennoch wurde vor allem im deutschen Sprachraum einiges an Drittliteratur veröffentlicht, in der fälschlich der Name Simon's BASIC verwendet wird. Sogar in offiziellen Dokumentationen und Handbüchern von Commodore selbst taucht diese falsche Schreibweise auf.
- Commodore brachte später auf Kassette und Diskette eine Erweiterung SIMONS' BASIC EXTENSION zur Simons' BASIC Cartridge heraus. Diese Version wurde nicht in Deutschland vertrieben. Sie besitzt 91 weitere Befehle, eine leicht verbesserte Speicherverwaltung, meldet sich mit "SIMONS BASIC 2", und hat 28031 Bytes freien Basic-Speicher.
- Wie kann man mit Simons' BASIC geschriebene Programme kompilieren? Leider gibt es keinen Compiler, der ein alleinlaufendes Simons' BASIC - Compilat erzeugen kann. Einige, wie z.B. der Basic 64 Compiler, verarbeiten einen Teil der Befehle. Diese werden dabei aber nur an den Interpreter weitergereicht, was bedeutet, dass Simons' BASIC bei der Ausführung aktiv sein muss - sonst gibt es SYNTAX ERROR - und dass diese Befehle nicht beschleunigt ausgeführt werden.
[Bearbeiten] Weblinks
[Bearbeiten] Download
- C64Games.de - Spiel Nr. 3167
Disketten-Version (D64), Modul-Version (CRT), Kurzanleitung (TXT)
- Simons BASIC Disketten-Version (D64) mit Kurzanleitung (TXT) bei Digital Dungeon
- Simon's BASIC V3.1 bei CSDb ist die normale Disk-Version nur mit geändertem Startschirm
- Simons BASIC Modul-Version (CRT) bei NoGames64
[Bearbeiten] Allgemein
| Wikipedia: Simons' BASIC |
| Wikipedia: Simons' BASIC mit Beschreibung der Befehlswörter |
- Artikel aus der 64'er 4/84
in Projekt 64'er
[Bearbeiten] Dokumentation
- Inhaltsverzeichnis vom Simons' BASIC Handbuch
- SIMONS' BASIC USER GUIDE
Manual für die Modul-Version (PDF in DLH's Commodore Archiv 7.8 MB)
[Bearbeiten] Simons BASIC Programme
- Sternenhimmel im 64'er-Heft 5/85 S.52/S.57 ff.
- Fractal Berge im 64'er-SH07 S.124
- Testbild 64 Testbildgenerator im 64'er-Heft 1/87 S.62-63
- Tarnwirkung im 64'er-SH34 S.72
- Blattlaus im 64'er-SH34 S.78
[Bearbeiten] Siehe auch
| Dieser Artikel wurde Artikel des Monats. |
