TSB Update History
Update History
Update History

TSB ist eine Weiterentwicklung von Simons' Basic und wurde 1986 erstmals herausgegeben. Die Quellcodes zu TSB finden sich auf Github. In der folgenden History erscheinen die neuesten Updates oben.


2.20806 Diese Version stellt die Systemroutinen Tokenizer und Detokenizer um, so dass sie nun genauso funktionieren wie die ROM-Ausgaben davon für Basic V2, was vor allem platzsparend ist.
Gleichzeitig wurde das Zusammenspiel der Tasten Shift, CRTL und C= während des LISTens verbessert: Shift ist dafür zuständig, die LIST-Ausgabe anzuhalten (solange Shift gedrückt ist). Mit CTRL wird die Ausgabegeschwindigkeit auf die Einstellung von DELAY reduziert (ein Wert zwischen 30 und 40 bei DELAY ist bequem verfolgbar). Drückt man Shift und danach CTRL dazu, wird mit DELAY-Verzögerung weitergeLISTet, lässt man CTRL wieder los, stoppt die Anzeige. Drückt man zu Shift die C=-Taste, wird in Normalgeschwindigkeit geLISTet (bis man wieder loslässt). Sehr praktisch.
Hat man mit PAGE auf seitenweise Ausgabe geschaltet, hilft C= außerdem, das Anhalten der Ausgabe auch mal auszusetzen und trotz PAGE durchzuLISTen.
Außerdem enthält diese Version einen Bugfix in DO..DONE.
2.20805 Eine ganz wichtige Änderung: Der NMI war (über lange Zeit!) kompromittiert und konnte nach Drücken der RESTORE-Taste zu unvorhersehbaren Runtime-Zuständen führen! Durch unermüdliches und standhaftes Austesten (durch Forum64-User @Omega) ist dieser Riesenfehler von TSB ans Licht gekommen! Danke dafür! Und noch ein kleinerer Bug ist in dieser Version behoben: Wer nach MEM und PAGE ein Programm geLISTet hat, hat sich vielleicht gewundert, dass die Zeilennummer der allerersten Zeile links oben nicht angezeigt wurde. Genau, ist jetzt gefixt.
2.20803 Die Stringfunktionen INST, INSERT und PLACE liefern im Direktmodus falsche Ergebnisse. Deshalb ist dieser Modus nun für die drei Funktionen außer Kraft gesetzt (melden bei Verwendung einen "?illegal direct error")
2.20801 Mit dieser Version kann man innerhalb einer IF..THEN DO..ELSE..DONE-Konstruktion weitere IF..THEN..ELSE verwenden, was bisher nicht funktionierte. Außerdem lässt sich jetzt ein DO NULL an jeder beliebigen (sinnvollen) Stelle einfügen, auch innerhalb DO..DONE (aber nicht in einer IF-Zeile). Weiter gibt es einen Bugfix im Befehl DELAY (ließ sich nicht mit DELAY OFF abschalten). Weiter macht RENUMBER bei Überschreiten der höchstmöglichen Zeilennummer wieder das, was es soll (Fehlermeldung, ohne Änderungen vorzunehmen) und SCRLD zerstört nicht mehr ein bereits vorhandenes Bild, wenn die angegebene Datei nicht vorhanden ist.
2.20714 Bugfix in der Funktion INST. Man konnte keine Zeichen mit CHR$(x) in einen String hineinschreiben. Außerdem ist bei allen Sprite-Befehlen eine Überprüfung der angegebenen Sprite-Nummer eingebaut worden. Sprite-Nummern über 7 erzeugen jetzt einen "Bad Mode Error".
2.20711 Beim Befehl MOB war bisher ausschließlich der Parameter OFF (plus Spritenummer) möglich (war Teil des Befehlswortes). Das ist nun geändert, mit MOB ON <nr> kann man (vorher mit MOB SET definierte) Sprites ohne weitere Umstände ebenfalls einschalten (das ging bisher ausschließlich über den Befehl MOB SET).
2.20702 Neue Funktion MEMPEEK. Mit ihr kann man das komplette RAM des C64 auslesen, auch unterhalb des I/O-Bereichs $D000.
2.20627 Bugfix im Kommando VERIFY
2.20605 Neue Funktion D!PEEK zugefügt
2.20528 DESIGN für Multicolor-Zeichen oder -Sprites kann jetzt auch mit Doppelpixeln definiert werden
2.20523 Bugfix in KEYGET
2.20521 Neuen Befehl KEYGET zugefügt (P. Hagemann)
2.20515 Neue Befehle SCRSV/LD DEF und SCRSV/LD RESTORE zugefügt (P. Hagemann)
2.20416 FETCH zeigt jetzt auch im RVS-Modus korrekt an
2.20405 Befehl CENTRE um optionalen Parameter Breite erweitert
2.20324 Bei Befehl LOW COL kann Parameter 3 (ändert Farbram) optional unwirksam gemacht werden
2.20313 Bugfix im Warmstart nach ON ERROR bei END
2.20220 SCRLD und SCRSV um Sekundäradresse 5 erweitert (P. Hagemann)
2.20121 RETRACE zeigt jetzt die aktuelle Versionsnummer an
2.20116 Bugfix bei OLD, FETCH jetzt begrenzt auf die systembedingte maximale Eingabelänge von 88 Zeichen
2.11229 Bugfix in Befehl INST
2.11218 Bugfix bei OUT (Wert 0 wird abgewiesen), Bugfix bei INSERT, die Funktionstaste 1 hat jetzt die Belegung "page23"
2.11207 Code-Optimierung, BFLASH verbessert (startet unmittelbar, Rahmenfarbe wird rekonstruiert)
2.11203 Bei RENUMBER wird eine Stepangabe von 0 jetzt mit Fehlermeldung abgewiesen
2.11129 DIR hält die Ausgabe jetzt auf beliebigen Tastendruck an
2.11122 Bugfix in Befehl LOCAL, HRDCPY optimiert
2.11107 Bei PRINT AT wird jetzt auf Überschreiten der höchstzulässigen Werte (39/24) getestet
2.11005 Neuen Befehl DIV (für Clear Screen) zugefügt
2.10825 Alle auf OPEN beruhenden Befehle auf die Einstellung bei USE ausgerichtet
2.10816 Bugfix in RENUMBER
2.10718 LIST optimiert
2.10606 Befehl LOAD erweitert um die optionale Angabe einer Zieladresse (Sekundäradresse 0)
2.10529 Bugfix in DRAW TO
2.10522 Bugfix in EXEC, Optimierungen bei HIRES, PLOT und MULTI
2.10506 Neuer Befehl DRAW TO zugefügt
2.10504 Bugfix in Funktion CHECK
2.10503 DUMP und PLACE optimiert
2.10420 Bugfix in Funktion $ (Hexzahl)
2.10414 PAUSE optimiert, BCKGNDS kann jetzt die Farben für den Multi-Textmodus setzen
2.10412 AUTO und RENUMBER jetzt mit (optionalen) Default-Werten 100,10
2.10407 Befehl DESIGN optimiert
2.10404 Kommando COLD, DO, CSET, MEM und NRM optimiert (CSET kann jetzt auch nach MEM verwendet werden)
2.10324 Bei Zugriffen auf Diskettenlaufwerke wird jetzt auf deren Präsenz überprüft (kein Aufhängen mehr)
2.10319 Bugfix in EXEC
2.10313 Kommando COLD, der Reset-Vorgang und die Behandlung von Stop/Restore überarbeitet
2.10125 TSB-Tabellen umgeordnet und überarbeitet, Interpreter, EXEC, CALL, EXIT und PROC optimiert, neuen Befehl CHECK zugefügt
2.10113 Befehle BFLASH, FLASH, OPTION, PAGE, PLAY, TRACE, KEY, DELAY, SECURE und VOL um (optionalen) Parameter ON/OFF erweitert, GLOBAL und LOCAL optimiert
2.10104 DIR geht jetzt auch ohne weitere Parameter
2.00308 Der Befehl INSERT kann jetzt auch invertierte Zeichen darstellen
2.00211 Die Funktion INSERT kann jetzt auch Text an einen String anhängen
2.00112 Verwendung von COLOUR mit nur einem Parameter setzt jetzt die Hintergrundfarbe
2.00111 Die Funktion $ (Hexzahl) erkennt jetzt auch zweistellige Ziffern.
2.0 Beginn der Versionskontrolle via Github im Januar 2020
1.91223 Die neuen Befehle MEMLOAD, MEMSAVE, MEMDEF, MEMCONT, MEMLEN, MEMOR, MEMPOS, MEMREAD und MEMRESTORE zugefügt, Wiederbeginn der TSB-Entwicklung
1.0 Erste Patches zu Simons' Basic im November 1984, erste Patch-Veröffentlichungen als Tipps im 64'er Magazin, vorläufige Fertigstellung 1986