Jednoduchý test pamäte v BASICu

Tipy a triky v assembleri a v BASICu. Prosby o rady pri programovaní.
Správa
Autor
ellvis
Príspevky: 63
Dátum registrácie: Ne Okt 06, 2013 10:57 pm

Jednoduchý test pamäte v BASICu

#1 Príspevok od používateľa ellvis » Po Apr 25, 2016 9:05 pm

Napísal som si jednoduchý tester pamäte v BASICu (pôvodne pre inú platformu, ale všetko si prototypujem na Spectre) a keďže by sa to možno niekomu mohlo hodiť, tu je výpis. Len poznámka, riadok 10 určuje rozsah testovaných adries. Ideálne je testovať pamäť nad RAMTOPom (takže pred spustením dať CLEAR počiatočná adresa-1).

Kód: Vybrať všetko

10 FOR f=30000 TO 65535
20 FOR v=0 TO 5
30 READ d
40 POKE a,d
50 LET test=PEEK a
60 IF test <>d THEN PRINT "Problem at";a
70 NEXT v
80 PRINT AT 0,0;a;" is OK"
90 RESTORE
100 NEXT a
1000 DATA 0,255,240,15,170,85

Busy
Príspevky: 330
Dátum registrácie: Po Nov 25, 2013 9:11 pm
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Jednoduchý test pamäte v BASICu

#2 Príspevok od používateľa Busy » Po Apr 25, 2016 10:54 pm

Moja verzia mem testu.
Okrem jednotlivych vadnych bitov (neschopnych pametat si stav) vie detekovat aj poruchy na adresovych vstupoch a akekolvek vnutorne pravouhle medzibitove "skraty".

Kód: Vybrať všetko

    10 CLEAR 32767
    20 LET zac=32768
    30 LET kon=65535
    40 DIM b(3)
    50 LET b(1)=BIN 01001001
    60 LET b(2)=BIN 10010010
    70 LET b(3)=BIN 00100100
    80 FOR m=1 TO 3
    90 LET i=m
   100 FOR a=zac TO kon
   110 POKE a,b(i)
   120 LET i=i+1
   130 IF i>3 THEN LET i=1
   140 NEXT a
   150 LET i=m
   160 FOR a=zac TO kon
   170 IF PEEK a<>b(i) THEN PRINT "Error at ";a,b(i);"!=";PEEK a
   180 LET i=i+1
   190 IF i>3 THEN LET i=1
   200 NEXT a
   210 NEXT m
   220 PRINT "Ok"
Memtest2.TAP
(437 Bajtov) 179 stiahnutí
Edit: Predtym som omylom uploadol ladiacu verziu, nahradil som to spravnou verziou.

Napísať odpoveď