10 REM *** JKTEST35 *** / 4.11.80 20 REM 30 REM OPPHAV : 40 REM JON KLEISER 50 REM FRYDENSGT. 2B, OSLO 5 60 REM 70 DIM W$=256% : W$=SPACE$(256%) 80 A%=PEEK(65065%)+256%*PEEK(65066%) 90 POKE A%+6%,62720%,SWAP%(62720%) 100 S$="L____L____L____L____" 110 ; CHR$(12%)"JK FLOPPY TEST '35'" 120 ; "===================" : ; 130 ; "HVILKEN DRIVE SKAL TESTES ? "; 140 ; "(0/1) "; : GET D$ : ; D$ : ; 150 POKE -767%,VAL(D$) 160 ; "- OBS! SKIVEN I DR"D$": "; 170 ; "VIL BLI SLETTET !" : ; 180 ; "- FEILKODEN ANGITT MED "; 190 ; '"E" ER ICKE' 200 ; " IDENTISK MED ERRCODE" : ; 210 ; "- TESTEN STOPPES MED ET "; 220 ; "TASTETRYKK" : ; 230 ; "KLAR ? (J/N) "; 240 GET R$ : ; R$ 250 IF R$="N" OR R$="n" END 260 ; CUR(3%,0%)SPACE$(400%) 270 REM 280 REM * SETT OPP DISPLAY * 290 REM 300 ; CUR(0%,21%)"SCAN:" 310 ; CUR(1%,21%)"TRACKS SKREVET:" 320 ; TAB(21%)"ANT. LESEFEIL : 0" 330 ; " NABO" : ; " T S"; 340 ; TAB(31%)"S E" 350 RESTORE 360 FOR N%=1% TO 4% 370 READ T9%,S9% 380 ; CUR(4%*N%+3%,1%)T9%" "S9%" "S$ 390 NEXT N% 400 ; TAB(8%)"0 10 20 30" 410 ; TAB(29%)"TRACK :" : ; 420 ; TAB(29%)"SECTOR:"; 430 REM 440 REM GRAFIKK P] OG AV 450 REM 460 FOR R%=3% TO 21% 470 IF R%<>20% ; CUR(R%,7%)CHR$(151%); 480 ; CUR(R%,28%)CHR$(135%); 490 NEXT R% 500 RANDOMIZE 510 REM 520 REM ** NY SCANNING AV SKIVEN ** 530 REM 540 S2%=S2%+1% : ; CUR(0%,26%)S2% 550 REM 560 FOR T0%=39% TO 20% STEP -1% 570 ; CUR(1%,36%)NUM$(T2%) 580 REM TEST OM STOPP-SIGNAL 590 IF PEEK(65013%)>127% THEN 1340 600 REM STRYK GAMLE FEIL-MELDINGER 610 FOR R%=7% TO 19% 620 ; CUR(R%,31%)" " 630 NEXT R% 640 REM 650 FOR S%=0% TO 7% 660 ; CUR(23%,36%)S%; 670 REM 680 FOR T%=T0% TO T0%-20% STEP -20% 690 SETDOT 65%,T%+16% 700 SETDOT 64%,T%+16% 710 T$=NUM$(T%) 720 ; CUR(21%,36%)RIGHT$(T$,LEN(T$)-1%) 730 REM 740 REM SKRIV SEKTOR 750 REM 760 W$=STRING$(256%,94%*RND+33%) 770 Z%=CALL(24675%,SWAP%(T%)+32%*S%) 780 REM TEST OM SKRIVFEL 790 E%=PEEK(-747%) 800 IF E%=0% THEN 900 810 ; CUR(23%,0%)CHR$(7%)"SKRIVEFEIL:"; 820 ; " T="RIGHT$(T$,2%); 830 ; " S="RIGHT$(NUM$(S%),2%); 840 E$=NUM$(E%) 850 IF E%>0% THEN E$=RIGHT$(E$,2%) 860 ; " E="E$" "; 870 REM 880 REM * L\P GJENNOM NABOER * 890 REM 900 RESTORE 910 FOR N%=1% TO 4% 920 R%=4%*N%+3% 930 READ T9%,S9% 940 REM 950 DATA -1,0,0,-1,1,0,0,1 960 REM 970 T1%=T%+T9% : S1%=S%+S9% 980 IF T1%<0% OR T1%>39% THEN 1230 990 ; CUR(R%,29%)"<"; 1000 IF S1%<0% THEN S1%=7% 1010 IF S1%>7% THEN S1%=0% 1020 REM 1030 REM LES SEKTOR 1040 REM 1050 Z%=CALL(24678%,SWAP%(T1%)+32%*S1%) 1060 REM TEST OM LESEFEIL 1070 E%=PEEK(-747%) 1080 IF E%=0% THEN 1210 1090 L%=L%+1% 1100 ; CUR(2%,36%)NUM$(L%) 1110 ; CUR(R%,30%)CHR$(7%)S%" "E%" " 1120 REM NB" S%=SKRIVESEKTOR 1130 REM 1140 REM PLOT LESEFEIL P] SKRIVETRACK 1150 REM 1160 R1%=12%*N%+8% 1170 FOR R2%=R1% TO R1%-7% STEP -1% 1180 IF NOT DOT(R2%,T%+16%) THEN 1200 1190 NEXT R2% 1200 SETDOT R2%,T%+16% 1210 ; CUR(R%,29%)" "; : REM STRYK < 1220 REM TEST OM STOPP-SIGNAL 1230 IF PEEK(65013%)<128% THEN 1250 1240 ; CUR(22%,0%)"STOPPER" 1250 NEXT N% 1260 CLRDOT 64%,T%+16% 1270 NEXT T% 1280 NEXT S% 1290 T2%=T2%+2% : REM TRACKS SKREVET 1300 NEXT T0% 1310 ; CUR(21%,8%)SPACE$(20%); 1320 GOTO 540 : REM NY SCANNING 1330 REM 1340 POKE 65013%,0% 1350 ; CUR(22%,5%)" "CUR(21%,0%); 1360 END