Betriebssysteme und Matrix auf dem Taschenrechner

Bei den Vorgängern des TI-83 Plus gab es keine offizielle Möglichkeit, Assembler-Programme zu starten. Diese Rechner mussten mit verschiedenen Techniken gehackt werden. Die Lösung für Endnutzer war eine Shell - ein Startprogramm, das den Aufwand übernahm, die Kontrolle dem OS zu entziehen und an den Nutzer zu übergeben. Viele Shells boten auch zusätzliche Routinen für ein Programm.

Stellenmarkt
  1. Java Software Developer (w/m/d) Customer Service
    SSI SCHÄFER Automation GmbH, Giebelstadt, Dortmund, Münster, Oberviechtach
  2. Informatiker*in (m/w/d) Schwerpunkt Gesundheitstelematik
    KBV Kassenärztliche Bundesvereinigung, Berlin
Detailsuche

Auf dem TI-82 erreichte die Ash-Shell das, indem sie ein speziell erstelltes Speicher-Backup an den Taschenrechner schickte. Wenn auf dem Rechner das nächste Mal eine Taste gedrückt wurde, leitete dieses Backup die CPU zum Setup-Code. In gewisser Weise ist das einer der ältesten Exploits für TI-Rechner.

Die wohl bekannteste Shell ist MirageOS für den 84+. MirageOS war beliebt bei Spielen, die über ein Link-Kabel geteilt wurden, denn ohne MirageOS funktionierten sie nicht.

Außerdem war es eine Flash-Applikation, die auch bei einer RAM-Löschung erhalten blieb. Ich erinnere mich, dass mir anfangs nicht klar war, was an dem Startbildschirm so toll sein sollte. Jetzt weiß ich dieses Kunstwerk zu schätzen.

Golem Akademie
  1. Container Management und Orchestrierung: virtueller Drei-Tage-Workshop
    22.-24.08.2022, Virtuell
  2. Linux-Systeme absichern und härten: virtueller Drei-Tage-Workshop
    07.-09.06.2022, Virtuell
Weitere IT-Trainings

Die Shells wurden mit der Zeit immer ausgefeilter. Der Höhepunkt wurde mit Doors CS von Christopher Mitchell (KermMartian) erreicht. Es enthielt Symbole für Assembler-Programme, eine Cursor-basierte Benutzeroberfläche und eine Reihe von Funktionen für Programme.

USB-Massenspeicher-Treiber

Der 84+ hatte einen ungewöhnlichen USB-Port: Es war ein On-the-Go-Port, was damals außergewöhnlich war. Technisch gesehen bedeutete es, dass der 84+ als USB-Host fungieren konnte. Dan Englenders Usb8x lieferte den Treibercode dazu, so dass eine (eher unnütze) Maus, eine Tastatur oder - was noch wichtiger war - ein Flash-Laufwerk verwendet werden konnten.

Der Boot-Code des Rechners enthielt Low-Level-USB-Routinen für Get/Send. Am beeindruckendsten sind aber die oberen Schichten des USB-Stacks mit Massenspeicher und dem FAT16-Treiber "msd8x" - natürlich alles in z80-Assembler!

Usb8x ermöglichte diese witzige Demo:

Michael Vincent ist sicher einer von sehr wenigen Menschen, die sich Matrix auf ihrem Taschenrechner angesehen haben.

KnightOS

Von Drew DeVault (SirCmpwn) stammt ein tolles Projekt, das TI-OS vollständig durch ein von Unix inspiriertes Multitasking-System namens KnightOS ersetzen wollte. Das Besondere an dem System ist, dass es viele Multitasking-Grundideen, die wir vom Mac oder von Linux kennen, fast ohne Hilfe der Hardware umsetzt.

Programme konnten verschoben werden, es gab präemptives Multitasking und nachladbare Bibliotheken, die wie Shared Objects unter Unix funktionierten. Es gab auch ein "echtes" Dateisystem mit Verzeichnissen, Flash-Wear-Leveling und ein Protokoll zur Verbindung mit einem Computer. Er hat sogar seine eigene USB-PID - 0xCA1C. Alles war sorgfältig in z80-Assembler implementiert und Kernel- und Bibliotheksroutinen dokumentierten den Inhalt jedes Registers.

Game & Watch: The Legend of Zelda

KnightOS ist keine Vaporware. Es gibt automatisch generierte Builds, die heruntergeladen und installiert werden können, der Quellcode ist auf Github. Leider hat der große Leistungsumfang verhindert, dass es eine stabile Version gab; aber die Grundlagen sind da, und sie sind cool.

Ich habe sogar ein klein wenig zu diesem Projekt beigetragen: Ich hatte damals gerade etwas über Synchronisationsprimitive (Mutexe und Bedingungsvariablen) gelernt und wusste genug über den z80, um sie für KnightOS zu implementieren.

Das Axe-Parser-Projekt

Beim Schreiben von Assembler-Programmen für die TI-Rechner gab es zwei offensichtliche Probleme: Erstens brauchte man in der Regel einen PC und die meisten Nachwuchs-Programmierer waren damals die meiste Zeit des Tages (ohne PC) in der Schule. Zweitens, und das ist noch wichtiger: z80-Assembler war ziemlich unverständlich, wenn man von BASIC kam.

Mit dem Axe Parser versuchte Kevin Horowitz (Quigibo), diese Probleme zu lösen, indem er eine neue Programmiersprache entwickelte, die sich auf dem Taschenrechner in nativen Code kompilieren ließ. Axe ist eine Anwendung, die ein "TI-BASIC-Programm" liest, das mit dem eingebauten Editor geschrieben wurde. Es definierte jedoch Grammatik und Semantik zu einer Sprache um, die sich sehr gut zum Schreiben von Spielen eignete.

Das ist ziemlich elegant. Denn den eingebauten Editor zu verwenden, hieß, dass Axe keinen Editor für seine Sprache mitliefern musste. Axe ist ein Compiler und seine Entwicklung zielt darauf ab, besseren Assembler-Code zu produzieren.

Es gibt lange Forumsthreads, die sich mit der Optimierung befassen. Außerdem ist Axe mit neuen Primitiven erweiterbar, die als "Axioms"-Plugins zur Verfügung gestellt werden und die Grammatik der Sprache weiter verfeinern.

Hier ist ein "Hello World" in Axe. Das Token Str1 wurde in eine 16-Bit-Zeigervariable umgewandelt; das kompiliert auf dem Rechner zu einem Assembler-Programm namens HELLO!


:.HELLO
:"Hello World"->Str1
:Disp Str1

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Spiele auf dem TI-Rechner und ein Game-Boy-EmulatorUnity: Eigener Code auf dem TI-81 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


DreiChinesenMit... 11. Mär 2022

Genau, sehe ich auch so! Keine Ahnung was ich die ganze Zeit ohne mein Ti83-Plus gemacht...

Kakiss 11. Mär 2022

Doom ist mittlerweile sogar ein Chip :D https://hackaday.com/2020/05/13/the-doom-chip/

countzero 10. Mär 2022

Wir hatten sogar einen TI Voyage 200, da gabs auch Tetris. Das hatte einen Bug, sodass...

swippipp 10. Mär 2022

Das war 2010 schon ein super Zeitvertreib während langweiliger Mathestunden. Damals noch...



Aktuell auf der Startseite von Golem.de
Cariad
Aufsichtsrat greift bei VWs Softwareentwicklung durch

Die Sorge um die Volkswagen-Softwarefirma Cariad hat den Aufsichtsrat veranlasst, ein überarbeitetes Konzept für die ehrgeizigen Pläne vorzulegen.

Cariad: Aufsichtsrat greift bei VWs Softwareentwicklung durch
Artikel
  1. Delfast Top 3.0: Ukrainische Armee setzt E-Motorräder zur Panzerjagd ein
    Delfast Top 3.0
    Ukrainische Armee setzt E-Motorräder zur Panzerjagd ein

    Ukrainische Infanteristen nutzen E-Motorräder, um leise und schnell zum Einsatz zu gelangen und die Panzerabwehrlenkwaffe NLAW zu transportieren.

  2. Überwachung: Polizei setzt Handy-Erkennungskamera gegen Autofahrer ein
    Überwachung
    Polizei setzt Handy-Erkennungskamera gegen Autofahrer ein

    In Rheinland-Pfalz werden Handynutzer am Steuer eines Autos automatisch erkannt. Dazu wird das System Monocam aus den Niederlanden genutzt.

  3. Love, Death + Robots 3: Mal spannend, mal tragisch, mal gelungen, mal nicht so
    Love, Death + Robots 3
    Mal spannend, mal tragisch, mal gelungen, mal nicht so

    Die abwechslungsreichste Science-Fiction-Serie unserer Zeit ist wieder da - mit acht neuen Folgen der von David Fincher produzierten Anthologie-Reihe.
    Von Peter Osteried

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Borderlands 3 gratis • CW: Top-Rabatte auf PC-Komponenten • Inno3D RTX 3070 günstig wie nie: 614€ • Ryzen 9 5900X 398€ • Top-Laptops zu Tiefpreisen • Edifier Lautsprecher 129€ • Kingston SSD 2TB günstig wie nie: 129,90€ • Samsung Soundbar + Subwoofer günstig wie nie: 228,52€ [Werbung]
    •  /