Computermuseum & Retrocomputing

IMSAI 8080: Der echte Computer hinter WarGames (1983)

In diesem Artikel
  1. Der Computer aus WarGames: echte Technik, erfundene Krise
  2. Was war real, was war Hollywood?
  3. Was war der IMSAI 8080?
  4. Wie aus acht Schaltern ein Byte wird
  5. Das erste Programm per Frontpanel eingeben
  6. Im Intel 8080: Register, Flags und Befehle
  7. WarGames und die frühe Hacker-Atmosphäre
  8. Was in meiner Rekonstruktion tatsächlich läuft
  9. Zum Einstieg: den Lichtern einen Grund geben
  10. Quellen und technische Hinweise

1983: Ein Jugendlicher sitzt am Terminal. Aus einem Telefon wird eine Datenverbindung, aus einem Zimmer ein Zugang zu einer viel größeren Welt. Neben der Tastatur steht ein Computer mit roten und blauen Schaltern. In WarGames – Kriegsspiele führt David Lightmans Suche nach neuen Spielen in ein fiktives nukleares Verteidigungssystem. Die beunruhigende Frage dahinter: Was passiert, wenn eine Maschine Übung und Wirklichkeit verwechselt?

Der Kasten neben dem Bildschirm war echt. Der IMSAI 8080 gehörte zur frühen Generation persönlicher Mikrocomputer und war schon einige Jahre alt, als der Film erschien. Seine Technik macht die Geschichte noch interessanter: Hinter der Kino-Intelligenz liegen überschaubare Bytes, Register, Telefonsignale und eine ausgesprochen handfeste Art, Programme einzugeben.

IMSAI-8080-Frontpanel der Ausstellung mit Adress- und Datenleuchten, blauen und roten Schaltern und Bedientasten.
Die funktionierende Museumsrekonstruktion nach dem Ende von HELLO. Vorhandene Browseraufnahme des Projekts; Oberfläche auf Englisch. © Dennis Hilk

Der Computer aus WarGames: echte Technik, erfundene Krise

Matthew Broderick spielt David Lightman, einen jungen Computerenthusiasten, der sich von zu Hause mit fremden Rechnern verbindet. Bei seiner Spielesuche erreicht er WOPR, den erfundenen Militärcomputer des Films. Unter dem Namen Joshua bekommt dessen Spielprogramm einen fast persönlichen Gesprächspartner-Charakter. Beides sind Filmfiguren beziehungsweise fiktive Systeme, keine Dienste, mit denen unser Museum Verbindung aufnimmt.

Der Film bringt drei Entwicklungen zusammen: erschwinglichere persönliche Computer, Telefonverbindungen über die eigenen vier Wände hinaus und die Angst des Kalten Krieges vor automatisierten Entscheidungen. Über eine Leitung kam Text zurück, ohne dass man die Menschen und Organisationen am anderen Ende sehen konnte. Genau diese Unsicherheit trägt die Handlung.

Zur Ausstattung gibt es einen bemerkenswert konkreten Bericht von Thomas „Todd“ Fischer, der Geräte für die Produktion lieferte. Er beschreibt IMSAI 8080, IKB-1-Tastatur und FDC-2-Diskettengehäuse, außerdem einen aus optischen Gründen verwendeten Akustikkoppler und ein als IMSAI 212A gestaltetes Modem. Besonders aufschlussreich: Die Monitorbilder wurden von einem CompuPro-System außerhalb des Bildes gesteuert.

Sichtbarer Computer und Rechner hinter den Filmeffekten hatten also unterschiedliche Aufgaben. Dass eine Maschine vor der Kamera steht, beweist nicht, dass sie sämtliche gezeigten Programme ausführt. Die Hardware gehört zur Geschichte der Szene; die Szene bleibt eine inszenierte Darstellung.

Was war real, was war Hollywood?

Reale GrundlageDavon zu unterscheiden
Mikrocomputer, Terminals und DiskettenDiese Geräte besaßen nicht automatisch die Intelligenz des fiktiven WOPR.
Datenübertragung per Modem und TelefonleitungEine Verbindung bedeutete weder Zugriffsberechtigung noch militärischen Zugang.
Entfernte Anmeldungen und PasswortabfragenDer Einbruch des Films ist eine Drehbuchhandlung, kein dokumentierter Vorfall.
Programme, die Spiele beherrschenJoshuas Persönlichkeit und das Kriegsszenario gehören zur Fiktion.
Computergenerierte Texte und GrafikenDie Filmoberflächen belegen keine serienmäßigen IMSAI-Funktionen.

Ein Terminal ist zunächst die Gesprächsseite eines Systems: Tastatureingaben werden gesendet, Zeichen kommen zurück und erscheinen auf dem Bildschirm. Die eigentliche Berechnung kann auf einem anderen Rechner stattfinden. Ein Modem übersetzt zwischen digitalen Informationen und geeigneten Leitungssignalen. Beim Akustikkoppler bilden Lautsprecher und Mikrofon des Telefonhörers die sichtbare Brücke.

So wird verständlich, warum der Arbeitsplatz trotz seiner dramatischen Handlung glaubwürdig wirkt. Tastatur, Anzeige, Rechner und Kommunikation übernehmen getrennte Rollen. Heute stecken diese Funktionen häufig im selben Laptop. Die ältere Aufteilung lässt eine eigentlich nachvollziehbare Verbindung dadurch geheimnisvoller aussehen.

Was war der IMSAI 8080?

IMS Associates stellte den IMSAI 8080 im Jahr 1975 vor. Das Computer History Museum ordnet ihn direkt neben dem Altair 8800 ein und beschreibt ihre enge technische Verwandtschaft. Hier stand ein erweiterbarer Mikrocomputer auf dem Tisch, kein geschlossenes Konsumgerät mit eingebauter grafischer Oberfläche.

Sein Intel 8080 verarbeitet acht Bit breite Werte. Mit sechzehn Adressbits kann er 65.536 Bytepositionen ansprechen: 64 KiB. Adressraum ist allerdings nicht gleich eingebauter Arbeitsspeicher. Eine CPU kann eine Adresse bilden, ohne dass dort tatsächlich eine bestückte Speicherkarte antwortet.

Die mit diesen Rechnern verbundene Erweiterungsbus-Familie wurde als S-100-Bus bekannt. CPU-, Speicher- und Schnittstellenkarten teilen sich eine Rückwand mit Steckplätzen. Dahinter steckt ein gemeinsames elektrisches Verständigungssystem zwischen Platinen. Es bedeutet nicht, dass jede Kartenkombination ohne Konfiguration zusammenarbeitet. Terminal und Laufwerk benötigen passende Schnittstellen und Programme.

Wer so einen Rechner betrieb, lernte zwangsläufig mehr als die Bedienung einer Anwendung. Wo liegt Speicher? Wie ist das Terminal angeschlossen? Wie gelangen die ersten Befehle hinein? Das Frontpanel erlaubte einen Anfang, auch wenn noch keine komfortable Softwareumgebung lief. Genau diesen Moment macht die Museumsrekonstruktion zugänglich.

Wie aus acht Schaltern ein Byte wird

Ein Schalter braucht keinen Zeichensatz. Er steht für ein Bit: null oder eins. Acht Bits erhalten von links nach rechts die Gewichte 128, 64, 32, 16, 8, 4, 2 und 1. Gemeinsam können sie Zahlen von 0 bis 255 darstellen.

Acht Binärstellen mit Gewichten von 128 bis 1: 00111100 ergibt 32 plus 16 plus 8 plus 4, also dezimal 60 und hexadezimal 3C.
Eigene Erklärgrafik. Die markierten Stellen ergeben zusammen 60; hexadezimal heißt dasselbe Byte 3C. © Dennis Hilk

Bei 00111100 zählen nur die gesetzten Stellen: 32 + 16 + 8 + 4 = 60. Hexadezimal lässt sich dasselbe Byte in zwei Vierergruppen lesen. 0011 ist 3, 1100 ist zwölf, geschrieben als C. Binär 00111100, hexadezimal 3C und dezimal 60 bezeichnen somit denselben Wert.

Die Ausstellung hat sechzehn Eingabeschalter. Zusammen wählen sie eine sechzehn Bit breite Adresse; die unteren acht liefern außerdem das Datenbyte. EXAMINE übernimmt das Schalterwort in den Speicherzeiger und zeigt das dortige Byte. DEPOSIT schreibt die unteren acht Schalterbits an diese Stelle. Bloßes Umlegen der Schalter führt keine dieser Aktionen aus.

Die LEDs machen Werte sichtbar: Die Adressleuchten beantworten „Welche Stelle?“, die Datenleuchten „Welches Byte?“. In meiner Rekonstruktion zeigen sie inspizierten Speicher und zusammengefasste Zustände. Sie bilden keine elektrischen Busphasen eines echten Rechners nach.

STOP unterbricht den Lauf, STEP führt einen Befehl am Programmzähler aus, und RUN beginnt an der inspizierten Adresse. Speicherzeiger und Programmzähler sind bewusst verschiedene Zustände: Man kann Daten ansehen, ohne damit den nächsten Einzelbefehl zu verschieben.

Das erste Programm per Frontpanel eingeben

Dieses vollständige Intel-8080-Programm steht auch als Beispiel im Eingabefeld der Ausstellung. Es schreibt die Dezimalzahl 42 an die hexadezimale Adresse 0200 und hält anschließend an:

MVI A,2Ah     ; Hexadezimal 2A (dezimal 42) nach A
STA 0200h     ; A an Speicheradresse 0200 ablegen
HLT           ; Befehlsausführung anhalten

Hex-Bytes: 3E 2A 32 00 02 76

MVI lädt einen unmittelbar folgenden Wert. STA speichert den Akkumulator an einer angegebenen Adresse. Deren Bytes stehen mit dem niederwertigen Byte zuerst im Programm: Aus 0200 wird 00 02. HLT beendet die kleine Vorführung. Alle drei Befehle gehören zum Intel 8080; Erweiterungen des Z80 sind nicht nötig.

Adresse, hexByte, hexBedeutung
00003EOpcode für MVI A
00012ADirekter Wert: 42
000232Opcode für STA
000300Niederwertiges Adressbyte
000402Höherwertiges Adressbyte
000576Opcode für HLT

Für die Eingabe über das Panel zunächst STOP drücken. Im Feld Schalterwort (Hex) 0000 eintragen, mit Schalter setzen übernehmen und EXAMINE drücken. Dann 003E setzen und DEPOSIT drücken. Als Nächstes 002A setzen und DEPOSIT NEXT drücken. Mit DEPOSIT NEXT die Bytes 0032, 0000, 0002 und 0076 anschließen.

Wichtig für diese Oberfläche: DEPOSIT NEXT erhöht die Adresse vor dem Schreiben. Nach den sechs Bytes wieder 0000 setzen und mit EXAMINE auswählen. RUN startet das Programm. Anschließend 0200 setzen und EXAMINE drücken: Die Datenanzeige sollte 2A zeigen. Hier hat ein Programm wirklich Speicher verändert.

Bequemer geht es über Eigenen Maschinencode eingeben: die sechs Beispielbytes mit Bytes laden übernehmen und RUN drücken. Laden löscht RAM und CPU-Zustand und ersetzt damit frühere Versuche. RESET setzt dagegen den Museums-CPU-Zustand zurück und lässt den RAM bestehen.

Im Intel 8080: Register, Flags und Befehle

Der Akkumulator A ist ein kleiner Arbeitswert für viele Operationen. B, C, D, E, H und L sind weitere Acht-Bit-Register. Registerpaare ermöglichen breitere Operationen; HL kann beispielsweise auf Speicher zeigen. Der Programmzähler nennt das nächste Befehlsbyte, der Stackpointer die Position eines Stapels im Speicher. Dort lassen sich Werte und Rücksprungadressen von Unterprogrammen ablegen.

Die Ausführung folgt einem wiederkehrenden Ablauf: Opcode holen, benötigte Operanden lesen, Operation ausführen, weitergehen oder springen. Assembler gibt diesen Vorgängen lesbare Namen; Maschinencode enthält ihre tatsächlichen Bytes. Ob 2A gerade Befehl oder Zahl ist, steht nicht im Byte selbst. Der Ausführungskontext bestimmt seine Bedeutung.

Flags halten Eigenschaften eines Ergebnisses fest: null, Vorzeichen, Parität, Hilfsübertrag und Übertrag. Bedingte Sprünge nutzen sie, um Schleifen zu wiederholen oder zu verlassen. Die vorhandene Demo SUM addiert 1 bis 10. Am Ende stehen hexadezimal 37, also dezimal 55, in A und an RAM-Adresse 0200. Beim schrittweisen Ausführen wird aus einer Rechenaufgabe ein sichtbarer Kontrollfluss.

IN und OUT sprechen Ein-/Ausgabeports an. Für mein Museum habe ich einfache Lernkonventionen gewählt: OUT 01 schreibt ASCII ins Terminal, OUT 02 verändert ein sichtbares Ausgaberegister. Das sind Zuordnungen dieser Rekonstruktion und keine allgemeingültige IMSAI-Verdrahtung.

WarGames und die frühe Hacker-Atmosphäre

Eine entfernte Computerverbindung war vor dem ständig verbundenen Browser ein eigener Vorgang: Nummer wählen, Verbindung aufbauen, auf eine Antwort warten. Der historische Begriff War Dialing bezeichnet die Suche nach Telefonnummern, an denen Modems antworteten. Damit lässt sich die Filmidee erklären. Eine gefundene Einwahl verlieh jedoch kein Recht, das System zu betreten.

Die Spannung entsteht daraus, dass kleine Erkundungsschritte plötzlich enorme institutionelle Folgen haben. David erkennt eine Eingabeaufforderung und kann antworten, obwohl er die Organisation dahinter falsch einschätzt. Daraus wird eine bis heute interessante Frage über Oberflächen: Sagt uns die technische Möglichkeit einer Interaktion auch, ob diese Interaktion angemessen ist?

Neugier, erlaubte Sicherheitsforschung und unbefugter Zugriff sind verschiedene Dinge. Im Museum bleibt das spielerische Erkunden innerhalb erfundener lokaler Szenarien. Seine Stärke liegt darin, Modelle und Wirklichkeit auseinanderzuhalten. Ein clever geratenes Passwort wird hier nicht als Zugriffsberechtigung verklärt.

Diagramm mit Intel-8080-Interpreter, RAM und Lern-Ein-/Ausgabe sowie der getrennten fiktiven WarGames-Zustandsmaschine.
Eigene Implementierungsgrafik: Die Terminalports gehören zum Lernmodell; der WarGames-Bonus läuft unabhängig vom 8080. © Dennis Hilk

Was in meiner Rekonstruktion tatsächlich läuft

Der Hardware-Arbeitsplatz führt Befehle mit meinem eigenständigen Intel-8080-Interpreter auf Befehlsebene aus. Speicheränderungen, Register und Programmausgaben funktionieren. Das ist keine taktgenaue Nachbildung eines vollständigen IMSAI. Originales CP/M, IMDOS, UART und Diskettencontroller sind nicht enthalten. Aufsummierte Befehlszyklen bilden weder elektrische Busphasen noch einen echten historischen Rechner im Browser-Zeitplan nach.

HELLO schreibt eine Begrüßung, SUM zeigt Arithmetik, COUNTER verändert wiederholt ein Byte und ein Ausgaberegister. ECHO verbindet gepufferte Tastatureingaben mit Terminalausgabe. Fortlaufende Programme besitzen eine Laufgrenze; beim Wechsel in den Bonus stoppt die CPU. So bleibt die Webseite als Experimentierplatz gut bedienbar.

Das getrennte WarGames-Bonuserlebnis verwendet eine selbst geschriebene Zustandsmaschine. Es läuft weder auf der simulierten CPU noch mit einem KI-Sprachmodell. Schulakten, Flugbuchungen und Telefonkanal sind fiktiv. Joshua enthält eine ausgewählte Schachaufgabe, Tic-Tac-Toe mit Minimax und ein erzählerisches Strategieszenario. Es wird keine Nummer gewählt, keine echte Schulnote verändert und kein NORAD-System kontaktiert.

Wer die Kino-Seite weiterverfolgen möchte, findet außerdem den bestehenden WOPR-Museumseintrag und das WOPR-Erlebnis.

Zum Einstieg: den Lichtern einen Grund geben

  1. Den IMSAI-Arbeitsplatz öffnen und unter Programm wählen HELLO auswählen.
  2. Demo laden, dann STEP drücken. Programmzähler und Register beobachten.
  3. RUN drücken und die Begrüßung im Terminal lesen.
  4. SUM laden, einige Befehle einzeln ausführen und dann durchlaufen lassen. Adresse 0200 sollte 37 enthalten.
  5. Das Sechs-Byte-Programm ausprobieren oder mit ECHO Terminaleingaben untersuchen.
  6. Über die WarGames-Modustaste zum getrennten fiktiven Bonus wechseln.

Ein Frontpanel macht aus dem abstrakten Wort „Computer“ einen nachvollziehbaren Ablauf: Adresse wählen, Byte ablegen, Befehl ausführen, Folge beobachten. Der Film liefert die Atmosphäre. Der Arbeitsplatz erklärt, wofür ein spannender Film selten Zeit hat.

Einen schönen Gegenpol bildet der Apollo Guidance Computer: eine frühere, andere Architektur für zeitkritische Aufgaben an Bord eines Raumschiffs. Zwei Rechner, sehr unterschiedliche Ziele und dieselbe Freude daran, hinter die Oberfläche zu schauen. Hier geht es zu den IMSAI-Schaltern →

Quellen und technische Hinweise

Die Bilder zeigen meine Museumsrekonstruktion sowie eine eigene Erklärgrafik. Filmstandbilder, Poster und historische Hardwarefotos werden nicht reproduziert.