10 REM *** MRUSTAT.BAS 84-11-30 CAT INGBYR] 15 INTEGER : NO EXTEND 20 GOSUB 390 30 ; : ; : ; : ; : ; "# MRUSTAT V 1.1" : ; 40 Q7$=CHR$(131,131,0)+SPACE$(40) 50 IF CALL(P) ; "Kommandot finns ej i detta system" : STOP 60 FOR I=2 TO 15 70 S=ASCII(MID$(Q7$,I,1)) 80 IF S=159 THEN 160 90 ; "MRU";NUM$(I-1);TAB(7); 100 U$=U$+NUM$(I-1)+":"+HEX$(S)+" " 110 IF S<128 ; "Fungerar" : GOTO 160 120 IF S=160 ; "Stoppad" : GOTO 160 130 IF (S AND 240)=144 ; "Stoppad pga felaktig status ";HEX$(S AND 15) : GOTO 160 140 IF (S AND 240)=160 ; "Stoppad pga ov{ntad felkod ";HEX$(S AND 15) : GOTO 160 150 ; "Stoppad ??? ";HEX$(S) 160 NEXT I 170 ; : ; 180 Q=20 : GOSUB 280 : T$=V$ 190 Q=24 : GOSUB 280 : I$=V$ 200 T$=SUB$(T$,I$,0) 210 Q=28 : GOSUB 280 : X$=V$ 220 ; DIV$(MUL$("100",X$,0),T$,2);"% av ";T$;" diskl{sningar har skett fr}n minneskortet" 230 U$=U$+DIV$(MUL$("100",X$,0),T$,2)+"% av "+T$ 240 ; 241 ; "MRU-kortet omstartat";ASCII(MID$(Q7$,18.,1.))+ASCII(MID$(Q7$,19.,1.));" g}nger" 260 END 270 REM **** VAL 280 V$="0" 290 FOR \=Q+3 TO Q STEP -1 300 V$=ADD$(MUL$(V$,"256",1),NUM$(ASCII(MID$(Q7$,\,1))),0) 310 NEXT \ 320 RETURN 330 REM *** 340 REM *** S|k r{tt p} addressen till 350 REM *** maskinkodsrutinen som skickar 360 REM *** kommandon till huvudmaskinen. 370 REM *** 380 DEF FNP2(A)=PEEK(A)+SWAP%(PEEK(A+1)) 390 IF PEEK(14) P=65403 ELSE P=65034 400 P=FNP2(P) : IF P=0 ; "Invalid hardvare." : STOP 410 IF CHR$(PEEK(P+2),PEEK(P+3),PEEK(P+4))<>"CUR" 400 420 P=FNP2(P+5)+39 430 REM p% {r nu adress dit man skall CALL'a vid Q7$-kommando. 440 RETURN