Der Kenbak-1, welcher 1971 von John V. Blankenbaker entwickelt wurde, gilt als der erste "Personal
Computer" der Welt. (Details siehe: Wikipedia-Artikel über Kenbak-1).
Mark Wilson hat im Jahr 2011 einen Nachbau (d.h. Emulation) auf Basis eines Arduinos durchgeführt, der sogenannte
Kenbakuino der hier nachgebaut und ausprobiert werden soll.
Zusätzlich zu den Original-Funktionen des Kenbak-1 verfügt der KENBAKuino über einige Erweiterungen. Ich stelle diese nur in einer kurzen Übersicht vor, weitere Details können auf der Dokumentations-Seite des KENBAKuino nachgelesen werden.
Der Aufbau basiert auf dem Schaltplan von Mark Wilson, jedoch wird hier ein kompletter Arduino Uno/Nano
verwendet und kein einzelner ATMega328.
Achte auf die Reihenfolge der Bits bei den Mikrotastern!
+-----------+
| Arduino |
| Uno |
| |
| 11+-------<LED11 "RUN">
| A3+-------<LED10 "MEM">
| A2+-------<LED9 "ADDR">
| A1+-------<LED8 "INP">
| |
| | +-----------+
| | | 595 |
| 10+--------+SH(11) Q0+----<LED0 "Bit0">
| 9+--------+ST(12) Q1+----<LED1 "Bit1">
| 8+--------+DS(14) Q2+----<LED2 "Bit2">
| | [+5V]-+Vcc(16) Q3+----<LED3 "Bit3">
| | [GND]-+Gnd(8) Q4+----<LED4 "Bit4">
| | [+5V]-+MR(10) Q5+----<LED5 "Bit5">
| | [GND]-+OE(13) Q6+----<LED6 "Bit6">
| | | Q7+----<LED7 "Bit7">
| | +-----------+
+------+ | |
| RTC | | | +-----------+
| SDA+---------+A4 | | 165-1 |
| SCL+---------+A5 A0+-------------+Q7(9) D0+----<SW0 "Bit0">
| Vcc+-[+5V] | 13+-----+-------+CP(2) D1+----<SW1 "Bit1">
| Gnd+-[GND] | 12+--+ | | D2+----<SW2 "Bit6">
+------+ +-----------+ +--|-------+PL(1) D3+----<SW3 "Bit7">
| | [GND]-+Gnd(8) D4+----<SW4 "Bit4">
| | [GND]-+CE(15) D5+----<SW5 "Bit5">
| | [+5V]-+Vcc(16) D6+----<SW6 "Bit2">
| | +--+DS(10) D7+----<SW7 "Bit3">
| | | +-----------+
| | |
| | |
| | | +-----------+
| | | | 165-2 |
| | +--+Q7(9) D0+----<SW8 "STOP">
| +-------+CP(2) D1+----<SW9 "STRT">
| | D2+----[GND]
+----------+PL(1) D3+----<SW10 "CLR">
[GND]-+Gnd(8) D4+----<SW11 "DISP">
[GND]-+CE(15) D5+----<SW12 "SET">
[+5V]-+Vcc(16) D6+----<SW13 "READ">
| D7+----<SW14 "STOR">
+-----------+
Details:
_ (Mikrotaster)
+ +
--<SWx> --+--+ +----[+5V]
|
+-[10kΩ]--[GND]
--<LEDx> --[220Ω]--[LED]--[GND]
Um zu testen, ob alle Verbindungen und Anschlüsse richtig verdrahtet sind, habe ich ein kleines Demo-Programm gesucht und Folgendes gefunden:
003 00000011 SET
004 00000100 STOR
103 01000011 STOR
CLR
001 00000001 STOR
134 01011100 STOR
CLR
200 10000000 STOR
344 11100100 STOR
CLR
004 00000100 STOR
STRT
Der Oktal-Wert in der ersten Spalte ist der eigentliche Befehl, jedoch ist es einfacher für Leute, die im Kopf nicht so gut oktal zu binär konvertieren können (wie ich), den Binärcode direkt daneben zu notieren. Also müssen nacheinander die Bits gesetzt werden und danach die entsprechende Steuertaste gedrückt werden. Wenn alles richtig eingegeben wurde und STRT betätigt wird (letzter Befehl), dann sollte ein Zähler hochtickern (siehe folgendes Video)
Da im Prototyp einige andere Teile zum Einsatz gekommen sind, hier noch einmal eine vollständige Liste aller benötigten Komponenten auf einen Blick:
Letztlich habe ich mich nicht für das
"Panel Kunststoffgehäuse 159 x 139 x 59mm schwarz"
entschieden, sondern aus dünnem MDF eine kleine Kiste gebaut, indem die Elektronik Platz finden sollte.
Eine Beschriftung für die Frontseite durfte auch nicht fehlen und kann hier druckfertig heruntergeladen werden:
Inbetriebnahme: Obwohl ich den Nachbau vor dem Einbau in den Kasten einer erfolgreichen Funktionsprüfung unterzogen hatte, machte der erste Test einige Probleme. Anscheinend sind beim Zusammenbau Lötstellen zerstört worden. Hier muss ich noch die Fehler finden...
Nach dem Bau ist mir die Idee gekommen, eine einzige Platine mit SMD-Bauteilen zu erstellen, die als Kenbakuino dient. Zunächst habe ich mit EasyEDA einen Schaltplan und daraufhin ein Layout für eine SMD-Platine entworfen.
Hinweis: Leider ist mir im Design der Platine ein Fehler unterlaufen. Die LEDs für die Bits sind in der falschen Reihenfolge angebracht, während die Mikrotaster richtig liegt. Daher muss man bei der Programmierung nicht den LEDs sondern den Knöpfen folgen.