Alternativer Entwurf DesTest Max Switch 7-Seg-Display

There are 58 replies in this Thread which has previously been viewed 2,707 times. The latest Post (February 10, 2026 at 11:14 PM) was by Natas.

  • Den Verlust des 7-Segment Displays bedaure ich. Wäre ein guter Blindtest: 1-2-3... Und auf der Rückseite steht steht 1 = CPU, 2= RAM etc.

    Die Version ist ja nicht weg.
    Momentan schaue ich wie man das mit einem CY74FCT646TSOC lösen kann.
    Die Idee ist einfach das OLED mit für die Anzeige zu nutzen.
    Der ATMega würde zusätzlich zur Frequenz- und Spannungsmessung /GAME und /EXROM bedienen (Ultimax/8K/16K Umschaltung) und ein mögliches Banking übernehmen.

    Mit einem größeren Schaltplanblatt müsste ich den 7-Segment Plan soweit auflockern können das sowohl ein 72AHCT273 mit Display als auch ein CY74FCT646TSOC drauf passt.
    Für die Anzahl der benötigten GPIOs am ATMega kann das durchaus notwendig sein.
    Eins steht fest in ein Stummel Cartridge passt das nicht.
    Der 74FCT646T ist quasi ein 8-Bit Dual-ported RAM oft auch als Postbox bezeichnet mit dem zwei Systeme mit unterschiedlichem Takt sehr einfach asynchron Datentauschen können.
    Meine Idee ist es von einem 6551 idealerweise nur das Datenregister zu emulieren https://gglabs.us/node/2057
    Der Handshake finden in Hardware statt ein Chip-Select mit Schreibzugriff auf das Register löst einen IRQ beim ATMega aus und dieser holt kurze Zeit später den im Register gespeicherten Wert auf der ATMega Seite ab.
    Umgekehrt kann der ATMega etwas in das Register schreiben und danach einen IRQ beim C64 auslösen welcher dann das Byte abholt.
    Wenn das Status register nicht gepollt wird sondern mit IRQ gearbeitet wird was ich hoffe kann dieses ignoriert werden.
    Schreibzugriffe auf das Command- und Controlregister sollten man einfach ignorieren können, das ES Register ist für langsame Geräte wie den C64 nicht relevant.
    Damit sollte mit etwas Glück das https://factorofmatt.com/destestmax-sl ROM auch ohne teure Swift Link Hardware laufen.
    Please login to see this picture.

    Wohl eher doch nicht :-( NMI (not used)
    Ich finde die Configuration etwas seltsam, es wird die gleiche Adresse IO1 wie für das Switch genutzt.
    Warum einen NMI wenn auch ein IRQ geht?
    Update: Anleitung gelesen und immer noch nicht schlauer.
    Ist möglicherweise einfacher, solange der PC oder C128 auf dem das Terminal läuft nichts sendet passiert auch nichts.
    Wenn doch ein Tastendruck gesendet wird hat das bei der NMI Einstellung den selben Effekt als ob jemand auf Restore drückt.

    Die Baudrate sollte mehr oder weniger nur die Einstellung für den PC vorgeben wäre in unserem Fall vom ATMega bestimmt.
    Selbst wenn 115200,8,N,1 oder halt wegen der Anzeige 38400,8,N,1 gewählt ist heißt das nur das einzelne Zeichen mit dieser Baudrate übertragen werden nicht das ein dauerhafter Stream mit dieser Geschwindigkeit genutzt wird.

    Edited 2 times, last by Natas (February 7, 2026 at 11:53 AM).

  • Hier ein zwischen Stand fehlt noch UDF Teil sprich ATMega32F4 Display usw..
    Please login to see this attachment.
    Das wird doch mehr tricky als ich angenommen habe den 6551 zu emulieren.

  • Ich spinne nur rum... Please login to see this attachment.

    Mfg Jood

    Jood Ich würde dein GAL gerne verwenden aber es passt nicht so ganz zur neuen Schaltung, da ich eine separate Codierung für read und write benötige und einiges mehr siehe Schaltplan.

    Auch wenn das ROM behauptet es nutzt keinen NMI dann stimmt das nicht.

    Das Registers CY74FTC646T U2 ($DE00) ist für das DesTest Max Swift Link ROM das Daten Register des 6551 und für die DesTest Max Switch ist es die Modul Konfiguration.
    Dieses Register kann geschrieben und gelesen werden und zwar sowohl von der 6510 als auch vom ATMega.

    Edited 2 times, last by Natas (February 7, 2026 at 8:49 PM).

  • Wie gesagt, dein Ansatz ist ein völlig Anderer,

    mein Ziel ist es immer die Schaltung möglichst einfach zu halten aber trotzdem nützlich, ich bevorzuge meistens THT,
    und einfach zu besorgende Bauteile, Stichwort Nachbausicherheit.

    Selbst das GAL stört mich hier eigentlich schon, allerdings artet dass sonst in ein TTL-Grab aus!

    Auch wenn ich mir immer noch nicht schlüssig bin, eigentlich ist das nur ein Hirmfurz, sieht inzwischen so aus...
    Wobei der Quarz natürlich flacher ist!

    Mfg Jood


  • Achtung! da ist nur ein Zwischenstand es ist noch nicht viel weiter, aber hoffentlich korrekter.

    Das ganze sit ein regelrechtes TTL Grab.
    Please login to see this attachment.

  • Den Verlust des 7-Segment Displays bedaure ich. Wäre ein guter Blindtest: 1-2-3... Und auf der Rückseite steht steht 1 = CPU, 2= RAM etc.

    Wie gesagt auf dem Spannungs- und Taktdisplay wird die Zahl 1, 2.. oder sogar im Klartext CPU, RAM angezeigt.
    Solange aber niemand das ROM entsprechend patched wird die Anzeige ungenutzt bleiben.

    Ich habe jetzt doch noch eine alternative Lösung für den Swift Link Ersatz gefunden:

    cocousbserial/kicad/6551usb.pdf at master · barberd/cocousbserial
    Contribute to barberd/cocousbserial development by creating an account on GitHub.
    github.com

    Hier wird ein FTDI-245R genutzt.
    Damit könnte man einen schönen Ersatz für das SwiftLink232/GLink232 https://gglabs.us/index.php/node/691 bauen,
    wenn man ebenfalls wie beim Coco einen ROM Sockel vorsieht kann man in dem Wahlweise eine BBS-, Terminal Software oder das DesTest Max SL ablegen.

    Hucky Ich höre daraus du möchtest die Samples für die Meldungen einsprechen?
    Hardware technisch brachen wir nur eine weitere Chip Select Leitung, da der SPI Bus eh schon für das Display da ist.

    Timo V. Homesite - MP3 Player
    Overview There are probably many ways to do this - here is one. Please, note that 6510 is not doing the decoding. The primary requirements I…
    sites.google.com

    Wenn wir so weiter machen ist die Platine so breit wie der C64 selbst hat aber auch einen Vorteil, man muss nur zwei mal stecken ein mal die Rückseite und ein mal die rechte Seite mit 2x Joystick und Power.
    Und fertig ist der voll automatisierte sprechende C64 Tester, Mist ich wollte doch irgendwo noch KI unterbringen...:dance:woot::honk:

    Edited 2 times, last by Natas (February 8, 2026 at 11:27 AM).


  • Hucky Ich höre daraus du möchtest die Samples für die Meldungen einsprechen?

    Das war ein Witz !
    Ich verstehe den ganzen Aufwand hier nicht.
    Die ganzen Diagnosedinger nützten dem "Laien" bei einem Black Screen, oder speziellen Fehlen wie z.B. verbundene, oder durchtrennte Leiterbahnen, defekte Dioden am seriellen Port usw. eh nichts.
    Da muss man dann eh messen und muss wissen was man tut.
    Vlt. steh ich mit der Meinung auch alleine da.
    Es wird wohl immer so weitergehen:
    "Dein Board ist voller MOSlinge, die sind böse, musst du alle tauschen", "Es ist die PLA !!", "Du musst alle Elkos wechseln", "Du darfst das alte Netzteil nicht mehr nutzen" , " Du musst den 78XX ersetzen" .....Du musst, du musst...🤷
    Die meisten, die es drauf haben sind leider mittlerweile alle verschwunden, bzw. sind vergrault worden, oder haben einfach keine Lust mehr zu helfen, da es mehr als anstrengend geworden ist was ich völlig nachvollziehen kann. Da helfen in den vielen Fällen dann auch keine Diag Module 🤷

    Arcade: Twinliner, Fashion Vision,
    "Cosmic Guerilla" cocktail table
    Pins: Scared Stiff + Getaway
    C64, C65, C66, Gammel+Mist...

    Edited 2 times, last by Hucky (February 8, 2026 at 1:06 PM).

  • Hucky Wie du vielleicht an meinen Emojis gesehen hast habe ich das auch so verstanden.
    Trotzdem finde ich es als Option gar nicht so schlecht, falls es tatsächlich jemand aus welchem Grund auch immer (schlechte Augen evtl.) eine Sprachausgabe möchte kann man sie nachrüsten.
    Sicher hast du meine Antwort mit dem Docking Connector ebenfalls als Witz erkannt. Aber die Vorstellung das man zwei Leute benötigt um das ganze wieder auseinander zubekommen ist schon lustig...

    Wie gesagt es ist einfach nur ein Thread um mal völlig offen drüber nachzudenken was kann man mehr oder weniger sinnvolles noch anstellen kann.
    Den 74646 und den 74299 habe ich schon vor langer Zeit meine Liste mit interessanten Chips geschrieben mit denen ich irgendwann mal etwas machen möchte.
    Leider braucht der 74646 deutlich mehr externe Logik um am C64 zu funktionieren als ich dachte, siehe letzten Schaltplan, außerdem braucht er auf der Atmel/Microchip Seite deutlich mehr GPIOs als mit lieb ist.
    Daher werde ich die 74646 Version als Fehlversuch verbuchen und auf den 74299 umschwenken.

  • Danke für Eure Expertise und Eueren Einsatz! Es ist unglaublich, was viele von Euch so drauf haben und hier bereit sind in Ihrer Freizeit zu leisten!!!!

    Ich hatte mir das Modul damals auch bei bexxx bestellt, es war ja von Matt als "für Einsteiger" gelabelt: "Building a DesTest MAX-Switch is an ideal beginner project!"

    Ja, habe ich gelesen: dieser Thread zielt nicht darauf ab, einen Fix zu liefern, aber alle, die diesen liefern könnten, diskutieren gerade hier in diesem Thread, deshalb meine vorsichtige Frage zur Prognose eines Fixes (ohne Sprachausgabe, KI-Integration, OLED-Display, Blinkcode:))

    Wie ist denn Eure Prognose:

    Wird es noch einen für Einsteiger tauglichen Fix geben? Es sind ja wohl deutlich > hundert Module rausgegangen, auch ins Ausland.

    Die Variante mit NOS 74ern wäre für mich noch zu unzuverlässig. Als Anfänger könnte ich bei Fehlermeldung / Abbruch nicht interpretieren, hat das Board jetzt einen Fehler, oder kommt die Cartridge doch mit irgendwelchen Spezialitäten auf dem Board nicht zurecht.

    Die GAL-Variante war doch fertig, oder? Zumindest für den 64er. Der Aufbau mit dem "Fliegenbeindraht" ist für viele Anfänger (mich eingeschlossen) aber leider wohl nicht machbar.

  • Ich habe als Sideprojekt den Schaltplan des CoCo USB Serial Cartridges für den C64 portiert.
    Wenn ich nichts übersehen habe sollte das C64 USB Serial Cartridge kompatibel zum SwiftLink232, GLINK232 und Turbo232 Cartridge basierend auf dem 6551 sein.
    Das Timing ist NICHT (!) überprüft kann also fehlerhaft sein, auch können noch weitere Fehler im Schaltplan sein.
    Erst wenn mindestens eine Person die sich auskennt mal drüber geschaut hat kann es an ein Layout gehen.

    U4 74F138 und DSW1 8fach Dip-Switch brauchen nur bestückt werden wenn über Jumper J2 gewählte IO-Bereich weiter unterteilt werden soll.
    Ist beides nicht bestückt muss Lötbrücke J6 geschlossen werden. Eine Bestückung ist wohl nur in Ausnahme Fällen sinnvoll (Einsatz im Port Expander).
    Falls beides bestückt ist, lässt sich die Serielle Schnittstelle dadurch deaktivieren das alle Schalter aus sind. Für die Standardadresse nur den obersten Switch ein schalten (Dx00) das x wird über J2 gesteuert.
    Jumper 5, 6 und 7 sind doppelt ausgeführt einmal als Lötbrücke und einmal normal. Standard ist J5 geschlossen, J6 offen und J7 geschlossen.
    Jumper 8 man sollte den USB-Host wählen (2-3), wenn das Modul vom Host (PC) sofort nach dem Anschließen erkannt werden soll oder wenn das USB-Gerät auch nach einem Neustart des C64 auf dem Host konfiguriert bleiben soll. Man sollte den C64 (1-2) wählen, wenn das Gerät nur erkannt werden soll, wenn der C64 eingeschaltet ist.

    Ich habe noch ein EPROM Sockel für ein EPROM der Größe 2764 (8KB) - 27512 (64KB) eingebaut.
    Über den Doppel-Jumper J3 kann gewählt werden ob das Modul wie ein 8 KB oder 16 KB Cartridge arbeiten soll und ob dieses im Ultimax Modus arbeiten soll.
    Über den Doppel-Jumper J4 kann man wenn man ein 27256 (32KB) EPROM verwendet aus zwei 16 KB Bänken wählen und beim einem 27512 (64KB) EPROM aus vier 16KB Bänken.

    Es gibt zwei Möglichkeiten das EPROM abzuschalten: alle Jumper von J3 abziehen oder J7 öffnen.
    Mit J5 kann man verhindert das bei einer gewählten 16K Konfiguration ein ROM bei $8000-9FFF eingeblendet wird dazu er geöffnet werden.

    In das ROM könnte man Terminal Software und evtl. auch BBS Software Brennen oder auch das DesTestMAX-SL ROM brennen.

    Für dieses ROM wäre folgende Jumperung korrekt:
    J1 auf 1-2 bei einem Interrupt wird ein NMI ausgelöst.
    J2 auf 1-2 IO1 $DE00 als Basisadresse für die serielle Schnittstelle.
    J3 1-2 gebrückt 3-4 offen.
    J4 bei 2764 und 27128 egal, bei 27256 1-2 gebrückt um die untere Hälfte (Bank 1/2) des EPROMs auszuwählen, bei 27512 1-2 und 3-4 gebrückt um das untere 1/4 (Bank 1/4) zu wählen.
    J5 sollte theoretisch offen sein spielt aber meiner Einschätzung nach keine Rolle, bei einem 2764 würde das ROM bei geschlossenem Jumper einmal bei $E000-FFFF und einmal bei $8000-9FFF auftauchen,
    Bei einem 27128 EPROM wäre es wichtig das das 8K Image in der oberen Hälfte liegt, was auch immer sich in der unteren Hälfte befindet würde bei $8000-9FFF eingeblendet dürfte aber völlig ignoriert werden.
    J6 je nach Bestückung siehe oben.
    J7 geschlossen, über J3 lässt sich bei Bedarf das ROM immer noch deaktivieren.
    J8 auf 1-2 Stromversorgung des USB Wandlers erfolgt vom C64.

    Please login to see this attachment.

  • Warum sollte man den 6551 mit Logikchips nachbauen wollen - der wird heute noch produziert und ist neu verfügbar, z.B. bei Mouser oder Digikey (als 65C51).

  • Warum sollte man den 6551 mit Logikchips nachbauen wollen - der wird heute noch produziert und ist neu verfügbar, z.B. bei Mouser oder Digikey (als 65C51).

    Weil, eine SwiftLink232 bei poly.play 99€ kostet, warum auch immer, darüber hinaus nicht mehr verfügbar.
    Hier wird als Ersatz ein FTDI FT245R genutzt, bei einem Notebook ist halt USB viel praktischer.
    Dieses Modul hat einen Sockel für eine spezielle Version des DesTestMAX-SL ROMs welches Diagnoseinformationen per ANSI Terminal ausgibt.
    Für das Modul liesse sich das noch deutlich vereinfachen, das Control-Register 74LS374 sollte nicht benötigt werden, die Schreibzugriffe gehen dann ins leere und gelesen wird Mist.
    In der Regel wird dieses Register aber nur beschrieben, das Command-Register 74LS273 und 74LS244 wir auch nicht zwangsweise benötigt.
    Dadurch können dann auch U1D, U6B und U6C weg. Das Statusregister U15 74LS244 muss bleiben. Damit können dann wohl auch noch ein paar weitere TTLs weg.
    Aber dann ist das Modul vermutlich mit anderer Software nicht mehr kompatibel.

    Gegenfrage warum haben hier viele ein Wi-Fi-Modem bzw. WiC-64?

    Edited 4 times, last by Natas (February 8, 2026 at 10:50 PM).

  • Wird es noch einen für Einsteiger tauglichen Fix geben? Es sind ja wohl deutlich > hundert Module rausgegangen, auch ins Ausland.

    den gibt es doch, frage bitte doch den wdoelker , der dich dann mit zu der konversation einladet.

    einfacher als nur mit drei schottky dioden, bekomme ich, trotzt weiteren überlegungen nicht mehr besser hin.

    man muss aber schottky dioden und es müssen 74hct02 und 74hct74, besser 74act02 und 74act74 benutzt werden.

    im notfall, solange man keine HCT und ACT = AHCT hat, kann man HC benutzen. die mitgeliefert wurden. ob nun die china fake alles HC sind und die nicht noch etwas anderes umgelabelt haben, kann ich nicht sagen. man kann es aber auch austesten. so da bitte auch den wdoelkerfragen.

    einfacher und preiswerter, ob nun für einen einsteiger oder einen erfahrenen tester, bekomme ich es nicht mehr hin.

    hier aber, in diesem thema, geht es ja um das von Natasvorgestellte modul.

    das ist etwas ganz anderes als das von bexxx ausgelieferte destest max.

    gruß
    helmut

    edit.....
    ich wurde gerade per email angeschrieben, ob ich zu der fix lösung mit dem GAL etwas sagen kann. das kann ich leider nicht, da ich mich nie mit den GALs beschäftigt habe, da die erst später auf den markt kamen.

    Helmut Proxa @axorp (HP.)

    proxa computer

    ultra electronic Helmut Proxa GmbH & Co. Computer Systeme Hardware Software KG - Telex 888 66 27 uehp

    Edited 2 times, last by axorp (February 8, 2026 at 11:32 PM).

  • Mir ist gerade etwas aufgefallen ich denke für den C64 kann man den Adressdecoder nicht so ohne weiteres umgehen, da dann die Verknüpfung zu PHI2 aufgehoben wird.
    Entschluss J6 und J7 kommt weg, J5(a/b) bleibt erstmal. Damit ist das Thema für mich erstmal abgeschlossen.

  • Wird es noch einen für Einsteiger tauglichen Fix geben?

    Wie axorp bereits beschrieben hat, diskutieren wir (woanders) gerade, ob man die Sammelbestellung mit 3 Schottkydioden und einem Widerstand "retten" kann. Viele Tests sehen gut aus, bei einigen gibt es aber noch Probleme, die gerade analysiert werden. Daher ist die "Lösung" auch noch nicht beworben worden.

    Das gehört aber nicht in diesen Thread, hier wird eine ganz andere Lösung/Idee von Natas diskutiert - die auch noch nicht spruchreif ist.

  • Wird es noch einen für Einsteiger tauglichen Fix geben?

    Wie axorp bereits beschrieben hat, diskutieren wir (woanders) gerade, ob man die Sammelbestellung mit 3 Schottkydioden und einem Widerstand "retten" kann. Viele Tests sehen gut aus, bei einigen gibt es aber noch Probleme, die gerade analysiert werden. Daher ist die "Lösung" auch noch nicht beworben worden.

    Das gehört aber nicht in diesen Thread, hier wird eine ganz andere Lösung/Idee von Natas diskutiert - die auch noch nicht spruchreif ist.

    wdoelker Soweit ich keine Fehler eingebaut habe (eher unwahrscheinlich) wäre der Schaltplan für ein SwiftLink-USB mit ROM-Sockel für DesTestMAX-SK fertig.
    Der Schaltplan der Version des DesTestMAX Switch mit 7-Segmente Display war auch vollständig, ob er fehlerfrei ist kann ich nicht sagen. Leider gibt es keine Software die das Display unterstützt.
    Der Schaltplan der Version mit dem 74646 ist 3/4 fertig, das ich aber keine ATMega 2560 einsetzen möchte sondern einen Arduino Nano V3.0 ATmega328P mit CH340C und OLED gehen mir die GPIOs aus.
    Somit werde ich diese Version einmotten und den 74646 gegen einen 74299 ersetzen und schauen ob die GPIOs dann genügen.

  • Hier gibt es eine schöne Übersicht über existierende Diagnose Hardware für den C64 Diagnostic Carts and Manuals - World of Jani

    Einige sind zumindest teilweise open source wobei sich das meist auf Hardware beschränkt, andere wurden reversed, und von einigen existieren nur ROM images.

    Jedes Modell scheint seine Stärken und viel wichtiger auch Schwächen zu haben.

    Ein all-in-one kann kaum eine Lösung sein.

    Was fehlt scheint ein Open Source ROM zu sein.

    DesTestMax und Full scheinen einer der besten Kandidaten für den RAM Test Teil zu sein leider Closed Source :(
    In besondere die SwiftLink Variante finde ich interessant.

    Check64 hat eine schöne Hardware siehe weiter oben. Darüberhinaus hat es GiJoe's Ultimax-RAM-Checker C64-ULTIMAX-RAM-TESTER im Selbstbau - kleine Bauanleitung für ein Wochenendprojekt - Reparaturecke - Forum64 hier habe ich nur BIN Files gesehen. Der Code basiert wohl auf Mac Bacon's Code https://www.forum64.de/wbb3/board2-c6…amm/index3.html.
    Die Frage ist, was funktioniert besser der DesTestMAX Code oder der von GIJoe/Mac Bacon?
    Die Bildschirmausgabe beim DesTestMAX scheint mir sehr gelungen.
    Was ich mich Frage, ob beide ROMs die Spriterregister als Data RAM Ersatz nutzen und was hier noch für schöne Tricks zum Einsatz kommen.
    Darüberhinaus enthält es die von kinzi aktualisierten Dead Test und Diag 582200++ ROMs.
    Weiß jemand zu fällig ob den Test ROMs die mit den Dongles u.a. den Tastaturanschluss testen, in beide Richtungen scannen?
    Da die Ausgabe auch bei einem kleinen Fehler BAD, derzeit gibt es konkret einen Fall bei dem nur einige Tasten nicht funktionieren, vermutlich eine Leiterbahnunterbrechung um PB4 .
    Hier wäre es schön wenn man wüsste lassen sich schon die Register nach dem beschreiben nicht mehr auslesen? ->CIA defekt.
    Sind nur bestimmte Spalten und Zeilen betroffen? Wenn ja welche?
    Oder verhält sich alles wie ohne aufgesteckten Testadapter?
    kinzi hast du die ROMs direkt gepatcht oder disassembliert und neu assembliert?

    Weiß jemand ob die C64 Diagnostic (Box) (CBM32517-02) und der Nachbau Roßmöller Doctor64 irgendwas wirklich gut können oder anders / besser als die bereit erwähnten ROMs?
    Das gleiche für die von Jani gelisteten anderen Module.

    Für das Modul ließe sich das noch deutlich vereinfachen, das Control-Register 74LS374 sollte nicht benötigt werden, die Schreibzugriffe gehen dann ins leere und gelesen wird Mist.
    In der Regel wird dieses Register aber nur beschrieben, das Command-Register 74LS273 und 74LS244 wir auch nicht zwangsweise benötigt.
    Dadurch können dann auch U1D, U6B und U6C weg. Das Statusregister U15 74LS244 muss bleiben. Damit können dann wohl auch noch ein paar weitere TTLs weg.

    Eine Light Version die nur das Statusregister und die damit verbundene Interruptlogik enthält und den FT245R als Datenregister sollte wenn man ein GAL verwendet deutlich übersichtlicher sein.

    Edited 2 times, last by Natas (February 9, 2026 at 11:26 AM).