CPU Test Programm für Apple II

  • Ich bastle gerade an einem neuen Projekt : ein Programm zum Testen von 6502 CPUs im Apple II. Ich habe bemerkt, dass einige alte R6502 im BCD-mode versagen und mehr und mehr Probleme bekommen. Ich wollte mal schauen ob ich das per Software rausfinden kann...


    Noch ist nichts fertig und es bleibt noch viel zu tun. Grundlage für das Projekt sind Routinen vonKlaus Dormann, die er selbst als "Abandonware" bezeichnet, sehr schade eigentlich...

  • Warum nicht über einen RasberryPI die 6502-REgister auslesen und kontinuierlich auf einem Display wiedergeben (oder in einer CSV ablegen)?

    Also den 6502 ordentlich rechnen lassen und die Register extern auslesen/ausgeben

    Ich meine, es ist doch eigentlich suboptimal den Test einer CPU durch die CPU selber durchführen zu lassen, oder? (Hatte das Ende der 80er Jahre mal programmiert mit einem 6522 und diversen LEDs zur Statusanzeige der diversen Register)


    Grundsätzlich natülich ein interessantes kleines Projekt.


    Bin gespannt auf die weitere Entwicklung!

    "There is no reason for any individual to have a computer in his home." Ken Olson, president, chairmen and founder of Digital Equipment Corp, 1977

  • Ja da hast Du recht. Es ist natürlich doof eine kaputte CPU durch sich selbst rausfinden zu lassen. Ein Problem ist, dass das Programm voraussetzt das einige Befehle ja richtig funktionieren. Also man braucht einen minimalen Satz an "guten" Op-codes dann testet sich das Programm durch den Rest. Wenn der Rechner gar nicht mehr geht dann kann man die CPU so nicht testen und du bräuchtest eine besondere Hardware wie Du beschrieben hast.


    Ich hatte halt einen Fall in meinem II Europlus, dass eine CPU nicht richtig Dezimalzahlen berechnet hat und das hat mich auf die Idee gebracht, dass es vielleicht CPUs gibt, die einzelne Opcodes haben,m die nicht (mehr) richtig funktionieren. Von einigen Handwerkern habe ich gehört, dass es sein kann dass im Laufe der Jahre einzelnen Befehle einer CPU ausfallen können ("alles ist möglich").


    Falls die Maschine also manchmal abstürzt oder Probleme hat, dann kann man mit dem Tool vielleicht etwas herausfinden?

  • Erster Treffer des CPU-Tests. Eine CPU wurde "OK" getestet:

    gute CPU

    Test startet

    Ergebnis: keine Fehler


    Zweite CPU: Test $2A fehlerhaft -> BCD add and subtract test


    "Bad guy"

    Bug Bug Bug


    Die Registerwerte werden noch nicht ausgegeben und es ist alles noch sehr rudimentär aber es scheint zumindest etwas zu funktionieren!

  • Kann ja auch nicht gehen... nach den Bildern ist die zweite CPU ja verkehrt herum drin und ausserdem anders beschriftet --->>> :tüdeldü::grübel::fp:;):wegmuss:

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Kann ja auch nicht gehen... nach den Bildern ist die zweite CPU ja verkehrt herum drin und ausserdem anders beschriftet --->>> :tüdeldü::grübel::fp:;):wegmuss:

    Stimmt seitdem ich meine CPU umgedreht habe läuft mein Apple II jetzt verkehrt herum aber sowas von stabil!!!

  • Ein weiteres Problem, eine neue R6502 hält seine Registerinhalte bei DMA zugriffen mindestens 16 Takte, weil es dynamische Speicher sind.
    Ich musste eine R6502 austauschen, weil sie immer wenn die Z80 Karte lief (DMA mit angehaltener 6502) die 6502 abgeschmiert ist. Es scheint, dass durch Alterung die dynamische Register, nicht mehr so lange ohne Refresh aushalten.
    Wäre auch Sinnvoll, das testen zu können.

  • Es ist natürlich doof eine kaputte CPU durch sich selbst rausfinden zu lassen.

    Das BOOT PROM des Epson QX-10, das ansonsten keine besondere Aufgabe außer dem Laden von CP/M hat, macht erst mal genau das: die CPU "etwas" überprüfen. Auch im Programm des 8042 Tastatur-Coprozessors IBM part number 1503033 sind Testroutinen enthalten, die nicht nur die Bedienbarkeit des Busses testen (also dass keine Leitungen auf high oder low fest hängen), sondern auch zumindest etwas den Controller selbst testen. Gerade letztes fand ich sehr erstaunlich, war wohl noch Platz im ROM, mit dem man etwas anfangen wollte.