Jednoduchý test pamäte v BASICu

Tipy a triky v assembleri a v BASICu. Prosby o rady pri programovaní.
Post Reply
Message
Author
ellvis
Posts: 61
Joined: Sun Oct 06, 2013 10:57 pm

Jednoduchý test pamäte v BASICu

#1 Post by ellvis » Mon 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).

Code: Select all

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
Posts: 312
Joined: Mon Nov 25, 2013 9:11 pm
Location: Bratislava
Contact:

Re: Jednoduchý test pamäte v BASICu

#2 Post by Busy » Mon 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".

Code: Select all

    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 Bytes) Downloaded 124 times
Edit: Predtym som omylom uploadol ladiacu verziu, nahradil som to spravnou verziou.

Post Reply