Make Magazin 1/2016
S. 122
Community-Projekte
Aufmacherbild
RGB-Monitor und Digital-Joystick: Das Steckschwein hat Anschluss an die Peripherie von C64, Amiga und Co.

Das Steckschwein

Etwa 30 Jahre zu spät betritt ein neuer 8-Bit-Homecomputer die Bühne. Das Eigenbau-Projekt mit dem ungewöhnlichen Namen verbindet die Chips von damals mit modernen Schnittstellen und bringt ein neu geschriebenes Betriebssystem mit.

Das Steckschwein ist ein 8-Bit-Homebrew-Computer, der an die Heimcomputer der 80er Jahre angelehnt ist. Die Idee dahinter ist, einen Computer zu bauen, wie es ihn zu dieser Zeit durchaus hätte geben können. Dadurch bedingt kommen nur „echte“ Chips zum Einsatz: FPGAs, CPLDs oder überhaupt SMD-Komponenten sind tabu. Außerdem soll das Steckschwein nur aus Komponenten bestehen, die man aktuell kaufen kann, sodass kein alter Heimcomputer geschlachtet werden muss.

Mit dem Prototypen auf dem Steckbrett fing es an. Als die Wackelkontakte überhand nahmen, war es Zeit für echte Platinen.
Auch das Betriebssystem ist Marke Eigenbau. SteckOS bootet von der SD-Karte in eine Unix-ähnliche Shell.

Aus alter Commodore-Verbundenheit kommt im Kern ein 65(C)02-Prozessor zum Einsatz, dazu passend der Ein- Ausgabebaustein 65C22 (VIA). Im Gegensatz zu den alten 8-Bit-Heimcomputern und als Zugeständnis an die Gegenwart ist das Steckschwein auch mit moderneren Schnittstellen ausgestattet. So wird zum Beispiel SPI als Peripheriebus eingesetzt. Darüber sind die SD-Karte, die Echtzeituhr (RTC) und der PS/2-Tastaturcontroller angebunden.

Das Projekt begann Ende 2013 ganz unscheinbar als Testschaltung auf dem Steckbrett, die zunächst nur NOP-Instruktionen ausgeführt hat. LEDs am Adressbus des Prozessors dienten als Statusanzeige. In kleinen Schritten wurden zunächst ROM, dann RAM und später eine serielle Schnittstelle hinzugefügt. Damit war es erstmalig möglich, crossassemblierten Code direkt auf das Steckschwein zu schicken und dort auszuführen. Alles noch auf dem Steckbrett, wohlgemerkt.

Vier Stockwerke hat der neue Homecomputer. Von unten nach oben: UART-Board, IO/SPI-Board, CPU/Mem-Board und Videoboard.

Mit zunehmender Komplexität und spätestens mit dem Hinzukommen des Videochips TMS9929, der einigen noch aus den MSX-1-Rechnern oder dem TI99/4a bekannt sein dürfte, wurde es immer schwieriger, zwischen tatsächlichen Bugs im Code und Wackelkontakten auf dem Steckbrett zu unterscheiden. Daraus folgte die Entscheidung für einen Aufbau auf Platinen. Während dieser Zeit fiel auch der Begriff „Steckschwein“, zunächst als Kommentar zur Stabilität der Steckbrettaufbauten, dann als Arbeitstitel und schließlich offizieller Name des Projekts.

Mittlerweile ist Softwareentwicklung fürs Steckschwein nicht nur in Assembler, sondern auch in C möglich. Ein BASIC-Interpreter ist so gut wie portiert. Ein selbstentwickeltes rudimentäres Betriebssystem „SteckOS“ wird beim Start von der SD-Karte geladen und ermöglicht das Navigieren im FAT32-Dateisystem über eine Unix-ähnliche Kommandozeile.

Im Moment bereiten wir eine neue Hardware-Revision vor, ab der es Nachbauinteressierten möglich sein wird, Platinen zu beziehen. Darübe rhinaus findet man in unserem Repository auf Sourceforge neben all unserer Software auch alle Schaltpläne und Layouts. phs

Aufmacherbild

Siebensegment-Anzeige aus dem Metallbaukasten

Die eckigen Ziffern kennt man aus dem Radiowecker oder von der Tankstelle, dort stecken LEDs oder Magneten hinter den Segmenten. Dass auch ein rein mechanischer Aufbau möglich ist, beweist diese Konstruktion aus Bauteilen von Märklin und Meccano.

Mein ursprüngliches Ziel war, eine Maschine zu bauen, die Wörter schreiben kann, die zuvor mechanisch kodiert wurden. Ich reduzierte die Anforderungen auf die Ziffern von 0 bis 9 und kam zur Idee, diese Ziffern in Form einer 7-Segment-Anzeige anzuzeigen. Die Entstehung des fertigen Modells erfolgte ohne Plan oder genaue Vorstellung, wie das gewünschte Ergebnis realisiert werden soll. Das ganze Modell ist mit Ausnahme einer großen Alu-Grundplatte aus Märklin- und Meccanobauteilen im Halbzoll-Raster aufgebaut.

Ein ungewöhnliches Einzelstück: Diese 7-Segment-Anzeige besteht aus allem, was der Metallbaukasten hergibt. Angetrieben wird sie von einer Dampfmaschine.
Die orangefarbenen Lochbänder kippen nacheinander so, dass die Anzeige alle Ziffern von 0 bis 9 durchzählt.

Die Anzeige ist aus drehbaren Lochstreifen aufgebaut, eine Seite ist orangefarben, die andere unlackiert. Da sich die senkrechten und waagerechten Drehachsen kreuzen, sind sie in unterschiedlicher Höhe angeordnet. Durch mittige beziehungsweise außermittige Anordnung der farbigen Lochbänder zur Drehachse ist der Höhenversatz leicht zu kaschieren. Die Segmente werden über je eine 1:3-Zahnradstufe angetrieben. Zwei Segmente werden aus Platzgründen über Kegelräder mit 1:2 angetrieben. Da sich die Segmente um 180° drehen müssen, gab es die Wahl einer kontinuierlichen Vorwärtsschaltung um jeweils 180° oder ein Hin-und-her-Kippen der Segmente um 180°. Eine Hin-her-Schaltung ist unempfindlicher gegenüber Toleranzen.

Die Schaltwalze rotiert und bewegt dabei mit ihren Nocken (grün) die Schieber in einer genau eingestellten Choreografie.

Ein Anschlag durch ein federbelastetes Lochband legt eine Endstellung fest. Die Wellen werden für vorwärts/rückwärts jeweils durch parallele Lochbänder (Schieber) und von diesen über kurze Druckstangen (Wellen) bewegt. Die Schieber haben am Ende eine Schraube, deren Kopf deutlich hervorsteht und als Mitnehmer der Schaltwalze dient. Für die sieben Segmente gibt es jeweils 14 Schieber, die nach Orange beziehungsweise Grau verschieben.

Der Umschaltmechanismus des mittleren Segments: Die Bewegung der Schieber (links) wird über Druckstangen und Zahnräder auf die richtige Welle übertragen.

Die Schaltwalze besteht aus zehn langen Achsen an Scheibenrädern. Für jede Bewegung eines Schiebers ist ein „Nocken“ auf der Schaltwalze vorhanden. Der Nocken besteht aus schmalen Lochstreifen mit kleinen Schnurlaufrädern. Die Lage am Umfang wird durch eine der zehn Achsen bestimmt. Diese beiden Schnurlaufräder drücken auf den Schraubenkopf auf den Schiebern. Die Einstellung und Festlegung der Nocken, der Schraubenköpfe und der Schieber und Druckstangen erforderte mehrere Tage feinmechanischer Tätigkeit mit dem Metallbaukastensystem, das dazu eigentlich nicht vorgesehen ist.

Der Antrieb erfolgt entweder mit der Hand mit einer großen Übersetzung für eine gleichmäßige, leichte Bewegung. Alternativ habe ich eine Dampfmaschine als Antrieb verwendet. 7-Segment-Anzeigen sind aus dem Computerzeitalter und es ist reizvoll, so etwas mit der Uralttechnik Dampfmaschine anzutreiben. Eine Kesselfüllung Wasser reicht für etwas mehr als einen Umlauf. phs