@eross,
post #51
Musisz sprawdzić poprawność połączenia wszystkich linii adresowych oraz linii danych.
Dla linii danych to proste, najpierw sprawdzasz czy wszystkie linie można ustawić w stan aktywny i czy zapis zadziała:
poke word 0x600000 0xFFFF
poke word 0x600002 0xFFFF
peek hex word 0x600000
peek hex word 0x600002
Sprawdzasz czy wartości zwrócone przez peek to 0xFFFF. Później to samo robisz z wszystkimi liniami w stanie nieaktywnym:
poke word 0x600000 0
poke word 0x600002 0
peek hex word 0x600000
peek hex word 0x600002
Sprawdzasz czy zwrócone wartości to 0.
Linie adresowe przetestować można wpisując pod adres wybrany za pomocą osobnej linii wartość, a później sprawdzając czy te wartości są unikalne. Czyli najpierw:
poke 0x600000 0 (wszystkie linie adresowe w stanie niskim)
poke 0x600002 1 (linia A1 w stanie wysokim)
poke 0x600004 2 (linia A2 w stanie wysokim)
poke 0x600008 3 (itd.)
poke 0x600010 4
poke 0x600020 5
poke 0x600040 6
poke 0x600080 7
poke 0x600100 8
poke 0x600200 9
poke 0x600400 10
poke 0x600800 11
poke 0x601000 12
poke 0x602000 13
poke 0x604000 14
poke 0x608000 15
poke 0x610000 16
poke 0x620000 17
poke 0x640000 18
poke 0x680000 19
poke 0x700000 20
poke 0x800000 21
Potem peek na tych wszystkich adresach i patrzysz czy są wartości takie jak wpisałeś (i czy na pewno są unikalne, bo np. jak jakaś linia adresowa wisi w stanie wysokim to na więcej niż jednym adresie powyżej będziesz miał tą samą wartość).
Tu są narzędzia peek i poke:
http://aminet.net/util/cli/peek_poke.lha
Poza tym, istnieją dedykowane programy do testowania pamięci i na AmiNecie wala ich się cała masa.
EDIT: nie wiem jakim algorytmem testuje memtest, ale jak twierdzi, że jest ok to pewnie tak jest ;).
Ostatnia aktualizacja: 20.03.2015 16:30:03 przez strim_