APPLICATIONSDIVERS ★ „Memory Check“ -Prüfen Sie Ihren Computer! ★

Memory Check (Computer Schau)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Eigentlich sollte es ja nicht Vorkommen, aber kein Computer ist vor Defekten sicher. Besonders ärgerlich ist das, wenn ein Speicherchip nicht mehr richtig funktioniert und aus scheinbar unerklärlichen Gründen Programme, die vorher noch einwandfrei liefen, dauernd „aussteigen”. Mit dem Maschinenprogramm „MEMORY CHECK” können Sie sich Gewißheit über den Zustand Ihres Computers verschaffen. Das Programm läuft auf allen drei Schneider-Computern.

MEMORY CHECK ist vollständig in Maschinensprache geschrieben. Das bedeutet, daß Sie entweder den Quellcode abtippen und assemb Heren oder den Basic-Loader eingeben können. Entscheiden Sie sich für den Quellcode, dann müssen Sie zum Starten des Programms CALL &A2A1 eingeben; der Basic-Loader macht dies automatisch und sucht außerdem geeignete Bildschirmfarben heraus.

Das Programm meldet sich mit MEMORY CHECK V1.0 und zeigt in der Bildschirmmitte laufend die geprüften Speicheradressen in Hexadezimal-Schreibweise an. Um die Verarbeitungsgeschwindigkeit zu erhöhen, erfolgt die Anzeige nur an Page-Grenzen, also nach jeweils 256 Bytes. Ist Ihr Computer fehlerfrei, erscheint nach kurzer Zeit Speicher von &0040-&A000 Ok. In einem zweiten Durchgang wird dann der Bildschirm-RAM von &C000 bis &FFFF untersucht. Auch hier erfolgt bei einwandfreien Testergebnissen eine entsprechende Bildschirmausgabe: Speicher von &C000-&FFFF Ok - Bitte druecken Sie eine Taste! Nach dem Tastendruck wird ein Reset ausgelöst, da eine Rückkehr nach Basic wegen der völlig veränderten Speicherinhalte kaum noch möglich ist.

Sollten Sie zu den Pechvögeln mit defektem Computer gehören, erscheint bei nicht funktionierenden Speicherstellen die Fehlermeldung Adreßfehler und die defekte Adresse wird ausgegeben. Nach einem Tastendruck wird auch hier ein Reset ausgelöst. In einem solchen Fall bleibt Ihnen nichts anderes übrig, als den Computer reparieren zu lassen.

Es ist aber dringend zu empfehlen, das Programm schon vor dem Auftreten solcher Fehler abzutippen und zu speichern — wenn die Fehler auftauchen, kann es zur Programmeingabe schon zu spät sein!

Für Interessierte hier noch einige Angaben zur Funktionsweise des Programms: MEMORY CHECK setzt in einer Programmschleife zuerst jede Speicherstelle auf Null und liest den Inhalt der Speicherstelle wieder. Erkennt das Programm einen anderen Wert als Null, so erfolgt eine Fehlermeldung. In einem zweiten Test werden daraufhin alle Bits der Speicherstelle auf Eins gesetzt, MEMORY CHECK lädt also den Wert 255 in die Speicherstelle. Wird beim erneuten Lesen ein anderer Wert festgestellt, so erfolgt die Fehlermeldung.

Ziemlich schwierig war die Wahl der Speicherbereiche: Der Bereich von &0000 bis &0040 ist für Veränderungen tabu, da dort die Restart-Vektoren stehen, die von allen ROM-Routinen verwendet werden. So würde z. B. die Bildschirmausgabe zum Systemabsturz führen. Ebenso verbietet sich die Veränderung des System-RAMs, da hier wichtige Daten für den Computer stehen, insbesondere die Sprungtabelle, ohne die keine ROM-Routinen mehr verwendet werden können. Auch befindet sich im Adreßbereich unter 49152 der Systemstack des Z80-Prozessors. Diesen z. B. in einem Unterprogramm zu verändern, führt beim RET-Rücksprung in den allermeisten Fällen zum System-Crash. Deshalb beschränkt sich MEMORY CHECK darauf, den Bereich &0040 bis &A200 zu untersuchen. Hier können alle Speicherinhalte verändert werden, wenn man mit dem Z80-Maschinenbefehl DI alle Interrupts des Computers verbietet und auf eine Rückkehr nach Basic verzichtet. In einer zweiten Schleife untersucht das Programm nach obig beschriebenem Verfahren den RAM-Speicher von &C000 bis &FFFF. Da dort aber normalerweise der Bildschirmspeicher liegt, wäre es nicht gerade ästhetisch, die Tests vor den Augen des Programmbenutzers durchzuführen. Schwerer wirkt aber das Problem, daß keine Bildschirmausgaben möglich wären. So kopiert MEMORY CHECK ganz einfach den gesamten Bildschirmspeicher mit LDIR in den Bereich von &4000 bis &7FFF und schaltet dann auf diesen Alternativbildschirm um. Der Benutzer merkt davon natürlich überhaupt nichts.

M. Kotulla/LM, Computer-Schau

★ PUBLISHER: Computer-Schau
★ YEAR: 1986
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ AUTHOR: Martin KOTULLA
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Memory  Check    (Incl.  ASM  Source)    (Computer  Schau)    GERMAN    LISTINGDATE: 2023-10-31
DL: 46
TYPE: PDF
SiZE: 5373Ko
NOTE: 5 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Memory Hacker
» Applications » Memory (Clive_Bellaby)
» Applications » Memory Search (Popular Computing Weekly)
» Applications » Memory Dump (The Amstrad User)
» Applications » 128K Memory Swapper
» Applications » Memory Boss (Setanta Software)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 263 millisecondes et consultée 184 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.