AndiHub

Code-Outlet von Andreas Bahr, Zürich

Anno 1994: The "Bahrduino"

Das einzige je gebaute Yill-System

Das einzige je gebaute Yill-System

Modularer Mikrocontroller mit modernen Eigenschaften

In den 90er-Jahren des letzten Jahrhunderts war es für Privat-Personen kaum möglich, an Steuer-Computer zu kommen, wie sie in der Industrie unter Namen wie CNC, PLC oder SCADA bekannt sind. Die Preise dafür waren astronomisch, das Gleiche gilt für Entwickler-Tools wie Compiler & Simulatoren.

Ich wünschte mir ein modulares Gerät mit 8-Bit Intel oder Zilog Z80-Prozessor, genügend RAM, eine flexible serielle Schnittstelle, das mit 9-15V VDC betrieben werden konnte. Am liebsten als Bausatz erhältlich... Aber ein solches Gerät gab es nicht auf dem Markt.

Also entschied ich mich zu meinem bisher anspruchvollsten Projekt, mein eigener Computer. Der erste Prototyp bekam den Namen "Jo". Der zweite Entwurf mit dem Namen "Yill" hatte aber ein deutlich ausgereifteres Design, und ein damals neuartiges Feature: Die Software für den Computer konnte von einem anderen Computer via V24 / RS-232 (Die serielle Schnittstelle) übertragen werden. Ein Steuer-Computer für das "normale Volk" mit diesem Feature ist heute der seit 2005 erhältliche Arduino. Da war ich wohl ein paar Jahre meiner Zeit voraus...?

Hardware

Mein Computer sollte auf jeden Fall modular ausgebaut sein, darum verfügen alle Kern-Komponenten über eine einheitlich Platinen-Grösse, mit einer 34-poligen "Yill Bus"-Steckerleiste. Die Module wurden mit einem passenden Flachband-Kabel verbunden.

Die von mir realisierten Kern-Komponenten waren CPU (Intel 80C32 @ 12Mhz), MEM (32KB RAM, 32KB EPROM) und IOB (Intel 8255 3x 8bit I/O). Sowie dazu passende Netzteil-, V24 & RS-485-Module. Durch den modularen Aufbau wäre es möglich gewesen, weitere Module z.B. für Aufgaben aus dem Bereich Messen-Steuern-Regeln oder eine Sound-Karte zu entwerfen.

Software

Softwareentwicklung für kleine Computer in dieser Zeit sah so aus: Assemblercode oder C-Code schreiben, kompilieren, simulieren. Anschliessend EPROM in den Programmer stecken (der grüne Texttool-Sockel...), brennen, in den Computer einsetzen, testen. Dann findet man einen Fehler, löscht 50 Minuten lang das EPROM mit UV-Licht, und alles beginnt von Vorne. Ein solcher Zyklus dauert gefühlt ewig, aber mindestens 50 Minuten...

So konnte man auch mit meinem Comuter arbeiten. Ich habe aber das OS EV1 (Evolution 1) entwickelt, man würde es heute wohl als einen Bootloader bezeichnen. EV1 bot eine interaktive Konsole via die serielle Schnittstelle, damit konnte man debuggen, Hardware-Tests laufen lassen, den Speicher dumpen, und eben, Software in den Arbeitspeicher des Computers laden. Die konnte dann via dem Bootloader gestartet werden. Eine Backup-Batterie sorgte dafür, dass der Inhalt des RAM auch im ausgeschalteten Zustand erhalten blieb.

EV1 habe ich in Assembler programmiert. Vom PC aus konnte mit einem beliebigen Terminal-Programm mit dem Yill-System kommuniziert werden. Für den Upload der Software habe ich in QuickBasic das Programm GOYILL erstellt. Damit konnten Dateien im Intel HEX-Format ge-uploaded werden.