3 X; SAVE#D:DISK2.M65X;?SNUMS =================(X;2>TYPED }===A[Type drv # and for directory]A=<?TYPED2 ==APlease enter Filename:A===FBNOTHERE }===A[ to exit, ۱ for directories]A==P, A Please insert disk containing theA=Z9 A below file, and hit .A===AFile: A=d,LSTPS =AThis is the LAST pass!A==n+FMTDS =A Destination disk?A=x.FMTSK =AUse UltraSpeed sector skew?A=:BDFMT }===AError: Disk will not format!!!A==TYPED%>TYPED PRINTFIX2$>TYPED2%>TYPED2 PRINTQ> PPASTYPQ>" POFSET, POFSET6 PXEUSED@ PLASTFLGJ PPASST PEOFFLG^ INITRAMh QSOURCEr PDRIVE| ENTF DFIX3Q>PUQ> PT !FIX2FIX3 MOVTF !SB8ASB8$SOURCE (DEST HSELB2SB8A$>INSRTSRC%>INSRTSRC PRINT WSTARTSELB2 NCLOSE& QFNAME0R> :: HSELB2ADQ> 1N SELB2A;XS> 0b PSOURCEl PDRIVEv> READ1DEN PSRCDEN SRCDNS QDEST PDRIVE%>'RQ>FNAMEPTQ>FNAMEPUPY3'Z $> V  ISELB3*SELB00'YTEMP4 NCLOSE> %YTEMPH READERRR QYTEMP\R>f HSELB0p QPASTYPz FSELB4SELB0!MAINSELB4$>NOTHERE%>NOTHERE PRINTQ> PYTEMPSELB4A%YTEMP QFNAME8 OUTCHRR> FSELB4B #YTEMP HSELB4ASELB4B KGETCHR> FSELB0$R>. FSELB28 UPPERBR>AL ESELB4BVR> ` DSELB4Bj SELDIRt !SELB4~SELB3 DGETCHRR> FSELB3AR> FSELB3AR> FSELB3BR> FSELB3C%> ,SELB3B%> ,SELB3C%>9 $>SELB3DQNOTDM8PSTATUSL1 9(322<(>F DSELB3DP NCLOSEZ BELLd !MAINn SELB3A;xS> PPASTYP !SELB3EDGETCHR$>Q>PB9Q>PH9PI9!V RDFIL%>RDFIL1QRDFILE8PSTATUSL1 81 IRDFIL1%>RDFIL2QFNAME8"R>, FRDFIL36,@O>`JPSTATUSL18T3^)>h DRDFIL2r RDFIL3:|+RDFILE A砠A+WRDISK A렠A*BADFL A塡AdNOTDM Aנ͠塡塡à塡ASELB3EQPASTYP HSELB3F QPASS HSELB3F ENTF05SELB3F RDFILQ> PTLENQ> PTLEN DGETCHR PPASS SB7M>`&V?0V?:V?DV?NV?X,bO>l PDRIVDENv PDSTDENR> HSELB3F1%> 'TLEN3 'TLENSELB3F1$DEST QDSTDEN DESTDNS DSPPASSPSTATUSL4 RLD1Q>PRQ>BUFFER , OOFSET PT*Q>BUFFER4 OOFSET>PUHQ>BUFLENR;\ SOFSETfPXpQ>BUFLENz SOFSETPY$> V, QOFSETOX PBLEN QOFSETOY PBLEN)> DSELB3G)> FSELB3H SELB3I!SELB00 SELB3GQ>$ *PPASTYP;;SET TO 1 IF OVERFLOWED BUFFER. QXERAM8 FSELB3HB RDFILL RAMLOADV )>` ESELB3Ij %>t 'XEUSED~ 'CURBNK 1 'CURLOC Q>@ PCURLOC SELB3HQPASS ISELB5 $>LSTPS %>LSTPS PRINT BELL SELB5$DEST QDSTDEN SETDNS (SOURCE HSELB5C PINSDEST( WSTART2 SELB5CQPASS< M>F R>P HSELB5AZ $>FMTDSd %>FMTDSn PRINTx Q> P BELL SELB5B KGETCH R> FSELB5E UPPER R> Y FSELB9Z R> N FSELB9Z R>;;A RETURN HSELB5B Q> N SELB9Z5 OUTCHR Q>" OUTCHR, 76 R> Y@ FSELB5DJ !SELB5AT SELB5E!MAIN^ FMT1A'YTEMPh $>BDFMTr %>BDFMT| PRINT %YTEMP WRITERR FMT2Y$>WRTAG1 %>WRTAG1 PRINT WSTART SELB5 SELB5DQDRIVDEN FMTDNS )> EFMT1A Q O>F SELB5FR HSELB5F SELB5A& Q>BUFFER0 PBCUR: Q>BUFFERD PBCURN SELB6Q>TRKBUFX PSLOCb Q>TRKBUFl PSLOCv Q> PNUMSECS WRTDEST CLRWIND SELB6A UNCOMP )> HSELB6B !SELB6F SELB6B)> HSELB6C $>BADBY %>BADBY PRINT %> SELB6B1QBADFL8 PSTATUSL1 8 1 ISELB6B1* BELL4 WSTART> !MAINH SELB6CQNUMSECSR T?\ >f QCSECTORp PSNUMS9z QCSECTOR PSNUMS9 %> SELB6DQPREVSEC8 P@SLOC7 3 )TLEN HSELB6D , QSLOC OTLEN PSLOC QSLOC OTLEN PSLOC #NUMSECS QTLEN$ FSELB6E. #NUMSECS8SELB6EQNUMSECSBR>L ESELB6FV !SELB6A`SELB6FQNUMSECSj HSELB6Gt !SELB6L~SELB6GQ> PDATAQ>TRKBUFPQ>TRKBUFP QVERIFY PCOMMANDSELB6HQDATAT?> QSNUMS9 PSECTORQSNUMS9 PSECTOR> QSECTOR(%>2 DECPRT<QF PMWINDPQZ PMWINDd DISKIOn)>x FSELB6I 'YTEMP WRITERR QYTEMPR> HSELB6Z$>WRTAG%>WRTAG PRINT !FMT2YSELB6Z!MAIN SELB6I,Q OTLENPQ OTLEN"P, #DATA6 QTLEN@ FSELB6JJ #DATATSELB6JQDATA^ RNUMSECSh ESELB6Kr !SELB6H|SELB6KR> HSELB6L !SELB6SELB6LQPASS ISELB6MSELB6Y%>SELB6NQFILDSK8PSTATUSL1 81 ISELB6N !MAIN+FILDSK A롡ASELB6M NEWCLR; QBCURS>BUFFER  PEXTMP& QBCUR0S>BUFFER :PEXTMP;;EXTMP=HOW MUCHD;;;BUFFER WAS USEDNQBLEN;;+ 0 BYTES FORXSEXTMP;;END, + 2 BYTESbPYTEMP;;FOR NEXT HDRl QBLENv SEXTMP LYTEMPFSB9ESB0SB9QPASTYP HSELB6Y $INCCHR #FNAME9 CLRWIND!SB8 SB0QBLEN SEXTMP POFSET POFFSET QBLEN  SEXTMP POFSET POFFSET*Q>BUFFER4 PSLOC>Q>BUFFERH PSLOCR%>\ Q@BCUR7fR> E;;FIXED 3.0 BUGp HSB0Az1 R@BCUR7 HSB0A #BCUR HSB0B #BCUR SB0B%>; QOFSETS> POFSET QOFSETS> POFSET Q@BCUR7SB0APPASS,$ QBCUR.O>8 PBCURB QBCURLO>V%>` PBCURjSB1Q@BCUR7;;MOVE RESTtP@SLOC7;;OF BUFFER~#BCUR;;TO BEGINNING,HSB2;;SET OFSET#BCUR;;ACCORDINGLY SB2#SLOCHSB3 #SLOCSB3; QOFFSETS> POFFSETQOFFSETS>POFFSET LOFFSET HSB1 CLRWIND QXEUSED(HSB42 QEOFFLG< HSB42F RDFILPSB41 BACKSRCZ QPASSd!SB7nSB4 RAMMOVEx DSB42 QEOFFLG HSB42 !SB41SB42 DSPPASS QPASS ISB43$>LSTPS%>LSTPS PRINT BELLSB43!SELB5AX;BACKSRC$SOURCE QSRCDEN SETDNS (DEST" HBKS1,$>INSRTSRC6%>INSRTSRC@ PRINTJ WSTARTT BKS1:^X;hX;rUNCOMP%>| QLASTFLGIUC1 #CSECTORHUC2#CSECTOR UC2!UC3UC1Q@BCUR7 PCSECTOR3 Q@BCUR7PCSECTOR3UC3Q@BCUR75M> PLASTFLG7&M>0$>:3DR> EN HUNC1XCb UNADDl%>v:;;GOOD RETURN UNC1R> G HUNC2C UNADD%>UNC1AQ@BCUR7 PPREVSEC83 )TLEN HUNC1AQ> UNADD QTLEN FUNC1B Q>UNADD2 UNADD  UNC1B%>*:4 UNC2R> B> HUNC3HUNC2AQ@BCUR7RPPREVSECx8\3f)>p DUNC2Az%>{ QPREVSEC8UNC2BPPREVSEC81 IUNC2BQ> !UNADD2 UNC3R> C HUNC4UNC3AQ@BCUR7 POFFSET3C UNADD%>UNC3B(OFFSET FUNC3C$ Q@BCUR7. PPREVSEC983B2L (TLENV HUNC3B` UNC3B2CjR>t FUNC3B1~ !UNADD2UNC3B1Q> UNADDQ> !UNADD2UNC3CQ@BCUR7 PUNTIL3 Q@BCUR7UNC3DPPREVSEC92 (TLEN FUNC3E (UNTIL  HUNC3D3 !UNC3A( UNC3E32 !UNC3B2< UNADD,F OBCURP PBCURZ QBCURdO>n PBCURx: UNC4R> F HUNC5C !UNADD2 UNC5R> A HUNC6 Q@BCUR7> UNC5A3 Q@BCUR7 PPREVSEC90(> HUNC5A3C" !UNADD2, UNC6R> D6 HUNC7@ Q@BCUR7J>T UNC6A3^ Q@BCUR7h PPREVSEC9r2| (TLEN HUNC6A3C !UNADD2 UNC7%>:;;BAD BYTESX;X;WRTDEST%>WRTDS1QWRDISK8PSTATUSL1 81 IWRTDS1:X; ENHCMP&Q>0 PNUMSECS:Q>TRKBUFD PSLOCNQ>TRKBUFX PSLOCb QTLENl,vO> PYTEMPQ> POFFSETPBUFDUP EHC1%>EHC2Q@SLOC7 HEHC33 )TLEN HEHC2Q> !EHC3AEHC3QOFFSETX; CMP #0  FEHC3BQ>  ,* EHC3BQ>4EHC3A$NUMSECS> PBUFDUP9H POFFSETR,\ QSLOCf OTLENp PSLOCz QSLOC OTLEN PSLOC QNUMSECS, OYTEMP PNUMSECS EHC4R> DEHC1%> $YTEMPEHC6QBUFDUP8 FEHC7M> POFFSET QBUFDUP9 IEHC6A$ !EHC7. EHC6AQ>8;B SOFFSETL PBUFDUP8V EHC7A`,j OYTEMPt>~C, OYTEMP?)> DEHC6:X;X;THE CUSTOM SIO:X;DRVTAB AA TEMP303+X; SIOVQ> P;;NORM SPEED IFQ;;OPT + SELM>( FSIV22%<QDRVTAB8F FSTSTPR>(Z FSIOV2d !SHSPn SIOV2 Yx)> HSIV1$Q>PDRVTAB9 SIV1C:P SIV2$Q>(PDRVTAB9!Y STST%> SIV3Q8;;STORE SIOBP81 ISIV3"Q> ?,P6Q>@;;SEND THE ? CMD@PJQ>TP^PhP rP |Q>PPQ> P %>(;;19.2K BAUD$>;;8 RETRIESQ>;;QUIET I/O HISIO ISIV4AQ> HPQ>P %>( $> Q>& HISIO0 ISIV4B: Q>;;INVERSE SD PN Q>@X Pb $>l &v Q> P Q> P Q> %>ATASIO HISIO ISIV4C Q>(;;19.2K  , SIV4AQ;;US DOUBLER  , SIV4BQ>;;810 HAPPY  ,!SIV4CQ>ATASIO;;ATARI !%!PDRVTAB8 !%> *! SIV5Q84!P8;;PUT EVERYTHING>! 1;;BACK...H! ISIV5R! !SIOV\!X;f! SHSP?p!R>;;HAPPY 810?z! FSHSP5!Q!R>!! FSIOF0!R>"! FSIOF0!%!QDRVTAB8! R>ATASIO! FSHSP2! SHSP1%!QDRVTAB8!?!SHSP5$>!;;20 RETRIES"Q" PTEMP303"Q>$" HISIO.")>8" HSHSP4B" QTEMP303L"PV" !SIV2`" SHSP4Cj":t" SHSP2Q~"R>#" DSHSP0"L>"P" !SHSP1" SHSP9Q"L>"P" SHSP0!Y"X;" SIOF0)>" FSHSP0"$>FMTSK#%>FMTSK # PRINT#SIOF9 KGETCH# UPPER(#R> Y2# FSIOF8<#Q> NF# SIOF85P# OUTCHRZ#Q>d# OUTCHRn#7x#R> Y# FSIOF8A#$> ;;DO NORM FMT#%>(#Q># !HISIO#SIOF8A%#QDRVTAB8# R>ATASIO# FSHSP9#Q#R>!# FSIOF1#$>ENHTAB$%>ENHTAB$ !SIOF3$ SIOF1Q "$ FSIOF4,$$>DBLTAB6$%>DBLTAB@$ !SIOF3J$SIOF4$>SNGTABT$%>SNGTAB^$ SIOF3&h$'r$Q> f|$P$Q>$P$P$Q>$P $ !SHSP1$X;$ HISIO&$P;;QUIET I/O FLG$'$@$&$=%Q>%P% SIO10Q&%P0%SIO11 SIO39:%Q>4D%P;;SET CMD LINEN% SIO21X% SIO43b%*;;WHICH DIR?l% ISIO15v% SIO21% SIO15"% SIO27%*% JSIO17%Q>%P%%>% SIO31%%>%SIO16 SIO34%P@7%,%O&O> &P&3 &)*& HSIO164& SIO34>&RH&HSIO25;;BAD CHECKSUMR& SIO17Q>\&Pf&Qp&Pz& SIO30&%& FSIO18&"& FSIO19& !SIO10& SIO183& SIO19.&'&C&:& SIO21$>& SIO220& HSIO22' SIO37'%>'Q@7$'P.'P 8' SIO233B')L' FSIO24V'Q@7`' SIO35j',t'O~'O>'P' !SIO23' SIO24Q' SIO35' SIO20QҺ'M>' HSIO20'%>' SIO31'Q>'P' !SIO28( SIO25Q> ( SIO26P($(B((*2( GSIO17<("F( FSIO17P( !SIO11Z( SIO27Qd(W?n(W?x(?(M>?(>(C(W?(M>(?( SIO32(SIO28 SIO38(Q><(P( SIO34(R> A( FSIO30)R> C) FSIO30)R> E") FSIO29,)Q>6) !SIO26@) SIO29Q>J)PT) :;;ADDED^) SIO30%>h) SIO31$>r)SIO32Q>SIO25|)P&)Q>SIO25)P')Q>)!\) SIO34Q> )*) ISIO50) HSIO34)Q>)P)Q>)P)Q*P * ISIO51*M> &* FSIO520*Q :*:D* SIO50Q>_N*PX*Q>b*Pl*Q>v*P*"*Q>* ,* SIO52Q>* ,* SIO51Q>* !SIO26* SIO355* SIO36Q*M>* HSIO36*Q>*P+Q> +P+7 +P *+:4+ SIO37Q>#>+ ,H+ SIO38Q>R+P\+P f+Q>(p+Pz+Q+PҎ+Q>+PҢ+:+ SIO39Q+L>0+P+Q +P+Q +P+Q+P, ISIO39A, !SIO42A, SIO39AQ$,R>., HSIO408,QB,R> RL, FSIO42V,R> P`, FSIO42j,R> Wt, FSIO42~,7,7,.,!Y, SIO42L> ,P,SIO42AQ>(;;NORM SPEED HDR, SIO40P,Q>,P,P,P,P-Q> -P-Q>-P(-:2- SIO43Q<-PF-QP-PZ-Qd-Pn-Qx-P҂-:-.SNGTAB (===========-9 == ==== = ==== ===== =-.DBLTAB (===========-9 = ====== == = ======= -.ENHTAB (===========-' == ====== = ==-- === ======= ===-X;-NEWCLRQ>-P-Q>- OUTCHR.Q>}. OUTCHR.Q>".P,.:6.I@.+J.EI