Check64 zeigt U1 BAD bei Assy 250425


  • $FFF6
  • 1293 Views 52 replies

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

All users must confirm the minimum age (16) in their profile! From tomorrow the use of Forum64 will only possible after updating the profile data. The profile update is still possible after then. Thank you for your understanding. Team forum64.de
  • Check64 zeigt U1 BAD bei Assy 250425

    Hi Zusammen,

    nachdem ich Thema forum64.de/index.php?thread/87…425-zeigt-schwarzes-bild/ mit tatkräftiger Unterstützung erfolgreich lösen konnte, habe ich jetzt leider einen Nachtrag zu meinem Vergleichsboard, welches etwas herhalten musste.
    Während der Reparatur in o.a. Thema musste ich U1 Sockeln um die CIA's zu testen.

    Jetzt, nachdem ich eigentlich aufräumen wollte, habe ich meinen Cevi mal mit Check64 getestet und festgestellt, daß U1 _immer_ als BAD angezeigt wird obwohl ich keinerlei Beeinträchtigung in der Funktion feststellen kann. Tastatur und Joysticks funktionieren einwandfrei, ich kann Spiele von Floppy laden und spielen und Check64 läuft beliebig oft durch ohne das sich die Uhrzeiten unten rechts im Bildschirm verändern, es zeigt halt einfach immer U1 als BAD an



    Es ist dabei egal ob ich die CIA's gegeneinander tausche oder ob ich andere einsetze (Habe jetzt ein paar zur Auswahl)

    Ich hatte mal HIER gelesen dass die Verschiedenen Herstellungsjahre/Wochen bei den 6526 zu unterschiedlichen Ergebnissen führen könnte was Tests angeht - Somit habe ich mein Check64 Eprom erstmal auf neuesten Stand gebracht, weil ich nicht wusste ob es diesbezüglich Unterschiede bei dem Diagnostic Part gibt zwischen der ersten und zweiten Check64 Version (1.2).



    Hier mal verschiedene Konstellationen, wobei mir dann auch tatsächlich ein CIA auf U1 als fehlerhaft angezeigt wird, von dem ich eigentlich dachte er wäre OK - Aber auf U2 läuft er OK durch ( auch gut ^^ )
    Assy 250425 (Meins)

    U1 6526 16/85 BAD
    U2 6526 16/85 OK

    U1 6526 44/84 BAD
    U2 6526 16/85 OK

    U1 6526A 46/86 206A BAD
    U2 6526 16/85 OK

    U1 6526 29/83 BAD - Keyboard BAD
    U2 6526 16/85 OK


    Assy 250425 (repariertes Vergleichboard)

    U1 6526A 46/86 206A OK
    U2 6526 29/83 OK

    U1 6526 29/83 BAD - Keyboard BAD
    U2 6526A 46/86 206A OK

    U1 6526 16/85 OK
    U2 6526 29/83 OK

    U1 6526 44/84 OK
    U2 6526 29/83 OK



    Ich habe bereits eine sehr gründliche Sichtprüfung gemacht (Diesmal mit Lupenbrille!), wobei mir keinerlei Unterbrechungen aufgefallen sind. Auch habe ich die Pins von U1 aus an die entsprechenden Gegenstellen durchgemessen (Von der IC Oberseite).
    Ich habe dann den Federkontakt Sockel wieder abgelötet und neu gesockelt. U2 habe ich auch gleich mit gesockelt. Diesmal mit Präzisionssockeln (Meinungen geteilt, ich weiß ;) ).

    Wie auch immer, Check64 bleibt bei seiner Meinung.
    Diese mag ich leider nicht akzeptieren, weil das andere 250425er Board komplett Fehlerfrei durchläuft.

    Hat jemand eine Idee was ich noch prüfen könnte?

    Besten Dank schonmal.

    Hier noch ein paar Bilder:
  • $FFF6 wrote:

    Beim Interrupt Test.
    Das würde für ein Problem mit den HMOS-6526 sprechen, die haben ein anderes Timing beim Interrupt. Aber das hier ...

    $FFF6 wrote:

    U1 6526 16/85 BAD

    U1 6526 44/84 BAD

    U1 6526A 46/86 206A BAD
    ...spricht dagegen, es tritt sowohl bei den NMOS als auch bei den HMOS-II auf.

    Das Board funktioniert, die Tastatur z. B.? CIA1 generiert den IRQ, der u. a. die Tastaturabfrage durchführt.

    [EDIT]



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

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)

    The post was edited 1 time, last by kinzi ().

  • kinzi wrote:

    Das Board funktioniert, die Tastatur z. B.? CIA1 generiert den IRQ, der u. a. die Tastaturabfrage durchführt.
    Ja - Die Tastatur lässt sich normal bedienen und alle Tasten funktionieren - Ich kann keine Auffälligkeiten feststellen.

    Das Ding ist: Der Interrupt Test wird ja immer mit OK abgeschlossen?!

    The post was edited 1 time, last by $FFF6 ().

  • TL/DR: RUN/STOP-RESTORE funktioniert auch? Dann ist der NMI auch OK. Folglich kannst du den Fehler offensichtlich ignorieren.

    Langversion;:

    Mal zuerst was Generelles:

    "Check64" ist die Hardware, die von @GMP neu aufgelegt wurde. Darauf befindet sich ein EPROM, das mehrere Programme enthält, die von dieser Hardware mehr oder weniger Gebrauch machen. Dasjenige Programm, das alle Dongles usw. nützt, ist das "Diag8k" aka. "C64 Diagnostics Rev. 586220".

    Von diesem gibt es mittlerweile wohl dutzende "gepatchte" Versionen. Welches bei deinem EPROM dabei ist weiß ich natürlich nicht, es ist auch schwer zu erkennen. Die verlässlichste Quelle für mich ist "World of Jani", Jani sammelt dort die ganzen Versionen zusammen. die letzte ist " Commodore Diag 586220* ".

    Ich würde mit jetzt erst mal dieses in das EPROM brennen und dann den Test nochmals laufen lassen. So ganz grundsätzlich.

    Im Sourcecode gibt es vier oder fünf Stellen, wo aus der Interrupt-Test-Routine auf die Ausgabe "U1 BAD" ($94A4) gesprungen wird. Zuvor wird immer ein Interrupt-Test durchgeführt, wo auch immer eine kleine Verzögerungsschleife durchlaufen wird (bei $94D1). Bei $94D5 steht der Wert, mit dem diese Schleife initialisiert wird (#$3F). Möglicherweise würde es was nützen, an diesem Wert zu drehen. Die Adressen beziehen sich auf den Source-Code, den Jani durch disassemblieren gewonnen hat.

    Warum nur "U1 BAD" ausgegeben wird, aber "INTERRUPT OK" ist mir im Moment nicht klar. Ich würde es aber bis auf Weiteres als Programmfehler ansehen, der durch gewisse, mir derzeit nicht klare Umstände zustande kommt. (Wie gesagt, eine Möglichkeit wäre das geänderte Timing bei den HMOS-6526, aber das widerspricht deinen Tests.)
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • wolfme wrote:

    Keyboard = open. Kein Teststecker drauf? Mach den mal drauf und teste nochmal. Ich meine mich erinnern zu können, dass ohne immer U1 Bad ist.
    Das würde mich wundern, ist mir noch nie aufgefallen. Gut, man weiß nicht, welche gepatchte Version des 586220 im Einsatz ist.
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • Parser wrote:

    Das Keyboard-Dongle fehlt wohl eindeutig.
    Das führt bei mir aber zu keinem "U1 BAD". (Bzw. wäre mir das neu.)

    Parser wrote:

    Ansonsten könntest du noch mal die Userport-Kontakte gründlich reinigen und den Userport-Stecker mal hin- und herbewegen.

    Dann dürfte der Fehler weg sein.
    Nein, denn dann wären andere Tests auch BAD.

    Das ist ein Programmfehler, der anscheinend unter gewissen Umständen auftritt.

    @fff6
    Bist du sicher, dass "U1 BAD" kommt, nachdem INTERRUPT angezeigt wird? Wenn ich mir den Sourcecode anschaue ...

    Shell-Script

    1. ;6526 U2 "BAD"
    2. I9492 LDA #$02
    3. STA A06B2
    4. LDA #$01
    5. STA A06B3
    6. LDA #$04
    7. STA A06B4
    8. JMP I94B6
    9. I94A4 LDA #$02
    10. STA A068A ;6526 U1 "BAD"
    11. LDA #$01
    12. STA A068B
    13. LDA #$04
    14. STA A068C
    15. JMP I94B6
    16. I94B6 LDA #$02
    17. STA A05DC
    18. LDA #$01
    19. STA A05DD
    20. LDA #$04
    21. STA A05DE
    22. LDA #$02
    23. STA AD9DC
    24. STA AD9DD
    25. STA AD9DE
    26. RTS
    27. I94D1 PHA
    28. TXA
    29. PHA
    30. LDX #$3F
    31. I94D6 DEX
    32. BNE I94D6
    33. PLA
    34. TAX
    35. PLA
    36. RTS
    Display All
    ... kann das in der INTERRUPT-Test-Routine gar nicht passieren, da wird nach "U1 BAD" immer ein "INTERRUPT BAD" (bei $94B6) ausgegeben ... :gruebel
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • Parser wrote:

    Ansonsten könntest du noch mal die Userport-Kontakte gründlich reinigen und den Userport-Stecker mal hin- und herbewegen.
    Die Kontakte habe ich gereinigt, sodass man sich fast drin sehen kann...Fehler bleibt

    Parser wrote:

    Das Keyboard-Dongle fehlt wohl eindeutig.
    Ja, der Dongle hat gefehlt - Mit Dongle zeigt es "Keyboard OK" aber U1 ist weiterhin BAD:


    kinzi wrote:

    @fff6
    Bist du sicher, dass "U1 BAD" kommt, nachdem INTERRUPT angezeigt wird? Wenn ich mir den Sourcecode anschaue ...

    Ja - Alle Tests werden ausgeführt und mit OK quittiert.
    Kurz nachdem die Steps TIMER2 A / B mit OK abgeschlossen wurden und er scheinbar am Interrupt test ist, erscheint das BAD hinter U1.
    ca. 2 Sekunden später erscheint dann das OK beim Interrupt Test.

    Ich weiß übrigens das RUN/STOP funktioniert, weil ich diese brauchte um bei Giana Sisters aus dem Intro zu kommen :D
  • $FFF6 wrote:

    Ja, der Dongle hat gefehlt - Mit Dongle zeigt es "Keyboard OK" aber U1 ist weiterhin BAD:
    Wie zu erwarten war,

    $FFF6 wrote:

    Ich weiß übrigens das RUN/STOP funktioniert, weil ich diese brauchte um bei Giana Sisters aus dem Intro zu kommen
    Ich hab eigentlich nach der Kombination RUN-STOP + RESTORE gefragt und deren Funktion im normalen BASIC-Startbildschirm. Grund: RESTORE löst einen NMI aus. Zusammen mit RUN-STOP gibt das den BASIC-Warmstart - oder wie immer man das bezeichnen will, halt das "READY." links oben. Funktioniert das, funktioniert der NMI.

    Hucky wrote:

    die PLA !
    Es ist die PLA
    Ja, es ist wahnsinnig heiß heute. :D
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)
  • kinzi wrote:

    Ich hab eigentlich nach der Kombination RUN-STOP + RESTORE gefragt und deren Funktion im normalen BASIC-Startbildschirm. Grund: RESTORE löst einen NMI aus. Zusammen mit RUN-STOP gibt das den BASIC-Warmstart - oder wie immer man das bezeichnen will, halt das "READY." links oben. Funktioniert das, funktioniert der NMI.

    RUN-STOP + RESTORE löst keinen NMI aus.
    Es passiert nichts wenn ich die Tasten drücke....Also ist tatsächlich etwas im argen..... X/
  • Mac Bacon wrote:

    Welchen Pegel hat die NMI-Leitung an der CPU?
    Keinen.

    Nach ein wenig messen bin ich schnell auf U20 gekommen. Zuerst hatte ich U8 in Verdacht, der war es aber nicht.
    Lustig ist, das der LM556 so ziemlich der einzige Chip ist, den ich in meiner letzten Reparatur-Orgie nicht bestellt hatte... :huh:

    Da ich den reparierten Cevi noch da habe, konnte ich mir U20 noch ausleihen und siehe da: Check64 läuft seine Runden ohne einen Fehler zu zeigen.

    Ihr seit echt super - Danke!



    kinzi wrote:

    Von diesem gibt es mittlerweile wohl dutzende "gepatchte" Versionen. Welches bei deinem EPROM dabei ist weiß ich natürlich nicht, es ist auch schwer zu erkennen. Die verlässlichste Quelle für mich ist "World of Jani", Jani sammelt dort die ganzen Versionen zusammen. die letzte ist " Commodore Diag 586220* ".
    Danke auch für diesen Tip!
    Auf dem Check64 Eprom ist die "Commodore Diag 586220++" Version von 8/2017
    Die "Commodore Diag 586220*" ist von 7/2018

    Kennst Du eine Seite die Erklärt wie ich mir z.B. das Check64 Eprom neu brennen kann um das Commodore Diag Modul gegen das aktuellere zu tauschen?

    Ich könnte mir vorstellen, das ich nur wissen muss an welchen Adressen die jeweiligen Module liegen - Dann könnte ich diese entsprechend auslesen und dann auf ein weiteres Eprom brennen - Das aktuelle Commodore Diag Module würde ich dann einzeln an seine Adresse brennen.

    Geht das?

    Ich suche aber mal selbst ein wenig rum und eröffne ansonsten mal einen eigenen Thread dafür - Interessiert ja vielleicht auch noch andere hier... :D

    Ein finales Danke!

    Chris
  • $FFF6 wrote:

    Lustig ist, das der LM556 so ziemlich der einzige Chip ist, den ich in meiner letzten Reparatur-Orgie nicht bestellt hatte...

    Da ich den reparierten Cevi noch da habe, konnte ich mir U20 noch ausleihen und siehe da: Check64 läuft seine Runden ohne einen Fehler zu zeigen.
    Hah! Dann frage ich mich allerdings, wieso "INTERRUPT OK" ausgeworfen wird. Das muss ich mir mal in einer ruhigen Minute ansehen.

    $FFF6 wrote:

    Kennst Du eine Seite die Erklärt wie ich mir z.B. das Check64 Eprom neu brennen kann um das Commodore Diag Modul gegen das aktuellere zu tauschen?
    Nein. Aber:

    $FFF6 wrote:

    Ich könnte mir vorstellen, das ich nur wissen muss an welchen Adressen die jeweiligen Module liegen - Dann könnte ich diese entsprechend auslesen und dann auf ein weiteres Eprom brennen - Das aktuelle Commodore Diag Module würde ich dann einzeln an seine Adresse brennen.
    Das stimmt. Ich kenne die Aufteilung im EPROM jetzt nicht auswendig, es ist aber ein 27C256, das heißt 256 kBit = 32 kByte = 4 Bänke zu je 8 kByte. Diese vier Bänke werden über zwei DIP-Schalter, die die Adressleitungen A13 und A14 schalten ausgewählt. Wenn man jetzt schaut, welches der vier ROMs (Dead Test, Diag 586220, usw.) bei welcher Schalterstellung aktiv ist weiß man, welchen Bereich man überschreiben muss.

    Praktisch wird man das so machen, dass man das EPROM ausliest (oder das vorhandene BIN nimmt :D ), in einen Hex-Editor lädt und genau den betreffenden 8 kByte-Teil durch das "Diag 586220*" ersetzt. Das neu entstehende BIN mit 32 kByte Größe brennt man dann in ein neues EPROM oder löscht das bestehende und nimmt dieses.

    Die genaue Aufteilung weiß ich jetzt nicht und hab im Moment keine Möglichkeit nachzusehen. Wenn du es nicht selbst schaffst kann ich es später zu Hause raussuchen.

    $FFF6 wrote:

    Geht das?
    Siehe oben. Ja. :D
    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten."
    (Quelle unbekannt)

    "Lege dich nie mit einem Idioten an! Er zieht dich auf sein Niveau hinunter und schlägt dich dann mit seiner Erfahrung!"
    (Volksmund)