100 POKE788,52:REM *DISKTESTER* 105 REM *ULI LANG* 110 REM *TALSTR. 10* 115 REM *8609 BISCHBERG* 120 REM *TEL.0951/67389* 125 : 130 L$="[147]":D$="":U$="[145]":Z$="[157]":REM*LOESCHEN,CRSR DOWN,CRSR UP,CRSR BACK* 135 G$="":O$="[129]":B$="[154]":T$="[159]":R$="[150]":REM*GRUEN,ORANGE,HELLBLAU,TUERKIS,ROT* 140 FARBSPEICHER=55296:BILDSCHIRMSPEICHER=1024 145 DIMT%(100),S%(100):REM*FEHLERHAFTE BLOCKS* 150 PRINTL$G$D$SPC(15)"DISKTESTER"D$:POKE53280,0:POKE53281,0:REM*SCWARZ* 155 PRINTO$D$"<"B$"A"O$"> ALLE BLOCKS TESTEN" 160 PRINTD$"<"B$"B"O$"> BELEGTE BLOCKS TESTEN" 165 PRINTD$"<"B$"K"O$"> KAPUTTE BLOCKS BELEGEN" 170 GETA$ 175 IFA$="A"THENTS=1:GOTO210 180 IFA$="B"THENTS=0:GOTO210 185 IFA$="K"THEN575 190 GOTO170 195 REM***************** 200 REM*DISKETTE TESTEN* 205 REM***************** 210 DIMB%(35,23),F$(8):K$=",":N$=CHR$(0):FR=0:FE=0:FT=0 215 FORI=0TO8:READF$(I):NEXT:REM*FEHLERMELDUNGEN* 220 GOSUB610:REM*AUF SPACE WARTEN* 225 OPEN15,8,15,"I" 230 PRINTL$"VALIDATE? "B$"J/N" 235 GETA$ 240 IFA$="N"THEN255 245 IFA$="J"THENPRINTL$T$D$"VALIDATING...":PRINT#15,"V":GOTO255 250 GOTO235 255 OPEN3,8,3,"#":IFTSTHENOPEN5,8,5,"#" 260 PRINTL$T$"BAM WIRD GELESEN "U$ 265 PRINT#15,"U1:"3;0;18;0:GET#3,A$,A$,A$ 270 IFA$<>CHR$(65)THENPRINTD$"KEIN DOS 2.6 ODER 2.5!":GOTO550 275 GET#3,A$ 280 REM*********************** 285 REM*ANALYSIEREN DER BAM * 287 REM*AUFGELOEST IN B%(T,S)* 290 REM*********************** 295 FORT=1TO35 300 REM*FREIE BLOCKS,SEKTOR 7-0,SEKTOR 15-8,SEKTOR 23-16* 305 GET#3,FR$:FR=FR+ASC(FR$+N$):S=0 310 IFFRTHEN320:REM*NICHT ALLE BLOCKS BELEGT* 315 FORS=0TO23:B%(T,S)=0:NEXTS:GOTO345 320 A=1:GET#3,BA$:BA=ASC(BA$+N$) 325 FORS=STOS+7 330 B%(T,S)=(BAANDA)/A:A=A+A:FT=FT+B%(T,S) 335 NEXTS 340 IFS<23THEN320 345 NEXTT 350 IFFR<>FTTHENPRINTL$R$TAB(14)"!BAM-FEHLER!":GOTO550 355 GOSUB635 360 REM*********************** 365 REM*START DER TESTROUTINE* 370 REM*********************** 375 IFTS=0THENFR=683-FR:REM*VOLLE BLOCKS* 380 IFTS=0THEN400 385 REM*170=%10101010 , 85=%01010101* 390 PRINT#15,"B-P:"5;1:FORI=1TO128:PRINT#5,CHR$(170)CHR$(85);:NEXT 395 REM*PUFFER BRAUCHT NUR EINMAL GEFUELLT ZU WERDEN* 400 FORT=1TO35:REM*SPURZAEHLER* 405 IFT<18THENMS=20:GOTO425 410 IFT<25THENMS=18:GOTO425 415 IFT<31THENMS=17:GOTO425 420 MS=16 425 FORS=0TOMS:REM*BLOCKZAEHLER* 430 ONTS*2+B%(T,S)GOTO485,435,440 435 PRINT#15,"U1:"3;0;T;S:GOTO445:REM*BLOCK LESEN* 440 PRINT#15,"B-W:"5;0;T;S:REM*BUFFER AUF DISK SCHREIBEN* 445 AO=40*(20-S)+T+3:REM*ADRESSOFFSET* 450 INPUT#15,F:IFF<20THENP=32:GOTO480 455 IFF<29THENF$=F$(F-20):GOTO465 460 F$="" 465 PRINTR$F;F$" T:"T;Z$" S:"S;Z$" "U$ 470 POKEFA+AO,10:P=81+6*B%(T,S):REM*ROTES"[209],[215]" 475 T%(FE)=T:S%(FE)=S:FE=FE+B%(T,S) 480 POKEBI+AO,P 485 NEXTS 490 NEXTT:CLOSE5:CLOSE3 495 IFFE=0THENPRINT" !KEINE ZU BELEGENDEN FEHLER!";:GOTO550 500 REM***************************** 505 REM*BELEGEN DER KAPUTTEN BLOCKS* 510 REM***************************** 515 PRINTL$T$" TEST ZUENDE, BELEGEN UND KENNZEICHNEN" 520 PRINTTAB(8)"DER FEHLERHAFTEN BLOCKS" 525 FORI=0TOFE-1 530 PRINT#15,"B-A:"0;T%(I);S%(I):REM*IN BAM BELEGEN* 535 NEXT 540 OPEN3,8,3,"@:.DISKFEHLER,U,W":PRINT#3,CHR$(FE-1); 545 FORI=0TOFE-1:PRINT#15,T%(I)CHR$(13)S%(I):NEXT 550 CLOSE3:CLOSE15:END 555 : 560 REM****************************** 565 REM*WIEDERBELEGUNG NACH VALIDATE* 570 REM****************************** 575 GOSUB610 580 PRINTL$T$"WIEDERBELEGEN DER SCHADHAFTEN BLOCKS" 585 OPEN15,8,15,"I":OPEN5,8,5,".DISKFEHLER,U,R" 590 GET#5,A$:FE=ASC(A$) 595 FORI=0TOFE:INPUT#5,T%(I),S%(I):PRINTR$"T:"T%(I),"S:"S%(I):NEXT:CLOSE5 600 FORI=0TOFE:PRINT#15,"B-A:"0;T%(I);S%(I):NEXT:CLOSE15:END 605 : 610 PRINTL$TAB(9)O$"TESTDISKETTE EINLEGEN":PRINTTAB(17)"<"B$"SPACE"O$">" 615 GETA$:IFA$<>" "THEN615 620 RETURN 625 : 630 REM*BAM DARSTELLEN* 635 PRINTL$; 640 FORS=20TO0STEP-1 645 PRINTO$S;TAB(4); 650 FORT=1TO35 655 IFT<18THENMS=20:GOTO675 660 IFT<25THENMS=18:GOTO675 665 IFT<31THENMS=17:GOTO675 670 MS=16 675 IFS>MSTHEN690 680 IFB%(T,S)=0THENPRINTB$"-";:GOTO690 685 PRINTG$"*"; 690 NEXTT:PRINT 695 NEXTS:PRINTTAB(4); 700 FORT=1TO35:PRINTRIGHT$(STR$(T),1);:NEXT 705 PRINT:RETURN 710 REM*FEHLERMELDUNGEN* 715 DATA"KEIN HEADER ","KEIN SYNC CHAR ","KEIN BLOCK VORH. " 720 DATA"PRUEFSUMME DATEN ","BITMUSTERFEHLER ","SCHREIBFEHLER " 725 DATA"SCHREIBSCHUTZ ","PRUEFSUMME HEADER","BLOCK ZU LANG "