TSB

From C64-Wiki
Jump to navigationJump to search
TSB
Start screen
Developer Arndt Dettke, David Simons
Company
Publisher Arndt Dettke
Release 1986
Licence MIT Licence
Platform C64
Genre Coding Language
Operation Keyboard Mouse Joystick Icon Port1.pngLightpen Paddles
Media Cartridge Language:english
Language(s) Language:english
Information Extension of Simons' Basic


Description[edit | edit source]

Demo with changed character set (from 64'er 5/88)

"'TSB" is an acronym for "' Tuned Simons' Basic”. This is an “extension of an extension”, i.e. the well-known Basic extension “Simons' Basic” has been improved and expanded by TSB. Contrary to the information in the original manual of Simons' Basic (and all other literature, which apparently only copied there), a considerable number of commands are not or not fully functional. Some commands are even described completely incorrectly (e.g. the OUT command). Because of all these errors, programmer Arndt Dettke set about completely rewriting Simons' Basic and completed it in 1986.

Due to a peculiarity of Simons' Basic, the Keywords reserved for the Basic functions can also be activated as normal command words (and vice versa), which TSB makes extensive use of. In this way and with the help of other methods, it was possible to give TSB more than 40' additional, completely new commands compared to the original. More than 50 commands/functions have been given additional, new features or revised so that the errors they contain are eliminated.

Finally, the important system routines were also subjected to a thorough revision and adjustment, so that the interpreter loop, the input queue, the keyword to token conversion routine, the evaluation routine an arithmetic expression, the LIST routine (see also DELAY), the commands LOAD and SAVE and the BASIC -Warmstart are no longer comparable to the corresponding routines in Simons' Basic. For example, appending a drive number to the associated commands in TSB is unnecessary. The commands that manage their own stack (EXEC, LOOP and REPEAT) in TSB really do what was only promised in Simons' Basic, namely 10 each To cope with nesting without getting to your knees.

In 2023, TSB's code was completely reorganized in order to get rid of the many "rucksacks" (code insertions in places that were not intended for this) that had arisen over the years and to streamline the code overall. Through this measure, TSB gained around 500 bytes of space for new things. Due to the reorganization, it was obvious that this should also be reflected in the name of TSB. When talking about TSB from 2023, the name TSBneo is usually used. The version query command RETRACE at TSBneo contains the release year 2023 ("ad23").

Graphic demo

All TSB commands can be abbreviated when entering (e.g. "RE" Shift +"N" for RENUMBER), however, TSB commands have Priority over the BASIC V2 commands. "L" Shift +"O" abbreviates the LOOP command in TSB (and no longer the usual LOAD). Unlike Simons' Basic, multiple procedure calls can appear on a single BASIC line. Additionally, the keyword EXEC (similar to LET) can be omitted when entering the procedure call, allowing BASIC lines like this: 100 front: middle : behind: END or 100 IF NOT obstacle THEN forward. (The procedure names may contain BASIC keywords like here INT and OR, but not in the first position.) This means that if procedure names are assigned appropriately, almost natural language can be used for programming (see the second example of DUP or the second example of MOB SET).

One of the features of TSB is that it can integrate two additional additions using the BASIC command. These are the DOS Wedge 5.1 (see TSB command INST, according to which the [[JiffyDOS#command overview. also used in JiffyDOS). |Abbreviations]] are available), and the high-speed graphics extension HSG from the 64'er special issue 6/86) with new, speed-optimized graphics commands, especially for the Drawing circles (see TSB command GRAPHICS).

Since TSB version 2.30126, TSB also includes a machine language monitor called "TSB.MON". It is a version of the well-known SMON from the 64'er Magazin adapted to TSB.

In contrast to all other C64 basics, TSB starts in uppercase/lowercase text mode.

List of additional or changed commands[edit | edit source]

In the following table, command words in bold are completely rewritten commands that perform different functions than the original Simons' Basic commands. The others have been expanded to include parameters or have their internal errors removed so that they can only now truly fulfill their function.

%% $$ AT BCKGNDS CALL CENTER CHECK CLS
COLD COLOR COPY CSET D! D!PEEK D!POKE DIR
DISC DISPLAY DIV DO .. DONE DO NULL DRAW TO DUMP DUP
ELSE ERROR EXEC FETCH FIND GRAPHICS INSERT INST
JOY KEY KEYGET LIN MAP MEMCLR MEMCONT MEMDEF
MEMLEN MEMLOAD MEMOR MEMPEEK MEMPOS MEMREAD MEMRESTORE MEMSAVE
MERGE MMOB MOBCOL MOB ON/OFF MOB SET MOD MOVE MULTI
NO ERROR NRM ON ERROR ON KEY OUT PAGE PAINT PAUSE
PLACE RENUMBER RESUME RETRACE RLOCMOB SCRLD SCRLD DEF SCRLD RESTORE
SCRSV SCRSV DEF SCRSV RESTORE SOUND TEXT TRACE USE WAVE
X!

The LOAD command has been extended in TSB so that it can also load to specified absolute addresses (like BLOAD in BASIC 7.0). To do this, unlike in BASIC V2, the secondary address 0 must be specified. A call could look like this: LOAD "filename",USE,0,address.

The following navigation bar provides an alphabetically ordered TSB command overview:


All commands from Simons' Basic (not already included in the list above) also apply under TSB. Any minor differences between the Simons' Basic command and its TSB counterpart are described there. So all of the following commands also apply under TSB:


Rating[edit | edit source]

Rating of C64 Wiki users (10=the best grade):
7.10 points at 10 votes (rank 416).
You need to be logged in to cast a vote.

See also[edit | edit source]

Weblinks[edit | edit source]

The D64 image is around 99 Kbytes in size and contains the BASIC file "README.RUN", which provides more detailed information about the above commands. There are also a number of example programs on it.
TSB is also available there as Cartridge file (65 KByte). There is also a revised PDF version of all wiki entries for Simons' Basic and TSB ("TSB_Handbuch.pdf", around 2 MB).
This is something like a ROM listing from TSB, with extensive comments in many places.
with current information about further development.
  • TSB Page from the publisher
Description, tips and tricks with example programs, update history, applications