Virtual TPS
Virtual
TPS von Wilfried Klaas ist ein Online-Simulator, mit dem sich jeder
auch ohne die Hardware in das System einarbeiten kann. Die Software
unterstützt neben der originalen TPS-Version mit dem Holtek-Controller
auch alle anderen bisher entwickelten Systeme bis hin zu MicroBit, Rpi
Pico und ESP32.
Für einen
ersten Test habe ich Holtek gewählt und dann unter den TPS/MyCo
Examples das erste Programm "Flash 2 LEDs" geladen. Wie bitte, nur zwei
Befehle? Ich musste mich erst wieder orientieren. Da steht: Seite 2,
Springe zur Adresse 0. Jetzt erinnere ich mich, die ersten Beispiele
rufen ja den vorbereiteten Code ab Seite 2 ab. Also mal
herunterblättern. .
Bei laufendem Programm sieht man immer genau, welche Zeile gerade
abgearbeitet wird. Im Moment wird 500 ms lang gewartet. Davor wurde mit
0x18 der Ausgang Dout4 eingeschaltet, die linke LED leuchtet also.
Danach kommt der Rücksprung um vier Adressen: 0x34.
Die in der
aktuellen TPS-Ausgabe "Maker Kit Controller Board" von Franzis
enthaltenen Spiele sind ebenfalls unter den Beispielen enthalten. Hier
habe ich den Würfel getestet. Solange man S1 drückt, laufen Zahlen von
1 bis 6 durch. Wenn man S1 loslässt, bleibt die letzte Zahl stehen. Das
Programm habe ich auch in meine reale TPS eingetippt. Dort laufen die
Zahlen bei gedrückter Taste so schnell durch, dass alle drei LEDs
permanent zu leuchten scheinen. Erst wenn man loslässt, bleibt die
gewürfelte Binärzahl stehen. In der Simulation läuft alles langsamer,
sodass man das Hochzählen direkt verfolgen kann. Das Programm kann man
im TPS-Format als Textdatei Ex37__Throwing_Dice.tps exportieren und
dann in einem Editor bearbeiten.
#TPS:TPS Holtek
0x00,4,7,""
0x01,5,1,""
0x02,4,1,""
0x03,C,2,""
0x04,4,1,""
0x05,5,4,""
0x06,C,E,""
0x07,7,1,""
0x08,3,5,""
0x09,0,0,""
0x0A,0,0,""
Dieses Programm wollte ich nun ähnlich wie im Handbuch
kommentieren. Und gleichzeitig wollte ich eine Änderung testen. Der
Würfel sollte nun bis 10 gehen. Dazu muss der Wert 11 in B gebracht
werden. Das neue Programm heißt nun Dice10.tps.
#TPS:TPS Holtek
0x00,4,B,"A=11"
0x01,5,1,"B=A"
0x02,4,1,"A=1"
0x03,C,2,"A<"
0x04,4,1,"A=1"
0x05,5,4,"LEDs"
0x06,C,E,"S1 0"
0x07,7,1,"A+1"
0x08,3,5,"j-5"
0x09,0,0,"Dice"
0x0A,0,0,"10"
Und tatsächlich, das Programm funktioniert. Solange S1 gedrückt wird, laufen die Binärzahlen von 1 bis A durch.