The Final Chesscard (Hardware)

There are 1,005 replies in this Thread which has previously been viewed 214,781 times. The latest Post (February 11, 2026 at 6:36 PM) was by Josef01.

  • So, ich habe mir jetzt nochmal den Deinen Schaltplan genau angesehen. Erst einmal: Klasse Arbeit!

    Danke! Ging eigentlich mit Eagle ganz gut. Ich hab's nicht erst auf Papier gemalt sondern gleich Verbindung für Verbindung in Eagle eingefügt. Dann die Bauteile und Leitungen solange hin- und hergeschoben bis man was erkennen konnte.


    Signalmäßig habe ich zu meinem Plan keine Unterschiede gefunden.

    :puhh: Das war auch zunächst mein Ziel. Die Schaltung muss stimmen, danach kann man es schöner machen.


    Meine Anmerkungen sind (bis auf den ersten Punkt) rein kosmetischer Natur:

    Da hast Du überall Recht, werde ich geradeziehen. Und am besten wir fügen in die Platinenscans "offizielle" Bezeichnungen für die namenlosen Bauteile ein, dann weiß jeder, um welches Bauteil es geht.

    Die Bauteilsymbole sind welche, die ich auf die Schnelle gefunden habe. Überflüssige Pins etc. kann man natürlich noch löschen.


    Vier Lagen mit einer freien EAGLE-Version scheint nicht zu gehen.

    Leider nicht, ein bestehendes Multilayer-Layout kann man mit der Freeware öffnen und anschauen, aber zum Erstellen braucht man eine Lizenz, welche man aber seit neuestem auch monatsweise mieten kann.
    Alternativ könnte man portieren auf KiCAD. Mal schauen, ob man den Schaltplan einigermaßen verlustfrei konvertieren kann, oder ob simples abzeichnen einfacher ist, aber mit KiCAD kenne ich mich (noch) nicht aus.

    Gruß,
    Oli

    AC/64 - C64 Umbau auf 9V Wechselspannung: Thread
    Jocopod - Joystick to Controlport Dongle: Thread

  • Alternativ könnte man portieren auf KiCAD. Mal schauen, ob man den Schaltplan einigermaßen verlustfrei konvertieren kann, oder ob simples abzeichnen einfacher ist, aber mit KiCAD kenne ich mich (noch) nicht aus.

    Denn lass mich mal noch ein paar Tage am KiCAD-Plan werkeln. Ich glaube, händisches Zeichnen ist einfacher als mit irgendwelchen Skripten was automatisch zu konvertieren. Ich teile den Plan ja auch noch auf drei Seiten auf:

    A) C64-ROM1, Konfig-Register und Transfer-Register
    B) Der 6502-Einplatinenrechner mit ROM und RAM
    C) Dekodierlogik


    Was mir noch auffiel:

    Könnte folgendes bitte jemand mit einer FCC überprüfen:
    Ist der verwendete Quarz wirklich ein 5MHz-Typ oder ist da nur ein Tippfehler und es ist in Wirklichkeit ein 4MHz-Quarz verbaut worden? Ich kann mir schwerlich vorstellen, dass der Hersteller der FCC einfach mal so den 6502 um 25% übertaktet und die Karte so verkauft...

    @sailor
    Could you please verify that the crystal has a value of 5MHz? Maybe there is a typo on your blog and the value is actual 4MHz? I have daubts that the manufacturer of the FCC overclocked it by 25%... Thanks in advance.


    Mal schonmal was zu Änderungen für die F64-Version:

    Ich würde nicht zuviel ändern wollen, also nicht aus einem Schachmodul eine eierlegende Wollmilchsau machen, allerdings sind für mich ein paar Dinge verbesserungswürdig:

    A) Takterzeugung:
    Statt der zwei Inverter mit Quarz dazwischen könnte man einfach einen Quarzoszillator für die gewünschte Frequenz nehmen und gut. Allerdings fände ich es auf cool, wenn man mit einem oder zwei DIP-Schaltern mehrere Frequenzen einstellen könnte. Vielleicht so in etwas: 4MHz, 5MHz, 10MHz, 14MHz oder ähnlich. Kann aber dann auch sein, dass die ICs bei den hohen Frequenzen zu langsam sind. Ich würde hierfür gerne einen ICS525-01 einsetzen...

    B) Resetschaltung und Batterieversorgung des RAMs:
    Ich würde sehr gerne mit dem TPS3619-50 einen Großteil der Schaltung ersetzen. Dieses IC schaltet ordentlich auf die Batteriespannung um und liefert auch einen ordentlichen Reset-Impuls...

    C) Die Zenerdioden-Konstruktion an CS2 vom RAM:
    Diese Konstruktion soll das RAM disablen, wenn die Spannung einen gewissen Wert unterschreitet. Eine saubere Lösung wäre meiner Ansicht nach (bei Verwendung eines TPS3619-50) wenn man CS2 einfach mit an die Reset-Leitung legt. Da das "neue" Reset-Signal unter 4,65V bis runter zu 1V auf Low bleibt, sehe ich hier keine Probleme. Oder man sieht noch zusätzliche Pads vor, wo man gegebenenfalls die ZD1 und den passenden R bestücken kann...


    Wie denkt Ihr über obige Modifikationen?

    Gruß,
    Thomas

  • Jetzt komm ich auch noch mit "bescheuerten" Ideen :rolleyes:

    Wäre es möglich das Modul so zu konstruieren, dass es erkennt an welchem Computer es hängt (C64 oder C128).
    Und je nachdem eine andere Version einblendet, eventuell auch eine für den 80 Zeichen-Modus (VDC) des C128.

    Wäre es nicht möglich die RAM's durch Flash-Speicher zu ersetzen, somit wäre keine Batterie zum speichern nötig.

    Hab von der ganzen Technik leider null Ahnung ;(

    Gruss C=Mac.

  • Wäre es möglich das Modul so zu konstruieren, dass es erkennt an welchem Computer es hängt (C64 oder C128).
    Und je nachdem eine andere Version einblendet, eventuell auch eine für den 80 Zeichen-Modus (VDC) des C128.

    Nein, es sollen die originalen ROMs verwendet werden. (Aber vielleicht findet sich ja ein fähiger Programmierer...)


    Wäre es nicht möglich die RAM's durch Flash-Speicher zu ersetzen, somit wäre keine Batterie zum speichern nötig.


    Nein, Flash-Speicher muss umständlich langsam programmiert werden. Möglich wäre sogenanntes FRAM, aber das gibt es nur mit serieller Ansteuerung, also auch nicht von Nutzen für dieses Projekt...


    Gruß,
    Thomas

  • Denn lass mich mal noch ein paar Tage am KiCAD-Plan werkeln. Ich glaube, händisches Zeichnen ist einfacher als mit irgendwelchen Skripten was automatisch zu konvertieren.

    OK, mach mal. :smile: Ja, es gibt wohl Konverter, aber in der Zeit, in der man den konvertierten Plan überprüft, bereinigt und geradebiegt, hat man ihn vermutlich zwei mal neu und schöner gezeichnet.


    Wie denkt Ihr über obige Modifikationen?

    Das ist genau auch meine Meinung und genau die von Dir angesprochenen Punkte halte ich auch für sinnvoll (ohne jetzt die konkreten ICs genauer angeschaut zu haben).
    Ich würde auch die Schaltung im Prinzip so lassen wie sie ist und nur kleine sinnvolle Verbesserungen einführen.

    Optional höhere Taktfrequenz wäre interessant, wenn es denn funktioniert. Vielleicht könnte man den Takt auch über den 74LS174 einstellbar machen? OK, dann müsste man das Programm patchen, aber wenn es generell Probleme mit der höheren Taktfrequenz gäbe, könnte man so z.B. nur die Berechnungen beschleunigen und für die Kommunikation mit dem C64 wieder auf Standardfrequenz zurückschalten. Ist vielleicht aber auch schon wieder zuviel des Guten...

    AC/64 - C64 Umbau auf 9V Wechselspannung: Thread
    Jocopod - Joystick to Controlport Dongle: Thread

  • Möglich wäre sogenanntes FRAM, aber das gibt es nur mit serieller Ansteuerung, also auch nicht von Nutzen für dieses Projekt...

    Nee, das gibts auch mit parallelem Interface: https://www.digikey.com/product-detail…3739-ND/4090348

  • @Freak : The crystal is 5 Mhz. Perhaps someone else with the FCC can also confirm this.

    Edit, BTW:
    * Noticed that the FCC is quite power hungry.
    * I got informed that at least one FCC had electrolytic caps instead of tantalum caps from the factory.

  • Nee, das gibts auch mit parallelem Interface: digikey.com/product-detail/en/…08-SG/428-3739-ND/4090348


    Danke für den Hinweis!

    Aber bei einem Einzelstückpreis von 10-12 EUR wäre mir das etwas zu teuer.

    (Ich habe ja schon stundenlang nach einem IC für die Batterieumschaltung gesucht, das nicht von Maxim kommt und somit nicht 6-8 EUR kostet...)


    Gruß,
    Thomas

  • * Noticed that the FCC is quite power hungry.

    Probably because of the used technolodgy: 74LSxx. We will lower the current by using more modern cmos-technolodgy: 74HC(T)xx. That should bring the overall current down...

    Cheers,
    Thomas

  • Hallo, ich habe den Schaltplan von lvr auch mal mit meinen Ergebnissen gegengecheckt und bin zu dem gleichen Ergebnis gekommen.
    Schöne Arbeit!

  • Wäre es möglich das Modul so zu konstruieren, dass es erkennt an welchem Computer es hängt (C64 oder C128).
    Und je nachdem eine andere Version einblendet, eventuell auch eine für den 80 Zeichen-Modus (VDC) des C128.

    Wenn es Dir nur um eine Darstellung auf dem VDC geht, ist das rein per Software machbar, denn der VDC ist auch aus dem 64er-Modus heraus ansprechbar.

    Wenn hingegen die Software tatsächlich im 128er-Modus laufen soll, müsste man "nur" GAME und/oder EXROM (was immer die Karte benutzt) schaltbar machen. Der 128er erkennt das Vorhandensein eines externen ROMs stattdessen durch einen Test auf eine spezielle Bytesequenz, das ROM könnte also theoretisch beide Modi unterstützen.

  • Ja, wenn Platz für einen Jumper/Schalter für GAME/EXROM möglich wäre. würde das noch besser sein an meinem C128.

  • ich habe den Schaltplan von lvr auch mal mit meinen Ergebnissen gegengecheckt und bin zu dem gleichen Ergebnis gekommen.

    Sehr gut, drei mal das gleiche Ergebnis, dann gehen wir mal vorsichtig davon aus, dass die Schaltung stimmt.
    Ich habe den Schaltplan noch leicht überarbeitet, Freaks Kritikpunkte abgearbeitet und die namenlosen Bauteile im Bestückungsplan benamst, um eine eindeutige Zuordung zu haben.

  • Und hier ist meine Version des Schaltplans...

    Ich habe die gleichen Bauteilbezeichnungen wie @lvr verwendet, dann gibt es keine Verwechselungen.

    Was ich nicht eingezeichnet habe sind die Spannungsversorgungen der Logik-ICs. Die quetschen sich oben und unten an die Logikgatter und würden das Gesamtbild etwas stören. Da der Schaltplan aber nur für das Verständnis dienen soll habe ich sie einfach weggelassen... Wer den Plan als Grundlage für eine Platine nehmen möchte, der muss sie halt nachtragen.

    Ich würde den Plan jetzt nehmen und langsam die "Verbesserungen" einzeichnen (Takt und Batteriemanagement) und an die neue CPU anpassen (44polig). Die Logik könnte man gegebenenfalls auch mit einem GAL erschlagen. Wäre das sinnvoll?

    Was mich noch etwas stört, sind die 1nF-"Verzögerungskondensatoren". Warum sind die da? Weiss das einer? Ansonsten baue ich mir die Logiken mal nach und schaue mir das Timing der Signale mal an... Ich habe ungern was auf der Platine, was nur so abgezeichnet wurde, das Verständnis dahinter jedoch fehlt...


    Das angehängte ZIP-Archiv enthält alle Dateien, um sich in KiCAD den Plan anzeigen zu lassen ("FCC.lib" und "FCC.dcm" gehören zu einer Library, die gegebenenfalls extra eingebunden werden muss...).

    Das angehängte PDF enthält einen Ausdruck des Plans.

    Kommentare sind ausdrücklich erwünscht...

    Gruß,
    Thomas

    EDIT: Kleinen Fehler im Plan beseitigt und Dateien neu hochgeladen.

  • Statt über GAL würd ich evtl. über ein CPLD nachdenken. Zumindest wenn Du nicht alles in ein einziges GAL bekommst.

  • Die Frage läßt sich leicht klären, wenn man die benötigten Signale zählt (inklusive/exklusive den beiden Port-Registern) sowie die Zahl der Flip-Flops/Register. Rein aus dem Bauch heraus würde ich auch sagen, ein GAL ist zu klein.

    Notiz am Rande: Man könnte GAL-Pins sparen, wenn man das Register im Adreßraum des Coprozessors in den gesamten 16K ab $4000 einblendet- oder, alternatibv, könnte man ein 32K-RAM verwenden, das man von $0 bis $7eff einblendet. Das _sollte_ mit der bestehenden Software verträglich sein, böte aber einiges Potential für neue Projekte.

    Was die Timing-Kondensatoren angeht: die sind wohl dem idiotischen C64-Timing geschuldet, das die Relation Systemtakt zu Umschaltung des Busses von CPU zu VIC nicht sauber auf die Kette bekommt. Deswegen funktioniert ja auch nur die CIA 6526, während alle anderen MOS-Bausteine (VIA 6522, ACIA 6551) eine hübsche Anpaßschalötung brauchen, wenn man sie am 64er einsetzen will. Natürlich war die 6526 deutlich teurer als die 6522 und anfangs nahezu nicht zu bekommen...

    KI-Verwendung in diesem Posting: Rechtschreibkontrolle des Browsers.
    Abweichungen aufgrund des technischen Fortschritts oder individueller Vorlieben vorbehalten.

  • 5 V CPLDs sind meist EOL. 5 V tolerante 3,3 V CPLDs bekommst eher noch. Z.B 9536 vs 9536 XL.

  • Es sollte IMHO schon innerhalb der Spezifikation laufen, da die Karten genauso langlebig sein sollen, wie die alten. 5Volt tolerant bedeutet nicht, dass es auch langfristig hält.

    Ansonsten Danke für die Mühe @Freak, sobald ich wieder fit bin, kann ich mich auch wieder mehr einbringen.

    Semper Fidelis!

    Forum64 Betreiber & Administrator a.D.

  • Und hier ist meine Version des Schaltplans...

    Sehr schön geworden! Danke!

    Ich habe die gleichen Bauteilbezeichnungen wie @lvr verwendet, dann gibt es keine Verwechselungen.

    Ja, so war es auch gedacht. Hatte mir auch überlegt die Bauteile noch umzubenennen, aber außer Verwirrung hätte das nix gebracht.

    Die Logik könnte man gegebenenfalls auch mit einem GAL erschlagen. Wäre das sinnvoll?

    Werf doch erst mal alle Bauteile als SMD auf ein Board und schau, ob es auch so auf Modulgröße schrumpft. Wenn ja, wäre ein GAL/CPLD ja nicht unbedingt nötig, muss ja auch erst programmiert werden, was zwar kein Problem, aber doch immer etwas lästig ist. Andererseits ist man mit einem CPLD fexibler, falls man doch neue Features einbauen will und vielleicht könnte man damit auch das Timing ohne Kondensatoren hinbiegen.

    AC/64 - C64 Umbau auf 9V Wechselspannung: Thread
    Jocopod - Joystick to Controlport Dongle: Thread

  • Werf doch erst mal alle Bauteile als SMD auf ein Board und schau, ob es auch so auf Modulgröße schrumpft. Wenn ja, wäre ein GAL/CPLD ja nicht unbedingt nötig, muss ja auch erst programmiert werden, was zwar kein Problem, aber doch immer etwas lästig ist. Andererseits ist man mit einem CPLD fexibler, falls man doch neue Features einbauen will und vielleicht könnte man damit auch das Timing ohne Kondensatoren hinbiegen.

    Das finde ich einen guten Vorschlag und würde uns erstmal sehr viel weiter bringen. Die Änderung auf 3 Volt Knopfzelle wäre auch Spitze. Danke.

    Gruß
    Tom

    Semper Fidelis!

    Forum64 Betreiber & Administrator a.D.