Hallo Besucher, der Thread wurde 5,2k mal aufgerufen und enthält 48 Antworten

letzter Beitrag von ch1ller am

Neuer C64-Patient 250407 mit Black screen

  • Hallo,


    ich habe ein Problem mit einem C64 (Black screen), dem ich beim "Sterben" zusehen konnte. Ich hatte den Rechner längere Zeit gelagert und wollte ihn nun für ein Projekt in Betrieb nehmen und habe erstmal Diagnose 64 durchlaufen lassen. Schon beim ersten Durchlauf wurden Userport + seri. Port als "Bad" angezeigt. Es erschienen einzelne Zeichen auf dem Bildschirm wo sie nicht hingehörten. Bei den nächsten Durchläufen von Diagnose 64 wurde noch was weiteres als "BAD" angezeigt, das erinnere ich aber nicht mehr. Im Testbild fehlte der rote Farbanteil. Irgendwann war das Diagnose64 dann eingefroren, danach nur noch Black screen.


    Folgendes habe ich geprüft:

    Gesockelte ICs VIC, PLA, CIA2 sowie MC4044 und 74LS629 gegen funktierende getauscht -> keine Änderung

    Sicherung okay

    12V und 5V Spannungsregler okay, Spannungen okay, Netzteil okay

    Resetleitung Pin 40 der CPU muss nach Anschalten 1-2 Sek auf Low stehen und dann auf High gehen -> funktioniert

    Prüfen, ob der Takt (0,985249 MHZ) an Pin 39 des 6510 anliegt -> ja, Frequenz stimmt

    Prüfen, ob folgende Takte am VIC anliegen:

    - PIN 21: 17,734472 MHz -> ja, Frequenz stimmt

    - PIN 22: 7,88 MHz -ja, Frequenz stimmt

    An Pin 6 der CPU müssen 5 Volt anliegen, an Pin 21 GND. -> ja

    Startbild kommt auch ohne SID nicht

    Alle 8 Rams "Huckepack" überbrücken -> keine Änderung, es wird auch kein Ram außergewöhnlich heiß

    Es sind 5 x M3764-20RS und 3 x TMS4164-20NL -eingebaut (keines gesockelt)

    Das Videoram "Huckepack" überbrücken: MM2114N-3 -> keine Änderung

    Dead Test Modul startet nicht

    CPU 6510 überprüfen, ob an folgenden Pins des Prozessors Impulse anliegen: 7 bis 20, 22, 23, 30 bis 39

    -> keine Impule (dauer-high) an: 15,16, 19,20, 22,23, 38

    Die beiden Multiplexer (2 x 74LS257) prüfen: Freigabesignal Pin 15: -> An beiden ICs zeigt Logictester "Pulse" -> okay

    ROMs testen, _CS-Signal an Pin 20. Es darf nicht dauernd HIGH sein sondern muss hin und wieder nach LOW wechseln.

    Im Leerlauf wird das BASIC-ROM (901226-01) nicht angesprochen (= HIGH), man kann aber einfach über das Drücken der RETURN-Taste Zugriffe produzieren.

    901225: okay

    kernal-Eprom: okay

    901226: dauerhigh, auch bei Druck auf RETURN-Taste oder andere Tasten


    Könnte es sein, dass mein BASIC-ROM defekt ist ?


    Oder wäre erstmal zu klären, warum an der CPU die Adressleitungen A8,A9 und A12-15 auf dauer-high sind ?


    Wie könnte ich weiter vorgehen ?


    Grüße,

    Ralf

  • Hi Ralf.

    Ich bin jetzt nicht DER Hardware-Profi, aber wenn ich das richtig sehe zeigen die Adressleitungen auf $D800 also das Farb-RAM und machen sonst nix? Das würde bedeuten das die CPU steht. Macht die CPU nach einem Reset denn erstmal was? Also "springt" sie zuerst nach $FFFC / $FFFD? Ansonsten würde ich in meiner Unwissenheit noch Pin 2 checken da vielleicht der VIC die CPU anhält.


    Gruß Tom

  • Alle 8 Rams "Huckepack" überbrücken -> keine Änderung, es wird auch kein Ram außergewöhnlich heiß

    Das Videoram "Huckepack" überbrücken: MM2114N-3 -> keine Änderung

    Diese Methode ist äußerst unzuverlässig und sagt nichts aus (außer wenn es klappt). Es kann trotzdem ein RAM defekt sein und den Bus runterziehen.

    Dead Test Modul startet nicht

    Nach Möglichkeit bitte mal meinen gepatchten Dead Test verwenden, der würde schon vor dem ersten RAM-Test Rahmen- und Hintergrundfarbe auf türkis setzen, da würde man sehen, ob die CPU überhaupt anläuft.


    Siehe dazu: Bedarf für eine neue C64-Diagnose Platine?

    901226: dauerhigh, auch bei Druck auf RETURN-Taste oder andere Tasten


    Könnte es sein, dass mein BASIC-ROM defekt ist ?

    Möglich, aber "dauerhigh" bedeutet hier ja nur, dass es nicht selektiert wird - was auch klar ist, weil der Rechner nicht anläuft. Warum sollte das BASIC-ROM dann irgendwann selektiert werden ...

    Oder wäre erstmal zu klären, warum an der CPU die Adressleitungen A8,A9 und A12-15 auf dauer-high sind ?

    Das wäre die Adresse $F300, sofern die anderen Leitungen "dauerlow" sind. Oder ist auf den anderen Adressleitungen "Verkehr"?


    Ich würde so vorgehen:

    • Alles raus, was an "großen" ICs gesockelt ist, bis auf VIC, CPU, PLA.
    • Dead Test patchen.
    • Dead Test stecken.
    • Einschalten.

    [EDIT] Auch und vor allem die ROMs. [/EDIT]

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Also auf allen anderen Datenleitungen ist "Verkehr". Ich werde dann erstmal das neue Dead-Test brennen und weiter berichten.

    Und auf den Adressleitungen? Weil die Datenleitungen werden auch vom VIC beackert (in der VIC-Phase), das kannst du nicht unterscheiden ohne z. B. Logic Analyzer.

    Es geht um die Adressleitungen, die nicht permanent auf high sind (siehe dein Post oben).

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Dann würde ich auf PLA tippen, aber das hast du ja ausgeschlossen?

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Andere Frage: Wie hast du denn das "Dauerhigh" gemessen - mit dem Multimeter? Oder mit dem Oszilloskop?

    Weil mit dem Multimeter ist das wenig aussagekräftig, das ist zu träge.


    Die Aktivität auf den Adressleitungen hast du an der CPU gemessen?

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Das "Dauerhigh" habe ich mit einem Logiktester geprüft. Der gibt neben den 3 LEDs für High, Low und Pulse auf entsprechende Töne aus. Die Aktivität auf den Adressleitungen habe ich direkt an den CPU-Pins gemessen. Die funktionierende PLA habe ich direkt von einem funktionierenden C64 genommen.


    Ich habe mir jetzt das oben verlinkte Dead Test Rom in einen 27C64 gebrannt. Allerdings habe ich gerade festgestellt, dass mein Dead Test Cart. nicht funktioniert (auch mit dem urspr. Eprom nicht - ein funktionierender C64 bringt trotz eingestecktem Modul nur das normale Einschaltbild). Ich hatte das Eprom einfach in eine 8K Eprom-Karte eingesetzt und dachte das funktioniert so. Aber da gibt es ja einige Besonderheiten. Ich hatte auf der Epromkarte schon folgendes geändert:

    GAME (Pin 8 Exp.Port) auf GND

    EXROM (Pin 9 Exp.Port) auf 5V

    ROMH (Pin B Exp.Port) an CE und OE (Pin 20 und 22 Eprom)


    Jetzt bringt der funktionierende C64 mit gesteckter Eprom - Karte mit dem Dead Test gar kein Einschaltbild mehr.


    Edit: Jetzt funktioniert das Modul am intakten C64 - gleich teste ich es an dem defekten.


    Grüße,

    Ralf

  • Die funktionierende PLA habe ich direkt von einem funktionierenden C64 genommen.

    Schlechte Idee ... immer dubiose Bauteile in guten Rechnern testen, nie gute Bauteile in defekten Rechnern.

    Ich hatte das Eprom einfach in eine 8K Eprom-Karte eingesetzt und dachte das funktioniert so

    Nein, das klappt nicht. Dead Test läuft im Ultimax Mode, nicht als CBM80-Modul. Aber das hast du eh schon bemerkt. :)

    GAME (Pin 8 Exp.Port) auf GND

    EXROM (Pin 9 Exp.Port) auf 5V

    ROMH (Pin B Exp.Port) an CE und OE (Pin 20 und 22 Eprom)

    /ROML hast du aber davor schon durchtrennt?

    /EXROM brauchst du nicht auf 5 V legen, /GAME und /EXROM werden C64-intern mit einem Pull-Up auf 5 V gezogen.


    [EDIT]

    habe ich mit einem Logiktester geprüft.

    Der ist viel zu langsam, da siehst du nicht, ob nur sehr viel in Fxxx herumgegurkt wird (A15..A12=1) oder ob die wirklich auf "dauerhigh" hängen. Nachdem "Verkehr" auf den anderen Adressleitungen ist, würde ich mal von ersterem ausgehen.


    [/EDIT]

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


    Einmal editiert, zuletzt von kinzi ()

  • Jetzt habe ich das nunmehr funktionierende Dead Test am defekten C64 probiert. Es startet und alle Tests laufen mit "OK" durch. Das Diagnose64 Modul startet nach wie vor nicht - ebenso wie beim Startversuch ohne Modul kommt nur der Black Screen.


    Sehr merkwürdig. An dem C64 ist alles original bis auf das Kernal, dort habe ich eine 2-fach Kernal Umschaltplatine (von ADAC). Kann es sein, dass die sich mit dem 250407 Board irgendwie nicht verträgt ?


    Grüße,

    Ralf

  • Jetzt habe ich das nunmehr funktionierende Dead Test am defekten C64 probiert. Es startet und alle Tests laufen mit "OK" durch.

    Sehr gut.

    Das Diagnose64 Modul startet nach wie vor nicht - ebenso wie beim Startversuch ohne Modul kommt nur der Black Screen.

    Dann ist der Kernal defekt.

    Sehr merkwürdig. An dem C64 ist alles original bis auf das Kernal, dort habe ich eine 2-fach Kernal Umschaltplatine (von ADAC). K

    Oder die Kernalumschaltplatine hat was.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Bei beiden war die CPU kaputt.

    Dann war wohl der CPU-Port kaputt, die drei untersten Bits stellen die Speicherkonfiguration ein (über das PLA); diese werden im Ultimax Mode ignoriert und daher lief der Dead Test offensichtlich.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Sehr merkwürdig. An dem C64 ist alles original bis auf das Kernal, dort habe ich eine 2-fach Kernal Umschaltplatine (von ADAC). Kann es sein, dass die sich mit dem 250407 Board irgendwie nicht verträgt ?


    Grüße,

    Ralf

    Mach mal Foto (Vorder und Rückseite).. Welche Platine hast Du? Was für ein Eprom ist drauf?


    Ist es so eine?


    Ist der Kernal im anderen Rechner gesockelt? Dann Test mal die Kernal-Umschaltplatine dort...


    Bzw. wenn Du noch nen einfachen Kernal hast test den doch mal...

  • So, das lies mir keine Ruhe...


    ADAC hat ja aktuell diese Umschaltplatine im Marktplatz, tippe mal darauf, dass ralf02 so eine bei sich jetzt drinnen hat.

    Ich selbst hatte mit dieser Platine schon mal ein Problem in einer 1541 und einem 27C64 ROM (also ohne irgendwelche Widerstände oder Schalter).

    ADAC hate ich daraufhin ebenfalls mal gefragt, ob er auch alles getestet hat, weil auf der Github-Seite von der Platine explizit dabei steht, dass diese nur mit dem 27C512 getestet wurde..


    Nun hab ich mal flux eine zusammengelötet und mit einem Schalter bestückt.



    Als Kernal hab ich den Standard C64 Kernal + SD2IEC Kernal (in dieser Reinfolge in eine Datei zusammengehängt) auf ein 27C128A gebrannt.

    Wenn der Schalter offen ist dann kommt der SD2IEC Kernal



    Ist der Schalter aber geschlossen, dann kommt ein Black Screen und der Deadtest funktioniert - so wie bei ralf02




    Als ich seinerzeit das Problem hatte, hab ich noch umständlich die Pins miteinander verlötet...

    Erst später danach hab ich mir mal die passenden Pins/Pads angeschaut und ne einfachere Lösung gefunden...



    Und siehe da... danach rennt auch der Standard Kernal...


  • Hier ein Foto von der Oberseite der Platine, die ich drinne habe:



    Die Unterseite kann ich derzeit nicht fotographieren, da ich den Adapter fest eingelötet habe. Grund: In diesem C64 war schon vorher eine große Umschaltplatine eingebaut (4-fach, selbstgeätzt, mit 4 Eproms bzw 3 Eproms + original Kernal). Der Sockel war daher völlig ausgeleiert und musste ohnehin raus. Als Eprom benutze ich ein MBM27128-25. Da hatte mir ADAC schon das Kernal für das IEEE-Interface und original Kernal reingebrannt.

    Das ganze lief auch anfangs, zwischen beiden Systemen ließ sich anfangs auch umschalten. Dann erinnere ich mich, dass bei dem IEEE-Kernal plötzlich der Cursor zu "rennen" anfing (er blinkte nicht mehr wie gewohnt im Halbsekundentakt sondern flimmerte eher). Dann hatte ich die Tests mit Diagnose 64 begonnen und es ging so weiter wie im Post#1 beschrieben.


    Ich prüfe jetzt erstmal, ob zwischen den Pins irgendwo eine Lötbrücke / sonstiger Kurzschluss ist und ob Kontakt von der Platinenunterseite des C64 nach "oben" überall besteht. Ein original Kernal müsste ich noch haben. Kann ich das einfach so einsetzen ? (Schalterstellung egal ?). Setze ich das Kernal so ein, dass dann auf dem Foto oben links die 2x2 Pins in der Fassung frei bleiben ?


    Grüße,

    Ralf

  • @chiller Du solltest nicht die Pads miteinander verlöten, sondern die Widerstände bestücken, die da reingehören. Die ziehen bei einem 27C512 die Leitungen A13, A14, A15 (Pins 26, 27, 1) nach Vcc, damit da drei Schalter gegen GND drangeflanscht werden können, um die insgesamt acht Bänke des 27C512 auswählen zu können. Macht man kleinere EPROMs rein, braucht es diese Widerstände trotzdem, weil je nach EPROM die Pins 26, 27, 1 andere Bedeutungen haben und diese auf Vcc gehören (bzw. jedenfalls nicht offen sein dürfen).

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Siehe forum64.de/gallery/index.php?image/3180/


    Besonders Pin 27 muss bei 2764 und 27128 auf Vcc leigen, sonst ist "dunkel".

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • @chiller Du solltest nicht die Pads miteinander verlöten, sondern die Widerstände bestücken, die da reingehören. Die ziehen bei einem 27C512 die Leitungen A13, A14, A15 (Pins 26, 27, 1) nach Vcc, damit da drei Schalter gegen GND drangeflanscht werden können, um die insgesamt acht Bänke des 27C512 auswählen zu können. ).

    :nixwiss:




    Macht man kleinere EPROMs rein, braucht es diese Widerstände trotzdem, weil je nach EPROM die Pins 26, 27, 1 andere Bedeutungen haben und diese auf Vcc gehören (bzw. jedenfalls nicht offen sein dürfen).

    Aha, na dann passt es doch mit den Brücken bei einem 64/128er Eprom, wenn an die Pins eh VCC ran muss :):D:whistling:


    Vielleicht sagt das jemand mal dem Inschennieurrrr, damit das auf der Seite dann korrigiert wird...