Dass man mit einem Shell-Skript auch einen kompletten Prozessor emulieren kann, beweist Caleb Connolly. Ihr Skript 6502.sh emuliert mithilfe der Shell Ash aus der Busybox den 8-Bit-Prozessor 6502, der in den 1970er Jahren erschien.
Standardmäßig stehen dem emulierten 6502 ganze 32 KByte Hauptspeicher und 16 KByte ROM beiseite – beide Limitierungen können Anwender jedoch hochsetzen. In den Emulator eingebaut hat Caleb Connolly einen interaktiven Debugger, der unter anderem schrittweise durch den Programmcode geht und Breakpoints (Haltepunkte) bietet.
Voraussetzung für den Einsatz ist allerdings die Busybox sowie die in ihr eingebaute Shell Ash. In der Bash auf einem Standard-Linux-System läuft 6502.sh (noch) nicht.
Des Weiteren emuliert 6502.sh bislang keinen vollständigen Computer, einfache Programme lassen sich jedoch ausführen. Caleb Connolly hat gleich zwei Beispielanwendungen beigelegt: Einen BASIC-Interpreter und mit Wozmon eine Portierung des Maschinensprachemonitors des Apple I.
Wer sich für die Programmierung interessiert: Die Standard-Ein- und Ausgabe leitet der Emulator an eine ACIA-kompatible serielle Schnittstelle an der Speicherstelle $8400. Dies ermöglicht unter anderem den Einsatz des BASIC-Interpreters. Um den Quellcode der beiden Beispielanwendungen in ausführbare Programme zu übersetzen, benötigt man den Dasm-Compiler für Wozmon und den CC65-Compiler für den BASIC-Interpreter. Die weiteren Interna erläutert Caleb Connolly in ihrem Codeberg-Repository.
Einen wirklich praktischen Nutzer hat 6502.sh zumindest bislang nicht. Mit dem Skript beweist Caleb Connolly allerdings, wie mächtig Shell-Skripte sein können – und dass sie leicht fremden beziehungsweise fiktiven Programmcode ausführen können.





