zurück zur Übersicht...
06.07.2019

Nachbau eines Kenbak-1

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.

Der originale Kenbak-1
Abb.: Der originale Kenbak-1

Betrieb

Erweiterungen des KENBAKuino

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.


Prototyp auf dem Breadboard

Verwendete Bauteile

Aufbau der Schaltung

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]

Test-Programm

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 dannach 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)

Video: Programmierung des Kenbakuino mit einem einfachen Demo-Programm (Zähler)

Nachbau des KENBAKuino

Verwendete Bauteile

Da im Prototyp einige andere Teile zum Einsatz gekommen sind, hier nocheinmal eine vollständige Liste aller benötigten Komponenten auf einen Blick:

Zusätzlich habe ich noch ein "Panel Kunstoffgehäuse 159 x 139 x 59mm schwarz" gekauft, indem die Elektronik Platz finden sollte.
Eine Beschriftung für die Frontseite durfte auch nicht fehlen und kann hier druckfertig heruntergeladen werden:

Frontpanel des KENBAKuino [20kB]
Frontpanel des KENBAKuino [27kB]



- der Bau des Kenbakuino dauert noch an -


Weiterführende Links