Kompatibel
SB an TSB anpassen
SB an TSB anpassen

Es gibt nur einige wenige Simons'-Basic-Befehle, die in TSB durch ihre Syntax Probleme bereiten. Wenn SB-Programme unter TSB Fehlermeldungen hervorrufen oder unerwartet reagieren, liegt es an diesen Befehlen.

Diese Befehle lauten:

Befehl Fehlersymptom Abhilfe

USE 1. Fehlermeldung TYPE MISMATCH ERROR Die Variablen bei USE müssen in TSB numerisch sein, also alle STR$ entfernen.
2. Zahlen erscheinen untereinander statt nebeneinander In SB wird bei USE kein Zeilenvorschub gesendet, bei TSB muss ein solcher mit einem Semikolon ausdrücklich verhindert werden:

USE "###",STR$(x): PRINT ⇒ USE "###",x
USE "###",STR$(x) ⇒ USE "###",x;
PAUSE 1. Fehlermeldung TYPE MISMATCH ERROR Die Zahlenangabe hinter PAUSE beginnt nicht mit einer Ziffer (besteht z.B. aus einer Variablen oder beginnt mit einem Vorzeichen oder Dezimalpunkt). In diesem Fall muss ein Leerstring oder ein mit einer literalen Null beginnender Ausdruck vor die Zeitangabe gesetzt werden.
2. PAUSE bricht bei jedem Tastendruck ab In SB ist nur <Return> als Abbruchtaste erlaubt, in TSB aber jede Taste. Ein POKE stellt den SB-Zustand wieder her.


PAUSE x ⇒ PAUSE "", x (oder:)
PAUSE x ⇒ PAUSE 0 + x
POKE $b90e,$24 (rückgängig mit dem Wert $D0)
MOB OFF Beim LISTen fehlt das OFF hinter MOB In TSB wird das SB-OFF nicht angezeigt, man kann es aber ausdrücklich setzen:
MOB 1 ⇒ MOB OFF 1;
MEM Nach MEM erscheinen die geänderten Zeichen nicht, stattdessen Kleinbuchstaben In SB kann man nach MEM den Zeichensatz nicht mit CSET umschalten. Daher werden hier (wenn man auf weitere POKEs verzichtet) nur Großbuchstaben angezeigt. TSBs Voreinstellung ist aber der andere Zeichensatz, der Groß-Klein-Modus (CSET 1).


In einem SB-Programm, das unter TSB laufen soll, muss daher nach dem Befehl MEM ausdrücklich CSET 0 gesetzt werden:
MEM: CSET 0
CHECK Fehlermeldung SYNTAX ERROR. Das Befehlswort CHECK kann in Simons' Basic sowohl als Funktion als auch als Anweisung verwendet werden. Als Anweisung ist es synonym zum Befehl DETECT, der die Abfrage von Sprite-Kollisionen vorbereitet. In TSB hat CHECK eine völlig andere Aufgabe, die nichts mit Sprites zu tun hat.



In einem Programm, das unter SB CHECK als Anweisung verwendet, muss diese Anweisung durch den Befehl DETECT ersetzt werden. Beispiel:
CHECK 0: k1=CHECK(1,4) ⇒ DETECT 0: k1=CHECK(1,4)

Weitere Simons-Basic-Befehle, die in TSB zu Irritationen führen würden, sind nicht bekannt. Mehr dazu im C64-Wiki.