Man muss nicht Assembler „sprechen“, um den TIS-100 zu verstehen, das Tessellated Intelligence System. Man muss allerdings bereit sein, die frei erfundene Maschinensprache des fiktiven Computers zu lernen. Eine Einweisung gibt es nicht, nur eine 14-seitige PDF-Datei, das Handbuch des Rechners aus den 80er Jahren. Am besten legt man die Seiten frisch getackert neben die Tastatur.
Auf der Anleitung klebt nicht nur ein Zettel – eine Nachricht über Onkel Randys plötzliches Verschwinden und die Frage, was es mit dem TIS-100 auf seinem Schreibtisch auf sich hatte –, sie erklärt auch die wichtigsten Befehle der Programmiersprache. Die Anweisungen schreiben Zahlenwerte in den Speicher, addieren Variablen, verschieben sie von einem Knoten in den nächsten.
Bis zu 15 Befehle können in einem solchen Knoten ausgeführt werden und durch die richtigen Befehlsketten müssen Ausgangswerte so manipuliert und bewegt werden, dass die ausgeschriebenen Ergebnisse vorgegebene Zielknoten erreichen. Dann öffnen sich neue Herausforderungen sowie Notizen mit Hinweisen auf die Geschichte um Onkel Randy.
MOV 84 DOWN
Programmierer haben beim Lösen dieser Aufgaben alle Freiheiten. Im einfachsten Fall – oder weil ihnen keine bessere Lösung einfällt – könnten sie einen Wert durch ein Labyrinth an Knoten schieben, bis er den Output erreicht. Eleganter ist natürlich das Verschieben ohne Umwege.
Aber welche Befehlskette errechnet innerhalb eines Knotens das geforderte Ergebnis, so dass der Weg über einen zweiten nicht notwendig ist? Eine Statistik vergleicht die Effizienz des Programms mit denen anderer Spieler; es zählt die Anzahl der benötigten Programmschritte, Knoten und Befehle. Echte Cracks beißen sich daran die Zähne aus. Sie optimieren noch, während andere ihre unhandliche Lösung längst abgehackt haben.
Und wenn sie nicht nur sich selbst, sondern auch ihren Kollegen cleveres Low-Level-Programming entlocken wollen, dann schreiben sie gar eigene Herausforderungen: Editoren ermöglichen das Erstellen eigener Programme und Aufgaben.
HCF
Wir haben im Studium für den MIPS R2000 Assembler geschrieben. Vllt wäre das als Einstieg nicht so verkehrt, wenn wirklich Interesse da ist. Der Befehlssatz ist auch recht übersichtlich (ich kenne keine anderen, ich behaupte einfach mal, dass es übersichtlich ist ). Als Simulator, damit du den Code auch ausführen kannst, nimmste "SPIM", und hier wäre eventuell ein gutes Tutorial. War das erste bei google, gibt vllt bessere.
btw: Ehrlich gestanden halte ich selbst den C64 für Anfänger schon fast für zu komplex. Den Commodore 64 Programmer's Reference Guide sollte man intus haben und um richtig in Assembler einzusteigen würde ich 6502 Assembly Language Programming von McGraw-Hill empfehlen. Das alleine hat über 600 eng beschriebene Seiten.
Es hat schon seine Gründe warum heutzutage selbst bei zeitkritischen Programmteilen so gut wie niemand mehr in Assembler programmiert. Von kompletten Spielen in Assembler, am besten noch als Ein - Mann - Projekt, hört man selbst für den 64er nichts mehr und die Szene ist durchaus noch sehr aktiv.
Ich will dir nicht allen Mut nehmen, aber wenn du Assembler bis zur Entwicklung eines fertigen eigenen Spiels lernen willst, wartet vom Zeitaufwand her ein echtes Mammutprojekt auf dich.
Ich würde zum Einstieg in Assembler tatsächlich zu einem geschlossenen Retrosystem raten. Codebase 64 wäre die erste Anlaufstelle für den C64, bei Forum64 gibt es iirc auch ein paar Assembler Tutorials.
Aber wie schon erwähnt, ich würde nicht zu viel erwarten. Die Einarbeitungszeit ist selbst für solch ein System immens.