Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Release: Memtest85 » Themenansicht

Autor Thread - Seiten: -1-
000
17.03.2009, 19:01 Uhr
danielk

Avatar von danielk

Hallo allerseits!

Im Zuge meines M035-Bastelprojekts habe ich ein kleines aber feines Speichertestprogramm geschrieben. Es läuft unter CAOS und klappert selbstständig alle Modul-Einschübe nach bekannten Speichermodulen ab, um diese dann der Reihe nach im Segment 8000H einigen Tests zu unterziehen. Hier mal ein Bild zur Veranschaulichung:



Der Clou ist, dass Memtest85 auch den eingebauten RAM8, RAM4 und sogar RAM0 testet! Um letzteres zu bewerkstelligen, schiebe ich den Code samt Systemarbeitszellen und Stack vorübergehend in den RAM4, und anschließend wieder zurück in den RAM0. Herunterladen könnt Ihr es hier:

Ausführbares Abbild: MTEST85.KCC
EDAS-Quelltext: MTEST85.ASM

Den Quellcode von Memtest85 als Text zum direkten Anschauen gibt es auch.

Getestet habe ich Memtest85 auf einem KC 85/5, und auf dem KC 85/4 im Emulator. Für den KC 85/2 sowie KC 85/3 muss ich noch Anpassungen vornehmen, da ich dort keinen RAM4 voraussetzen kann.

Aufgerufen wird das Programm über den CAOS-Menüeintrag MEMTEST:

Quellcode:
%MEMTEST
%MEMTEST 0C
%MEMTEST 08 1F

Ohne Argumente wird alles getestet, mit einem Argument ein bestimmtes Modul und mit zwei Argumenten kann man den Slot-Suchbereich einschränken. Ach ja, beim Laden kann auch ein Verschiebe-Offset angegeben werden. Einzige Bedingungen sind, dass der niederwertige Teil der Adresse 0 bleibt, und dass das Programm nicht über den RAM0 hinaus geschoben wird.

Das Programm läuft neunmal durch, jeweils mit einem anderen Testmuster. Das Testmuster ist 16 Bit breit, so dass die Zustände auf den Datenleitungen ständig wechseln. Jedes Speichersegment wird in Blöcken von 256 Byte geprüft. In jeden Block wird zunächst mittels PUSH-Befehlen das Testmuster geschrieben. Anschließend wird mit LDIR der gesamte Blockinhalt um ein Byte verschoben, und das letzte Byte nach vorn geholt. Das entspricht praktisch einer Vertauschung der Bytes im Testmuster. Anschließend wird mit POP-Befehlen zurückgelesen, und auf Gleichheit mit dem Testmuster (Bytes getauscht) geprüft.

Zu meiner Freude kann ich mitteilen, dass mein M035-Eigenbau sowie auch der Rest des Systems den Test mit Bravour bestanden haben! Vielleicht kann Memtest85 für den ein oder anderen hier auch von Nutzen sein.

Viel Spaß damit,
--Daniel

Dieser Beitrag wurde am 19.03.2009 um 21:07 Uhr von danielk editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
17.03.2009, 19:52 Uhr
Enrico
Default Group and Edit


Freut mich, dass Du dir so viel Arbeit gemacht hast. Das hätte aber wirklich nicht sein müssen. Hättest Du mal nachgefragt.
Ein ausführliches Speichertestprogramm von Frank gibt es schon eine ganze Weile.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
17.03.2009, 20:23 Uhr
susowa




Zitat:
Enrico schrieb
Freut mich, dass Du dir so viel Arbeit gemacht hast. Das hätte aber wirklich nicht sein müssen. Hättest Du mal nachgefragt.
Ein ausführliches Speichertestprogramm von Frank gibt es schon eine ganze Weile.

Vorab an Daniel - super gemacht! Mich freut es auch immer, wenn jemand Programme für den KC schreibt!

Das mit dem 'Nachfragen' ist sicher richtig aber nur die halbe Wahrheit. Wenn solche Programme wie RAMTEST3 von Frank und Mario vernünftig und vor allem frei zugängig für alle Interessenten publiziert werden würden, gäbe es solche Überschneidungen auch nicht, womit wir wieder beim Thema bzw. Problem wären.

Aber wenn Daniel jetzt noch die Vorteile seines Programmes, wie freie Verschiebbarkeit und Testmöglichkeit von RAM0 in RAMTEST3 einbauen würde, hätten wir wirklich ein komplettes und auch schönes Testprogramm für den gesamten RAM des KC85 :-)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
17.03.2009, 20:55 Uhr
Carsten



Überschneidungen würde ich nicht sagen. Im PC-Bereich setzten wir mehrere Speichertestprogramme ein um manche Fehler zu finden und somit ist jedes neue Programm eine Erweiterung der Testmöglichkeiten.

Apropro Möglichkeiten. Ein Programm zur CRC-Prüfung der Eproms in den KCs und Modulen währe noch eine tolle Sache ;-)

Viele Grüße
Carsten
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
18.03.2009, 16:57 Uhr
danielk

Avatar von danielk


Zitat:
Enrico schrieb
Freut mich, dass Du dir so viel Arbeit gemacht hast.

Danke!

Zitat:
Das hätte aber wirklich nicht sein müssen. Hättest Du mal nachgefragt.

Das ist exakt das Problem: dass man nachfragen muss. Ich bin einfach die Hacker-Kultur gewöhnt, in der das unabhängige und selbstständige Erarbeiten sehr hoch gehalten wird. Nachfragen gilt nur dann als angemessen, wenn man vorher alle anderen Optionen ausgeschöpft hat.

Ich habe jetzt nochmal nachgeschaut, und ich kann in meiner gespiegelten KC-Club-Seite kein RAMTEST3 finden. Und dabei habe ich sogar die Archive der KC-News-Beilagendisketten, die eigentlich nirgendwo verlinkt sind -- da bin ich zufällig durch Ausprobieren verschiedener Diskettennummern drauf gestoßen. Im KC-Labor habe ich es auch nicht gefunden. Angesichts der Begleitumstände plädiere ich daher auf Freispruch vom Vorwurf, vorsätzlich das Rad neu erfunden zu haben!

Zum Glück scheint es aber so zu sein, dass der Eindruck einer verschlossenen Gemeinde eher von Gewohnheit als Methode herrührt. Jedenfalls war ich von Marios überaus freundlicher Reaktion und Hilfsbereitschaft auf eine E-Mail-Anfrage meinerseits stark positiv überrascht.

Nun aber mal zurück zum eigentlichen Thema. Hat denn wenigsten mal jemand mein Programm ausprobiert?! Ein Softwareentwickler kann schließlich ohne Feedback genauso wenig leben wie ein Vampir ohne Blut.

Dieser Beitrag wurde am 18.03.2009 um 16:58 Uhr von danielk editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
18.03.2009, 21:39 Uhr
susowa




Zitat:
danielk schrieb
Nun aber mal zurück zum eigentlichen Thema. Hat denn wenigsten mal jemand mein Programm ausprobiert?! Ein Softwareentwickler kann schließlich ohne Feedback genauso wenig leben wie ein Vampir ohne Blut.

Ja habe ich: KC85/5 + M011 in 0C + M035*4 in 10 und M052 in 18 :-)

No problems - hat eine ganze (lange) Zeit fleissig gewerkelt, gezählt und 9 mal mit seinen Patterns in den Slots durch die Segmente auf den Adressen herumgetrampelt.

Wenigstens ein PASS / FAIL sollte aber am Ende schon noch drin sein - oder?!

MfG Ralf
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
18.03.2009, 22:35 Uhr
FL



Hallo Daniel

beim Auffinden einer defekten Speicherzelle bricht Dein Programm mit einem Warmstart ab.
Ich hatte verschiedene Module getestet. Bei allen lief das Programm bis zum Ende durch, außer bei einem M022. Also habe ich in den Emulator eine defekte Speicherzelle programmiert: gleiches Ergebnis.

Allerdings, ich habe hier ein defektes M035 (Als RAM-Disk nicht zu gebrauchen, weil es seinen Inhalt vergißt)
Auch dieses Modul lief fehlerfrei durch.

Gruß
Frank.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
18.03.2009, 23:42 Uhr
susowa




Zitat:
FL schrieb
Allerdings, ich habe hier ein defektes M035 (Als RAM-Disk nicht zu gebrauchen, weil es seinen Inhalt vergißt)
Auch dieses Modul lief fehlerfrei durch.

So eines habe ich auch noch. Die haben Probleme mit dem Refresh, das tritt allerdings erst nach einigen bis vielen Sekunden auf. Das MTEST testet so etwas nicht und eigentlich sind die RAM's ja auch in Ordnung.

Kann man schön mit DIASHOW oder UNIPIC "sehen" - alle Bilder löschen, KC 30 min stehen lassen und sich dann mal die Diashow ansehen, ergibt i.d.R. schöne symetrische Muster und Geblinke auf dem Monitor.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
19.03.2009, 00:28 Uhr
FL




Zitat:
susowa schrieb
Das MTEST testet so etwas nicht und eigentlich sind die RAM's ja auch in Ordnung.

Bist Du Dir sicher ?
Bis vor ca. 3 Jahren lief das Modul zuverlässig im Schacht 8, seitdem nicht mehr.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
19.03.2009, 11:11 Uhr
susowa




Zitat:
FL schrieb
Das MTEST testet so etwas nicht und eigentlich sind die RAM's ja auch in Ordnung.
Bist Du Dir sicher ? Bis vor ca. 3 Jahren lief das Modul zuverlässig im Schacht 8, seitdem nicht mehr.

Eigentlich schon, wenn die Speicherzelle kaputt wäre, würde das das Programm auch melden. Wenn die Daten erst nach einigen Sekunden verloren gehen, weil das Refresh nicht zuverlässig funktioniert, ist MTEST schon drüber und testet bereits ein folgendes Segment.

Merkwürdig ist nur, dass das Modul schon mal funktioniert hat, bisher war das immer so, wenn es in einem Gerät lief, dann immer. Ich hatte mein Modul mal im KC von Mario ausprobiert - da lief es sofort und auch in verschiedenen Modulschächten. In meinem KC lief es nie, egal wo.

Was Du aber mal probieren kannst, ist die Reinigung der hinteren Kontaktleiste der Modulleiterplatte mit reinem Alkohol, das hat manchmal geholfen, ansonsten vermute ich Alterung oder Defekt irgendeines Bauteils, welches für das Referesh-Timing eine entscheidende Rolle spielt, das ist scheinbar speziell bei diesen M035 Prototypen aus Mühlhausen etwas auf Kante ausgelegt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
19.03.2009, 15:06 Uhr
danielk

Avatar von danielk

Na geht doch! Vielen Dank, dass Ihr Euch die Zeit genommen habt, Memtest85 mal auszuprobieren. Eure Erfahrungsberichte sind sehr hilfreich!

Zitat:
susowa schrieb
Wenigstens ein PASS / FAIL sollte aber am Ende schon noch drin sein - oder?!

OK, mach ich noch. Eine "Memory fault"-Meldung mit drei Piepsern gibt es aber bereits. Es würde dann auch die genaue Adresse anzeigen, auf der der Fehler auftrat.

Zitat:
FL schrieb
beim Auffinden einer defekten Speicherzelle bricht Dein Programm mit einem Warmstart ab.

Uh, das ist schlecht. Eigentlich sollte die bereits erwähnte Meldung "Memory fault" erscheinen. Da habe ich wohl seit dem letzten Test des Fehlerfalls etwas im Code versaubeutelt.

Zitat:
FL schrieb
Ich hatte verschiedene Module getestet. Bei allen lief das Programm bis zum Ende durch, außer bei einem M022.

Heißt das, dass Memtest85 einen Fehler gefunden hat, der Dir zuvor nicht bekannt war? Juhu!

Zitat:
FL schrieb
Allerdings, ich habe hier ein defektes M035 (Als RAM-Disk nicht zu gebrauchen, weil es seinen Inhalt vergißt) Auch dieses Modul lief fehlerfrei durch.

Sehr guter Hinweis! Ralf hat Recht -- Memtest85 testet nicht auf Fehler dieser Art. Das ist ein Mangel, den ich noch beheben muss. Ich habe auch schon eine Idee, wie man das auf möglichst einfache Weise lösen kann: Es müsste eigentlich schon reichen, zu Beginn eines neuen Durchlaufs nochmal gegen das Testmuster vom letzten Durchlauf zu prüfen. Beim ersten Lauf muss ich diesen Test natürlich überspringen. Beim RAM0 und RAM4 wird es schwierig, da diese Bereiche ja vom Programm selbst genutzt werden. Aber für alles andere müsste es so gehen.

Zitat:
susowa schrieb
KC 30 min stehen lassen und sich dann mal die Diashow ansehen, ergibt i.d.R. schöne symetrische Muster und Geblinke auf dem Monitor.

Oh, das ist interessant. Ich habe nicht gewusst, dass man Refresh-Fehler mitunter erst nach Minuten erkennen kann. Ich dachte bisher, das spielt sich alles im µs-Bereich ab. So etwas passiert wohl vermutlich, wenn der Refresh zwar noch stattfindet, sich das Intervall aber genau an der Grenze des Erlaubten bewegt?

Ich werde mich am Wochenende mal daran machen, die von Euch gemeldeten Fehler zu beheben. Nochmals vielen Dank!

Dieser Beitrag wurde am 19.03.2009 um 15:08 Uhr von danielk editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
19.03.2009, 15:53 Uhr
ROBOTROONIE



Bei üblichen (PC-)Memtest-Programmen nennt sich das "Bit fade test".
Bei http://www.memtest86.com/tech.html 90 Minuten.
Btw: kenne das nur als Freeware - das scheint sich aber jetzt geändert zu haben.
--
- Meine Posts werden zu 100% aus recycelten Bits erstellt -

Dieser Beitrag wurde am 19.03.2009 um 15:53 Uhr von ROBOTROONIE editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
19.03.2009, 17:13 Uhr
AlexHuck




Zitat:
ROBOTROONIE schrieb
Bei üblichen (PC-)Memtest-Programmen nennt sich das "Bit fade test".
Bei http://www.memtest86.com/tech.html 90 Minuten.
Btw: kenne das nur als Freeware - das scheint sich aber jetzt geändert zu haben.

Schau mal beim Ableger: http://www.memtest.org/

Tante Edit: auch auf der von Dir genannten Seite gibt es noch den kostenfreien Download. Musst nur über die Hauptseite reingehen.
--
Jeder blamiert sich, so gut er kann.

Dieser Beitrag wurde am 19.03.2009 um 17:15 Uhr von AlexHuck editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
19.03.2009, 17:27 Uhr
ROBOTROONIE



Hätt mich auch gewundert.
Habs auf diversen Boot-CDs (und Floppys) und wusste eigentlich, dass das immer frei war.
Andere Anbieter haben auch so einen Bit Fade Test drin (z.B. Toolstar).
--
- Meine Posts werden zu 100% aus recycelten Bits erstellt -
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
19.03.2009, 21:11 Uhr
danielk

Avatar von danielk


Zitat:
FL schrieb
beim Auffinden einer defekten Speicherzelle bricht Dein Programm mit einem Warmstart ab.

Alles klar, ich habe den Fehler beseitigt und die korrigierte Version Memtest85 0.6 hochgeladen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
20.03.2009, 13:24 Uhr
FL



Super ! Das defekte M022 wird jetzt angezeigt und wenn es nicht gesteckt ist
läuft der Test durch alle anderen Module sauber durch.

Einen kleinen Schönheitsfehler fand ich noch beim Test im Emulator.
Memtest meldete die Adresse BAF6 als defekt, es war aber die Adresse BAF8 .
Aber was soll's, kaputt ist kaputt.

Gruß Frank.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
20.03.2009, 17:40 Uhr
ralle



es geht, sogar recht gut! danke
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
10.03.2024, 11:54 Uhr
Bert



Hat jemand das Programm memtest85.kcc und den zugehörigen Quelltext gesichert?

Die Webpräsenz von Daniel ist nicht mehr erreichbar, ich würde mir das aber gern mal anschauen.
Meine eMail ist im Profil hinterlegt.

Danke,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
11.03.2024, 07:15 Uhr
Bert



Vielen Dank!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
11.03.2024, 12:58 Uhr
KCMattze



also da hätte ich auch interesse!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
11.03.2024, 18:24 Uhr
ambrosius



Ich könnte die Dateien auch bei mir auf die Halde legen.
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek