Um kosten zu sparen, hatte Commodore seinerzeit bei dem 1541 Floppylaufwek einige TTL Bausteine in einen extra Baustein gepackt. So konnte Commodore nicht nur über ein Dutzend TTL Bausteine einsparen und durch einen einzigen ersetzen, sondern es wurde vor allem sehr viel Platz eingespart.

Leider ist dieser Chip eine Black Box und Unterlagen sind recht rar dazu. Und vor allem wird dieser Chip schon seit Jahrzehnten nicht mehr gefertigt und steigt im Preis auf dem Gebrauchtmarkt immer weiter an. So kam ich auf die Idee, diesen Chip nachzubauen.

Und wie ich schon in den dem Artikel Projekt: Neues Board für die Commodore 1541 - Teil 1 andeutete, habe ich diesen Gate-Array in klassischer TTL Bauweise nachgebaut.

 Das erste Modell der VC1541 hatte noch das bekannte "Longboard" verbaut. Die Platine erstreckte sich fast die gesamte Gehäusegröße. Dort war noch alles in diskreter Bauweise mit TTL Bausteinen aufgebaut. Bei der nächsten Version wurde die Platine auf gut 2/3 gekürzt.

Möglich wurde dies durch die Integration von über ein Dutzend einzelnen TTL Baustein, in einen eigenen Custom Chip. Es wurde also extra ein spezieller Chip entworfen, der eben diese TTL ICs ersetzt. Dies sparte enorm Platz und vor allem Kosten ein. So wurde anfangs von MOS der 325572-01 produziert. In diesem befinden sich die ganzen Gatter, die sonst in einzelnen Chips unterbracht waren. Vor allem wurden in dem Longboard einige Chips nur zum Teil genutzt. Um ein Gatter nutzen zu können, brauchte man aber einen Chip, der insgesamt 6 Gatter zur Verfügung stellte. Und so wurde teilweise unnötig Platz verschwendet, weil 5 dieser 6 Gatter überhaupt nicht benötigt wurden. Aber ICs mit einzelnen Gattern gibt es im Grunde nicht (von einigen Spezialfällen mal abgesehen). Und die jeweils in Transistortechnik nachzubilden, hätte auch keinen Platz gespart.

Was das Thema Dokumentation und vor allem Schaltpläne angeht, so ist dies leider bei Commodore ein recht trauriges Thema. Ich würde die Schaltpläne eher als "Hinweis" betrachten und nicht als Abbild der Realität. Konkrete Schaltpläne scheint es von diesem Chip nicht zu geben, allenfalls auch nur Hinweise, wie dieser ungefähr aufgebaut ist, bzw. sein könnte. 

Commodore schien sich selber nicht einmal sicher zu sein, ob man diesen Chip nun Gate-Array oder PLA nennt. Denn in den Dokumentationen finden sich beide Bezeichnungen. Ich habe insgesamt 7 verschiedene Schaltpläne zusammen bekommen, die das Gate-Array beschreiben. Und alle unterscheiden sich leicht. Es wurde allerdings nur eine Version dieses Chips gebaut.

Generell ist mir bei der Durchsicht der verschiedenen Schaltpläne von Commodore aufgefallen, dass diese sich immer leicht zwischen den amerikanischen und japanischen Versionen unterscheiden. Beide weisen allerdings auch Fehler auf. Meistens sind dies falsche Bezeichner, Pinbelegungen oder auch schon mal gänzlich falsche Chips.

Ich habe die verschiedenen Schaltpläne analysiert und hatte diese am Schluss zu 3 Varianten zusammengefasst. Diese unterschieden sich alle nur noch in kleinen Details. Daraus habe ich dann Platinen entwickelt und bei einem der vielzähligen Dienstleistern produzieren lassen. 

Der Grund, warum ich erst einmal TTL Bausteine und keinen CPLD oder FPGA benutzt habe, ist einfach. Denn in dem Longboard funktionierte dies ebenfalls mit TTL Bausteinen. So brauchte ich mich erst einmal nicht auf irgendwelche Timing Probleme einstellen. Auch konnte ich wesentlich einfacher und schneller Messungen vornehmen.

Wie das Leben so spielt, funktionierte natürlich keiner der 3 Platinen auf Anhieb. So begab ich mich auf die Suche, und habe das Verhalten meiner Versionen, gegen einen Original 3255072-01 Chip verglichen. Auf diese Weise konnte ich dann noch ein paar Fehler finden und korrigierte meinen Schaltplan entsprechend.

So war dann der vierte Versuch endlich vom Erfolg gekrönt. Diese Platine brauchte ich nur noch bestücken und einstecken. Und es funktionierte auf Anhieb.

 

MOS 325572 01 in TTL 800

 

Wie auf dem Bild zu erkennen ist, sind insgesamt 15 TTL Bausteine nötig gewesen, um das Gate-Array nachzubilden. Und man sieht auch den enormen Platzbedarf, dieser Platine. So musste ich etwas in die Höhe bauen, damit das Konstrukt auch in den Sockel UC1 gesteckt werden konnte. Dazu habe ich einfach auf die schnelle ein paar IC Sockel zusammengesteckt, und ein kleines Türmchen gebaut. 

MOS 325572 01 in TTL Seite 800

 

Ich habe eingehende Tests durchgeführt, und konnte bisher keinerlei Probleme feststellen. Das Diskettenlaufwerk verhält sich genau so, als ob der Original Chip eingesteckt wäre. Lesen und Schreiben von Disketten funktionieren genau so gut, wie auch Erweiterungen, wie z.B. Floppy Speeder.

Nun werde ich von dieser Version natürlich keine Platinen herstellen lassen, um einen defekten Chip zu ersetzen. Dies wäre natürlich möglich, aber wer möchte sich so einen Klopper einbauen. Mit SMD Bauteilen könnte die Platine sicherlich auf die Hälfte schrumpfen, und ich hatte dahingehend auch schon herum experimentiert mit einer Doppelseite bestückten Platine. Allerdings musste ich bei dieser Version mit mindestens 4 Layer arbeiten, um zumindest halbwegs klein zu werden. Auf ein gutes Drittel hätte ich diese Platine schrumpfen können. 

Allerdings wäre damit die Platine auch wesentlich teurer geworden. Die Platine wäre schon in der Herstellung gut das 5fache teurer, aber auch die TTL Bausteine in SMD sind alle ein Stück teurer. Dies wäre also keine praktikable Lösung gewesen.

Eigentlich wäre nur eine Lösung mit einem CPLD preiswert zu machen. Und da es mittlerweile nicht mehr viele CPLDs gibt, die auch mit den üblichen 5V TTL Leveln zurecht kämen, bleibt eigentlich nur die Xilinx XC9500XL Reihe. Dieser ist 5V Tolerant an den Eingängen, stellt aber selber nur 3.3V an den Ausgängen zur Verfügung.

Die meisten TTL Bausteine kommen damit zurecht. Allerdings ist das Gate-Array die Schnittstelle zwischen der Digitalen und Analogen Schiene der 1541. Es kann also sein, dass für einige I/Os entweder Level Shifter oder sogar auch Schmitt Trigger eingesetzt werden müssen. Dies muss ich aber noch testen, inwieweit dies notwendig ist.

Aber mein Plan ist es, diese TTL Logic in einen CPLD umzusetzen. Und dies möglichst so kompakt, dass die Platine nicht größer wird, als der jetzige Chip auch. 

Dies wird eines der nächsten Projekte sein, an dem ich arbeiten werde.

 

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.