TSB Tipps

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Befehle und Adressen[Bearbeiten | Quelltext bearbeiten]

TSB wird zur Zeit noch ständig weiterentwickelt. Dadurch ändern sich auch immer wieder Befehls-Einsprungadressen. Den aktuellen Stand gibt das folgende TSB-Programm auf dem Bildschirm und dem Drucker aus. Die Adressen B (Befehlstabelle) und A (Adressen der Befehle) in Zeile 130 müssen eventuell angepasst werden.

50 OPEN 4,4: CMD4: RETRACE
60 PRINT#4: PRINT#4: CLOSE4
100 OPEN 4,4,7
110 PRINT#4,"TSB  BEFEHLSTABELLE "
120 PRINT#4,"--------------------"
130 B=$83E0:A=$86C2
140 SA$=DUP(" ",10):S2$=DUP(" ",2)
150 FOR I=1 TO 127
160 : USE "###  ",I;
170 : USE#4,"###  ",I;
180 : REM BEFEHLE
190 : T$=""
200 : LOOP
210 :   T=PEEK(B)AND127
220 :   IFT<>64 THEN T$=T$+CHR$(T)
230 :   B=B+1
240 :   EXIT IF T=64
250 : END LOOP
260 : L=10-LEN(T$):D$=DUP(" ",L)+"$"
270 : PRINT T$;D$;:PRINT#4,T$;D$;
280 : REM STARTADRESSE HEX
290 : AL=PEEK(A):AH=PEEK(A+1)
300 : AD=AH*256+AL+1
310 : PRINT $$AD:PRINT#4,$$AD
320 : A=A+2
330 NEXT
340 PRINT#4:CLOSE4

Beispiel der Druckausgabe:

ad86
2.20515

tsb  befehlstabelle 
--------------------
  1  hires     $9203
  2  plot      $9257
  3  line      $9352
  4  block     $bbcc
  5  fchr      $ac5f
  6  fcol      $ac5f
  7  fill      $ac5f
  8  rec       $baf8
  9  rot       $a160
 10  draw      $a059
 11  char      $a186
 12  hi col    $a272
 13  inv       $ac5f
 14  frac      $9e9d
 15  move      $ac5f
 16  place     $ccd1
 17  upb       $ac5f
 18  upw       $ac5f
 19  leftw     $ac5f
 20  leftb     $ac5f
 21  downb     $ac5f
 22  downw     $ac5f
 23  rightb    $ac5f
 24  rightw    $ac5f
 25  multi     $94e9
 26  colour    $952f
 27  mmob      $95ca
 28  bflash    $966e
 29  mob set   $96e3
 30  music     $9762
 31  flash     $9791
 32  repeat    $9af8
 33  play      $9908
 34  do        $b570
 35  centre    $9948
 36  envelope  $9984
 37  cgoto     $99e7
 38  wave      $99f6
 39  fetch     $b001
 40  at(       $b8b4
 41  until     $9b19
 42  >>        $9e9d
 43  >>        $9e9d
 44  use       $820b
 45  >>        $9e9d
 46  global    $a343
 47  >>        $9e9d
 48  reset     $9c03
 49  proc      $9e35
 50  call      $9c66
 51  exec      $9c36
 52  end proc  $9d13
 53  exit      $9d31
 54  end loop  $c973
 55  on key    $9d72
 56  disable   $9da4
 57  resume    $9df9
 58  loop      $9e57
 59  delay     $c93c
 60  >>        $9e9d
 61  >>        $9e9d
 62  >>        $9e9d
 63  >         $9e9d
 64  secure    $c945
 65  disapa    $9176
 66  circle    $948b
 67  on error  $9e73
 68  no error  $9e95
 69  local     $a301
 70  rcomp     $9f21
 71  else      $a2c8
 72  retrace   $9b47
 73  trace     $9b59
 74  dir       $9546
 75  page      $98ee
 76  dump      $9f50
 77  find      $a59b
 78  option    $9b62
 79  auto      $9bd4
 80  old       $9edc
 81  joy       $9e9d
 82  mod       $bfe3
 83  div       $81bd
 84  d!        $b8ea
 85  dup       $b7b8
 86  inkey     $9e9d
 87  inst      $ca0d
 88  test      $9e9d
 89  lin       $c83a
 90  exor      $9e9d
 91  insert    $af44
 92  pot       $9e9d
 93  penx      $9e9d
 94  >         $9e9d
 95  peny      $9e9d
 96  sound     $9e9d
 97  graphics  $8be1
 98  design    $a634
 99  rlocmob   $a764
100  cmob      $a7a1
101  bckgnds   $a7b0
102  pause     $a7e0
103  nrm       $a83a
104  mob off   $a85f
105  off       $a871
106  angl      $ab12
107  arc       $a887
108  cold      $8147
109  scrsv     $b1a5
110  scrld     $b191
111  text      $b22a
112  cset      $b30e
113  vol       $b338
114  disk      $b355
115  hrdcpy    $b4d3
116  key       $b583
117  paint     $b5ec
118  low col   $93d4
119  copy      $ba06
120  merge     $8338
121  renumber  $8372
122  mem       $bda6
123  detect    $bdef
124  check     $a27a
125  display   $bdfe
126  err       $bfba
127  out       $9ed3

Kompatibilität[Bearbeiten | Quelltext bearbeiten]

Dieses Kapitel behandelt die Aufwärtskompatibilität von TSB, gibt also Antworten auf die Frage "Wie muss man ein in Simons' Basic geschriebenes Programm anpassen, damit es in TSB läuft?".

Laufwerk Geräteadresse[Bearbeiten | Quelltext bearbeiten]

Wenn das Simons-Basic-Programm eine andere Geräteadresse (ga) als 8 für ein Laufwerk benutzt, ist bei den entsprechenden Befehle (LOAD, SAVE, OPEN)) eine Anpassung nötig.

Simons' Basic TSB
SAVE "datei",9 USE 9: SAVE "datei"
LOAD "datei",9 USE 9: LOAD "datei"
OPEN 2,9,2,"datei" USE 9: OPEN 2,ga,2,"datei"

SCRLD und SCRSV[Bearbeiten | Quelltext bearbeiten]

  • Auch bei den Befehlen SCRLD und SCRSV muss die Geräteadresse (ga) mit USE bestimmt werden.
  • Die Sekundäradresse darf nicht größer als 2 sein. Dies würde in TSB bei SCRSV oder SCRLD nicht den Textschirm, sondern die Grafik speichern bzw. laden.
  • Empfehlenswert - wenn auch nicht zwingend notwerndig - ist es, den Dateinamen-Zusatz "P,W" bzw. "P,R" statt "S,W" bzw. "S,R" zu benutzen, weil TSB anders als Simons' Basic die Startadresse speichert.
Simons' Basic TSB
SCRSV 2,9,2,"datei,S,W" USE 9: SCRSV 2,ga,2,"datei,P,W"
SCRSV 3,8,3,"datei,S,W" SCRSV 2,ga,2,"datei,P,W"
SCRLD 2,8,2,"datei,S,R" SCRSV 2,ga,2,"datei,P,R"

KEY[Bearbeiten | Quelltext bearbeiten]

Der Befehl KEY 0 hat eine andere Bedeutung:

  • in Simons' Basic führt KEY 0 zur Anzeige der Funktionstastenbelegung genauso wie DISPLAY.
  • In TSB schaltet KEY 0 die Funktionstastenbelegung ab, genauso wie der neue TSB-Befehl KEY OFF.
Simons' Basic TSB
KEY 0 DISPLAY

MERGE[Bearbeiten | Quelltext bearbeiten]

  • In Simons' Basic lädt MERGE ein BASIC-Programm hinter ein bereits im Speicher vorhandenes.
  • In TSB lädt MERGE ein BASIC-Programm zu einem bereits im Speicher verhandenen hinzu und integriert es anhand der Zeilennummern. Das neue wird also in das alte hineingemischt.

ON KEY[Bearbeiten | Quelltext bearbeiten]

Der Befehl ON KEY besitzt in TSB eine andere Syntax und muss in jedem Fall angepasst werden.

  • Simons' Basic Syntax: ON KEY <string>,: <befehl>
  • TSB Syntax: ON KEY <string>: <befehl>

Beispiel:

Simons' Basic TSB
ON KEY "abc",: GOTO 10000 ON KEY "abc": GOTO 10000

RETRACE[Bearbeiten | Quelltext bearbeiten]

Der Befehl RETRACE hat eine völlig andere Bedeutung.

  • in Simons' Basic zeigt RETRACE das letzte vom Befehl TRACE erzeugte Beobachtungsfenster am Bildschirm rechts oben, falls der TRACE-Modus aktiv ist.
  • In TSB zeigt RETRACE die Initialen des Autors, das Jahr und die aktuelle Versionsnummer an.