Gigatron TTL
# Gigatron TTL

Der Gigatron TTL ist ein 8-Bit-Mikrocomputer im Retro-Stil, dessen Prozessor ausschließlich durch 74xx-TTL-Chips anstelle einer fertigen CPU oder deren Hardware-Nachbau aufgebaut ist. Die Technik entspricht somit dem Stand des Beginns der Arkade-Spiel-Ära.

Zielgruppen für den Bausatzcomputer sind Computerenthusiasten, doch auch für Lehr- und Hobbyzwecke bietet sich der Bausatz an.

## Architektur

Die CPU wird durch einen kleinen Satz von Chips der TTL-74xx-Serie implementiert und wird mit einer Taktfrequenz vom 6,25 MHz betrieben, kann aber mit schnelleren Chips übertaktet werden, wie auch der Arbeitsspeicher erweitert werden kann.

Es wurden drei CPU-Modi implementiert:

* 8 Bit-Assembler, implementiert eine Harvard-Architektur. Dieser Modus bietet einen 17-Befehlssatz und unterstützt bis zu 256 Kommandos: 8 ALU-Operationen, 8 Adressierungsmodi und 4 Bus-Modi. Das Betriebssystem und der BASIC-Interpreter sind im 8-Bit-Assembler geschrieben.
* 16-Bit-vCPU-Interpreter, das implementiert eine Von-Neumann-Architektur und hat einen 34er Befehlssatz. Dieser lädt und startet Programme vom RAM. Die integrierten Programme sind für diese vCPU geschrieben.
* MOS-6502-Emulator (experimentell), soll die MOS-6502-Maschinensprache ausführen.

Die Videotechnik wird von der „emulierten“ CPU generiert und unterstützt eine Bildauflösung von 160 × 120 Pixel mit 64 Farben. Da die Programmausführung und das Grafik-Rendering von der vCPU ausgeführt werden, enthält der Bildschirm beim Speichern schwarze (leere) Scanlinien, um so Prozessorzeit für Programme verfügbar zu machen. Es kann vom Benutzer konfiguriert werden, bessere Grafik oder mehr CPU-Zeit für Programme vorzusehen.

Der Ton mit 4 Kanälen mit jeweils 6 Bit wird auch von der vCPU generiert.

## Software

Die Programme sind im ROM-Chip enthalten und in GCL (Gigatron Control Language), BASIC oder vCPU geschrieben.

Folgende Programme sind enthalten:

* Snake
* Racer, ein Pole-Position-ähnliches Spiel
* Mandelbrot
* Pictures, ein Bildbetrachter für die vorinstallierten Bilder
* Tetronis, ein Tetris-Klon
* Bricks, ein Breakout-Klon
* TicTacToe, ein in BASIC geschriebenes Tic-Tac-Toe im Textmodus
* BASIC, ein Tiny BASIC-Interpreter
* WozMon, ein Woz Monitor
* Loader, Funktion zum Laden der vCPU oder BASIC-Programme über den Joystick-Port
* Credits, zeigt die Credits als Text an, der die Farben ändert

Mit dem Tiny-BASIC-Interpreter können Programme erstellt, die Systemparameter geändert und Programme in den nichtflüchtigen Speicher des integrierten Tastaturcontrollers geladen und dort gespeichert werden.

Die mitgelieferte Software ist lizenziert unter Klausel 2 der BSD-Lizenz.

## Bausatz

Der Mikrocomputer wird als Bausatz verkauft und beinhaltet:

* Die Leiterplatte (PCB)
* Die benötigten 74xx-TTL-Chips
* Ein austauschbarer EPROM mit Sockel für Firmware-Updates
* (aufrüstbar auf einen 64 KB Chip)
* Gamecontroller und VGA (D-SUB)-Anschlüsse
* USB-Port und -Kabel für die Stromversorgung
* Ein Gamecontroller ähnlich dem NES
* Den Tastatur-Controller mit eingebautem nichtflüchtigem Speicher
* Die Widerstände, Kondensatoren und Dioden
* Ein Satz von 4 anpassbaren LEDs
* Anleitung
* Eine Holzkiste zum Präsentieren und Aufbauen

Der Bausatz enthält weder Tastatur noch nichtflüchtigen Speicher. Ein Tastatur-Controller, der an den Gamecontroller-Port angeschlossen werden kann, wird mit einem kleinen integrierten nichtflüchtigen Speicher geliefert, um die BASIC-Programme zu speichern. Ein Arduino kann für die Interaktion zwischen dem Computer und dem Gigatron programmiert werden, sowohl zur Programmierung als auch als zusätzlicher Speicher.

## Verfügbarkeit

Das Kit war für 149,50 € erhältlich und ist inzwischen ausverkauft. Die Updates werden über einen neuen ROM-Chip bereitgestellt, der als Update geliefert wird und manuell geändert werden sollte.

Da das komplette Projekt Open Source ist, sind jedoch sowohl alle Daten zur Herstellung der Platinen als auch von Drittanbietern neu aufgelegte Bausätze verfügbar.

Es ist auch ein Emulator online verfügbar, mit dem vorkompilierte vCPU- und Tiny-BASIC-Programme geladen werden können.

