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

letzter Beitrag von $FFF6 am

Check64 zeigt U1 BAD bei Assy 250425

  • Und weil's so schön war hier noch das "Gegenstück" - wenn U1 = CIA1 keinen Interrupt (IRQ) auslösen kann - in meinem Fall nachgestellt durch Hochbiegen des Pins (21):



    Erklärung:

    • "CASSETTE BAD" - CASS_RD wird über den Pin /FLAG des 6526 gelesen und dabei ein IRQ ausgelöst - fehlt dieser (da Pin hochgebogen), schlägt der Test fehl.
    • SERIAL PORT BAD - SRQ IN am Serisl Port ist die gleiche Leitung wie CASS_RD - Auswirkung siehe oben. SRQ_IN hängt über den IEC-Test-Stecker auf ATN - da nicht klar ist, warum auf SRQ_IN nichts daher kommt, sind U1 und U2 BAD.
    • USER PORT BAD - CIA1 und CIA2 sind über den User-Port-Teststecker verbunden. Es werden testweise Daten von U1 an U2 und umgekehrt verschickt. Beim Empfang der Daten wird ein IRQ ausgelöst. Fehlt dieser schlägt der Test fehl.

    Es empfiehlt sich, bei CIA-Problemen mal beide kreuzweise zu tauschen und den Test nochmals laufen zu lassen, da der gleiche Fehler auf U1 und U2 unterschiedlich bewertet wird.

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

    Ich habe mal das BIN-File gebrannt, welches HIER enthalten ist. Das ist von Dezember 1984 und ich denke das müsste dem alten Eprom Stand entsprechen.
    Mit meinem defekten U20 (NMI fehlt) wird ebenfalls U1 als BAD angezeigt. Einziger Unterschied zu dem aktuellen Eprom: Auch Interrupt wird diesmal BAD angezeigt.



    Also haben wir (Du) wirklich einen über 30 Jahre alten Bug entdeckt :D

  • Also haben wir (Du) wirklich einen über 30 Jahre alten Bug entdeckt

    Bug-Archäologie sozusagen ... :D Natürlich "wir", nicht ich - danke für's Testen. :thumbup:


    Bleib noch die Streitfrage, ob dieser Fehler durch die Gewährleistung abgedeckt ist. :bgdev:odo:smoke:


    Das mit dem "INTERRUPT BAD" ist interessant, muss ich mal vergleichen.

  • Ich habe mal das BIN-File gebrannt, welches HIER enthalten ist.

    Ich habe es kurz verglichen bzw, disassembliert*, das scheint das gleiche zu sein, welches Jani auch als Quelltext auf seiner Seite hat. Insofern wissen wir jetzt, dass Jani (nur) das Original im Source veröffentlicht hat. Ich habe es weiters nochmals mir Teds Version verglichen, da ist bei $94C0 ein "RTS", das da meiner Meinung nach nicht hingehört; das dürfte ein Überbleibsel einer "Patcherei" sein. Durch dieses RTS wird zu früh, d. h. vor der Ausgabe von (INTERRUPT) BAD zurückgesprungen.


    @$FFF6 Wärst du so nett und würdest mir das angehängte BIN noch testen, das sollte jetzt auch "INTERRUPT BAD" ausgeben. Ich komme momentan nicht dazu, in den Retro-Bunker zu verduften. :( Wenn es passt. schustere ich noch das Check64-EPROM zusammen und "release" :bgdev es.


    ( *Leider sind @8R0TK4$T3Ns Disassembler-Vorschläge nur für Windoofs, was ich mich seit Windows 10 tunlichst weigere zu verwenden (außer ich bekomme es bezahlt :D , quasi "Schmerzensgeld"). Ich habe aber den hier gefunden, der im Browser läuft, das reicht mir vorerst. )


    [EDIT]}


    @sailor Jani, I've sent you PM. Do you see a chance to release your or Teds source via GitLab or similar? Or - since your page is the "Home of Diag" in my humble opinion at the moment :D - do you see a chance to incorporate the changes in yours or Ted's source and release it to the public?


    This "ongoing patching" doesn't seem very intelligent to me, if someone else releases a patched version the whole thing gets fragmented rather quickly and lots of work/investigation is done "for the fish", as we say in my dialect. :bgdev


    Thank you.


    [/EDIT]

  • hi,


    @kinzi, sorry I didnt get a notification of the PM, but I got a notification when I was mentioned in this thread.


    Interesting discussion, and there IS a bug with the CIA/U1/U2. I was notified by Trasher/FLT of the bug some time ago. He has made a custom version which is not public, I will try to see if i can get hold of that one.


    Just to clarify, the(my) original disassembly is identical to the original. The kernel detection version only replaces the kernel detection routine and no other changes have been made.


    I might have Ted's version in sourcecode. I can put it online.. and yes. there should be some kind of version handling of the sources instead of all patching(GitLab perhaps). I personally will not be having time for maintaining it though.


    I will notify Trasher/FLT of this thread too.


    //Jani

  • @$FFF6 Wärst du so nett und würdest mir das angehängte BIN noch testen, das sollte jetzt auch "INTERRUPT BAD" ausgeben. Ich komme momentan nicht dazu, in den Retro-Bunker zu verduften. Wenn es passt. schustere ich noch das Check64-EPROM zusammen und "release" es.

    Ich bin so nett :D


    Leider habe ich meine momentane Auswahl an Eproms "verbrannt" und warte jetzt auf meinen UV-Eprom Löscher :whistling:
    EIGENTLICH hatte ich mir das Ding nur gekauft um das Check64 Eprom neu zu brennen....konnte ja keiner ahnen was es da noch so alles gibt :D

  • So, ich hab es mittlerweile geschafft, das selbst zu testen. :) Es funktioniert nun, wie es soll. Meine Erklärung aus Post #41 ist teilweise falsch, ich hatte da wohl neben der (absichtlich) unterbrochenen IRQ-Leitung noch einen anderen Unterbruch bzw. schlechten Kontakt.


    Ergebnis:

    • Nimmt man U1 den IRQ-Pin, spuckt das Ding brav "INTERRUPT BAD" und "U1 BAD" aus. Alle anderen Tests sind OK.
    • Nimmt man U2 den IRQ-Pin, spuckt das Ding brav "INTERRUPT BAD" und "U2 BAD" aus. Alle anderen Tests sind OK.

    Ich werde gleich auch noch das Check64-EPROM aktualisieren und dann im Check64-Thread veröffentlichen.