Fehlersuche schwarzer Bildschirm/wirre Zeichen

  • Hallo crabro86 ,


    ich tippe auf die RAM-Bausteine, die würde ich testen/tauschen. Da im C64 die meisten ICs eingelötet sind, wäre eine Einschätzung Deiner Bastelkenntnisse (Löten/Messen/Werkzeug) hilfreich. Wenn löten für Dich ein Buch mit 7 Siegeln ist, bringt es wenig, Dir im Detail zu erklären, welche ICs zu testen sind. Aber dann können wir schauen, ob das jemand für Dich repariert. Wenn Du ein wenig Erfahrung hast und Dir die Reparatur zutraust, geben wir Dir gerne Tipps, wie man am besten vorgeht.

    Als erstes würde ich um ein Bild der Platine im Rechner bitten. Beim C64 gibt es sehr viele verschiedene Versionen, die sich äußerlich nicht unterscheiden, innen aber ganz anders aufgebaut sind.


    Gruß, Jochen

  • Ich bin mal so frei und zitiere aus dem Reparaturthread aus dem Forum64 zu finden unter: https://www.forum64.de/index.p…n-sollte-bevor-ich-frage/


    Ich hoffe ich dufte das hier einfach so posten, ansonsten bitte löschen und mir auf die Finger hauen.

  • Hatte ich letztens auch mal. PLA, U13 (glaub' ich) und RAM. Besorg' Dir am Besten mal einen DeadTest. Der kann zumindest kaputtes RAM erkennen.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Wenn man einen Computer für sich selber repariert, halte ich den Testharness für übertrieben. Wenn Tastatur, Userport oder Joystickport nicht funktionieren, merkt man das mit der Zeit und kann sich drum kümmern.

    Falls man den Computer natürlich weggeben will, ist es von Vorteil zu wissen, dass wirklich alles tut.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Hier jetzt noch Bilder der Platine.

    Was das handwerkliche angeht gibt es da keine Probleme, bin selbst Elektroniker und daher kann ich wohl mit dem Lötkolben und mit Messgerät umgehen 8-)

    Was Dead Test und c64 Diagnostics und Co angeht habe ich jedoch keine Ahnung.

    Aber ich merke schon, hier wird geholfen :thumbup:

  • Ich sehe da an U15 einen MOS 7711.

    Die MOS TTLs sind für hohe Ausfallraten bekannt.

    Den würde ich also direkt mal rauswerfen, und einen 74LS139 verbauen.

    Ok. Das werde ich dann mal machen. Aber gibt es da noch etwas, was ich als "Laie" testen kann ? Oder passt das zu meiner Fehlerbeschreibung ?

  • Okay, dann versuche ich mich mal an einer Diagnose und Hilfestellung...


    Vorab: mein Tipp läuft auf eine defekte PLA (U17) hinaus. Das Phänomen, dass der C64 mit schwarzem Bildschirm grüßt, nach diversen Resets dann plötzlich mal Bildschirmmüll anzeigt, aber grundsätzlich nicht darüber hinaus reagiert, lag meist genau daran. Die PLA übernimmt die Ansteuerung des RAMs und der meisten Chips, ist auch für das Ein- und Ausblenden der ROMs zuständig, und quasi als zentraler Verwalter des Systems. Je nach Defektgrad kann das zu völlig abstrusem Verhalten bis hin zum Blackscreen führen. Leider ist die PLA nicht nur ungekühlt, sondern gleichzeitig aufgrund ihrer Aufgaben auch hochbelastet, weshalb der Chip mit den Jahren gerne den schleichenden thermischen Tod stirbt. Ersatz zum Testen bietet (kurzzeitig zumindest) das Einsetzen eines entsprechend programmierten Eproms mit Adapter, das (vereinfacht gesagt) bei Anlegen eines Eingangsmusters als Adresse den von der PLA normalerweise generierten Ausgangswert auf den Eprom-Datenleitungen zur Verfügung stellt. Quasi ein PLA-Emulator. Ne Dauerlösung ist das aber nicht, besser ist da eine bekannt funktionsfähige PLA (zum Testen / Ersetzen).


    Bevor Du also an die PLA gehst, kannst Du noch folgendes machen:

    - Kernal-Eprom, -Umschaltplatine und -Sockel prüfen

    Im Sockel für das Kernal-ROM steckt ein 16K-Eprom, anscheinend mit Betriebssystemsumschalter. Prüf mal, ob (1) der Umschalter okay ist und die Lötstellen noch in Ordnung sind, und (2) der Inhalt des Eproms noch korrekt ist (im Eprommer auslesen und mit bekanntem ROM vergleichen, oder mal in die HEX-Codes reinschauen). Ggf. am besten zeitweiser Rückbau auf Original-ROM.


    - MOS 7711 auf U15 tauschen, wie Toast_r gesagt hat.

    Die MOS-TTLs haben einen recht schlechten Ruf, was ihre Lebensdauer, Empfindlichkeit und Ausfallresistenz betrifft. Der Austausch sollte nur ein paar Cent kosten - am besten gleich sockeln, natürlich!


    - 74LS08 auf U27 tauschen

    Der Baustein (4fach AND-Gatter mit je 2 Eingängen) ist u.a. mit dem ChipSelect des Farbrams (2114), dem Ready-Pin der CPU und dem AEC (Address Enable Control) des 6510 verbunden. Bei Defekt (Dauer-LOW oder -HIGH einzelner oder aller Ausgänge) könnte der LS08 also für die beschriebenen Probleme verantwortlich sein. Ist nur ein Cent-Bauteil, also würde ich hier nach Tausch von U15 mal als nächstes tauschen. Und sockeln. ;)


    Wo ich NICHT glaube, dass es defekt ist (zumindest nicht ursächlich für Dein Fehlerbild):

    - RAM

    Bei der Platinen-Revision werden noch 8 Stück 4164er RAM (64k x 1 Bit) verwendet. Jeder der Chips ist dabei für ein Bit pro Byte zuständig. Sofern hier nicht ein besonders kritisches Bit in der Zeropage bereits betroffen ist, äußern sich Fehler meist in falschen Zeichen auf dem Bildschirm, in stark verminderter angezeigter RAM-Größe (z.B. "2176 Basis Bytes free" o.ä.) oder eben in Fehlermeldungen. Solange die ROMs okay sind, läuft halt das Betriebssystem von dort, weshalb ein RAM-Fehler zumindest einen Start des Systems nicht verhindern sollte - selbst wenn mehrere Bits / Chips einen Schlag haben. Passt also nicht wirklich zu Deinem "schwarzer Bildschirm"-Symptom. Die RAM-Multiplexer U13 und U25 (74LS257) könnten übrigens bei RAM-ähnlichen Fehlern auch nen Defekt haben, was dann auch zu größerem Müll auf dem Bildschirm führen kann / dürfte (dort sieht man es am ehesten, weil der Bildschirm-RAM ja im "normalen" Speicher liegt).


    - VIC

    Das Bild sieht stabil aus, Farben und Zeichen sowie der Rahmen werden anscheinend stabil dargestellt und sehen korrekt aus (zumindest in der Annahme, dass hier Müll im RAM steht).


    - Char-ROM

    Die Zeichen sind okay, scheint also zumindest kein Fehler im Zeichengenerator zu sein.


    - Takterzeugung

    Das dürfte einer der selteneren Fehlerpunkte sein, geht meist auch mit Verzerrungen in der Bilddarstellung einher. Und *wenn* Du ein Bild kriegst, sieht das zumindest ganz okay aus.


    Ein C64 Dead Test plus Diagnostics Modul ist (inkl. Harness) übrigens immer sinnvoll, wenn man den einen oder anderen C64 schnell mal überprüfen möchte. Voraussetzung ist dafür natürlich, dass der 64er überhaupt startet. Wenn er das aber tut, kriegst Du eine übersichtliche Grobdiagnose des Systems, und mit dem Harness auch der I/O-Bereiche. Ob das für den "einzigen einsamen C64 in der Sammlung" schon lohnt, muss jeder für sich selbst entscheiden, bei mehreren Geräten aber auf jeden Fall!


    Back to the basic topic:

    Im Forum64 hatte mal ein Kollege ähnliche Probleme mit einem C64 dieser Revision, allerdings mit einer relativ verbastelten / kaputtreparierten ASSY 250407. Hier der Link - https://www.forum64.de/index.p…ehr-gel%C3%B6st/&pageNo=1


    Und auch für Dich nochmal ein Link zu einer "grafischen Diagnose"-Seite, die recht hilfreich sein kann, um verschiedene Fehlerbilder zu verorten:

    https://derbian.webs.com/c64diag/


    Vielleicht hilft Dir da ja was weiter. Wäre schön, wenn es mal NICHT die PLA wäre...


    Grüße aus Frankfurt,

    Ralph.

  • Bevor Du also an die PLA gehst, kannst Du noch folgendes machen:

    - Kernal-Eprom, -Umschaltplatine und -Sockel prüfen

    Im Sockel für das Kernal-ROM steckt ein 16K-Eprom, anscheinend mit Betriebssystemsumschalter. Prüf mal, ob (1) der Umschalter okay ist und die Lötstellen noch in Ordnung sind, und (2) der Inhalt des Eproms noch korrekt ist (im Eprommer auslesen und mit bekanntem ROM vergleichen, oder mal in die HEX-Codes reinschauen). Ggf. am besten zeitweiser Rückbau auf Original-ROM.

    Vielen Dank für die ausführliche Erklärung, aber nun komme ich als Dummy;

    Eprom auslesen und so, wie mache ich das ?

  • Eprom auslesen und so, wie mache ich das ?

    Dafür bräuchtest Du idealerweise einen Eprom-Brenner, wobei der natürlich nicht für den C64 sein muss, sondern lieber ein moderneres Gerät am PC. Mit der zum Brenner gehörigen Software kannst Du normalerweise auch direkt ein eingesetztes Eprom auslesen und Dir den Inhalt als Hex-Codes und daneben als ASCII-Text anzeigen lassen. Da siehst Du dann meist sehr schnell, ob der Inhalt des Eproms Schrott ist, oder ob es sich um validen 6502/6510-Maschinencode handelt. Bzw. ob auch ganz "normale" und lesbare Texte (Einschaltmeldung etc.) im Dump zu finden sind. Notfalls hilft hier auch ein Vergleich mit einem ROM-Listing wie z.B. aus dem "64 intern"-Buch von Data Becker, dass sich möglicherweise irgendwo als PDF downloaden lässt - das Kernal-ROM liegt im Bereich von $E000 bis $FFFF beim 64er, und im ROM-Listing sind (nach meiner Erinnerung) auch die Hex-Codes der einzelnen ROM-Inhalte neben dem disassemblierten Listing dokumentiert,


    Wie gesagt - dieser Umbau / Einbau einer Eprom-basierten Kernal-Umschaltung ist ein potentieller Fehlerquell, auch weil da oft Leute ohne wirkliche Lötkenntnisse und (gefühlt) mit einer industriellen Lötlanze sich zum Basteln berufen fühlten. Das resultierte dann oft (siehe obigen Link ins Forum64) in kaputtgelöteten Boards, weshalb man hier immer die Lötqualität prüfen sollte (Kontakte der Chip-Pins zu Punkten auf der Platine, gemäß Schaltplan, und ebenfalls die Vias (Durchkontaktierungen) - manches mal hat da eine solche Via-Verbindung schon beim Auslöten des originalen ROMs aufgegeben und sich mehr an das ROM-Beinchen als an das Mainboard geklammert.


    Bei Fehlern schaue ich daher IMMER zuerst nach, ob am Board schon gebastelt oder was modifiziert wurde, und prüfe diese Sachen doppelt genau bzw. baue sie zurück. Ist natürlich problematisch, falls Du keine anderen 64er (bevorzugt gesockelte Chips dort) hast, um mal schnell einen originalen Kernal-ROM einzusetzen.


    Achja, blöde Frage: wenn im Eprom wirklich 2 Kernals sitzen sollten und das Gebastel eine Umschaltung ist - hast Du schonmal eine ggf. existierende zweite Schalterstellung ausprobiert? Muss ja, falls 2 Kernals gebrannt sind, nicht sein, dass beide korrupt wären, vielleicht hast Du ja Glück. Falls es überhaupt das ROM ist.


    Um nochmal auf meinen obigen Post zurückzukommen:

    Durch das unzuverlässige Startverhalten mit meistens erscheinendem Blackscreen gehe ich sowieso aus eigener Erfahrung am ehesten von einer defekten PLA aus. Die Logik-ICs und das ROM sind daher vor allem Diagnosen, die schnell und günstig VOR einem Austausch der PLA zu realisieren sind. Die TTLs haben viele Bastler in der Vorratskiste, ansonsten kosten sie nur Centbeträge, und die kleinen Käfer sind schnell ausgelötet. Hast Du dann so die "einfacheren" Fehler ausgeschlossen und der Cevi läuft weiterhin nicht, dann muss es halt doch die PLA-Reparatur sein, denke ich. Aber falls der Rechner nach den obigen Schritten wieder läuft, hättest Du Dir einiges an Aufwand erspart. Ich dachte auch, Deinen Herangehenswunsch so verstanden zu haben.

  • Hier jetzt noch Bilder der Platine.

    Was das handwerkliche angeht gibt es da keine Probleme, bin selbst Elektroniker und daher kann ich wohl mit dem Lötkolben und mit Messgerät umgehen 8-)

    Was Dead Test und c64 Diagnostics und Co angeht habe ich jedoch keine Ahnung.

    Aber ich merke schon, hier wird geholfen :thumbup:

    Vielen Dank für die ausführliche Erklärung, aber nun komme ich als Dummy;

    Eprom auslesen und so, wie mache ich das ?

    Jetzt muß ich eine dumme Frage stellen... als Elektroniker hast Du nie mit EPROMs zu tun gehabt, nicht mal in der Ausbildung ?


    Oh...ha...

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Also ich würde wirklich empfehlen, als erstes mal ein Deadtest Modul anzuschließen. Wenn das ROM nur kaputt ist und der Sockel nicht irgendwelche Leitungen kurz schließt, würde der Deadtest laufen. Also dazu am Besten den Umschalter einfach raus nehmen.

    C64 / Amiga 500, 1000, 1200, 2000 / SUN IPC, SparcStation 5, Ultra 1, Ultra 10 / MiSTer FPGA / ULX3S

  • Elektroniker für Gebäudetechnik, also im Handwerk auf dem Bau gelernt, da habe ich nichts mit solchen Bauteilen zu tun gehabt.

    Und in meinem jetzigen Beruf auch nicht. Daher diese Fragen :)

  • Ich werde jetzt erstmal alle Lötstellen nochmal kontrollieren und natürlich auch die verbauten Schalter etc.

    Danach werde ich mich an eure weiteren Herangehensweisen halten.

  • U15 und U27 sind getauscht. Alle anderen Kontakte kontrolliert, ohne Auffälligkeiten. Schalter auch alle i.O.


    Nun zeigt das Bild folgendes unmittelbar nach dem Start.


  • Was macht der Rechner bzw. die Bildschirmausgabe denn, wenn Du Reset drückst (Du hast ja nen Reset-Taster an seriell oder Userport)? Ändert sich das Farb- und insbesondere das Pixelmuster in der Darstellung? Der "Pixelmüll" sieht sehr regelmäßig aus, was primär auf einen Fehler in einigen Ram-Bausteinen hinweisen könnte. Darauf weist auch der Fehlerguide bei https://derbian.webs.com/c64diag/fault.htm?id=u12_3 hin. (Wäre natürlich klasse, wenn wie auf der Seite dort sich der Rechner nach einem Reset dann mit Einschaltscreen melden würde...)


    Die bereits von mir genannten Multiplexer auf U13 und U25 sind da auch ebenfalls Kandidaten als Mitauslöser. Und die PLA möchte ich weiterhin nicht ausschließen...


    Ich finde es aber schon als Erfolg, dass nun offensichtlich das System immer direkt mit einem sichtbaren Bild (wenn auch voller Müll) startet - das ist deutlich besser zu diagnostizieren als ein Screen, der nur ab und zu überhaupt was anzeigt.

  • Das Betätigen der Reset Taste ändert nichts.

    Werde nun mal weiter schauen. Was würde man als nächstes Tauschen ? U13 und U25 ? Oder die RAM Bausteine ? Oder doch sogar eine neue PLA besorgen ?