1 REM Ins{nd av: Hans Holmberg <2838> 1987-03-19 11.34.35 (WRITE) 10 REM *** 20 REM *** READSTIE.BAS '85 30 REM *** (C) Hans Holmberg /Mummel <2838> 40 REM *** Ver 1.0 f|r CAT-NET Ver 1.3e 50 REM *** (Vet ej om pgmet passar f|r nyare versioner!) 60 REM *** 70 EXTEND : INTEGER 80 Kol=16/((PEEK(-172)/40) XOR 3) 90 ; CHR$(12) "Readstie Ver 1.0 (C) 1985 Hans Holmberg" 100 ; 110 INPUT "I vilket bibliotek ligger stiefel?";Bib$ 120 IF ASCII(Bib$)<>60 THEN Bib$="<"+Bib$+">" 130 Q8$=Bib$ 140 ON ERROR GOTO 420 150 OPEN 'stiefel' AS FILE 1 160 POSIT #1,253*93 170 GET #1,Slask$ 180 Ver=FNAvkoda(PEEK(62802),6)+SWAP%(FNAvkoda(PEEK(62803),7)) 190 ; "System number: #" NUM$(Ver) 200 INPUT "Adress (>=5120)?";Adr 210 POSIT #1,253*(73+INT(Adr/256)) ! OBS!! Fysiska adressen till relativ fil adress. 220 GET #1,Slask$ : ! L{s in record i dosbuf 1 230 FOR I=0 TO 255 STEP Kol 240 H$=HEX$(Adr+I) 250 ; RIGHT$("000"+H$,LEN(H$));": "; 260 Slask$="* " 270 FOR J=0 TO Kol-1 280 Byte=FNAvkoda(I+J,PEEK(I+J+62976)) 290 ; CHR$(-48*(Byte<16)) HEX$(Byte) " "; 300 IF Byte<32 OR Byte>127 THEN Byte=95 310 Slask$=Slask$+CHR$(Byte) 320 NEXT J 330 ; Slask$ 340 IF PEEK(-173)<23 THEN 400 350 IF SYS(5) THEN 370 360 ; "" CHR$(13); 370 GET Slask$ 380 IF Slask$="Q" OR Slask$="q" THEN 420 390 ; SPACE$(38) CHR$(13); 400 NEXT I 410 Adr=Adr+256 : GOTO 210 420 CLOSE 430 ; : ; 440 END 450 DEF FNAvkoda(X,A) LOCAL X,Y,Z,A 460 Y=A AND 255 470 Z=(17-Y) AND 255 480 Z=Z XOR X 490 Z=FNNeg(Z) 500 RETURN Z XOR 71 510 FNEND 520 DEF FNKoda(X,A) LOCAL X,Y,Z,A 530 Z=X XOR 71 540 Z=FNNeg(Z) 550 Y=A AND 255 560 Y=(17-Y) AND 255 570 RETURN Y XOR Z 580 FNEND 590 DEF FNNeg(X)=((X XOR 255)+1) AND 255