Hallo Besucher, der Thread wurde 20k mal aufgerufen und enthält 131 Antworten

letzter Beitrag von kinzi am

Dead Test Rev 781220 Update 002 bis 006

  • Servus ...


    Ich hab mal ein wenig am "Dead Test" herumgeschraubt. Viel ist es nicht, ein wenig Kosmetik usw., aber: Der Source Code liegt jetzt vor und steht für eigene Erweiterungen zur Verfügung. ;) Dem ZIP liegt ein kurzes Textfile bei, das ich hier (unten) auch nochmal reinstelle, damit sollte alles gesagt sein. Und zwei Screenshots habe ich auch noch, siehe unten.


    Das Ding ist vermutlich weder bugfrei noch fertig. Es ist jetzt einfach mal so, wie es ist. Wenn jemand Fehler findet versuche ich gerne, diese zu beheben. Wenn es jemand intensiv testet wäre ich über eine kurze Rückmeldung froh.


    Gruß

    kinzi




    [EDIT]: Hier der Link direkt zur Version 005 des Kinzi Dead Test




      


    ------------------


    C-64 Dead Test Rev 781220 kinzi 002

    Ich habe das originale C-64 DEAD TEST REV 781220 mit dem "WFDis" Disassemler (https://www.white-flame.com/wfdis/), den Code weitgehend kommentiert sowie einige Dinge umgestellt (Strings, Tabellen, Zeichensatz usw.), ans ACME-Format angepasst und (hoffentlich :-) einige Dinge verbessert.


    Ich bin weder ein ACME-Experte noch ein begnadeter Programmierer, daher wird vermutlich vieles schöner oder einfacher zu lösen sein, auch weil das mein erstes "Projekt" ist, für das ich ACME verwendet, bzw. überhaupt einen Assembler, denn bisher habe ich Assembler immer nur im Monitor gecodet. :-) Ich bitte also um Nachsicht. :-)

    • Die Rahmenfarbe wird beim zweiten Befehl (nach dem initialen SEI) auf hellgrau gestellt, also so früh wie möglich. Wenn die CPU den Reset-Vektor lesen kann und startet, dann aber nach ein paar Befehlen crasht bleibt der Rahmen (und damit der Hintergrund) hellgrau. In der Orioginalversion ist er zu diesem Zeitpunkt schwarz - das ist der Standardwert des VIC beim Einschalten.
    • Die Rahmenfarbe wechselt beim initialen RAM-Test auf türkis. (In der originalen Version bliebt der Bildschirm hier ebenfalls schwarz).
    • Der Zeichensatz des Originals ist schlecht lesbar, vor allem die Ziffern. Ich habe den originalen C-64-Zeichensatz eingebaut.
    • Der Sound-Test spielt nun alle vier Wellenformen inkl. "Rauschen", und zwar in der "richtigen" Reihenfolge (Dreicke, Sägezahn, Rechteck, Rauschen).
    • Trifft der RAM-Test auf Fehler und wirft BAD neben den IC-Bezeichnungen aus, wird in eine Endlosschleife gesprungen, auch bereits bei der Original-Version. Jetzt wird in dieser Endlosschleife die Rahmenfarbe durchgerollt, wie es das Easy Flash 3 auch macht, wenn es keinen Reset auslösen konnte.
    • Der Bildschirmaufbau wurde etwas überarbeitet, es werden nun die Bezeichnungen der Datenleitungen neben den IC-Namen angeführt, ebenso wie die (abweochenden) IC-Numemrn der 250466 und 250469; dies erleichtert Reparaturen. :-) Tests mit Ergebnis "OK" erscheint dieses nun in grün.
    • Am TAPE-Port können zwei Low-Current-LEDs, jeweils an "MOTOR" und "SENSE" angeschlossen werden, über jeweils einen Widerstand von mindestens 1 kOhm zum Schutz des I/O-Ports der CPU. Die LEDs wechseln ihren Status bei jedem Update der Uhren-Anzeige rechts unten, also so ca. alle 20 Sekunden. Außerdem blinken sie mit dem Bildschirm mit, wenn beim initialen RAM-Test ein Fehler festgestellt wird. Das ist vor allem auf Rechnern mit kaputter Bildschirmausgabe interessant. Das Check64 V2.0 von GMP aus dem Forum64 wird diese LEDs voraussichtlich bereits mitbringen.

    Macht mit dem Source-Code, was ihr wollt (ist großteils eh nicht meiner :-), aber schmückt euch nicht damit und "gebt credits". ;-)


    kinzi, 2019-11-18


    ------------------

    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.


    2 Mal editiert, zuletzt von marty ()

  • Elwyndas Mach doch mal dazu 'nen neuen Thread auf und zeig dort mal ein Foto von deinem Cartridge, dann können wir das dort erörtern, und deine Reparatur gleich auch. :)


    KiWi Danke. :thumbsup: "Top" Verbesserungen ist wahrscheinlich etwas übertrieben, aber ne Basis ist mal da.


    [EDIT]


    Vielleicht als generelle Antwort: Das BIN-File im angehängten ZIP kann 1:1 dort verwendet werden, wo das Dead Test schon bisher "drin" war. An der Größe, grundsätzlichen Funktion usw. hat sich nichts geändert - bitte daher auch keine Wunder bei der Diagnose erwaretn. :)


    [/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.


  • Scheunenfund

    =O=O=O

    Scheunenfund = anderes Wort für "Ich verkaufe defektes Zeug, will es aber nicht sagen!" :D

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


  • Werde ich gleich mal testen

    Werde ich bei Gelegenheit testen!

    Danke und danke. :)

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


  • Nein, bekomme ich geschenkt.

    :thumbsup:

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


  • Moinsen,


    zwei kleine Verbesserungen:

    • Die Rahmenfarbe wird während des initialen RAM Tests nun bei jedem neuen Testpattern dekrementiert und stellt daher eine einfache Verlaufskontrolle dar.
    • Bug fix: Das "RAM-Fehlerblinken" war kaputt, es hat nur noch einmal geblinkt, unabhängig vom betroffenen Bit.


    Ich habe auch ein aktualisiertes Check64-EPROM generiert, konnte das aber noch nicht auf richtiger Hardware testen. Vielleicht traut sich ja jemand :) und kann eine Rückmeldung geben.


    Gruß

    kinzi

    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.


  • Sorry für das Gespamme hier, aber ich hab noch einen Bug gefunden, den ich mit Update 003 erst eingebaut hatte :( ...


    Neues in 004:

    • Bug fix: Die LEDs hatten nicht mehr geblinkt während der Tests auf Grund eines Tippfehlers.
    • Die LEDs ändern ihren Status nun auch während des initialen RAM-Tests, gemeinsam mit der Rahmenfarbe. Außerdem werden sie auch nach dem Zero Page und dem Stack Test umgeschaltet.

    Ich hab auch das Check64-EPROM nochmals neu gebaut und auch bei mir mit echter Hardware getestet; es tut jetzt alles so, wie ich mir das vorstelle, inkl. LEDs. :)

    Während des initialen RAM Tests blinken die LEDs ca. im Halbsekundentakt, während der restlichen Tests wechseln sie ihren Status immer dann, wenn ein Test beendet wurde und ein neuer folgt. Bei einem RAM-Fehler im inititalen RAM-Test blinken die LEDs genau gleich wie der Bildschirm, man kann das betroffene Bit also rauszählen.


    Ich hoffe, das war's jetzt. :whistling:

    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.


  • FXXS

    Hat den Titel des Themas von „Dead Test Rev 781220 Update 002“ zu „Dead Test Rev 781220 Update 002 bis 004“ geändert.
  • Könntest Du das auch für den C128 anpassen?

    Für den C128 gibt es meines Wissens keinen Dead Test ... meinst du das "normale" Diag 128, das im Check64-EPROM mit dabei ist? Das habe ich noch gar nicht angefasst, ich weiß noch nicht mal, wie und wo das beim C128-Start eingeblendet wird, nur dass es anders als beim C64 funktioniert ^^ ... das müsste man erst mal disassemblieren.


    Falls ich mich überhaupt weiter damit beschäftige, wäre nach dem Dead Test erst mal das Diag8k des C64 (aka "586220") an der Reihe, beim C128 bin ich nicht so "drin".


    [EDIT]


    Du kannst natürlich den C64-"Dead Test" auch am C128 laufen lassen, wenn das deine Frage war. Da braucht es keine Anpassung.


    [/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.


  • ich weiß noch nicht mal, wie und wo das beim C128-Start eingeblendet wird

    Das wird bei $8000 eingeblendet und startet über die CBM Kennung. Setzt natürlich einen grundsätzlich funktionierenden Rechner voraus.


    Es kann aber sein, dass sich das mit einem evtl. vorhandenen Option Rom beißt (ich weis nicht welches zu erst abgefragt wird... müsste man mal ins KernalListing schauen...)

    Logisch wäre es aber wenn das Modul vorgeht....


    Du kannst natürlich den C64-"Dead Test" auch am C128 laufen lassen, wenn das deine Frage war. Da braucht es keine Anpassung.

    Testet aber natürlich 'nur' Ram-Bank0

  • beim C128 bin ich nicht so "drin".

    Ja ... ziemlich durcheinander das Ganze ... :schreck!::


    325099-01.bin

    2017-05-23


    16384

    Commodore 128 Diagnostic


    325109-10.bin

    2017-05-23


    16384

    C128DCR Diagnostic


    c128_burnin_rev1.0_5.6.89.bin

    2017-04-30


    16384

    c128 burn-in test rom


    c128_diag_rev1.2.bin

    2017-04-30


    8192

    c128 diagnostic cart rom


    c128_diag_rev588121.zip

    2015-07-28


    7518

    C128 Diagnostic ROM, uses 586220 harness


    c128_diag_rev6.8_9.11.88.bin

    2017-04-30


    32768

    c128 diagnostic cartridge rom


    c128_diag_rev785260-pn314061-06.zip

    2015-07-28


    3303382

    C128 Diagnostics ROM, Manual, and harness schematic


    c128_diag_rev789010.zip

    2015-07-28


    26371

    C128 Diagnostics, uses 586220 harness


    c128_diag_revs11and14-pn3255099-01.zip

    2015-07-28


    2090535

    C128 Diagnostics, 2 roms, manual, harness schematic


    c128_final_burnin_rev7.0_5.6.89.bin

    2017-04-30


    32768

    c128 final burn-in cartridge rom


    c128dcr_diag_rev10-pn325109.zip

    2015-07-28


    13229

    C128DCR Integral Diagnostic rom

  • Testet aber natürlich 'nur' Ram-Bank0

    Jupp.

    as wird bei $8000 eingeblendet und startet über die CBM Kennung.

    Echt? Ich dachte, das funktioniert beim C128 gänzlich anders, macht das nicht der Türstopper (Z80) beim Einschalten?

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


  • macht das nicht der Türstopper (Z80) beim Einschalten?

    Die liest erstmal nur einen ganz kurzen Codeschnipsel aus dem Rom, testet auf die C=-Taste und ein Modul für den C64-Modus und übergibt dann sofort an die MOS-CPU. Nur wenn die dann was CP/M-mäßiges findet wird wieder auf die Z80 geschaltet.


    Das C128-Diag lauft aber nicht im c64 Modus, oder etwa doch ? :gruebel