Heimcomputer Z9001, KC85/1 und KC87
Hinweise und Tips: RAM-Test


RAM-Test bei defektem Rechner, wenn nichts geht ("wirre Zeichen")

Allgemeines
An erster Stelle ist immer zu messen, ob es Schlüsse der Datenleitungen untereinander, gegen Masse und gegen 5P gibt. Dann funktioniert nämlich gar nichts!
Ist der System-RAM defekt, meldet sich der Rechner nur mit den "wirren Zeichen". Die Grafik-LED leuchtet. Das System wird nicht gestartet.

Erklärung
Nach Einschalten des Rechners startet die CPU auf der Adresse 0000H. Im Z9001 wird der System-ROM von 0F000H zum Startzeitpunkt auf 0000H umgeschaltet. Mit dem ersten Befehl (Sprungbefehl auf die Adresse 0F660H, Adreßbit 15 wird H) wird der ROM wieder nach 0F000H zurückgeschaltet und das System initialisiert.
Ist das Signal /ROMDI aktiviert, wird verhindert, daß der System-ROM auf der Adresse 0000H eingeblendet wird. Liegt zum Startzeitpunkt auf der Adresse 0000H ein anderes bootfähiges Programm, z.B. ein RAM-Testprogramm, kann man damit den/die defekten RAM-IS ermitteln. Dieses Programm kann nicht den System-RAM nutzen, der ist ja defekt! Es läuft ausschließlich im ROM.
Es gibt noch eine Hürde:
Damit zum Startzeitpunkt der System-ROM auf der Adresse 0000H ansprechbar ist, wird der System-RAM ausgeblendet. Der soll doch aber geprüft werden! Aus diesem Grund wird der Arbeitsbereich des TEST-ROMs auf die Adresse 8000H verlagert. Mit dem ersten Befehl wird in den Bereich 8000H gesprungen. Gleichzeitig wird mit Aktivwerden der Adresse AB15 (der Bereich ab 8000H) der Adreßbereich des TEST-ROMs umgeschaltet und das Signal /ROMDI aufgehoben, so daß der System-ROM (hier uninteressant) und auch der System-RAM wieder aktiviert sind. Durch diese Umschalt­mög­lichkeit unterscheidet sich der RAMTEST-Modul von einem normalen ROM-Modul.
Wenn die Bildausgabe funktioniert, kann die Ausgabe von Programmreaktionen über den Bildschirm erfolgen. Eine Ausgabe von Pieptönen wäre auch möglich, dazu muß aber der CTC initialisiert werden. Die einfachste Ausgabe wird durch Schalten der Grafik-LED erreicht. Dafür müssen die CPU, Daten- und Adreßbus, deren Treiber und die PIO 1 (D12) funktionieren. Da dem Startbild mit den wirren Zeichen nicht zu entnehmen ist, ob der Bildspeicher ansprechbar ist, werden im Prüfprogramm sowohl die Ausgabe auf den Bildschirm, als auch die Ausgabe über die Grafik-LED umgesetzt.
Das gesamte Programm wird im ROM abgearbeitet. Die Ausgabe am Bildschirm ist ohne Verwendung eines Kellerspeichers (Stack) nicht möglich. Der System-RAM steht nicht zur Verfügung. Nach Prüfung des Bildspeichers wird zur einfachen Ausgabe unter Nutzung der Grafik-LED bzw. zur komfortableren Ausgabe über den Bildschirm verzweigt. Im letzteren Fall wird im Bildspeicher ein Stack angelegt.
Es wird eine umfangreiche Prüfung des gesamten RAMs durchgeführt (Einschreiben und Prüfen von 00 und FF). Bei einem Lesefehler stoppt das Programm, und es erfolgt eine Ausgabe über die PIO --> Grafik-LED. Für den gesamten Durchlauf mit Anzeige benötigt das Programm ca. 32 Sekunden, ohne Anzeige etwa 2 Sekunden.


ramtest8.txt Quelltext des Prüfprogamms 8,533 Bytes 27. 06. 2012
ramtest8.bin Binärdatei für den EPROM (ab 8000H) 416 Bytes 27. 06. 2012

Funktionsbeschreibung
0.
 
Sprung in den EPROM auf 8003H
(infolgedessen werden der Adreßbereich des EPROMs auf 8000H gelegt und der RAM wieder aktiviert)
1. Interrupt wird nicht erlaubt.
2. Farb- und Bildspeicher werden gelöscht (Leerzeichen, grün auf schwarzem Hintergrund).
Jetzt kann man sehen, ob die Ausgabe auf den Bildschirm funktioniert!
Die PIO wird initialisiert, die Grafik-LED erlischt.
3a. Es wird geprüft, ob der Bildspeicher ansprechbar ist. In diesem Falle wird im BWS ein Stack angelegt. Es folgt die Anzeige "RAMTEST" auf dem Bildschirm. (weiter mit 4.)
3b. Ist der Bildspeicher nicht ansprechbar, wird der gesamte RAM beschrieben und Byte für Byte gelesen und bei Lesefehler die Nummer des höchsten fehlerbehafteten Datenbits (D0 = einmal blinken ... D7 = achtmal blinken) als Blinkfolge ausgegeben und die CPU angehalten. ENDE
4. Der RAM wird von 0000 bis 3FFFF mit 00-Bytes beschrieben.
5. Der RAM wird Byte für Byte gelesen, und die aktuelle RAM-Adresse, das geschriebene Byte, das gelesene Byte und sein Wert binär ausgegeben.
6. Kommt es zu einem Fehler, wird der Lesevorgang abgebrochen. Anhand der Bildschirmausgabe des gelesenen binären Wertes kann man feststellen, welches Bit defekt ist (welche Bits defekt sind). Zusätzlich erscheint die Ausgabe "FEHLER". Anschließend wird die Grafik-LED angesprochen, um den Fehler auch ohne Bildschirm­anzeige mitzuteilen.
7. Wird kein Fehler gefunden, wird der RAM von 0000 bis 3FFFF mit FF-Bytes beschrieben.
8. Die weitere Prüfung erfolgt wie ab Punkt 5. Wird auch jetzt kein Fehler gefunden, erfolgt die Ausschrift "RAM OK" und die Grafik-LED leuchtet ständig. Die CPU wird angehalten. ENDE

Beispiel eines Fehlers auf Adresse 0091 (geschriebenes Byte 00, gelesenes Byte 41):
                       8      1----- Datenbit
                       |      |
RAMTEST     0091 00 41 01000001   FEHLER
            |    |  |  |____________ Binärwert
            |    |  |_______________ gelesenes Byte
            |    |__________________ geschriebenes Byte
            |_______________________ aktuelle Adresse
Anschließend blinkt die Grafik-LED siebenmal: Das Datenbit 7 (D6) ist defekt.
Nach Schaltkreiswechsel wird bei erneutem Prüfdurchlauf das Datenbit 1 (D0) als fehlerhaft erkannt. Die Grafik-LED leuchtet einmal auf.

RAMTEST   0231 FF FB 11111011  FEHLER --> Datenbit 3 (D2) ist defekt, dreimal Blinken

RAMTEST   3FFF FF FF 11111111  RAM OK --> Beispiel bei intaktem RAM, LED leuchtet ständig

modifizierter ROM-Modul modifizierter ROM-Modul Praktische Umsetzung
Der Aufbau erfolgte auf einer Rasterplatte mit Handverdrahtung.
Beim Z9001 sind keine Änderungen notwendig, beim KC87 muß auf der Rechnerplatine für den Test die Wickelbrücke X46-X47 hergestellt werden. Da die Wickelstifte nebeneinander im Raster von 2,5 mm liegen, kann man eine Steckbrücke verwenden.

ramt_s.pdf Schaltbild des Testmoduls 61,837 Bytes 23. 06. 2012


Bildschirmausgabe Auf dem Bildschirmfoto sieht man am unteren Bildschirmrand die im Kellerspeicher abgelegten Bytes. In der Regel wird auf der Adresse 0000H ein defekter RAM-Schaltkreis diagnostiziert werden.

Nachtrag
Man kann im Z9001 auch den linken System-EPROM durch einen EPROM mit dem Inhalt des RAM-Tests ersetzen. Der Rest bleibt frei. Dann braucht man keinen Modul aufzubauen.
ramtestc.txt Quelltext des Prüfprogamms für C000H 8,533 Bytes 19. 01. 2021
ramtestc.bin Binärdatei für den EPROM (ab C000H) 416 Bytes 19. 01. 2021



Fehlersuche mit dem RAMTEST-Modul
Beim KC87 mit den wirren Zeichen geht die grüne GRAFIK-LED nach dem Einschalten aus. Es liegt nahe, daß der Rechner funktioniert und der Fehler im Bildspeicher liegt, denn die PIO wird gesetzt (grüne LED geht aus). Zum Test wird BASIC aufgerufen. Es passiert aber nichts, alle Datensignale bleiben unverändert. Die Eingabe von CTRL-G ergibt keinen Piepton.

Nach Stecken des RAMTEST-Moduls und der Steckbrücke X46-X47 auf der Rechnerplatine wird der Rechner neu gestartet. Wegen des defekten Bildspeichers findet keine Ausgabe auf dem Bildschirm statt. Es erscheint nur ein "Y", aber die GRAFIK-LED leuchtet zweimal auf: also Datenbit 2 (von DB0 ausgehend = DB1) ist defekt. Das betrifft aber den System-RAM.
Die Signale am Bildspeicher werden untersucht. An den Ausgängen der Adreßmuxer für den Bildspeicher D59 und D60 (K531KP11) liegen Signale an, an den Datentreibern D64 und D65 (DS8216) fehlen sie an D64/5+7, obwohl am Eingang D64/6 welche anliegen. Nach Wechsel des 8216 ist das Fehlerbild unverändert. Er war also nicht defekt und ein Schluß im Bildspeicherschaltkreis D62 (U214) oder im Zeichen-ROM D66 (U2616) ist wahrscheinlich.

Ein Huckepackaufstecken eines intakten Schaltkreises auf den SRAM-Bildspeicherschaltkreises D62 ergibt an dessen Ausgang Datenkämpfe. Hier kommt also der Fehler her. Nach dessen Austausch arbeitet der Bildspeicher, denn der RAM-Test findet jetzt mit Ausgabe auf den Bildschirm statt.
Sowohl beim Test mit 00 als auch mit FF wird ein Fehler angezeigt. Es ist immer das Datenbit 2 (DB1) wie im Test mit der Ausgabe über die PIO. Der System-RAM-Schaltkreis D41 ist der defekte RAM-Baustein.

Nach Tausch des DRAMs D41 (K565RU6) funktioniert der Rechner wieder.

Letzte Bearbeitung: 14. 01. 2022
13,269 Bytes

zur Startseite