Simons Basic

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Simons' Basic
Die Einschaltmeldung von Simons' BASIC.
Entwickler David Simons
Firma D.S. Software
Verleger Commodore, Conrad Electronic
Release 1983
Lizenz Vollversion
Plattform(en) C64
Genre BASIC-Erweiterung
Steuerung Icon tastatur.png Icon paddle.png Icon joystick.png
Medien Icon cartridge.png Icon disk525.png
Sprache(n) Sprache:englisch, Anleitung Sprache:deutsch

Simons' BASIC ist eine BASIC-Erweiterung, die vom damals 16-jä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.


 

Inhaltsverzeichnis

[Bearbeiten] Versionen

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 KByte.

1984 erschien die deutsche Version des Modul-Version-Handbuchs (Art. 564009) der Commodore GmbH, Frankfurt, im Ringbuch.

Ab 1990 wurde das Modul in Deutschland von Conrad Electronic GmbH, 8452 Hirschau (Best.-Nr. 95 11 88) vertrieben. Lieferumfang war das Steckmodul, die englischsprachige Anleitung "SIMONS' BASIC - 114 ADDITIONAL PROGRAMMING COMMANDS (USER GUIDE C64108)" und eine deutsche, 24-seitige Kurzbeschreibung der Befehle von Conrad Electronic (*15-01-90/01/E). Darin wurde 2.2 bis 12.5 des User Guide äußerst kurz (ohne Abbildungen und Beispiele) auf Deutsch wiedergegeben.

[Bearbeiten] Befehlsübersicht

Simonsbasic.jpg
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:

SimonsBasicModul CoverFront.jpg
SimonsBasicModul CoverBack.jpg
% $ 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-$03FF 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 an Adresse $E000.
Schreiben in das Register (STA $E000) schaltet das Modul ein, das Lesen des Registers (LDA $E000) aus.


[Bearbeiten] Literatur

(thumbnail)
Modul-Version Handbuch (DE)
(thumbnail)
Handbuch der Conrad Electronic Edition
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.
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 Simons' 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.
  • In den Jahren 1985-89 waren in Mailboxen unter dem Namen "Commander BASIC VT-xxx", wobei für "xxx" die Typnummern einiger Porsche-Modelle standen (also z.B. "Commander BASIC VT-935" oder "Commander BASIC VT-944" einige um weitere Befehle erweiterte und intern z.T. deutlich geschwindigkeitsoptimierte Kopien von Simon´s BASIC in Umlauf.
  • Wie kann man mit Simons' BASIC geschriebene Programme kompilieren?
    Leider gibt es keinen Compiler, der ein allein laufendes 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 führt das zu einem SYNTAX ERROR - und somit diese Befehle nicht beschleunigt ausgeführt werden.

[Bearbeiten] Weblinks

[Bearbeiten] Download

[Bearbeiten] Allgemein

WP-W11.png Wikipedia: Simons' BASIC
WP-W11.png Wikipedia: Simons' BASIC mit Beschreibung der Befehlswörter Sprache:english

[Bearbeiten] Dokumentation

[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


Artikel des Monats.gif Dieser Artikel wurde Artikel des Monats.
In anderen Sprachen