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