Hallo Besucher, der Thread wurde 7,1k mal aufgerufen und enthält 52 Antworten

letzter Beitrag von $FFF6 am

Check64 zeigt U1 BAD bei Assy 250425

  • Du kannst auch gleich noch meinen "gepatchten" Dead Test einbauen. Der hat als Hintergrundfarbe von Anfang an Türkis statt schwarz, da sieht man von Anfang an, ob die CPU anläuft, weil: Wenn sie das tut, ist der Bildschirm türkis ... :D


    Der Rest (RAM-Fehlerblinken usw.) bleibt gleich.


    Bedarf für eine neue C64-Diagnose Platine?


    [EDIT]


    Und wenn du es zusammengestellt hast wäre es super nett, wenn du es hier posten würde, würde allen anderen sehr viel Arbeit ersparen. ;)


    [/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 ()

  • Und noch einen druff ... schon fast wieder vergessen ...


    Ich hatte die "TED"-Version nochmals gepatcht, damit es mit Retrofan's Font keine Probleme gibt. Vielleicht nimmst du also das hier ...


    C64-Zeichensatz in Character Eprom brennen [aus: Neuer C64 Systemfont]


    Oder vielleicht baue ich das jetzt doch noch schnell selbst zusammen ...

    "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.


  • So, ich hab das mal schnell zusammengeschustert :D ...


    Bedarf für eine neue C64-Diagnose Platine?


    Bitte testen. ^^

    "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.


  • Ich brenne dein File Morgen mal und teste es

    Prima, danke, ich komme grad nicht dazu.

    "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 hier ...

    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.

    ... in Verbindung mit dem hier ...



    ... interpretiere ich so, dass der Fehler im ersten Absatz der obigen Beschreibung aufgetreten sein muss, weil ja schon vor der Zwei-Sekunden-Wartezeit "U1 BAD" angezeigt wird. Der Fehler müsste theoretisch also beim Timer-IRQ auftreten; IRQ deshalb, weil U1 (CIA1) an /IRQ und U2 (CIA2) an /NMI hängt. Das grenzt die Fehlersuche schon mal ein.


    Ich denke, das ist ein simpler Sprungfehler, es wird im Sourcecode U1 getestet (ab $9244, Register $DCxx), bei Fehlern aber die Ausgabe "U2 BAD" angesprungen (JSR $9492). Genau so wird dann ab $9342 U2 getestet (Register $DDxx), bei einem Fehler aber "U1 BAD" ausgegeben (JSR $94A4). Also sind die Ausgaberoutinen "U1 BAD" und "U2 BAD" einfach vertauscht. Soweit meine kurze Analyse. Ich denke, das ist ein Bug, der noch niemandem aufgefallen ist. Das betrifft nur den INTERRUPT-Test, nur dort werden $9492 und $94A1 angesprungen.


    Leider hast du jetzt ja deinen C64 repariert und wir haben kein Testobjekt, um den Fehler nachzuvollziehen. :D Man müsste bei einem CIA das IRQ-Beinchen hochbiegen und schauen, ob der richtige (U1 oder U2) angemeckert wird. Ich gehe stark davon aus, dass U1 und U2 beim Interrupt-Test verkehrt ausgegeben werden.


    [EDIT] Somit wäre auch klar, warum das NMI-Problem zu einem verwirrenden "U1 BAD" statt dem richtigen "U2 BAD" geführt hat. [/EDIT]


    Bleibt noch zu klären, warum der INTERRUPT-Test trotzdem "OK" war. :gruebel:nixwiss:


    [EDIT 2]


    Grad noch ganz kurz bei (m)einem Test-Board getestet (250469): Wenn man von U2 den Pin 21 (CIA-Pin-Bezeichnung "IRQ") hochzieht, sodass dieser keinen NMI auslösen kann, tritt genau dein beschriebenes Verhalten auf - nur "U1 BAD". Macht man das gleiche bei U1, schlägt u a. der USER PORT Test fehl und U1 und U2 werden als "BAD" ausgeworfen. Das Diag 586220 hat da definitiv einen Bug.


    [/EDIT 2]

    Dateien

    "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 ()

  • @GMP Könntest du bitte bei Gelegenheit die interessante Anzeige aus diesem Thread - nur "U1 BAD" - samt Lösung im Thread C64 Fehler-Diagnose (mittels CHECK64 Diagnose-Kit) anfügen. (Ich darf das leider nicht.) Dort wird man es eher suchen, vermute ich.

    "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.


  • So, ich hab das mal schnell zusammengeschustert ...


    Bedarf für eine neue C64-Diagnose Platine?


    Bitte testen.

    Ich habe dein Bin file gebrannt und getestet - Läuft - Danke dafür! :)



    Leider hast du jetzt ja deinen C64 repariert und wir haben kein Testobjekt, um den Fehler nachzuvollziehen.

    Nun ja - Das defekte IC habe ich ja noch, aber wie ich sehe hast Du ja alles schon nachvollzogen...Super Arbeit! :thumbsup:


    Bleibt dann als nächstes die Sprungmarken im Code zu ändern - oder?

  • @GMP Könntest du bitte bei Gelegenheit die interessante Anzeige aus diesem Thread - nur "U1 BAD" - samt Lösung im Thread C64 Fehler-Diagnose (mittels CHECK64 Diagnose-Kit) anfügen. (Ich darf das leider nicht.) Dort wird man es eher suchen, vermute ich.

    Hi kinzi,


    was meinst Du genau? Den ganzen Thread hier, oder nur einen Teil davon?


    VG
    Thomas


    Edit: Ach verstehe, benötige dafür aber noch einen Screenshot.

  • Edit: Ach verstehe, benötige dafür aber noch einen Screenshot.

    Kriegst du, sobald ich in den Retrobunker darf. :D


    [EDIT]

    Zitat von $fff6

    Bleibt dann als nächstes die Sprungmarken im Code zu ändern - oder?

    Jupp, kommt auch noch. Ist auf der zwei Kilometer langen To-Do-Liste. :D [/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.


  • Kriegst du, sobald ich in den Retrobunker darf.

    Alles klar. Dann gib mir kurz Bescheid, dann mache ich das. :-)

  • So, ich habe mit das notwendige "Gepatche" der Version 586220* mal angesehen ... leider ist das gar nicht so einfach. Ted scheint da im Code mehr umgebaut zu haben. Ursprünglich waren zwei ganz eigenständige Textausgaben für "U1 BAD" und "U2 BAD" während des INTERRUPT-Tests eingebaut, nebst vielen anderen Stellen, die auch genau diese Texte ausgegeben haben.


    Ted scheint diese vielen verschiedenen Ausgaben vereinheitlicht zu haben, um Platz zu gewinnen, was ja auch sinnvoll ist. Leider kann ich jetzt aber nicht einfach diese beiden Textausgaben vertauschen, was am einfachsten wäre, weil dann viele andere Sprünge auf den jeweils richtigen Text plötzlich falsche Ausgaben liefern würden, und wir wollen ja nichts "verschlimmbessern". =O


    Von Hand alle Sprünge zu suchen und zu patchen, die falsch sind tue ich mir aber nicht an. Kann jemand einen gescheiten Disassembler empfehlen, durch den man 586220* mal jagen könnte?

    "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.


  • VICE ...?

    Danke, kenne ich. :)


    Ich meinte einen, der ein Textfile ausspuckt und Labels einfügt, usw.

    "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.


  • Welches Assembler-Format soll dabei rauskommen?

    Ein für mich lesbares. :D
    Danke für die Tipps, die sehe ich mir mal an.

    "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.


  • @GMP Hier das Foto:



    Dieses Resultat kommt, wenn U2 = CIA2(!) keinen Interrupt (NMI) auslösen kann - in meinem Fall nachgestellt durch Hochbiegen des Pins (21), im Falle des Thread-Erstellers durch eine /NMI-Leitung, welche vom defekten 556 dauerhaft auf "LO" gehalrten wurde.


    Die Anzeige "U1 BAD" ist falsch, das ist ein Bug im "Diag 586220*" und "Diag 586220++". Ich weiß allerdings nicht, ob das durch Jani "eingeschleppt" ^^ wurde (er hat den Code als erster "aufgeräumt", um Platz für seine Kernal-Tabellen zu schaffenI) oder ob das im Original-Commodore-Code auch schon so war. Vielleicht kann das noch jemand mit altem EPROM-Stand testen? Ansonsten hole ich das "irgendwann(TM)" nach. :D


    Ich denke, dieses Fehlerbild ist es wert, in deinem Thread gesammelt zu werden.

    "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.