Einleitung
Der Commodore C64 war bereits zu seiner Zeit eine großartige Maschine, insbesondere in Bezug auf die Grafikfähigkeiten. Für Büroanwendungen wie Textverarbeitung oder Terminalprogramme waren die 40 Zeichen jedoch nicht ausreichend.
Es gab Softwarelösungen, die die Auflösung eines einzelnen Zeichens halbierten und so 80 Zeichen darstellen konnten, aber die Qualität war nicht wirklich gut. Vielleicht akzeptabel für einen ersten Eindruck eines Textes, aber nicht geeignet für die echte Arbeit.
Daher kamen schnell externe Erweiterungen von verschiedenen Herstellern auf den Markt. Diese brachten ihren eigenen Grafikchip mit und konnten so 80 Zeichen anzeigen. Allerdings war dafür ein Monitor mit einem Composite-Eingang erforderlich. Die damals beliebten Fernseher waren dafür ungeeignet und verfügten nur selten über den entsprechenden Eingang.
Zusätzlich waren diese Karten nicht gerade billig. Im Durchschnitt kostete eine solche Karte etwa 200 US-Dollar. Und alle diese Karten waren mit den Standardprogrammen des C64 inkompatibel und erforderten zusätzliche Software. Ein solches Textverarbeitungsprogramm kostete zusätzlich etwa 100 US-Dollar. Es war also kein günstiges Vergnügen.
Um den C64 professioneller nutzen zu können, kam man jedoch nicht um eine solche Erweiterungskarte für den Erweiterungsport des C64 herum.
Batteries Included
Ein Vertreter dieser Art ist der B.I.-80 Display Adapter der Firma Batteries Included. Diese Karte wurde sogar mit einem Gehäuse geliefert. Sie hatte die Besonderheit, dass nicht nur das Videosignal des C64 durchgeschleift werden konnte, sondern auch mit dem mitgelieferten Adapter das Y/C (S-Video oder manchmal S-VHS genannt) Signal verwendet werden konnte.
Diese Erweiterungskarte bot somit die beste Displayqualität unter den 80-Zeichen-Karten. Außerdem konnte man zwischen 40 und 80 Zeichen per SYS-Befehl umschalten, ohne ein Kabel wechseln oder den Eingang am Monitor ändern zu müssen.
Das war sehr praktisch und erleichterte die Arbeit. Die Karte basiert auf dem bekannten 6545-Chip von Motorola.
Nachbau
Da diese Karten heute schwer auf dem Gebrauchtmarkt zu finden sind, ist es an der Zeit, diese alte Hardware zu bewahren, indem sie nachgebaut wird.
Zunächst wird ein entsprechendes Schaltbild benötigt. Da dies im Internet nicht zu finden war, muss es durch Rückwärtsentwicklung mithilfe der alten bestückten Leiterplatte erstellt werden.
Um mir die Arbeit zu erleichtern, entferne ich alle Bauteile im Voraus. Das geht schneller, als die Leitungen zu messen und nachzuverfolgen. Eine Platine dieser Größe benötigt gut ein bis zwei Tage Arbeit, um alle Leitungen per Hand zu verfolgen oder Verbindungen unter den ICs zu suchen.
Mit der richtigen Ausrüstung benötige ich nicht mehr als zwei Stunden, um alle Bauteile schonend von der Platine zu entfernen, ohne etwas zu beschädigen. Schließlich möchte ich die Platine später wieder zusammenbauen, und sie sollte dann wieder funktionieren.
Der erste Schritt besteht also darin, alle Bauteile zu entfernen. Natürlich muss ich vorher Fotos machen, damit ich die Bauteile später ihren Positionen zuordnen kann.
Wenn alle Teile entfernt sind, lege ich beide Seiten der Platine auf einen Scanner und mache Bilder. Ein Flachbettscanner hat den Vorteil, dass die Platine ohne Verzerrungen erfasst wird. Mit einer Kamera (besonders problematisch bei einer Smartphone-Kamera) erzielt man nur mit viel Aufwand wirklich gute Ergebnisse.
Da beide Seiten übereinstimmen müssen, wäre es sonst notwendig, dies mit viel manueller Arbeit in einem Bildbearbeitungsprogramm auszugleichen.
Jeder günstige Flachbettscanner erledigt dies schneller und einfacher. Danach hat man zwei hervorragende Bilder von beiden Seiten:


Leiterbahnen nachverfolgen
Der einfache Teil ist erledigt. Nun wird etwas benötigt, das ein Computer verarbeiten kann. Mit der entsprechenden PCB-Software werden diese beiden Seiten eingelesen, übereinander gelegt (sodass alle Löcher genau übereinander liegen) und die Leiterbahnen nachverfolgt. Das Ergebnis ist eine fertige Gerber-Datei.
Mit dieser könnten bereits Leiterplatten hergestellt werden. Allerdings hat man noch kein Schaltbild.


Schaltplan erstellen
Natürlich kann man aus den Gerber-Dateien nicht direkt einen Schaltplan erstellen. Allerdings können die Gerber-Dateien in einem CAM-Editor eingelesen werden. Dann sieht man die Platine vor sich, ähnlich wie in einem Gerber-Viewer. Nur hier kann sie bearbeitet und weitere Dateien exportiert werden:

Hier kann nun eine Netzliste erstellt werden. Diese Liste enthält alle Verbindungen. Also welcher Kontakt oder Lötpunkt eine Verbindung zu welchen anderen Punkten hat.
Man kann sogar die einzelnen Bauteile vorher gruppieren. So können die Lötpunkte eines Bauteils als Bauteil definiert werden. So hat man in der Netzliste bereits eine Kennzeichnung der einzelnen Leitungen.
Nach dem Export der Netzliste wird diese in ein beliebiges Layout-Programm geladen. Hier muss die Zuordnung zwischen dem Bauteil und der Netzliste vorgenommen werden.
Wenn man sich vorher die Mühe im CAM-Editor gemacht hat und die Bauteile einerseits gruppiert und den Leitungen auch sinnvolle Namen zugeordnet hat, ist dies jetzt einfach und letztendlich nur ein kleiner Arbeitsaufwand.
Bis zum Einlesen der Netzliste waren es eigentlich nur wenige Schritte, und der Arbeitsaufwand war relativ gering und einfach. Die Zuordnung der Netzliste ist etwas mehr Arbeit. Und je mehr Leitungen oder Lötpunkte auf der Platine vorhanden sind, desto aufwändiger wird es. Besonders da diese Arbeit noch die nervigste ist, weil sie wirklich nur harte Arbeit ist, ähnlich wie das Sortieren von Socken 🙂.
Der Schaltplan
Nun muss natürlich der eigentliche Schaltplan gezeichnet werden. Der Aufwand hängt von der Menge der Bauteile und deren Verbindungen ab. Je nach Größe und Aufwand kostet die Erstellung des Schaltplans einen weiteren halben bis ganzen Tag.
Aber danach hat man einen fehlerfreien Schaltplan, wenn man beim Zeichnen und bei der Zuordnung der Netzliste keine Fehler gemacht hat.
Aber das nachfolgende Ergebnis belohnt dann für den vorherigen Aufwand.

Damit ist im Wesentlichen das Schlimmste erledigt. Jetzt muss nur noch eine neue Platine erstellt, die Gerber-Dateien exportiert und neue Platinen bestellt werden.
Was geschah mit der Originalplatine?
Diese erfreut sich bester Gesundheit! 🙂
Ich habe die Platine wieder zusammengebaut. Außerdem habe ich alle Bauteile jetzt gesockelt. Und natürlich funktioniert sie wieder:

Eine neue Platine
So sieht die neue Platine als 3D-Ansicht aus:

Der Umriss entspricht dem der alten Platine, sodass sie wieder ins Gehäuse passen würde. Die Bauteilanordnung habe ich fast 1:1 übernommen, mit ein paar kleinen Anpassungen. Auf den ersten Blick sieht die neue Platine aus wie die Originalplatine.
Zusätzlich habe ich jedoch deutlich mehr Blockkondensatoren untergebracht. Diese befinden sich alle unter den IC-Sockeln. Dort beanspruchen sie den geringsten Platz und dank der Sockel kann man sie dort problemlos platzieren.
Natürlich könnten auch entsprechende Sockel mit bereits vormontierten Kondensatoren verwendet werden. Persönlich finde ich diese aufgrund des höheren Preises weniger attraktiv. Aber beide Wege stehen offen.
Es wurden keine SMD-Bauteile verwendet, sodass der Nachbau recht einfach sein sollte.
Hier ist die bestückte Platine zu sehen:

Zusammenbau
Die Platine wurde bei PCBWay hochgeladen, sodass sie dort ganz einfach bestellt werden kann.

Der Zusammenbau ist recht einfach und es gibt nichts Besonderes zu beachten, sodass die Karte auch für weniger erfahrene Anfänger keine Probleme bereiten sollte.
Stückliste
| Anzahl | Bezeichnung | Hersteller | Hersteller Teilenummer | Beschreibung |
|---|---|---|---|---|
| 1 | C1 | KEMET | C315C101K5R5TA | Kondensator, Keramik, 100Pf, 50Vdc, 10-% Tol, 10+% Tol, X7R-Tc-Code, -15, 15%-Tc |
| 17 | C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 | KEMET | C324C104J5R5TA | Mehrschicht-Keramikkondensatoren MLCC – bedrahtet, 50 Volt, 0,1 µF, 5 %, X7R |
| 2 | CN1, CN2 | Reichelt | CBP-G Cinch-Einbaubuchse, Farbcodierung schwarz, vergoldet (Reichelt) | CBP-G Cinch-Einbaubuchse, Farbcodierung schwarz, vergoldet |
| 1 | CP1 | KEMET | T330A475K025AS | Tantal-Kondensatoren – bedrahtet, 25 Volt, 4,7 µF, 10 % |
| 1 | D1 | NXP Semiconductors | 1N4148 | NEXPERIA – 1N4148 – Diode, 1N4148 AMMO-BOX 10K |
| 4 | Q1, Q2, Q3, Q4 | Diotec | 2N3904 | Bipolar-Transistor, TO-92, 40V, 200mA, NPN |
| 1 | Q5 | Central Semiconductor | 2N3906 | Bipolar-Transistor PNP Verstärker/Schalter 40V 200mA 3-Pin TO-92 Durchsteckbox |
| 1 | R1 | Yageo | CFR-25JB-52-47R | Widerstand 47 Ohm 1/4W 5% axial |
| 2 | R2, R3 | Yageo | CFR-25JB-52-750R | Widerstand 750 Ohm 1/4W 5% axial |
| 1 | R4 | Yageo | CFR-25JB-52-1K5 | Widerstand 1,5 kOhm 1/4W 5% axial |
| 1 | R5 | Yageo | CFR-25JB-52-2K2 | Widerstand 2,2 kOhm 1/4W 5% axial |
| 2 | R6, R8 | Yageo | CFR-25JB-52-470R | Widerstand 470 Ohm 1/4W 5% axial |
| 1 | R9 | Yageo | CFR-25JB-52-82R | Widerstand 82 Ohm 1/4W 5% axial |
| 1 | R10 | Yageo | CFR-25JB-52-220R | Widerstand 220 Ohm 1/4W 5% axial |
| 1 | RN1 | Vishay Dale | CSC10A0110K0GPA | Widerstandsarray 9 Widerstände 10 kOhm 10 SIP |
| 3 | U1, U2, U3 | Panasonic | SN74LS157N | Datenselektor/Multiplexer 2 zu 1 DIP16 |
| 2 | U4, U13 | STMicroelectronics | M27C64A-15F1 | IC EPROM 64K Parallel 28CDIP |
| 3 | U5, U9, U16 | Texas Instruments | SN74LS04N | IC HEX INVERTER 14-DIP |
| 1 | U6 | Texas Instruments | SN74LS74AN | Flip-Flop mit Set und Reset, komplementärer Ausgang, differentiell, positive Flanke, D, 13 ns, 33 MHz |
| 1 | U7 | Texas Instruments | SN74LS10N | IC Gatter NAND 3-Kanal 3-Eingang 14DIP |
| 1 | U8 | Conexant | R6545APE | CRT-Controller |
| 1 | U10 | Toshiba | TMM2016AP-10 | Integrierte Schaltung Speicher 2016/TMM2016AP10 TOSHIBA Statischer RAM-Speicher prog. volatil KX8=2 |
| 1 | U11 | Texas Instruments | SN74LS245N | IC TXRX nicht invertierend 5,25V 20DIP |
| 1 | U12 | Texas Instruments | SN74HC273N3 | Oktaler D-Typ Flip-Flops mit Clear 20-PDIP -40 bis 85 |
| 1 | U14 | Texas Instruments | SN74LS86AN | IC Gatter XOR 4-Kanal 2-Eingang 14-DIP |
| 1 | U15 | Texas Instruments | SN74LS164N | IC, 74LS, 74LS164, DIP14, 7V |
| 1 | U17 | Texas Instruments | SN74LS166AN | IC, Schieberegister, PDIP16, 7V |
Download
Auf Codeberg findet man die dazu gehörigen Dateien: https://codeberg.org/diwou/b.i.-80
