10 REM +++++++++++++++++++++++++++++++++ 11 REM ! Program .... MEMCHECK 12 REM ! Utg}va 2.1 1982-02-09 13 REM ! av (c) Bj|rn Bruzelius 14 REM ! Minne 16 Kbytes 15 REM ! Ins{nt av 1717 16 REM +++++++++++++++++++++++++++++++++ 17 REM 18 REM Screened by +TCP+ 19 REM 20 REM * 21 REM * MEMCHECK VER 2.1 * 22 REM * ROM&RAMTEST 16/32K * 23 REM * B.Bruzelius 820209 * 24 REM * 25 S%=(PEEK(65056)+256*PEEK(65057))+128 26 E%=(PEEK(65063)+256*PEEK(65064))-256 27 L%=E%-S% : GOSUB 56 : ; CHR$(12%) 28 GOSUB 29 : GOTO 35 29 ; "ROM-TEST" 30 ; "CHECKSUMMA:";CALL(-93%) : ; 31 ; 'RAM-TEST ADRESS (decimal)'; 32 ; 65536+S%;" -"65536+E% 33 ; "TESTAR BIT 0-7 (0-255) i "; 34 ; "ARBETSMINNET" : RETURN 35 ; : ; "OK f|r RENSA minnet "; 36 GET C$ : IF C$<>"J" 46 37 ; CUR(7%,0%)SPACE$(30%) 38 FOR I%=0% TO 255% : REM BIT 0-7 39 Z%=CALL(-128%,I%) : REM WRITE 40 Z%=CALL(-111%,I%) : REM READ 41 IF Z%<>E% Z%=Z%-1% : GOTO 48 42 ; CUR(7%,0%)'TEST #'I%' COMPLETED' 43 NEXT I% 44 ; CHR$(13%,10%,7%) 45 ; E0%" ERROR(S) DETECTED." 46 END 47 REM 48 ; CHR$(7%); 49 IF PEEK(65011%)<22% 51 50 ; CHR$(12) : GOSUB 29 : ; CUR(8,0) 51 ; "ERR ADRESS:"65536+Z%;" "; 52 ; "WRITE:"I%;" "; 53 ; "READ:"PEEK(Z%) 54 E0%=E0%+1% : GET C$ : GOTO 43 55 REM 56 REM -Mask.subrutiner i poke-arean- 57 POKE -128%,123%,42%,159%,255%,119%,35%,235%,42%,159%,255%,237%,75%,161%,255%,237% 58 POKE -113%,176%,201%,123%,42%,159%,255%,237%,75%,161%,255%,237%,161%,192%,224%,24%,250% 59 POKE -97%,S%,SWAP%(S%),L%,SWAP%(L%) 60 POKE -93%,17%,255%,63%,33%,0%,0%,6%,0%,19%,27%,26%,79%,9%,122%,179%,32%,-8%,201% 61 RETURN