Gigatron TTL aktueller Stand

Ich möchte Mitte Dezember 2021 mal einen aktuellen Status zum Gigatron festhalten. (So wie ich es sehe)
Das Gigatron ist ein neu entwickelter Computer, der mit dem Leistungsstand der Homecomputer der 1980er vergleichbar ist, aber nur aus TTL Schaltkreisen (ohne CPU) besteht, die zu dieser Zeit bereits verfügbar waren. Ausnahme sind der RAM und der ROM, sie wären aber durch viele kleinere der damaligen Zeit ersetzbar.


In der ersten Stufe besitzt das Gigatron 32kByte RAM, einen 4 Bit Audio Ausgang, 4 ansteuerbare LED’s, eine Eingabeschnittstelle für einen Gamepad und einen VGA Ausgang mit einer Auflösung von 160×120 Pixeln in 64 Farben.


1. Um die Eingabe von Zeichen zu ermöglichen wurde dem Gigatron eine PS2 Tastaturschnittstelle spendiert. Ein kleines PCB das „Pluggy McPlugface“, bei wandelt ein kleiner ATTiny85 die Tastatursignale für den Gameport um. Gleiches konnte man auch selbst über ein Arduino Uno (oder ähnliches) mit entsprechenden Anschlüssen erreichen. Dabei bietet die Software über den Arduino auch die Möglichkeit Daten und Programme seriell vom PC auf das Gigatron zu übertragen.


2. Als nächstes wurde das „Pluggy Reloaded“ von norgate entworfen (https://forum.gigatron.io/viewtopic.php?f=4&t=169). Ein PCB welches einen Arduino Pro Micro basiert mit einem SD-Card Breakout, Gameport Input/Output und PS/2 Anschluss vereint. Durch das Board und die dazugehörige Software wird das Gamepad und eine PS/2 Tastatur gleichzeitig unterstützt. Über die serielle USB-Schnittstelle des Pro Micro können Daten vom PC übertragen werden. Und zu guter letzt können Programme von der SD Karte geladen werden.


3. Parallel zum „Pluggy Reloaded“ wurde von marcelk am „Expansion bus“ gearbeitet. Das ist eine kleine Platine, die den RAM auf dem Gigatron ersetzt. Sie bietet eine Speichererweiterung auf 128kByte RAM (mit Banking in den oberen 32k) und vier SPI Schnittstellen. Leider könnte marcelk seine Arbeit nicht mehr fertig stellen. Ich habe an dieser Erweiterung erfolgreich einen MCP23S17 getestet der zwei 8Bit I/O Ports zur Verfügung stellt. Es kann auch ein SD Karten Breakout am SPI angeschlossen werden, das mit dem neuen DEVROM und dem Gigatron OS (https://github.com/lb3361/gigatron-os) von lb3361 gelesen werden kann. Mehr als eine SD Karte gehen an der Erweiterung nicht, es gibt wahrscheinlich Probleme mit der MISO Handhabung mancher SD Breakouts und den Pull-Down Widerständen auf der Erweiterung.

4. Im nächsten Schritt hat axelb seinen „Video Repeater“ vorgestellt (https://forum.gigatron.io/viewtopic.php?f=4&t=303). Der Hintergrund dazu ist folgender: Das Gigatron besitzt eine 160×120 Pixel Grafik, die in einer 640×480 VGA Auflösung dargestellt werden. Dabei besteht ein Pixel aus jeweils 4 VGA Zeilen/Spalten. Das die Grafik vom Gigatron nur mit der Software erstellt wird, verbraucht das Gigatron den größten Teil seiner Rechenleistung mit dem Bildschirmaufbau. Dabei werden immer vier identische Zeilen für ein Pixel gezeichnet. Um Rechenzeit für Anwendungen zu erhöhen können einzelne Zeilen in der Software ausgeschaltet werden. So werden nach dem Booten nur 3 von 4 Zeilen dargestellt. Die Idee des „Video Repeater“ ist die erste Zeile in einem FIFO-RAM zu speichern und dann selbstständig dreimal zu wiederholen. Die Platine des Repeaters ersetzt das Output register (U37) auf dem Gigatron.


5. Zuletzt wurde der „Expansion bus“ von lb3361 (https://github.com/lb3361/gigatron-lb) weiter entwickelt. Die aktuelle Expansion unterstützt zwei SD-Karten Breakout’s zum direkten anstecken und das Board besitzt eine Erweiterunsschnittstelle über die z.B. ein 74HCT377 oder ein TLC7524-DAC direkt angeschlossen werden. Damit ist es möglich von SD-Karte zu Booten und Programme von SD-Karte zu laden und zu starten. Über die Schnittstelle können 8 Bit Daten ausgegeben werden, dabei stellt das Board zwei Select Signale für 8 Bit Ausgabeport‘s zur Verfügung.