2.3. Assembler Programmierung am TI-85 |
![]() |
Die Programmierfähigkeit des TI-85 beschränkt sich laut Texas Instruments auf das TI-85 BASIC. Als der TI-85 veröffentlicht wurde, unterstützte er auch keine Assembler Sprache. Einer Gruppe findiger Programmierer gelang es jedoch den Taschenrechner derart zu manipulieren, dass er Assembler Befehle und Programme ausführen konnte:
"Eine Analyse der Memory Backups, die zu einem PC
geschickt wurden, zeigte, dass die im [CUSTOM] Menü gespeicherten Items in den Backups als Zeiger auf bestimmte Stellen im
Hauptspeicher auftauchten. Assembler Code wurde als eine STRNG Variable gespeichert und zurück zum Taschenrechner, als erste Variable nach
einem kompletten Löschen des Speichers, gesendet. Bei einer weiteren Analyse des Backups
über den PC wurde dessen Speicheradresse wiedergefunden.
Diese Adresse wurde in ein Menüfeld des [CUSTOM] Menüs gesetzt. Diese Datei wurde zum TI-85 geschickt und als dieser [CUSTOM] Eintrag gewählt wurde, führte der
Taschenrechner den Assembler Code aus." 1
Fortan wurden die Möglichkeiten, die die Assembler
Programmierung bietet immer weiter genutzt und immer neue Programme erschienen im
Internet.
Um diese als STRNG Variablen gespeicherten
Programme ausführen zu können, benötigt man eine so genannte Shell. Sie ist eine Art
neues Betriebssystem und bildet die Bedienungsoberfläche der Assembler Programme
verwaltet. Nur die Shell erscheint im [CUSTOM] Menü. Sie steht am Anfang des Speichers an einer festen Adresse. Da in Z80
Assembler nur absolute Sprünge zu Adressen im Hauptspeicher möglich sind, können
Programme ohne eine Shell nicht ausgeführt werden. Es würden Sprünge zu
Speicheradressen ausgeführt werden, in denen nicht die gewünschten Informationen,
sondern irgendwelche TI-85 internen Werte gespeichert sind. An dieser Stelle korrigiert
die Shell die angesprungenen Adressen und macht die korrekte Ausführug der
Assemblerprogramme möglich.
Im Laufe der Zeit wurden immer neue Shell geschrieben, die mehr oder weniger
untereinander kompatibel sind.
Zu den bekanntesten zählen:
Immer komplexere Programme wurden für diese Shells (vor
allem für die ZShell) geschrieben, mit denen die TI-85 BASIC Programme in keinster Weise
konkurieren können. Assembler Programme brauchen nicht nur extrem wenig Speicherplatz
(u.a. weil sie direkte Speicheradresse ansprechen, anstatt Routinen in TI-85 BASIC zu
verwenden) und werden aufgrund der fehlenden Interpretierung schneller ausgeführt, sie
bieten auch viele neue Möglichkeiten. Beispielsweise können Bilder in mehreren
Graustufen dargestellt werden und sogar ein Hintergrundbild für den TI ist möglich.
Bisher wurde die Assemblerprogrammierung hauptsächlich für die Entwicklung immer
besserer und leistungsstärkerer Spiele genutzt. Neben einem "Super Mario Land",
einigen Rennspielen und Geschicklichkeitsspielchen, ist auch eine Tetris Variante im
Internet erhältlich, die eine Vergleich mit ihrem Pendant auf dem Gameboy nicht scheuen
muss. Multiplayer Modus und über 15 Level lassen den eigentlichen Verwendungszweck des
TI-85, das Berechnen und Lösen von Gleichungen, leicht vergessen.
Es beweist aber eines: Der TI-85 ist ein vollwertiger Computer, mit dem Schüler
frühzeitig an die Programmierung herangeführt werden können und der auch
fortgeschrittenen Programmiern immer neue Herausforderungen bietet.
Weitere Informationen über die Shells und ein riesiges Programmarchiv sind im Internet erhältlich unter http://www.ticalc.org/archives/.
Anleitungen zur Assemblerprogrammierung (in Englisch):
1 frei übersetzt aus dem Englischen von http://www.ticalc.org/basics/calculators/ti-85.html#9