2.3. Assembler Programmierung am TI-85

Nächste Seite

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 die
se 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