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


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

Allgemeines
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,269 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.

Letzte Bearbeitung: 21. 10. 2013
10,006 Bytes

zur Startseite