C64 Schwarzer Bildschirm (ASSY 250466)

  • CommieSurfer schrieb:

    @Threaderöffner:
    -Wegen der aktuell von Kinzi u. vorher von dir erwähnten PLA: Hattest du diese überhaupt wirklich schon aufgelötet u. getestet ? Zumindest auf den Bildern kommt die PLA schliesslich noch immer eingelötet / ohne Sockel daher.
    Die PLA ist schon seit den ersten Bildern gesockelt. Deutlich ist der Präzisiossockel zu sehen. Aber ich sehe keinen Zwischensockel. Ich habe hier im Forum immer wieder gelesen, dass ausgelötete ICs besser nur mit einem Zwischensockel in einen Präzisionssockel gesteckt werden sollten. Die auslöteten IC-Beinchen entsprechen nicht mehr 100%tig der Norm (in beliebiger Kombination: abgeschnitten, verbogen und zu viel Lötzinn) und könnten den Präzisionsockel schädigen -> Kontaktprobleme. Zumindest klingt diese Begründung sehr einleuchtend.
  • Gut, dann scheint das ein an den Rändern schmalerer Sockel als der vom SID - der Präzisionssockel. Den sieht man dadurch schlechter.
    Wenn man's genau nimmt, sollte man das so wie du es sagst machen. [Bin aber eher einer, der (dauerhafte) Kontaktprobleme bei / trotz / wegen Präzisionssockeln für übertrieben hält. Das wird schon alles da drinne seinen Kontakt haben.
    Nachmessen.. .]

    CommieSurfer schrieb:

    (Fast) eben nur 4 Bausteine weniger. Wie man sieht, war es das an Fehler natürlich auch nicht ;). *Scherz*
    ich meinte natürlich eher sechs statt vier weniger (bezogen nur auf die Anzahl der Ram Bausteine) ;). Aber das ist eh jetzt unwichtig.. .
    ' war Anfang 2000 schonmal unter dem Kennnamen 'c64fan' hier unterwegs.
  • Hallo,

    mir war bei meiner gestrigen Messaktion leider ein Fehler unterlaufen.
    Ich hatte tatsächlich eine defekte PLA im Sockel :böse
    Sorry dafür!

    Jetzt habe ich noch einmal die Aktion mit einer definitiv funktionierenden PLA (unmittelbar vorher lief mein anderes Board damit) durchgeführt.
    Die Oszi Bilder habe ich aktualisiert und hier angehängt.
    Jetzt sieht man auch auf PIN 15 der PLA (CHARROM) Aktivität und kein Low Level mehr, siehe Oszi Bild Nr. 15 rechts.

    Somit ist meine Aussage, dass an einem der ROM Bausteine kein CS anliegt hinfällig.

    @Kinzi:
    • Pegel an den CPU-Pins:
      • 29 = Portbit 0 (P0) = "LO RAM" --> +5V
      • 28 = Portbit 1 (P1) = "HI RAM" --> +5V
      • 27 = Portbit 2 (P2) = "CHAR EN" --> +5V


    • Durchgang von diesen Pins auf die PLA:
      • "LO RAM" - CPU Pin 29 <-> PLA Pin 8 <1 Ohm, Pegel +5V
      • "HI RAM" - CPU Pin 28 <-> PLA Pin 7 <1 Ohm, Pegel +5V
      • "CHAREN" - CPU Pin 27 <-> PLA Pin 6 <1 Ohm, Pegel +5V
    [EDIT]

    Und auch noch:
    • Durchgang von den PLA-Ausgängen auf die ROM-CS-Eingänge:
      • PLA Pin 16 <-> KERNAL-ROM (U4) Pin 20 <1 Ohm
      • PLA Pin 17 <-> BASIC-ROM (U3) Pin 20 <1 Ohm
      • PLA Pin 15 <-> CHAR ROM (U5) Pin 20 <1 Ohm
    In dem Bereich sieht es scheinbar ganz gut aus...


    @knusis


    Ich nehme mir deine Hinweise bezüglich der Sockel zu Herzen.
    Habe mittlerweile beim Reichelt welche mit Doppelfeder bestellt.

    @Parser
    Sicherung habe ich Quergetauscht, Halter und Sicherungskontakte sind blitzblank. --> keine Änderung.
    SID PIN 28 --> 12,1V
    SID PIN 25 --> 5,03V

    Hier die aktuellen Bilder aller PINs der PLA. Links funktionierendes Board, rechts defektes Board.
  • Ich habe hier u. a. noch zwei C64-Testrechner ... ich könnte z. B. deine neu erworbenen RAMs mal gegenchecken.

    Die beiden Nullkraftsockel in dem rechten Bild sind bewusst gewählt ... eines liefert ein schwarzes Bild bei einem eingesetzten, defekten RAM, das andere eine buntes Bild mit wirren Zeichen.
    Bilder
    • 20170127_230510.jpg

      109,33 kB, 1.200×675, 17 mal angesehen
    • 20170127_230511.jpg

      102,16 kB, 941×750, 23 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Parser ()

  • Lief der C64 im Leerlauf oder war da ein Modul (CHECK64 o. ä.) angesteckt bei diesen Bildern? (Vermutlich "Leerlauf", es sieht so aus als wären /EXROM und /GAME auf HI.)

    So wie es aussieht, greift die CPU auf das Kernal zu (Aktivität auf Pin 16 der PLA). Es wird aber der VIC nicht initialisiert. D. h. die CPU kann nicht in die VIC-Register schreiben. Ich rate jetzt mal, dass der Adressbus von der CPU nicht durch die Multiplexer auf den VIC durchkommt. Ich rate weiter, dass das am fehlenden /OE-Signal an den Multiplexern liegt.

    Kannst du bitte mal an Pin 15 der Multiplexer (74LS257, U13, U25) mit dem Oszi messen? Das ist der /OE (Output-Enable-Pin). Ich würde raten, der liegt fest auf +5 V.
    Das /OE-Signal kommt von Pin 4 von U8, einem 7406 (Inverter). An dessen Eingang Pin 3 müsste das AEC-Signal des VIC, welches auch auf VIC Pin 16 liegt zu sehen sein.

    Wenn an Pin 3 des 7406 das AEC-Signal zu sehen ist und am Pin 4 nur +5 V, dann mal den 7406 tauschen.

    [EDIT]
    Das müsste alle Symptome erklären:
    • VIC wird nicht initialisiert -> Kein Bild.
    • KERNAL-ROM wird angespochen (RESET-Routine usw.) -> Aktivität auf Pin 16 der PLA (/CS für KERNAL-ROM). RAM-Test wird gestartet.
    • RAM kann nicht angesprochen werden (ebenfalls wegen o. a. Problem, gleiche Ursache) -> Speichertest wird nicht abgeschlossen -> keine "normale" Funktion des C64 = kein "blindes LOAD" möglich.
    [/EDIT]
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kinzi ()

  • Parser schrieb:

    Die beiden Nullkraftsockel in dem rechten Bild sind bewusst gewählt ... eines liefert ein schwarzes Bild bei einem eingesetzten, defekten RAM, das andere eine buntes Bild mit wirren Zeichen.
    Das sind aber Sockel für 4164 RAMs. Die 250466 benutzt allerdings 41464 RAMs, die haben 2 Pins mehr und sind anders beschaltet, kannst du also in diesem Board nicht testen.
  • Hallo,

    Lief der C64 im Leerlauf oder war da ein Modul (CHECK64 o. ä.)
    angesteckt bei diesen Bildern? (Vermutlich "Leerlauf", es sieht so aus
    als wären /EXROM und /GAME auf HI.)

    --> Im Leerlauf. Habe jetzt aber auch eine Final Cartridge III zur Verfügung, hatte diese gerade das erste Mal gesteckt und seit seinem Versterben wieder ein Lebenszeichen auf dem Monitor erhalten, siehe Bild :thumbsup:

    Dieser Wirrwarr an Buchstaben hatte zuerst geflackert, dann nach drücken des RESET Knopfes am Modul war das Flackern weg und das Bild stand ruhig. C64 ausgeschalten und wieder eingeschalten mit installiertem Modul --> Bildschirm wieder schwarz.
    Nach mehrmaligem ein- und ausschalten kam dann das Flackerbild wieder. Einmal hatte ich diesen Zeichensalat auch einfarbig in lila Farbe.



    So wie es aussieht, greift die CPU auf das Kernal zu (Aktivität auf Pin
    16 der PLA). Es wird aber der VIC nicht initialisiert. D. h. die CPU
    kann nicht in die VIC-Register schreiben. Ich rate jetzt mal, dass der
    Adressbus von der CPU nicht durch die Multiplexer auf den VIC
    durchkommt. Ich rate weiter, dass das am fehlenden /OE-Signal an den
    Multiplexern liegt.


    Kannst du bitte mal an Pin 15 der Multiplexer (74LS257, U13, U25) mit
    dem Oszi messen? Das ist der /OE (Output-Enable-Pin). Ich würde raten,
    der liegt fest auf +5 V.
    --> Nein, da liegt eine um 180 Grad verschobene Prozessortaktfrequenz an.


    Das /OE-Signal kommt von Pin 4 von U8, einem 7406 (Inverter). An dessen
    Eingang Pin 3 müsste das AEC-Signal des VIC, welches auch auf VIC Pin 16
    liegt zu sehen sein.
    --> Das ist es leider nicht, der Iverter invertiert, siehe Bild, gemessen an Pin 3 und Pin 4 vom 7406.



    Viele Grüße
    Jens
  • OK, das hilft uns weiter:
    • Der 7406 ist OK nach deiner Beschreibung. Die Invertierung ist OK, das soll so sein. :thumbup:
    • Die CPU ist vermutlich in Ordnung, es wird auf Modulkennung geprüft und eines gefunden. Der VIC wird initialisiert, zeigt aber nur Müll, da der Zugriff auf das RAM vermutlich in die Binsen geht.
    • Das KERNAL ROM ist OK, sonst würde die Modulerkennung nicht funktionieren.
    Ich würde ja lauthals "PLA" schreien, vor allem bei dem Fehlerbild mit dem Cartridge, aber die kann es ja nicht sein.

    Also bleibt für mich das RAM (es sollen schon defekte neue geliefert worden sein :) ) oder die Multiplexer.

    Bitte miss mal mit dem Oszi an den Multiplexern an Pin 1, ob da das /CAS-Signal anliegt; das ist das Signal, das auch am VIC Pin 19 und an der PLA Pin 9 anliegt. Mit diesem Signal werden die Multiplexer umgeschaltet. Wenn es fehlt kracht's. Je nach Lage (A oder B) kann aber der VIC durch die CPU initialisiert werden. Der RAM-Test hingegen schlägt weiterhin fehl, wodurch ohne Modul der C64 nicht startet.

    [EDIT: Typos und ...]

    Evtl. ist auch (nur) einer der beiden Multiplexer kaputt, oder auch beide. Da wäre dann evtl. mal "Tausch auf Gefahr" angesagt. :D

    [/EDIT]

    [EDIT #2]

    Weiß jemand, was wirklich passiert, wenn gar kein RAM gefunden wird beim RESET? Ich bin leider zu schlecht im Lesen des ROM-Listings. Klar ist, es wird bei $FD50 der Bereich $0002-$00FF, $0200-$02FF und $0300-$03FF "blind" gelöscht und dann ab $0400 das RAM getestet. Was da passiert, wenn kein RAM gefunden wird - außer dass der Test abgebrochen wird - ist mir unklar.

    Evtl. knallt's auch beim ersten Rücksprung schon, weil die Adresse nicht vom Stack geholt werden kann.

    [/EDIT #2]
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von kinzi ()

  • .. ich bin ganz bei kinzis letzten Hinweisen...

    aber ich würde auch auf seinen Hinweis am Anfang zurück kommen:

    kinzi schrieb:

    Die PLA würde ich noch nicht ganz ausschließen nach einem entsprechenden Erlebnis von einiger Zeit (defekte PLA, lief in anderem Board aber gerade so gut (schlecht) genug, dass der Einschaltschirm kam). Allerdings würde ich die "gute" PLA aus dem 407er nicht ins 466er einbauen, bevor die Fehlerursache klar ist..
    ich würde mich langsam trauen,.. das was Kinzi am Anfang geschrieben hat:
    ich würde die 100% funktionierende PLA aus dem gesunden C64 nun in diesen einbauen... (klar, ein Restrisiko bleibt, dass diese dabei stirbt)..
    ansonsten helfen nur Module mit CHECK64 und Deathtest..
    gepflegt werden: VC20, VIC20, C16, 116, C/plus4, C64, C64 II, SX64, C128, C= PC20-III, C= LT286-C,... :thumbup: + amigos
  • Gerrit schrieb:

    Eher so...
    Das kommt ein bisschen darauf an, was genau kaputt ist. Wenn nur einzelne Adressleitungen durch die Muxer nicht richtig umgeschaltet werden, liegt halt evtl. der Stack irgendwo anders (nicht auf $0100) im RAM, funktioniert aber trotzdem. Denn von der Modulerkennung scheint er ja wieder zurückzukommen, die VIC-Initialisierung ist später, und die scheint er zumindest mit eingestecktem Modul zu erreichen. Selbst wenn den VIC-Init das FC III selbst macht, muss das RTS in der Routine bei $FD02 klappen, der JMP ins Modul kommt erst später. (Immer unter der Annahme, das FC III ist ein CBM80-Modul im "Normalbetrieb", das weiß ich nicht.)

    Quellcode

    1. RESET
    2. .,FCE2 A2 FF LDX #$FF Wert für Stapelzeiger
    3. .,FCE4 78 SEI Interrupt setzen
    4. .,FCE5 9A TXS Stapelzeiger initialisieren
    5. .,FCE6 D8 CLD Dezimalflag zurücksetzen
    6. .,FCE7 20 02 FD JSR $FD02 prüft auf ROM in $8000
    7. .,FCEA D0 03 BNE $FCEF kein Autostart-Modul ?
    8. .,FCEC 6C 00 80 JMP ($8000) Sprung auf Modul-Start
    9. .,FCEF 8E 16 D0 STX $D016 Videocontroller Steuerreg. 2
    10. .,FCF2 20 A3 FD JSR $FDA3 Interrupt vorbereiten
    11. .,FCF5 20 50 FD JSR $FD50 Arbeitsspeicher initialisieren
    12. .,FCF8 20 15 FD JSR $FD15 Hardware und I/O Vekt. setzen
    13. .,FCFB 20 5B FF JSR $FF5B Video-Reset
    14. .,FCFE 58 CLI
    15. .,FCFF 6C 00 A0 JMP ($A000) zum BASIC Kaltstart
    Alles anzeigen
    Daher vemute ich, er testet ohne Modul den Speicher bei Routine $FD50, stellt fest, dass der irgendwo kaputt ist ... und dann? (Weiß ich nicht mehr weiter. :D )
    Eine wilde Spekulation wäre noch, dass er den MEMTOP kleiner als MEMBOT setzt und dann im BASIC Kaltstart auf die Schnauze fällt. Da habe ich aber nicht mehr nachgegraben.

    Das gleiche könnte nicht nur bei maroden Multiplexern, sondern auch bei defekten RAMs oder bei kaputter PLA passieren.

    @FranticFreddie:
    Da die Multiplexer (74LS257) günstiger sind, würde ich persönlich erst diese auf Verdacht tauschen, bevor ich die "gute" PLA ins kaputte Boarsd stecken würde.

    [EDIT]

    Räusper ... mal von Defekten und/oder Lötfehlern beim RAM-Tausch abgesehen, evtl. da nochmals genau reingucken ... :D

    [/EDIT]
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)
  • kinzi schrieb:

    Räusper ... mal von Defekten und/oder Lötfehlern beim RAM-Tausch abgesehen, evtl. da nochmals genau reingucken
    Ja, da baut man sich gerne Kurzschlüsse zwischen einem Pin und den direkt am Pin vorbeiführenden Leiterbahnen ein.

    Wichtig ist auch, daß J3 neben dem unbestückten U11 geschlossen ist.

    Wenn man ein Zweistrahl-Oszi hat kann man aber ziemlich viel machmessen. Kanal 1 an PHI0 damit man zwischen VIC und CPU unterscheiden kann und dann mit Kanal 2 die Adressleitungen an den RAMs abklappern. Ist da irgendwo ein Kurzer wird man es sehen können, da der Pegel nicht stimmt. Ein defekter Mux sollte sich so auch erkennen lassen weil keine Pegelwechsel mitten im Zyklus vorkommen.

    Nachtrag: Steht das Oszi auf 'Alt' oder auf 'Chop' im Bezug auf die Umschaltung zwischen beiden Kanälen. Für das, was hier abgeht ist 'Chop' die korrekte Wahl.
  • Neu

    Hallo,

    auf dem Bild ist das Signal zu sehen, welches sowohl an Pin 1 der beiden Multiplexer als auch am Pin 19 des VIC anliegt.
    Zwei neue Multiplexer sind bestellt und sollen am Donnerstag gelliefert werden. Ich bin gespannt!


    Die von mir als gesund befundene PLA ist ja bereits eingesetzt. Und sie lebt auch noch, habe sie gerade auf meinem anderen Board gegengecheckt.
    Nur eine Sache ist mir aufgefallen. Beim Commodore Weihnachtsdemo (läuft hier auf meinem funktionierenden Board mit meiner "gesunden" PLA) haben die zwei Jungs mit den Schneebällen ein Problem:


    Jetzt sagt mir bitte nicht, dass dies auch nach einem PLA Fehler aussieht :anonym

    J3 neben dem unbestückten U11 ist geschlossen.

    Nach dem Einlöten der RAM Sockel hatte ich alles nach bestem Wissen und Gewissen visuell und messtechnisch geprüft.
    Aber ich muss zugeben, die Gefahr dabei einen Fehler einzubauen ist nicht gerade gering.
    Wobei der Fehler ja auch schon bestand, bevor ich das erste Mal den Lötkolben angelegt hatte.

    @Parser: Die Bilder sehen schon ähnlich aus... Ich tausche jetzt erst mal die Multiplexer und wenn das nix bringt...

    Auf die Hinweise von Gerrit versuche ich morgen einzugehen.

    Vielen Dank schon einmal!