DIR. REPAIRV  !.SEQ formatted GEOS file V1.0 A&A ApqSڐO) A{՞+4DIRECTORY REPAIRFAT BEAR'd !-----------------------------!Mn ! ARVEE'S DIRECTORY REPAIRMAN !sx ! ! ! C-1987 WHITAKER LABS ! ! ! ! BROUGHT TO YOU BY SCORMUS ! !-----------------------------! :/ PROTECT GEOS FROM BASICH (56)12656,126:N :t DIMS FLGS VARS CONSTNTS STRINGS DIMENSIONS BF(23): BLKS FREE COMPUTED BD(20): DIR BLKS FOLLOWED M$(11): MSGS  F$(7) : FILE NAMES  BM(2) : BAM TEMP 0-7/8-F/10+ :, " FLAGSK ,PE0: PRNT ERR CHN 1=PRNTd 6IS0: ILLEGAL SECTR} @BD0: BAD DIRECTORY JBB0: BAD BLOCK TBP0: BAD POINTER ^NF0: DIR NOT FIXED hBT0: OFF TR 18 r: | VARIABLES X0:Y0:T0: LOOP VARS( TR18:SE0: DEFAULT TR/SEH TV18:SV0: TR/SE PNTR VALo AL55537 : COLOR POKE PSEUDO BASE M 0:D0 : MESSAGE #/# LINES DOWN CF0:BL0: COMP/ACTUAL BLKS FREE ND0:E0 : NEW DOS VERS CT0 : # OF MISALLOC BLKS P 0 : BUFFER POINTER! :/  STRINGSU A$"":B$"":C$"":D$"": TMP STRp WP$"": WRITE PROTECT NL$(0): NULL L$"" L2$" " &R1$"" 0R2$"" ::& D GEOS SPECIFIC CONSTANTSL NDA33938: DISK TURBO FLG DRIVE Ar XDB33939: DISK TURBO FLG DRIVE B bV249893: VERS 1.2 SETUP SYS lV349708: VERS 1.2/3 RESTART vVL49158: GEOS BOOT & VERS # LOC X08: CHECK FOR GEOSBOOTGB$GB$((VLX)): STRING>: FOR POSS DESKTOP REENTRY[VE(VLX): GEOS VERS #a:p MESSAGESM$(0)"<< RESS EY OR ENU>>"M$(1)"<< RESS EY O OOT >>"M$(2)"<< Ǡ!!! >>"3M$(3)"<< PERATION BORTED .. IT A EY >>"eM$(4)"<< !!! Ġ >>"M$(5)"<< !!! ĠĠ >>"M$(6)"<< PERATION AILED .. ETRY >>"M$(7)"<< RESS EY FOR ENU >> M$(8)"<< TATUS HANGED >>QM$(9)"<< >>" M$(10)"<< Р ӠΠ >>"*M$(11)"<< !!! ٠Ơˠ18 >>"4:> TITLE SCREEN & GET ROUTINE #H53280,11: GREY BORDERR53281, 0: BLACK SCREEN$\:Of" wp" ٠ z" " (ח)RITE ROTECT ISK" (՗)N RITE ROTECT" (ė)ESK ORDER NFO;" ()NALYZE RACK 18b" (җ)EPAIR IRECTORY" LLOCATE TRACK 18" OLLOW DIR CHAIN" IX LAST POINTER" REE UNUSED BLKS" (—)ASIC," (Ǘ)2:H198,0:198,1:A$fA$"D" 3750: GEOS INFOA$"A" 2040: ANALYZEA$"R" 2910: REPAIR$A$"W" 3500: WRITE PROT.A$"U" 3510: UN WP8A$"B" "": BA$"G" 1110: GO GEOSL1020-V GEOS DESKTOP RETURNK` GB$"GEOS BOOT" 1170ij DA,0: DB,0: TURBO OFFt VE18 V2: V3~ VE19 V3 BOOT GEOS" " " ԠӠԠ ". " "AM1:D15:1260d"LOAD"(34)"GEOS"(34)",8,1"s "RUN198,3:631,19:632,13:633,13:: FLASH MESSAGE # M DOWN D"";:X0D:"";:198,0X12 ""X2""; M$(M);#(Y1100:A$:2 A$"" ::1280J< A$"_" VF"";:\P:qZ CHECK DEV PRESd15:15,8,15:15n ST 0 x" EVICE OT RESENT"M3:D23:1260:: INITIALIZE1660:15,8,15,"I0:"::  CHECK ERROR CHANNEL@ CLOSE ALL/OPEN/READ/PRINTS1660:15,8,15d READ/PRINTxPE1: PRNT FLG READ ONLY15,EN$,EM$,ET$,ES$EN$"00":""; PE1 EN$","EM$","ET$","ES$:PE0 EN$"00" 1410 ":, INIT FOR IO:61380: CHK DEVICE PRESENTW@1440: INITIALIZE DRIVElJ1520: READ ERRT1690: ALLOC DISK BUFFER^h:r DONE WITH IO|X115:X::: ALLOCATE A DISK BUFFER2,8,2,"#"::  READ BUFFER"15,"U1";2;0;TR;SE:(:; WRITE BUFFERT15,"U2";2;0;TR;SE:Z:o BUFFER POINTER15,"B-P";2;P:: CHECK IF SECTOR IS LEGALIS0: SECTOR IS OK SE0 1880& TR0 18800 TR18 SE21 : TR25 SE19 2D TR31 SE18 LN TR36 SE17 eXIS1: SECTOR NOT OKkbql:v JOB QUEUE15,"M-W"(8)(0)(2)(TR)(SE)15,"M-W"(1)(0)(1)(JOB)T050053280,((53280)1)1515,"M-R"(1)(0)#15,E$:E(E$NL$)- E127 T<53280,11:J E1 c15:M6:D23:1260:i: DISPLAY TRACK 18 BAM" "" ٠ " " "1590: INIT IO9 BD0:BP0:BB0:BT0: SET FLAGSW*CF0: COMPUTED FREE BLKSq4TR18:SE0: DEFAULTS> INPUT BAM INFOH"EADING ........ ";R1720: U1\1500: READ/PRINTfP2:1780: B-Pp#2,A$:ODV(A$NL$)zWP$"": ODV65 WP$""1P72:1780: B-PE#2,A$,B$,C$,D$Y1660: DONE IO|BL(A$NL$) : FREE BLKSBM(0)(B$NL$) : BAM 0- 7BM(1)(C$NL$) : BAM 8-15BM(2)(D$NL$) : BAM 16-18 COMPUTE/DISP BLKS FREEX02:Y078BF( (8X)Y )(BM(X) 2Y)2Y?YFXX" "L$L$ " RACK 18 LOCKS OMPUTED" " 0....5....0....5..8 REE REE" " ";$ X018:. BF(X) 0 "*";::23808 CFCF1B "-";:L " ";:BL10" ";%V BL;5` " ";Fj CF10" ";Tt CF" "g~ CFBL 2450 BD1:" "L$""L$"" " "L$;:BD1"";: L$ TV18:SV0 : 1ST BLK 1590: INIT IO " OINTER L2$ SESV:TRTV:NF12710& TV0 27107 CHAIN NEXT@ NF0O 1720: U1d 1520: READ ERRx P0:1780: B-P  #2,TR$,SE$  TV(TR$NL$) ( SV(SE$NL$) 2 1810:NFIS: CHK LEGAL SECTOR < BD(SE)1:""; !F BF(SE)0"";:BD1:BB1:ALSE,2%!P TV0 SV255 2660F!Z ""R1$"_ ґ":BP1:BB0r!d TR18TR0BT1:" "L$" ":2680!n BBR1$"_ő":BB0!x TR;SE,TV;SV! TV0 L2$! 2510! 1660: DONE IO! DISPLAY MISALLOC BLKS " X018: BD(X)1 2810" BF(X)0 28106" CTCT1:CT142800Y" ""R2$"Ġr" R2$"Šđ" Y0CT::" R2$"ECTOR " X""" ALX,2" X" ""WP$" WHICH MSG# M0: BD1 M4: BAD DIR0#" CT0 M2: MISALOC BLKSO#, BP1 M5: BAD END PTRo#6 BT1 M11: DIR OFF TRK#@ D23:1260:#J :#T FIX DIR#^ " #h " Ǡ $r " $| TR18:SE0#$ 1590: INIT IO)$ :5$ BF(0)1D$ 1720: U1Y$ 1520: READ ERRm$ P0:1780: B-P}$ #2,TR$,SE$$ TV(TR$NL$)$ SV(SE$NL$)$ TV18BF(SV)1:SESV:2980$ TV0 BT1:NF1:3380% SV255 "AST IR ECTOR ";:3110=% "IXING AST ECTOR . ";Q% P1:1780: B-P`% 2,(255);}% P0:1780:1750: B-P/U2%& 1500: READ/PRINT%0 :%: ALLOC ALL BLKS TR 18%D TR18:SE0:1590: REINIT IO%N "EADING ........ ";&X 1720: U1&b 1500: READ/PRINT0&l P72:1780: B-PP&v 2,NL$;NL$;NL$;NL$;: 0 BAMd& P0:1780: B-P& "RITING ........ ";& 1750: U2& 1500: READ/PRINT& " "& " 18 ' " "' :/' FREE UNUSED BLOCKSE' 1590: REINIT IOd' "EALLOCATING BLKS .. ";p' X018' BF(X) 3360' 15,"B-F";0;18;X' 15,EN,EM$,ET,ES: ERR CHN' EN$"00" "RROR IN ECTOR"X:1550:NF1' X(* 1480: CLOSE/OPEN/READ/PRINT&(4 1660: DONE IO6(> NF 3440Y(H " |(R " ٠ (\ " (f M7:D21:1260:(p " (z " ! ) " 6) M6:D21:MMBT5:1260:<) :S) EDIT DOS VERSIONl) NDV66:3520: WP ON) NDV65: WRITE PROT OFF) " ) " ǠӠ  * " -* NDV=NEW DOS VERSION 1541 => AD* WP OFF=65 ON=66X* 1590: INIT IOz* TR18:SE0 : BAM TRACK*JOB176:1920: SEEK*JOB128:1920: READ*15,"M-W"(2)(4)(1)(NDV)*$JOB144:1920: WRITE*.1660: DONE IO+81590:1660: INIT/DONE IO.+BM8:D14:1260:4+L:W+V GET DOS WRITE PROTECT STATUSk+`1590: INIT IO+j15,"M-R"(1)(1)+t#15,A$:WP$""+~ A$(65) WP$""+1660: DONE IO+:+ GET GEOS FORMAT HEADER STUFF," A," -ˠ i," },TR18:SE0:CT0,1590: INIT IO,1720: U1,P171:1780: B-P,#2,A$,B$: TR/SE -ID$"":X173 188:#2,C$:ID$ID$C$:: GEOSFORMAT STRING.-#2,D$: MASTER/BOOT/WORK FLGB- 1660: DONE IO^- (ID$,4)"GEOS" 3910-" -(" Ԡ ӠŠˠ-2" -<M0:D12:1260: .FTR(A$NL$):SE(B$NL$)%.P" "ID$" -- ";>.ZD$"B""OOT ISKY.dD$"P""ASTER ISKr.nD$"" "ORK ISK.x" "L$L$." ESKTOPORDERG ";."Ҡ="TR""," ="SE.1810: CHK LEGAL SECTOR.IS04030/" "L$L$"":" "L$L$/D12:M9:1260:4250,/" "L$L$@/1590: INIT IO]/1720:P0:1780: U1/B-Pk/#2,A$,B$/TV(A$NL$):SV(B$NL$)/ TV0 SV255 BD1/ P2 226 32/1780:#2,A$: B-P/ (A$NL$)0 4150/CTCT10"#2,A$,B$,F$(CT1)80,Y115:#2,A$:F$(CT1)F$(CT1)A$:O06P:1660: DONE IOx0@"ILES ON ESKTOP ORDER -";0J CT0 " ":42000T CT0^:X1CT:X;F$(X1):0h BD1 DCT14:M0:1260:1r" 11| " РҠ Z1" l1 CT0 43101" OU HAVE A PROBLEM TOO SERIOUS FOR"1"ME TO ADDRESS. T MIGHT BE POSSIBLE TO"1"SALVAGE PARTS OF YOUR DISK IF YOU START"*2"NOW. SE A SECTOR EDITOR AND ...."T2" ˠ!!!Z22 " OU HAVE"CT"FILES ON THE ESKTOP"2 "ORDER. OULD YOU LIKE TO  IT ? ";2X122 X1 "۝";2 X2 "+";2Y170:A$3 A$"" ::4330&3 A$"_" 63&A$"Y" K30:"";]3: GEODEFORMATl3DTR18:SE03N1590: INIT IO3X1720:P171:1780: U1/B-P3bI171191:2,NL$;:3l1750: U23v1660: DONE IO31480: CLOSE/OPEN/READ/PRINT4D23:M10:1260: