Simons Basic Extension

Aus C64-Wiki

Wechseln zu: Navigation, Suche
Simons' Basic Extension
Die Einschaltmeldung von Simons' BASIC Extension
Entwickler David Simons
Firma D.S. Software
Verleger Commodore
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
Information alias Simons' Basic II

SIMONS' BASIC EXTENSION (im Folgenden auch kurz SBX genannt) ist eine Erweiterung der Modul-Version von Simons' BASIC mit 91 Befehlen, die von Kassette oder Diskette nachgeladen wird. SBX wurde wie Simons' BASIC selbst von David Simons 1983 programmiert und von Commodore vertrieben, allerdings nicht in Deutschland.

David Simons im Lemon64-Forum: "... there was a Simon's Basic2 that was released by Commodore (at least in the UK and I believe the US) - it used a neat trick to page use some of the memory which was rendered inaccessible by the original cartridge."

Inhaltsverzeichnis


[Bearbeiten] Laden und Starten

Der Ladebildschirm

Um die Extension laden zu können, muss das Modul eingesteckt und Simons' BASIC aktiv sein. SBX wird nun mit

LOAD"*",8,1 <RETURN>

von Diskette bzw. mit

LOAD <RETURN>

von Kassette geladen und mit RUN gestartet. Während des Ladevorgangs erscheint auf dem Bildschirm "SIMONS BASIC II", mit Hilfe von geänderten Zeichen in großer Schrift. Diese Bezeichnung ist hier verwirrend. Korrekt sollte dort "SIMONS BASIC EXTENSION" stehen, denn die wird ja geladen.

Die Startmeldung

Die Extension lädt sechs Dateien nach. Nachdem das Erweiterungsprogramm ausgeführt ist, erscheint die Startmeldung mit *** SIMONS BASIC 2 ***. SIMONS' BASIC 2 (auch kurz SB2 genannt) enthält neben den 114 Befehlen des Moduls nun aus der Extension 89 neue, 2 verbesserte Befehle (FIND, RENUMBER) und einen (DESIGN) mit erweiterten Möglichkeiten. Der Befehl FIND ist im Handbuch noch nicht erwähnt. Es steht nun ca. 10 KB weniger Speicherplatz zur Verfügung.

[Bearbeiten] Befehlsübersicht

[Bearbeiten] Befehle nach Anwendungsbereich

SIMONS' BASIC EXTENSION Handbuch

Die Befehle der Extension kommen aus folgenden Bereichen:

Befehle zur Programmverwaltung:

RENUMBER, DELETE, ALTER, HELP, CHAIN, PROTECT, FORCE, DS$, FIND

Befehle für numerische Felder:

SET ARR, ZER ARR, PRINT ARR, ADD ARR, SUB ARR, MUL ARR, DIV ARR, ADD ALL, SUB ALL, MUL ALL, DIV ALL, COPY ARR, INPUT ARR, READ ARR, ELEMENTS, MIN, MAX, SCRATCH, SUM, SORT

Befehle für numerische Verwaltung:

GRAD, DEG, BIN$, HEX$, CALCX, CALCY, EVAL, BACK

Befehle zur Speicherverwaltung:

DEEK, DOKE, HIMEM, LOMEM, SCREEN

Befehle für Grafik und Bildschirmverwaltung:

GRID, TICK, LABEL, DRAW TO, VLIN, HLIN, SCALE, SCX, SCY, LOW RES, DESIGN, MCOL, ROTATE, FONT, UPPER, ECOL, BCKFLASH, CCOL, SCOL, SCHR, *, PREPARE, PUSH, PULL, HSAVE, HLOAD

Befehle zum Erzeugen und Bewegen von Sprites:

INIT, SPRITE, CREATE, TRANSFER, INVERT, REVERSE, CHANGE, BARRIER, INFO, START, CLEAR, SPRX, SPRY, SPR LOC, XVEC, YVEC, ON DETECT, CONTINUE, SHOW, NORMAL

Befehle zur Musiksteuerung:

FILTER, MODE, PULSE, BEEP


[Bearbeiten] Die BASIC-Befehle von SIMONS' BASIC EXTENSION

* ADD ALL ADD ARR ALTER BACK BARRIER
BCKFLASHBEEPBIN$CALCXCALCYCCOL
CHAINCHANGECLEARCONTINUECOPYARRCREATE
DEEKDEGDELETEDESIGNDIVALLDIVARR
DOKEDRAWTODS$ECOLELEMENTSEVAL
FILTERFINDFONTFORCEGRADGRID
HASVEHELPHEX$HIMEMHLINHLOAD
INFOINITINPUTARRINVERTLABELLOMEM
LOWRESMAXMCOLMINMODEMULALL
MULARRNORMALONDETECTPREPAREPRINTARRPROTECT
PULLPULSEPUSHREADARRRENUMBERREVERSE
ROTATESCALESCHRSCOLSCRATCHSCREEN
SCXSCYSETARRSHOWSORTSPRITE
SPRLOCSPRXSPRYSTARTSUBALLSUBARR
SUMTICKTRANSFERUPPERVLINXVEC
YVECZERARR

[Bearbeiten] Token

Schlüsselwörter des Simons' BASIC werden vom Interpreter in 2-Byte-Token gewandelt.
Die Modulbefehle haben als erstes Tokenbyte $64 (100), die Extensionbefehle $65 (101).
Token und Einsprungadressen zeigt die Tabelle Simons Basic Extension Token.

[Bearbeiten] Speicherverwaltung unter SIMONS' BASIC 2

[Bearbeiten] Speicherbelegung

Die Speicherbelegung des Moduls ist im Simon's BASIC - Artikel dokumentiert.

Die Extension belegt im RAM folgende Speicherbereiche:

  • part1 $7700-$7FF1
  • part2 $801A-$8201
  • part3 $8356-$8419
  • part4 $897A-$8AAA
  • part5 $8C09-$8F4F
  • part6 $929C-$BDFB.

Der Bereich $8000-$9FFF ist nun doppelt, der Bereich $A000-$BFFF sogar dreifach belegt (BASIC-ROM, Modul, RAM).


[Bearbeiten] Geänderte Vektoren

AdresseBedeutungModulSBX
$0073-$0075CHRGET$0073$7817
$0300-$0301BASIC-Warmstart$8FAE$7808
$0302-$0303Eingabe einer Zeile$8289$7827
$0304-$0305Umwandlung in Interpretercode$8261$77DC
$0306-$0307Umwandlung in Klartext (LIST)$826D$77EE
$0308-$0309BASIC-Befehlsadresse holen$8609$7EE4
$030A-$030BAusdruck auswerten$9646$7B8A
$0314-$0315IRQ$9CDC$9CDC
$0316-$0317BRK$8353$7717
$0318-$0319NMI$8330$7717
$FFFA-$FFFBNMI-Vektor$8118$7717
$FFFE-$FFFFIRQ $775E

[Bearbeiten] Weblinks

Download:

Dokumentation:

Artikel:

  • "SIMONS BASIC II" in der RUN 01/1985 S. 116,117,126

Bilder:

Persönliche Werkzeuge