-READ ME L ADVANCE MZC@2 ADVPTR MAC" BCRC MZC$Fd BDUMP MZC+> BFCLOSE MZC2" BFGETC MAC7e݆ BFILL MZC9& BFPUTC MZC<lZ BFROPEN MZC>ʁ BFSWAP MZC@xƁ BFWOPEN MZCD BGET MZCG{ BGETC MZCK ) BINIT MZCNf BLK MACToҺ BLKS MACUB BLOAD MZCW?m BPUT MZC_\ BPUTC MZCc BROOM MZCf= BSPACE MACi BSTA MACky  BUFFDEFNMZCn' BUFFERS DZCs] BUFFERS MZG ^ BUFFLIB REL.+G BUFFLIB SLR/p BVER MZC6 C12BC MAC>L COUTA MAC@g CRC MZCB s CRLF MACF DCMP MACHw DCXM MACK DOS MACM DOSZ MZCO# DOSZ RELW DOSZ SLRX DRVLOCK MACY, DSUB MAC\ DTEN MZC^ ENDATA MACa FCOPY MZCb1c FCOPY OBJH FCWILDNMMZC/ FDIFF MZC( FDIFF OBJFF FILLC MAC FNCOPY MAC FOPNR MZC5 FOPNW MZC؃ FRESET MAC GSUSER MAC|= HEXA MAC8R IDIV MZC1u IMUL MZC& INITFCB MACύ INXM MAC L IOPOLL MAC"$ LDEM MACJ/ LHLSTK MZC r LT COM  s* MOVE MZC, MXCHG MAC.F NEXTCH MZC0 NEXTFN MZC6k NILCHK MAC:j0 NXTOUT MZC<9 OPTIONS MZC?G PFNM MZCM , PFNMDU MZCW ] QNUM MACd SALLOC MZCe SBCALLOCMACliU SDEM MACpP SKIPBLKSMACq< T24HEX MZCt TADZS MACwB TDZS MACx TDZSF MAC{R/ TEST1 MZC~/߃ TEST1 OBJk TEST2 MZCE TEST2 OBJ c TEST3 MZCGr TEST3 OBJ < TFNAM MZCe UPSHFT MAC> WILDCHK MZC WILDXPNDMZC XLTUSR MACᄁ Z80USAGENZT BUFFERS DQR Files in this library may be extracted (and possibly uncrunched) by: LT buffers d:*.* (extract/uncrunch all to drive d) or LT buffers afn.typ (type/uncrunch component to console) LT.COM is supplied. Execute: LT (for help message) BUFFERS.MSG (.MZC) contains a quick summary. BUFFERS.DOC (.DZC) is documentation. BUFFLIB.REL (or BUFFLIB.SLR for SLR format) are the linkable/searchable object libraries. The above files suffice for most purposes. C.B.F. M5vADVANCE.MAC# ACv!^"p 6̇Sa(c Qz :'c e2C!H l`rpɡg 8X!1NG( 2 'A޼hB1gSt@cCs-tz 3\L"0FdEa .L&C㍠ l ʘG`It2D5:So4 $0h q ,j;93 s{= na4Ldc|<\ &.cu!΋GҫԹ a930~!;̹i5ȘWLalkdDpQDfFmi V=IGQ'rFffF1lQr{AovQʼn*gZze1(.TU5ՔsXF ^׼,%V.RQP^rEb:gׇu%P^ƭ%YBu)|5 Z_.RD7S-YiW@H`|f  &:azF>RDž VȲ;@yX)F2ɲVv#M-GĮ{(7&n2\pSWXnFλfVm0ÙyZ6\QDŽӐ1 ѻ*ZGp$j|$0$ɓWidPU6+sՑcF؊g>q+}A mQQFioCp[0go†Mru+:jӵG 8Lc k[U߮;[L|w\-Qqy! mlcK \\mQxο3.01.ť*,;ɯL<9vBDUMP.MAC# OC.3NSX Lr7ͱ!qeD̆4B!F!n1bF!qt$!8A#!thtQy<F@b:Sl/I@l2bd bs:FS C0G ;ի l+d4@p7gUv&2`i7yyR mk im:sEQpu::}q[eCAc7ȷݻ^'YӛNQ3\u,T6p[nߦ1WovW[GY@o_mfJBdn:J@a) Cƀ$pxm`$a 2@14V:FK`saxbAxf&j)sFШᆱn{+0gB=ĿnR51Lՙ}')Z@dK:[l[zZJgY ,ORV afGEmϤ$@R1U-R~c*^;gg~(5aWRk_YVu#rv*manfѨISV$b(a:aTU`|n@KM`=metYV~cwR;=OJx$@ǖhvBFCLOSE.MAC OC.7M3AX dJ(d:NT ̧C3ɥe6L~Cs1;L&99l<'Sy@+GAe9Cl`$b6KM:ST9NQX4 r9S :-a?3XI6B耀B 9f# 8b iEg&`&{?N gT4 oow98J ێc &FG f~Azq& nRTՌcޗ.Ktw@svoRyFgz psw&yb 6@1L߈)6Ր2xIG![VM@ FLJwBŅqv!6WbrQ_ %-`Hf Y݉g8 K96F^%}&('"W0nsBZfQU1IStkj0v!tG@z2DKX extrn .bsta, .inrdy, .bload, .bget ; ; Input (a) from buffered file via buffer hl^ ; a,f .bfgetc:: call .bsta ani .inrdy jnz .bget; available, get it call .bload jnc .bfgetc; to check for empty file ret; eof found cvBFILL.MAC OC.1A`.1P.;&dDf3NBA ;N)bNo6bu6 'a@o3F"y:Nbs2'n0 éb3ҌԨt4!jT$ëMB9܍H0) PM$b)8R,Ly n7daSF+ |b:T2;L'݈c@g at^6QpL6 2D"ɠh݂uW/Ni"QKxa7gb\A uigG\md,]n|fwpI8quơzZxl ]qeEhQvBFPUTC.MAC OCbMa`\b9 1qd:hc1gI8i w^Y:cvBFROPEN.MAC OC.7M3AX  CƘa6f7 h(w(#擡l4f2az$sMF8t0̦Ax62h"@a yNCf#)sW "48f9I P 1̍d: F;~EpP$4MiG`IvV14}GeL']1fޛPlA6@$ލFӄ*G%dž16cvBFSWAP.MAC ACa8 Ɠa@d2r9@a!D2n:2#c s@b:ѡ^#)r7D&q3%ti7!,XnR) #/2ج~Bl'HfqZ3!8F17<Edc fVsa:D\B"I A&$AtLeg6E2yюbs*ZdF`a2 ,| mAa .10 8F s>FѼv};@xb1gCQB_( ,`P%pF(e _%hxR EBb,2Etf!Ѻ)8 ^F`$cdV`U W^qgֈh D=X! g H(mW'e^o)LD$2@"vBFWOPEN.MAC OC.7M3AX  CƘa$b;0ädtM3 9OS#I@aNálq" |\b3I'A> 8NfZ6 >aFeņ$r7MAw7=$@b<&SZ8 "R k21Lc)@h6xyM&ثt0J^̲A6LAƈ aS t3ic Yߩ̦&$h&_6fh/$0Dg %Y2 ^tL'V1D 5^$HntVcUAd\dvaĘxj1Fـ㑡xq\w:2S)N( A@$j6 5th`$q^H᪐'TY#4bXMF(l WcM8U EQypsGdf&MaPp`&i:I9ەjZgte{ഌF&nXXFaRqaC `*hHPl5!zgFIxx@Gpd{G]پFWZ&!Eq6^F594a,.p2ũayY:Ds|w י r+rRWzV1aYnkz0Vx $F extrn .couta ; ; Blank to console ; a,f .blk:: mvi a,' ' jmp .couta  extrn .blk ; ; (a) blanks to console. 0 value valid ; a,f .blks:: ora a rz; 0 wanted push b mov b,a blks1: call .blk dcr b jnz blks1 pop b ret jvBLOAD.MAC# OC.3NSX Lr7ͱ!qeD̆4B!F!n1bF!qt 4w)  !  g#$TH e 3xu3!^gF`e9CD@1,'@f9L}}@3 yb= \FBj*t f̲pX9I:Mߣ+ہ܈ &9@v4NC$iG6dVK5`h4Lfºs:X Xml.Xqz_s `]w]FvYd]wFѐ"]Y1 b:$m`$a 2@݊@qke7A7BcF CB7v1 17c?J$0 FaXQhX@Cf1@:em Fɶ8юqF  b72K9H b_ hkz*>+>|k( H alxjNZ=)( JTJjp b'eƑi[FJU&}.ϱ,+]l` G|l 1(r gZBHdW0|\TdaHxyˏFt(-sDOTt+LF꞉K,!SY?ffEt™4lE\T2M-f@x7NZ:1p:TvFe/gJ䏲 2X,dd1Ln( $lA:24[ eۢ$ju K [f~*2Z^q:l*rDyZ[aMeڸּ} iEIђ-T'6X*f!0Y0l - &Y 4D]3a 2d<4J4  gvBPUT.MAC# OC.08@.4h(wSy:D1!:Sl/ ta73Ak9a0.1G&Yw .MƘTn Pt1OѥMO0($B@~vBROOM.MAC# OC.6 h(wFS 1p0̢ i6LF(@I3FΦc1 ^2nia''!a .1hu3@ +i7,61h '3s&d*NfіlY.6)7IDCxo:iK2gS h4F1ax3YW!1j5Zͽ<Gl@[Ffcn#(c4Lf7[t+gyovI;A< Ll^n S[E($@^@5} extrn .broom, .bflush ; ; return space available in buffer. If buffer empty align ; pointers and return 0, else return 0ffh (ptrs unchanged) ; z flag set accordingly ; a,f,b,c .bspace:: call .broom rnz jmp .bflush  6 extrn .broom, .inrdy, .ordy ; ; set ordy and inrdy bits in a for buffer hl^ ; ordy means buffer can accept a byte, inrdy means buffer has a byte ; a,f .bsta:: push b ! push d call .broom; don't modify pointers ani .inrdy mov d,a; 0 if buffer empty, else inrdy bit mov a,b ora c jz bsta1; full mvi a,.ordy bsta1: ora d pop d ! pop b ret 8vBUFFDEFN.MAC# A@)r{4c6iL8c5LGTru7qos0 GdCtTtkY5PiT[! JԽ1LPzJlWQM_(S R4dkAaXя69kF75{I" I1HCDPFZeи< [`cQZ$ATՅ{ cIHayFd`Z moF tauz~bnQ|GjxF71yߑEZgB0l"lyi1 t:Hv^yqV&qQXrh9Ca]IH"@EHQfd s ՠ$-$`$GSSTĢe_ƌo7rD՚ZhtG1Yq/bT̈cͮI%c+Ǎi2%2P16Ԯ$utqeO@?Qky]XX8pna^dݶ s(i7dFY ŕ>v*&D%-Q2LLUdEFD}59=2 SaFFDUgEJt?]Af9CS[(c`EL`-7N^s8gWQnO)~-+ly۱{XK(g ܍ zʾ: ݡ΃RIAt{V/j4 J#1V fuR 4& +tj%pX݈u(Q:p53ْQ&':#X\{Vl騵t 24O92>pO O+&.|EznCuHKm"ѮEA/x&6p[X(O-J.` Uh rJ(B zh)􀫦Y1ma4)3thnQ;*!<y/̹I0|&I ӄ hRé7?&>0v)fa8քSdXB17!4wоAztzHlh6ЬGCJtx;u i"9~YW"s Bt5~gMrг6ZC;',kjwBi3Eu\ ٜ0rzx2&7]axJAD貗@ˍLi4ZW`ҥ2vDg-Ie1+\BC݌bes dђ!SF^QuY)q4F2Zz3xGZSr9Fi4cYGLzl! 񚂤xC@X-$EI4Kp$9OfԲΜhZ+U7H:#L*;YEZ52Mp&d;-*BӖy=nC `!/y;QQ2p"cr4h9!$Uκ4?$3{Xd4F5jg4ki;ldž"1IEI 7bHnT!Xd _ZJ [zBj  +gdTMd^tIhĪfq|{c`c?t+ӷJ0%Wim YQR޼gFA^J-HCsRԮӴ(c]Qfzd=՚3#̀@ Z;wrk(4F*| $5^jaKGSUA7%-8< h+#U3Wde*r=ԅx-e32Ncۑ! ʗ[ՇAAu٪B.uˮK%]R{ClZ7e06"2HC(X H'R %Iz- f!//oW!gdPy kA3JD0ErX5QiL>pc#`Y.jERi!Mp4,| w)w6j&z\f`D]՚EoRBA$D=A3JbN;p10/@:0,r3P,mS S]QA4)a{ѿbs3=/ƃQ"'3nQ^t 6gs&7x&D P)6fJ++1tpw5Q).cs(ћ'q5Cyr I%y)E+&N?sGP KU(hpL>6?i7>.8a0 g1R@/b/G$tGi|><7QR*8 #]n GяIxr|CS.hU@RQ4 )acYԻD@T04>JHy@Z>"X&?,Rs"+#=+0 $ y/|/$eكC *:5SAV(?(Ӹ'^HhI!Dm]q{0APT@NG`W;7A\'IUlxlNF.qmzU;cHpVP$$b(d=ỉ$w NI|5Jsw诡@hGQ$XJc9x;{:SᗣR(4R`D#1*N~YPI`S1\ I;G>)p &6%s@AZ$L[d[u:6Lci~`>;P^>b0^WjG`Em53Hw!kx*C}x"r*'q7. af&L6HuU R D/gA[V[j1{2D>Fp!q9BgPA,<1DNq0y1qBXK+H E+E0WA)L6@i4SeYs u0f)х?JjeI3QcQh.!0t00@0P Mk2d+1^B0pe[kosk[w+Uw+g{;;}P+0{i\ R_jp ZB{QdC-: @s2gDCfl6r.ku 3g`c+λm1Խpb3x_xg236'sEqN~trgE*Q ^;h@ra)TϼL0pb%)OH RVp7.#ui@ ;5P=7I(OQDoLr^6I<* xs8Աy6H(R"湴2J'z(aL7!sl@(xE;+⯾ l1A>@4[+Eł*CcMq̜0/K\C%f?AQy'G3m FsT/j`ã7X(Ug}b5myIJ`|*h@=LRQg\ƴ3ƌn#prQ u?7y'}E<3ZF5aȂ,<;A|NV :"4'| U̿0.pLR5yf˖"mlѬ/Lad(fKh,LU,@ f"CADx;+(PFBƗFJ5Zl+Pe!LǛ3 G"2\΢M79vnQ|><=c ᔺգQԼ#1ԝwmzf\RhTs2,&;wn>=L1<әݎב8bɰ2 7H{Q=(onM!Г^cJaD(td x)5yg.y!Zs7(ak"J"!3$GD[^s~Ots3(g8ahA͙ҝ ÃwF 2%|>Dg'=ԦGKyMo"#D^J36i-OT xr5֠q LACgԡăk>5oEOyz,_CW!I7nXU(m]p-!F̒- :B]Է~@[-2+}9UPA:| . [t4߮J%$S̝5̾~Bm Hne&h: bDA>ᤩt^׼*6"0n;$3_ԇTbgу4 \<څ֞;#ҷQQjͽd7FP߄>qCm9Fl=?SʍH;>|B3]Wӭ^^W+oSjIޚѵ$U@͵*tc;Foe%O",/\%?FAe-OZ?}#<<^^9 Ϗ*E,ÃU[.f|CD6Z<+`SJoLTlr xOHo6`vm!_`od*/omʱQ3ߩ F?dpsT`NvSB %)jY"O߫s!ՐuT:[vp \fX\dqfcԴdA !. n@$e]lw!w(u'[zz*U)M:FaOFٴoLD;}{NmPQEtQ3Vc qJ)-GlʡJ$rӀ8_?BDO ٭o[qhvhA8l¥<=r|j͹nI;8g>< )2fޤc2Vn)׈w | ,U $}wll햺nS@c mJ)l0c'׷|]_ >߆`72+D!{h;gtxhΧ;;Vс̲ܛ!]6 *̀>v%H;14NLsL $ݺ㲺.Pa$, |<.Z:ְO%<FyTO~NPOFC7K-|AP#(W8sh3<2@\=!j4LR_H.Z1lNL7r;T4' wf R¢A}o{MniK^e]SkqR˿"*h!m/7ԉ f֮dPY1Er=/®!skMs*®,'7e̳ P a;]Hdr[=DƬN!3piQ %Ao)ߦ৷+ojlMEnfqJˤ)JA\^b,2ز[(?F跂-|, 'P:GD1>-F#^B$TRղ#1G*DexNE{ QSENCY4?p''\/قW~e 2 ;=@PB(\<,S:A27qB~"''qWFX&Qt"۷qQͿ=N2Hr\]AD]whX;t,e$yQ;;ſirU7NE(J2"Ŕ#R?[D`cx׺"[tm㯳 NUmY<|vJ06 H~NSF1-l5d{ Q=rI6µY*5t5e{u)x VI-6L#Iǡ<'XMLuW6Zl awڼB{\(u)|ڬ)Ltz=խtU񔖉JzϘ;@J/aYQaÎ6IEt1 A#LiYLD?cBSJG6XșOm64_(596%;Bc!pLy/@1S4,ܿ7Nb.Sb!Ca#b'5m/6a>pµ=q;vt5C"}ҁ^BQO-lB2D*#-"Q{3=;@(y&o -p:yGC JLF^esKTڔ!IAJ❁Q((mK6qpOSiNE=R$ւ{1D`#؍AA?F:2-VšV:!\LW TKR\ɿlE!-'ǐZB;R ^agY{H6+^#Y7G[0+ ^wAc?)0.+@c [((j#E1jZ/A4!1KWb%)q3xW;{}9\!7ٻpwnǐZgȜ4B qMZOPD`i".a٭׈h 78< ܺoNNc;Dùvrw"e\Ly7va>N7F}ceSf@W?SgBKBKp3 )/|@o^,mBS72 U͌e>7#.@ a",<63V(4ɪC-)0$66e{}3ǐUv|MW&"=>%$q`SL!4\Zb2<%Y2K!-b|qOԎqf{J].Ⱦ jB5D"`TyUZtn2RAȀ@gȸyqAw@(^n"1H.B4[v-f&?N>UQn3_un13u]fNF=De=?"ک. !]BGiDB C}DDAһ!7EJxǤ1xS,!T>n-TSp;WNcz;{}9l5W / o=]" U<5>YE!W7(yL؅/|>SM." T=o:ɽ=Vm%=d{ԢJo°{EIQ8o°#Ҫc6QC'Ep:S{A ҬGq]ApE[(D]ps`䐌] )!,cU3aH<;}*+曑D]&X?_ش&8eEt;wQ_Er=%.VdvQ#p ]7D6\H4\dn@vNڥ-QCq&(G^G.$C4ʇwy3<+Pn7dM I+>薾<.nB%nBQs Al:f~/ [ә$v#.aqՇ2k ?1d(U+ܶ\؃;J1k.!Oٿ:C[Q{t3zZ;3i+Y{Be=H8`/12}2kµ@<1?+ܶMUP؇ , MlF퀖HJnB؇{ܶ1L݀mKڄCd(p!ȅVtҀ73`ݝ?ܶ@cx\C(p!HƴL^c*+#s$@D[ lTB=NM%cPm}=I=(&{I聗W[@t͋Jl$aW[Ja7$ :@ ȁ[Nj\dyOb@( gTd,&0t}-"d20fѐ)=EO hjy@Ad'l  2ȒoKBB@95tFeTQ>t }@32b{"Rr*4puF}x*0+^*mD5Q%G"Q?]DTkz+dA/D6wzɿ~3eHM?ɼ7ڪPwPr跂->%{wnR)`q,uWhشA؜mDgQ3Jl6`?FA1{_rIOcPƃQAus4Վ<.Y}g}(lڊmE6VH|_]" RذζuljrA&!E.!^3TUG=2-|;Co9k!]DX>{)#HUUv3W,4T9EqUaPqqcUcw2'ecZ}<%D#J|TQ}&7Pq|QTBoBRp.(1z$ߖa;JVP3U6F4 9P*^'6~ x(U2( Nl-퀆:tWY.ML0 q`ŵDV)([\)#%Mo>nr0[>kaOW [7X#:!7’$֔V&5cÉyH9w*3F> ZZr|Am*-N!|C&Pc*1}aF \ycW齄RF?at_;wܶBqQ0 F``iA1axK0. U<)xc0Un_>~F[=s-u'kd.=@.u<\D<&5SȏfOt H5Jm}\bo#ǒ`r;Zw!7DAT^'u7.^`cO5jȩ#P ]7!RAO" 2#%jX\q}Q45o>l=OaM*DE I[]~5D78L\}|P\Wz`,f3 gVe7Q`jQP(rw,R7OԴ$@mAz>8U m.3X4`)άx ~]BχcPtTEnL2>(!>m&XR,{V=q8n`&EHql"ᦾ&lmmKo= .@4x\-([X1I؜&)n a #%\0 .J,kDZ('qQgI8R sv0cX'1*HXSXj;2CH3eX%D4 .N(])-2jP=VRL Tؚm:fkn@kzI0oe%4H#nCŕ,0*2_ιNJ}xŕH@STS=d{!DAĐ[RsdjB6Lf3t@06%Җ"sl 5e2dż*muaF b`6aEsŕA3JĢ@*- ", V-ʰ4poBPo? 5a'@" gD1?YS)"SMH3>]:8bC A(DK][$-*wYj˨_xX}6dJrg:bH5qE`S=ȃK!+aUM,ŵ $X;@4 6o&쥵x*.k.+:6q{ܶ|@k3@ I gb!7ket!$iPga.G\I7@F9`E\AkEW38,< >0$p  qvBUFFERS.MSG# !Hb)H.&JBI@t4D3e=L1m$ &Bo9$h 1C,"a9ENf 7NF8l2 $A<6' 2gC r:,MTr7s !%BHZg3,b1 < DjnN)\SV*i:e'݌7^vΫuu~,h#ǓIG.x3.mNPo;LN`f2&84[b95jx1aTSTU1N ohRj+tE31n\ 1QLT4A`F̌)4paaq3quMyfbL%x^ksODxgn+LӄJkygt P<gPcC8 :D0e!;MTxiPQFtF,dD]@fɫi)g4ř{lH? PV&jYnF{C?7Ipt.6:UlNАadqۅTR%dU)4U#1 3yr4A) G#@C1c7! h|Lt!+"NSӠbD`63@CU2X#_0aF,:d3\/g%pV#€ FaS E¯dD1rr*¢t'*$A1rZJUѠbDE4iG@Յ@@a \Ȋё0 \ʈJhӀR$ĵ9hݐ#@+ 0Y1P\IjsГB$Ĺ(@# 1.2UgАS b4$4ɨ">&Q< E"ㅆFD1r bb|t)!NSb4X[gC@HRXeucM11>pbĄ5IU}C@ތJ2d@1rbBbT RD4 h|]0Hv>8Y1 \8PRE5T)}Iω;J2S#%`=N2*UT$162S#&@MQUNpPS b$dɨ4jB d?Z,*Ɏb$d.BPUTT"4IP`b%5984`0(.BFLUSb%$.BSPACUb$dtUIx4sDE)H13@d@1r2:*d!#FB@1rbz $d!) PUb$tUD8 QBj&`4sDE)H1@H誑0 \H誊p \) 铀U R$tUI 20F#f2f!Y͢#adE1r "t!#FC)r"lUb$eUI!!"DH !9d"$E@&2ST# AUR2KU#  MQpPUb%UD8 AUQBj&`4sDEH1@J 0 \J p \) 铀U R%UI 20F#f1#+5YVshlŢdE1r "t!(*FC)rJrl`R%5D:rJr"D+,>ԑb$ɢd@1rzzlt!) PQ b$Ix!!"DH =O`4b\@,UF#'6hzYU#lFuL> 3i 4Z2~c 38wla  SѢ$`ާm xY1` \I(0 \>ȉq` \1Ɉ \FEiʓPST b$ET 4zhjDb2p#f2FeTnʩ QY;Fb1e> 3@*ͧ`(ݕC@- |fЀ1() \Aȉq \Ɉ \8`b$e$ 4l3@)g b$d.BFROPbd(.NILCHbEU9`b$et 4l3@)!+&#H 4q,02Sc ]=B2& 9%1 "2 TPSU b$d 1UN.BINIT=O.d=q+<,F솫F#86hhh8aͣ \ͦ H)1 \I)* \4hp \8P`b%$٨#@'I9VhY&:c 16pT b$e5tF;b1FN9 ed@1r2 ԐR$5$9#b1hxFV=TF~*Z#6h=,Td@)rd!!ԐB5$9URW0=T_w0}PO=9 9x*ILt!!QSbEd@g8w$0;"0`5()ӀQbEeIPL`,]( Sb4H|Z,&:S'`RD5٨P#0́ݓȈk S`R٨(F2c%9a6pS`RDT٨(xFVc16pS`R4DT٨(FrcM6pQbd) hS6<\,&2& !`IY1>:!IM2UT# MQUNpQbdy( h&fm=Op.DOSbE%d.FOPNWbe$U4X.GETUSb4UEU9TU be$U4YxB F,.FRESEbE%dXinY$ɌBD8.DRVLOTԠbEU989.GETUSbEU9TTbtUEU8MQUNj>K4hc =N:UT@MQUNpS bɨ&:S'Q`b$E=IfB.BODYPӕ T"Th B.FLGSP`d"%E(M%iB.WFLGT"u%Ip$)",)rz"p0!!',*rrr"G*r2p!#&#2rzB* p !)(*)G2rJ,s!+&#2rq+*NQ`btUDEXA95jHæ` T4J? -U$&U$FU$&U$LU$&,63jJ5m `yV@`{@!X#@QV2T. 9aQ2 LcA952KSSc M-%A 20T`RdA94j L4TT5 rj84 < fp0 F6XTGOV8<@vK62X*aUWDaTpmHd3j!YcaZ1 \eȫ q \ɦ1 \8T BHM-%A j TɈ*jq \ P \ii*SV b5D89aQ.QWHIToK*? * -hC\!2C@_1 \ȫ q \ʪ iӀSUbDi60-+m `Y1 \)*ӀQSbd98FaPLt#$&!SUS RTɩfͣwҢCgiQŒ F!ҥ`Pu)GHG@)rJjdQURDi{H *,bh}G %7d@L< -tiRڦ nj:@iS%H##@ :KQUPLR3$8 j aPݕFLb4xXt͡+Nc@ģ V! ! `? JbaS Aiꪈ1@ \ʈ)UQbDE9H&3@ &:Q QiNpRDE9ū<\,a4xc" =UQ2KSQiNp V B䅄HP!b.T4HX  ͡רhŚ0Ȩ.COUTAR5$hȐ.HEXAB䅄H@.T2HXRCD.T4HXCV`RUHH ;&:KVgԓR5$iPb4UD.CRLFPU`b4UDHT>3@&:Uc =NpSREDT騠 x+!uj$D`G[Y1 \8T bU4iHb&:TSS`RT٨8`.QNUMBD9`'@d@!r"zSU`bTDIx"" NFBVER7.BVER13 BUFFLIB v1.4 copyright (c) 1986, C.B. Falconer$> YOPTIONSL.OPTIONŚ5.SKIPBLKSž#3.NEXTCHʁ+F#"6Á#Á233 w# W w#? YTDZSF.TDZSFG.DTEN|.BLKS.TDZS YBLKS .BLKSG.BLK YBLK.BLK> .COUTA YSBCALLOC.SBCALLOC>! ))))|.SALLOC ASALLOC+.SALLOC /o&# %))))!9+V+^? ALHLSTK.LHLSTK}!9og^#V ADCMP .DCMP| }| ADSUB.DSUB7}o|gҁ ? AMXCHG.MXCHG Fwx#  ANXTOUT .NXTOUT.FNCPY`i.FCWILD FCWILDNM.FCWILD  #?~ ! FNCOPY.FNCPY  #~ MOVE .MOVEx~# Á NEXTFN.NXTFN  #~~ ! WILDCHK'.WLDCK  #~?ʁ?7ʁ#Á?7# WILDXPNDB.WILDX >>.DOS͏<ʁ?=ՅOG w#$!`9}|>Áx BFCLOSE8.BFCLOSE.NILCHK~B.WFLG.BFILL.BDUMP.GETUSR~.SETUSR####.LDEMg>.DOS<|͏7 GBFILL.BFILL.BPUTB.CNT~ !PBSPACE.BSPACE.BROOM.BFLUSH !PBFGETC.BFGETC.BSTA.INRDY.BGET.BLOADҁ BGETC.BGETC.BGETP.IOPOLL.BSTA.INRDYʁ.BGET @BGET$.BGET ##N#F###.DCXM#^#V.ADVPTR r+s####~ !PBFPUTC.BFPUTC~B.EOF7.BSTA.ORDY.BDUMP.BPUT !PBPUTC.BPUTC.BPUTP.IOPOLL.BSTA.ORDYʁ.BPUT @BPUT$.BPUT ##N#F###.INXM###^#V.ADVPTR r+s##q !PBSTA.BSTA.BROOM.INRDYWxʁ>.ORDY !PBLOADo.BLOAD~B.EOF7.GETUSR~.SETUSR.BROOMy怰ʁc##N#F#.LDEMz7ʁc####͏>.DOS>͏]!B.CNT ~ƀw#~w###.ADVANCEÁ~w|͏ !PBDUMPU.BDUMP.GETUSR~.SETUSR ##N#F#.LDEM~#ʁIz7ʁI +~րw#~w#.ADVANCE###>.DOS>͏7ʁ |͏ !PBFROPEN.BFROPEN.NILCHK.XLTUSRg.BFINIT|.FOPNR GBFWOPEN.BFWOPEN.NILCHK.XLTUSRgB.WFLG.BFINIT|.FOPNW GBINIT:.BFINIT.BFLUSH .BINITyO.NILCHKw#6+x7##q#p#.SDEM͏B.CNT͏͏͏ѯ !PBROOM.BROOM##.LDEM##{O#zG~+> !PBFSWAP.BFSWAPFw####~#Nr+sQ_x GBCRC0.BCRC ######~7-^#V{ʁ-#~#7-###~#.CRCz" 3CRC .CRCթW_WOzGzO 3ADVANCE.ADVANCE~_ƀw#~Ww+~O#~w+q#  !PADVPTR .ADVPTR z{_W !PNILCHK .NILCHKG|x7 !PDCXM .DCXM 5~#<5 "INXM.INXM4#4 !PLDEM.LDEM^#V# !PSDEM.SDEMs#r# !PFOPNR .FOPNRg.GETUSRo|.SETUSR.DRVLOCK.FRESET>.DOS<}͏7 3FOPNW%.FOPNWg.GETUSRo|.SETUSR.DRVLOCK.FRESET>.DOS>͏<}͏7 3FRESET.FRESET! 6! 6 3DRVLOCK .DRVLOCK>.DOS< WXLTUSR.XLTUSR=.GETUSR GGSUSER .GETUSR.SETUSR>_> .DOS !PIOPOLL.IOPOLL !PBUFFDEFN.INRDY.ORDYB.BODY B.CNTB.EOFB.FCBB.FLGSB.OHEAD B.RPTRB.SIZEB.WFLGB.WPTR B.WRT@ GPFNMDUs.GETDU.PFNMDU.SKIPBLKŚq.LASTCH:.NEXTCH.PFNM1.UPSHFT.QNUMҁ8@ځI[?ځI:ʁI͏ځI:ʁI͏ځI:͏͏ҁ[@O͏:G͏ GGÏ YPFNMs.PFNM.PFNM1.SKIPBLKS:.NEXTCH@OẃG.LASTCH.̏́G#6+ >?#> 8y͏ʁk#*X6?Á\w͏G͏͏Ád#6 k FSKIPBLKS.NXT.SKIPBLKS.LASTCH.QWHITE.NEXTCHҁ FNEXTCH8.LASTCH .NEXTCH.QWHITE/ ʁ  ҁ 7.UPSHFT#=_.:;<>,| п7 FINITFCB.INITFCB 6#>  .FILLC͏ GFILLC.FILLCw# GIMUL5.IMUL{́|́W_ҁ}gҁ bjȇҁ+ )ځ)Á+ IDIVC.IDIV{zҁ́_́_7.C2BCzS )ځ:ҁ+# ځ4Á 33<Á ҁ?# Á  !C12BC.C1BC.C2BC y/Ox/G !TFNAMJ.TFNAM ʁ@.COUTA.TADZS>:͏  ď!>.͏ !#~ ď: ITADZS .TADZSo&.TDZS TDZS.TDZS.DTEN|ā0.COUTA T24HEX.HXD.T2HX.T4HX.T4HXC.CRLF|́}́.HEXA.COUTA HEXA .HEXAƐ'@' ACRLF .CRLF> .COUTA> Ï VCOUTA .COUTA_>.DOS @DTEN.DTEN )ځ # !UPSHFT .UPSHFTa{_ @QNUM.QNUM0:? @DOS .DOS O !PENDATA.ENDATA 0CvBVER.MAC# 1 IuFP@1 #b2BHv4̦An6 O)Cyt4AsL@s5N#afsqt1# &SsSSaS4Mi@2`_ Z 2Lh1t'1eNG; xlfyQOLo ٙtl&ATʘL{3cvELtu999Ncء_V(rduJrk m>/;LdK,y\| QlZbLlMo| C(\`vdŠ0niIuy]!vO6KaTq)Ui'o@ U SVzZdm]J*RUI]QH. d`1 B6G%IѾ) VpfWcvefaܗ=rB]YV8l4svjeaY:rmƙ$/U$se~CVA@Yd51bMFTq YQ=-ĔgD) QzWDxf4Y%9y kT)eMUI*Kxrr[mR RqmFia`cF dlxBPsW7J qd`a1Gtrr -%:FA E'QF [XAнa00 P.ܢDm6gLgHPc Q MD0BGhT r h&%sbXkb~f^IfjZ)=l7G1KeCrQ#SB#gV56ghL]V; ; 2's complement (bc), leave (b) in (a) ; a,b,c .c2bc:: dcx b ; " " ; 1's complement (bc), leave (b) in (a) ; a,b,c .c1bc:: mov a,c cma mov c,a mov a,b cma mov b,a ret end v extrn .dos ; @cout equ 2 ; ; console output (a) ; a,f .couta:: push d mov e,a mvi a,@cout call .dos pop d ret %vCRC.MAC# ACPi9 g#o: &(p2NXa1ȌfdES9Ō `yA` eEH"d$0o6"19M'C 3Jgڙn4㦓y@w4Ad9cap< YΓ % zeJ%VhX2Luyޖg2Vto6M3I < CinvQXƓJ2٤ hl then z reset, carry set ; if de = hl then z set, carry clear ; if de < hl then z reset, carry clear ; (organized like "cmp r", using hl as accumulator) ; f .dcmp:: push h push psw mov a,h cmp d jnz dcmp1 mov a,l cmp e dcmp1: pop h mov a,h; restore a, keep flags pop h ret ; ; decrement word hl^, advance hl by 1 (to hi byte of m) ; z flag for zero after decrementing ; a,f,h,l .dcxm:: dcr m mov a,m inx h inr a rnz ora m rz; zero result, no wrap dcr m ora a; reset any zero flag ret 3 bdos equ 5 ; ; dos call a, preserve registers, set flags ; a,f .dos:: push b ! push d ! push h mov c,a call bdos ! ora a pop h ! pop d ! pop b ret ; end 'vDOSZ.MAC[Becomes 2k (86/12/1)]# L&3a =P; 1l6H@s0&859L擙r9T42NSqn: e4Xt:iDu6iHi:ca49Ne&B@ 7QHS\T,Q1Llc3gy w23yp7HDxp6t4 A7M " =s1_MqiBYp96^ 3L'#$UPK)$Eg9M0ah%PveM %u001MalSIogrC<ϛw?GIX+!֠BD9er\+er٠P`_`Y1\8 DOSZ.DOSO E= extrn .dos ; curdsk equ 25 ; ; If fcb de^ uses default drive, lock it to current drive. ; This allows drive switches after file is opened. ; a,f .drvlock:: ldax d ! ora a ! rnz; not on default drive mvi a,curdsk call .dos inr a ! stax d; else lock to current drive ret ; ; subtract de from hl. Like "DAD d" ; f,h,l .dsub:: stc push psw mov a,l sub e mov l,a mov a,h sbb d mov h,a jnc dsub1 pop psw; with preset carry ret dsub1: pop psw; clear carry cmc ret vDTEN.MAC ACv4 i3At2̧!l Ga f0S 7H 2Chy0gNFЀ0h˔0DAVK]o02,&L 20̯/Luaz ;=6fS6:o Q /kkIF|ŸLS,9ruٷ)~Wx 33k3脟MEy\-DH k9 1^W<'GrB^wC{< ϫq\?@^D,AR0+!eϯ~ 0soeRYh=dܱ$B (n]k'ݴᅻ20^o D {["@͡,gkC;vR!M?BS3&xNp (:`Xpx 9dž,}Ketpv8@X8wNHHuhddr"@ToR0hs a8+ TIUT@8Fe4Z117E'Cr'屮.sP5@a%94j<ДR.^@ۊy,`f=E9%s*](òFsFR JxC c u ^9riKG9dkU%&`drm|PøaTKHbx#$:@G',s H(1ԊIc?=\Bk |FM/޷sn˨gF䪱C H$8`,16Š%D5c`K&*Nل aT0P AFAZ$ *1[ZkC+iHYYh IMHetGE+Ux [9JC (^IybRj#1E@/tNq9z,2JE5gp:/N"#AULcE!huDI@kK C##HY'Q2{Fjv` sK&1O`IAx`ItX'A |WpSKppp#VzH&vt{H2(A={{jizulxK"w'f2aq0xWq@-.0vdl*kkVFx- gyy,8ygq nG3.7*t-"5ƍhs~-! H`iotL#CU\6 Mn$s) -YUYnVko@ll0u[9wry^f%spaK'68AVix %BDK9v\ ~R"wD[8a Q8Hpoar%4Qs9T tKMli'&y"r7jgZÚ"dtmq*P]wAh"!dEBST i%n86Ģ@csRi_ibqU6gyFq2نֳtuuGr5x"R(xY(yb7yGwv~{|R|Fku~b|qk2t$]KGb92Prgwo(8&=w?'» x2ciBW#.7S8{P?uQtfU΃vao'vSbRobw y8'*QH`#yPY'zbHwx朅HftNsȴkRF>Zf.Yn3`mbS"뤆n"gi<)v7[22i%tt%[eZ+kc0JTPx/U,7z*@sGD_"'͉=^*lnhWG"&U(@lt6C^1g:5q7F;XqGo+qY]귬)J)gitA@d:1m&bNthH E""]ORw=Rw*ƕRBF2qϬK p)'psuN8Ҳo9kX퉠eʟu>Ѣtހ3pti6Ԯ)1xְ6VlH(n]ƐgGD0]w}%^ƛ@wumbG`X9'(ֵ;`:R`ab҃W=.e;t"czwZˀ qc t[exdBe1;okO _c*pbq`'%b$A0' .bMl2 {d[1Q U+ {O+Ǻ'*J Q@[P]$xp tc{FrgҪQM' .8!!T KKؿBL"""A"1b1|43o+[rw  5,*"6АP( CÅ),$ +Ʉ ǃF 0`b9TeksɌ)ם0#!aYr2a輀 v" Lh|\'' U! |81a?Ƌ^xW&LJ܈{na`|U]V3QƆP].A O TPDʌhosɐ'3fbeVhqCnaO~[抭}ϲ9PpAmuX9m}͑c2.ST.RQ )YJ;w5T6TF2싾.K&y;7y_X.~?KP-}͈Jt}>Lnj#zRJ$o{$^η}Y V6偭b%jmov*M Gvi)-{*'gO1xkZFJ.G@^G92%#23IU38alT8^."`2`dh{f5 hInۍվss[4/N˂1 nA6@R&Ey=T/"ZNھڗ_+dǟfS>lu4˦,l~jǐ1qdF|uMܡxrZc~EGfq[p| y/zTnpX~'_!NRbA"}ν{wm#y]fSx9Q:г%}xK '=9ZBHw4] &#bm@ T頳z:](Wvya*UZWFn/hŽQrַT̽F9(bfԐ :߹yr^39b88KLJg+p> hlǓ\G^;wqͅ)ہx}Zx7;4F^ W>X疹m1}j(o$$%)~h[%㯱[7e'ghȐlKN6|4g ۦ.gz>F=HdA FRP1N:i=5-FYCܳ~sX2[?E|ci yeQw|8' |),u`Ճ?:Y 5X;s>Ӊ#{9@s5Fpu'9@s|.()~|Y?$^rٰF'sI-n=YYu0r9@sB>Xlp^Z&dq)~!)oq(Y>c& ET7W3/tp|dgF!-L$C=5-Agur f]6HVuVCLða/.\eHsuLT$s&H,?9BW`JA "Q*.2 ͟>@!"P BJ!$ 6 ! 6 x2 !\6 x2  \2$ : @! \e>@!V "T :   "J i`"R : !9}o|g"H *R |+"R 1* : g}!$  V>@*H MD*J  : ͒>@$ : ͸>@: G: !"L *J $ n>@: $ į>@*P #"P à*P |>@ͥ > !Zog^#V> : nr 4FCOPY v1.2 by C.B. Falconer usage: FCOPY [-v] [d[u]:]afnin.aft [d[u]:][afnout.aft] default destination is source name if d or u different optional -v causes CRC16 checksum validation of copy ex: FCOPY -v b5:fcopy.* c6: (copies to C6: and verifies)$Incompatible wild cards, from/to$Can't copy file to itself$Input file not found$Can't create, directory full?$Write error, disk full?$Verification failure$..ABORTED..$Linked to obsolete library$ files copied$og#wɯ2 - Vc2  ڑě=ژ0p`7*L MD i`"L *L "N !"L $ ͛͘*N *L z{ *T "T $ !\ ͥ:  R C> : $ R I: > ͹ > > >@ ==> $ (verifying)$+ #j] BUFFLIB v1.4 copyright (c) 1986, C.B. Falconer$>n`iͰ #?¿~µ #~ #~~ #~??7?7>> <]=ՅOG w#B!`9}|>#x̀~͛=~ ####͎g> <| 7ͪ~˜##N#F###͉###^#Vvr+s##q~7~ y怰1##N#F#͎z71####͎> > +!~ƀw#~w###\~w| ~ ##N#F#͎~#ʆz7ʆ+~րw#~w#\###> > 7J| ̀gͥ|ØyÒw#6+x7##q#p#͓͓͓͓̀ѯ##͎##{O#zG~+>Fw####~#Nr+sQ_x######~79^#V{9#~#79###~#<z.թW_WOzGzO~_ƀw#~Ww+~O#~w+q# z{_WG|x74#4^#V#s#r#go| > <} 7go| > > <} 7! 6! 6> <=>_>  q : Ñ  A @R [?R :R R :R R : d @O :G GG :‘ @Ow .  #6§  >?#º ´ y #* 6? w  #6  -  7 =_.:;<>,| п76#>  K K w#K ] m @ Ĝ >:  s >. !#~ Œ o&ͥ |ĥ 0 > > _>  ) # a{_0:?O+vFCWILDNM.MAC# AC p< Ɠa@n0b&c 1ax@t7C)xYa ;̂66CL 7r .3 u3@$S&JZhNƚȰb1&bxWuοvo53'fqmY `IXmΗ2 g*G`Ir2WMi1v8kWmY HPHsUxOvFDIFF.MAC[Becomes 10k]# Fqyӄ$ 3M!n2D!A) l!p4;3 D$ش] gR EC‰FKt,p. l>"s)dYHi:"gSa@d:LCső߂Nri;`E5ۤHPo8 &AR 3Í2I3Ģm1K&1tBχW'C-vl(2Lڣg a F Y-2ۭۍ-f3Lp1C/ C 0 5x1m5cQU=  aeUKkM@E9N֌nwC03aipb`?FiEFFq~1r` { DȽr]sR`V7 hZxhL (SDXm=E!L. qka&vtQi)q@1!o)zd f*0 a4ԏцjҰ@z&)rb+dfH C1e ;Wql]EbqdL_'`iŶcFggw6 u& +W9.Fxb2Liqkᑊa`bAcȆ\rɳ$pƲf/4rͳsGl$t zd:v h6 m؋S[uhdmEFzޱg%[@htQX| D3Ei4Y go :FJ2 0-XDDžZ:~l ƴeZU yȆʘ G1WB $"ҡoj\Bag pb=C\"ˁh.ot yyJoT2rFCT?/8P^XpP c =FA`h "!׆9lC^?!6(Wa2hB/V緈(X~va ؂C>[?a !#o8  @&P(J--=V[w`mvd1] UG G(@)b s$×!?]/m|dW^ ,jK_"&0BF_Ɇ.1" 9B@R `n\ $kCKOj,0 h'dA7BLs6'ҺfE2b.jl0/2@Yc~:5C-T3~ (r99 +[A2' }?}`3nnB}M7r)$C+-6v wPe$PE"F``I[svYtjCAzPU#4d&HΉgbNhRr~Mx!a֪o4ō@C-D\þ$fAc8B"-/%TA 97<;"s˝#ώn$ˁB&C]3G ]B(4j.Ò%T2ԕˌ0YH=hR$aqv0ý׻,<@_ڞ^`{"~]0gadWN07sˊdHӆ f]g<@h+;3litJbVz/d T~JxF9 peq\k7 [-dP/boc-zԆP8z:'g@@a$emP?a *+(]x`pNlOC;qfkYg&ZVpXaw]֭vgjqsD֯7͂-UC60\k;(E2دӒ<頀ɿs CC#bky +1i;t2*j,+،d|rD+y0Tyܢ`2{Lˀb],jYbpA QN*(R6Ba00+jC y ڢx _%%߸#& `U^rIcWOr~xϮxWI]{ADLZ!z f,8> lK?& _^;C(bGyayȇ@d U'.k̻¦)D/UĘ}-z"JK- !ϤaH |F8`tn-|7!`qz%01>vzw'y@,xgrg5sz99 LAr&Md1d2f+~7Jm]q>FCd%OV|BR!^+XC~lD@d4EE-|%m8j0+0=j|Ac b uzhVDq^D/]6؏t3v57lA, i1V1:!#P-|H8Dk96XV,"(3[ȫ0Ȯ#12CCpQPCtd]&&- 1{g#tb-cvvV_QAN4lH$ck&c[fl7ēip qk7OÑsx%B:QLARBFz@#eySc_xY(Mrg8p[:4eJ!:/0pfpcS)+SnTQ^hDtٌ5l,9]5fqnIjU=5O)|f@p,,ym'K4Bb9WUC"a@~O燃2!)hWZ!Ԥq"GaDDKt }CeD}u}c.g3]bP:dxa=YVp2i:j@5 gjzr0z*'<vq)R +p05)RDr;5H :3$a(, 1,e3TRB37n60[QGHf;>1Ig%0t6--K.+D&}oCXzP't3r 4W&-PI/с`-q"FN;P7b6u$ǩ%j{i2;aN1u_Z%u%&,"AsGx&ptPhq_Qp$SiY#pCe"G$˸;n&[!X@ S0FrT81P*HKz# ;ŽûV[ऋ;ڌVkjp7Awc @spH3p 1V< | JL;UMK8 `]9 n_ˁ<28nLDCXQ=3of7vcnĈq, `jYAkJu EQa7hS-ѭG~5}t*5SDfqc1Q,{JS")n'*e&A!j{S.Ay!x`d&8}[lI|(j% W(:*|d0 kÞ3(n0F|MZAxR "zH 4>|0cJPl՘=c|ӭC]w>nv^CƭАD8 3 L(PA`T']s8fÉP:Ӯ2.d|8V0dXq$ n>u5%1~kduTqX8L"Z4ʁ.^vTkPe3H.fM-@x랯*y+Hq>dn(ZhQUvgCt8D7A(4)񔎛g'F! fcH'N97T Ih~91kFZD7QsAN971l Q%*.2|g}o-55 ';! : ʱx2 x !N >ڱ!Z "L !( x2' :) ̴x>ڱ!T!N \ژG*L \گʓO^*og͛͠Hx͠A͸Ógo22 "=+"2 Hx͠ xM x{YYY!Nyw͸HH : 1H( :' 1͸>÷> Y > > č:! 4:6>ͷ͍ }> ͷ">*L \>ұ:>ñ>ͷ!_^#V> $@Wn}FDIFF v1.1 by C.B. Falconer. Usage: FDIFF [-n000] [d[u]:]file1.ft [d[u]:][file2.ft] Default file2 is file1 when du's different Optional -n for no page pauses, -000 (hex) sets base ex: FDIFF -100 a3:fdiff.obj compare a3:fdiff.obj with current du:fdiff.obj, using addresses from 0100h $Can't find file1$Can't find file2$File2 is same file as file1$file2 EOF before file1$file1 EOF before file2$No differences$Addr. bits Hex Asc. Dec. Hex Asc. Dec. $[more]$ $) !  ~#¿:' G: !(   #>ñ*} 1 !"!COM!N)>w!))))oF0"?AG?4#4#4͏k͢\##N#F###ͤ#^#V͑r+s####~^Wxʞ>~7~^y怰##N#F#ͮz7####ͮ>>!~ƀw#~w###wô~w|͛g$|øyO͛w#6+x7##q#p#ͳ͛ͳͳͳѯ##ͮ##{O#zG~+>~_ƀw#~Ww+~O#~w+q# z{_WG|x75~#<5^#V#s#r#go|><}7! 6! 6><=>_> q:Ì<@M[?M:MM:MM:_@O:GGG:Œ@Ow;.;#6¢ >?#µ ¯y#*6?w¾#6 (  7=_.:;<>,| п7<L@{>: R>.!#~ ko&̈́|Ą0͸|͠}ͩͯƐ'@'> > _> )#a{_0:?O>; ; fill hl^ for b with a, advance hl ; f,b,h,l .fillc:: mov m,a ! inx h ! dcr b jnz .fillc ret ; ; copy file name from hl^ to de^ fcbs (name/ext only) ; removing any attribute bits. ; a,f .fncpy:: push b push d push h mvi b,11; chars total fncpy1: inx d; advance to fn/ft fields inx h; or just advance after 1st mov a,m ani 07fh stax d dcr b jnz fncpy1 pop h pop d pop b ret lvFOPNR.MAC# OC.3NSX Lr; 3\H\f9bI sreN'PHk,KD@f4 ! 7aSPaЍ !. Zm1Sb9͇Sv &Gts)u6Cxu9I Ѥef!fQ(}o:W#,LM!X 8CFo;kņQl6Bf 6m;M RhAoѨwú7X+Ցa$ńNF3$J plNƐ%LBZhk6pw ia&ENG5E(pLZJ %@LS5,kj1cBTF ԰$@'{vFOPNW.MAC# OC.3NSX Lo9ąCo1c*trrA'PHs/6MfYd2Kyn&(e/DS3seX`oNul:؅A r9i\] (ed}8JƓ|>NI&jN= [n#1l:DRA 1̥Fv2Č&n3.*|ӳ'CSvVupn;RLh:y۸,0 V9u{cd*wgwA@B]{Ф}!HƷنlRmXJyUaF" >xn(v]~ѱA z$Q}oK]]R@ToǕ%KhTCRhE ; ; reset current record, extent, file de^ ; f .freset:: push h lxi h,12 dad d mvi m,0; reset extent lxi h,32 dad d mvi m,0; and record pointer pop h ret  extrn .dos ; @user equ 32 ; ; get current user ; a,f .getusr:: mvi a,0ffh ; " " ; setuser # a ; a,f .setusr:: push d mov e,a mvi a,@user call .dos pop d ret ; ; convert 4 bit hex value to ascii in (a) ; a,f .hexa:: ani 0fh; mask 4 bits adi 090h; use daa trick daa aci 040h daa ret end +vIDIV.MAC# OC.1F0h(w㙤n2qg2CId2X@:˥fdĈI+K™ho1L!4Dr9Dc|v󼺰 =I iDN$sA 9H'9 7t-Nuem0r[tu7Nl5Ƹ;D9f̹h2ECxm.0#yV1\Al RX0L#H$l2Ԅ3GwNf 6ֺ/e1%i\WwsF'e}gقъ1|A4ixrWUbabUVFќ xW Dlv]Qaf3ze)j`q4p]tmdIe&Q %88p.]DM-IfFfmeHieGQqeFrLZX4 [KFaPElLp.M!JT D rfGa `b 0qܗ, ѕP1{2MۭMDK^ǨR꨻յвD.(m * { (rcR ^ǹW6$ dYҔ,pnTD$2£qrA1zu d8dF@$hÂiN87W\1UHѶ!jgJg`l-H ǵLQfdpq3xL{ah,T6ٯa1o.6 3i\q߆s)/GGIq=v'bv^⭃3XȫU (jlݴ#$t4|Ngx($o;L>p XV}hHXAG1M^`1W$baQ X切Z'xxxf`ubd$iZbA}GxUjd`1a~!Xn>c%D bX)PnfbZHi% yTpմHn&V}hNJ?ed7a@&bGQdR&bf| z'"9j0%w^CCҖ°V=)љGHA-A b%*ۛi~bfw|MF⹮nk"1|(9\.TB/.oE=Y CM]wesw1(w1kwf gAg} wIq558 :F1eW᧮m  zJ4nͧy*}p ̈́͊E9">v*>ʸ=** e !@ ILkLK ̈́!: 6 #p:ѷ[j.B> j>[j`:7`:7}K|K=L̈́1#:7ʃ:Z![s/ƁG6+i :8͈9>4:6͈Ã: š2 :2 !w#  !\?22!m~ $ ?!LB">R2<͸*3:% ĸ!%!E!e!+| < ?͊s ́!: ?H^#V#^#V#" )|2}2<>2 !$" : <2 ͭ* +" }ʩ͸©* #" ~>ɯ2 !$" >4go ́*#ɯ2 2 :=2![:Zogw:Z<2Z2Z:8͈[>49>4%>4:6͈:7L: ¬:<2G:ʉe I: G: ʬҬ2  ̈́͹ ̈́>4>4ʹ2 cL_  =2:<2 {j ::{   ɿ::7! #1~K~?1#>! ̈́~j#\ I:Š͖‘͖ط†>=k=2:2:O:¯O>=2yO!##^#Vzʝy2z>7{?/|s#r#s#r#+~# ~ #C$ ?'C#* ?" *#"*}7+"* ?" c> j> _ y: <2 >4cʑjÅ̈́͹_jcYFile exists, purge (y/N)?:8͈9>4<ēL2Z2Y>4>4<:6͈) ́>:>4!&og ?>O~#?~ j#K>.j~ j#_>425͆24!~?##> ~~=,_.:;<>[] п#~ ? >:ͺځҁO~@#͆G |ͦ |ͦx#͆>_> 4ɷ*5* )=ž?~0 ?#xGG+# N ¿7y:4͈:5_>4a{_Member Not found LT16 [d[u]:]fn[.ft|.LBR] [d[u]:][afn] by C.B. Falconer (afn found in fn.LBR). Type/unsq/uncr files/.LBR members Ex: LT jazz *.m?c (for all .MAC/.MQC/.MZC files in JAZZ.LBR) LT xyz.typ (types xyz.typ, may unsq/uncr) Expands tabs & indentation codes The second "du" causes extraction to disk, i.e. LT jazz b:*.m?c (extracts to drive b:) ^S pauses, ^C aborts, ^X skips to next file, ^Z stops page pauses =>> Early EOF, abortedLBR file corruptListing of member: [More...]  ...Can't output a '' file No space, aborting Corrupt or unknown format file Too long, transfer with XMODEM Access denied  Copyright (c) 86/11/24 by Steven Greenberg 201-670-8724 and C.B. Falconer 203-281-1438. May be reproduced for non-profit use only.$o O ͪvJ ͪʰ >[ >[ >[ >7*ɯ\ o O ÷ !9"!.">0g">(g/g$"|g.*|:*ڭ gz?ͪ° ͪͪͪͪ!Y -  [ !"> 22!f< >2> 2 !f 2go""ͼa !~6`:- ͼa M "ͫڢ !~6`:[ ‡ <2[ "ͫڢ *::Ç {a J go"2 > 2>2>2[ : :g~ w*9O :gk~ >2> 2`2~T V|g^z&W |g~.|g~2O*$%FAo%ʹ$"&"[=g}ʹ%S>ô*:G:x¹qg:gOD~ʛ|0g~ʗG|gn`}`Ͳ|gq*+"|=2r|gs*:g:w|gs|gw*#"#:2:< 2>2*6#@s# x}eo/$:/:g:G}/<=OT]dW*:GzGKdJ |0gͲ~# xd7ɅoWgG}oOҊ#z|> )))).))қ =“))))lͼz={ҫ:G:OyO{_zWy2z7ͪ7* *6#(G͎L~) *r|gs:gyg*:W|G>2x͎L~o:iV|gn:g~ h")D*|*#"*:GͲ|gp]))))o{g:g#*"K*u{ozg"! ~# x cvMOVE.MAC# ACv2 o 1 1g.&Cc#R)2CMX9a9Ef9n9n3 QG7M)3f3yְeh0 d7aM '*Xf1aXe`P 9 NL lz&x3t-Y\nAZ55NB HPZ; ; trade de^ and hl^ for c bytes ; a,f .mxchg:: push b push d push h mxchg1: mov b,m ldax d mov m,a mov a,b stax d inx d inx h dcr c jnz mxchg1 pop h pop d pop b ret ~vNEXTCH.MAC OC.:f1 :LPC99 7AdF3Aa1 !o6 A bS$06L| 2fL,'#Ȃz : dJa*B&@irF 'z"GawtchVNUQWQiZXQ E;U-lR7n'2j@;-ҵxiYTiSّuRFbWRaLʸ B7Tm"i^ԤkO-McyTBA(w⤅'DgvNEXTFN.MAC#  FS : 17MIc1 RJLUtPj0 ahN7zgFNZ=GU%XHHtV*|^YAE56IŭmfEoiI^*v`-h`)nWUIFiqe*j,8NIV]k讦_Cr827uɁ}I:`Arf(xRT鰸XQy$.1 3+C<*M581D.S{=e9TӒm9@ʹ 9 @iy ǰ9l۞!#v@J4:yKJM( D AH  9'\+ (*$nD n%c|@$6"z% A=Hs$KEǰ"YDf2Lc3A9cIZ'#Sci2aA=d)%s-e2FRT[-)ȕ, %-,$L@(7).Ä(c0,s&e)e& T;z c V|7F Rr̘Cg"g9: ކ*C;?FmD{%,Jb(z *Hn!8K$t%0!ni84D((0{>P7_m6 hb|Ix`z)gE^PX9qչʗv]Ym lï1ߵ=+u prc=K"{q1 iq\,ahf%tIoS׽_J4KBzsU0X Vt7rTw1~C`e-mP Q@"˙: @@ !J|h *؉͌{ QCa lh9dR:KI^ᤫ~^l0BojN9HQ#w"[,<  /ŀ" Ü^LQfN.*r+Jf4ҏI HnqsKmE ,OB@6@:SvPFNMDU.MAC# OC.8`$@.:f1Y8ш4B!F c4F,Y9's`99Es2 3L%lo6ja7X xPd2" y[1ax\ 4!v2ε3p25i7b P7v }?l_tY,kl<)ƒ+\U bVbqb JeӛB1 &ڥN:ryQ/5w{yLQTy BvyzMwO8'iuu_g'aglApW)UxgXeSy`Qm[ٕgV.dD.FvbehSo)gNj qT&qwFZ!6owPEYY0o[ c1YM $uB59(Xn Q.X(w\avqHNpfbQnQzFwJ2ejסTJZHY! DisdHu[%Wd*Exݞ mz3 k|,,}KĄ.P:OYlBD8N'la8ZӬ*B(u:n_r0vOFٰ CvSALLOC.MAC# ACl7'C(b6D#< 7CD@t0bd B*dBi7CPX; 3W.((%PTAVV}1 S $j]Il!nh extrn .tdzs ; ; output (a) in decimal to console .tadzs:: push h mov l,a mvi h,0 call .tdzs pop h ret ' extrn .dten, .couta; hl := hl/10 ; ; write (hl) in decimal to console, suppress leading zeroes. .tdzs:: push psw push h; save everything call .dten push psw; save output digit mov a,h ora l cnz .tdzs; not left digit, recursive pop psw; last unlisted digit pop h; restore input adi '0'; make ascii digit call .couta; and output it pop psw ret , extrn .dten, .blks, .tdzs ; ; Write hl (dec) in minimum (a) char. field, right justified. ; (If the field is too small more columns are used). Max field 128 ; a,f .tdzsf:: push b push h mov b,a tdzsf1: dcr b call .dten mov a,h ora l jnz tdzsf1; count digits. 0..9 leaves count-1 ora b cp .blks; 0 or more pop h pop b jmp .tdzs _vTEST1.MAC# S@b:S@m7(@ !3yoAClE"ER1R)r &] BGS(9%#y 2Nf1uM^+ Lf(':֫¶x:qs#1t10ctnz0l4 m;sB(s8g4&Ɣ,hd8L&a ܎!G4Fa1a4L&M 2o&j Pfє@a;dFS;BH%ѓ %iFyr[tdFaBGQhF6l_v@pdDnPT1uڑcF!|[ fabe0 Fw4{H$ѤtG n[@a%stCbX]ccHAGiXhfZ6a gL#X-`edjbYK:fFE'Y$ afgq'E[ oBo])(vUvKڑ@%5}rAG!!J*=B*.DM\!*F22=> 5No file$_>yU͌F##N#F###͎#^#V{r+s####~HWxʈ>~7~Hy怰##N#F#͘z7####͘>>!~ƀw#~w###aÞ~w|ͅg|âyOͅw#6+x7##q#p#͝͝͝͝ͅѯ##͘##{O#zG~+>~_ƀw#~Ww+~O#~w+q# z{_WG|x75~#<5^#V#s#r#go|><}7! 6! 6><=>_> O<vTEST2.MAC# S@b:S@m7(@C7"1. M @2CA"d7)l6Gq9NQ"aqX #$>Y:I&ì a,y h &3Y)0eVdwr|' G,Li h ,D8@ۆ{ mA)>a2+HҺ⣥:>@,F2+5=y>nUB?4͒ںa(Y:Rs(o}mV:[H-j z"t9~[+0EÂɕ;'i)='*X'țCu2))YHr]Fa  8 5A(e+1.Rz9xfKmئ6(BDn5, [nG2Zr3075'Pom,HOJg}g- :i: E7vdKA%(HyKrH9=p9HG!=p!3s nIH& =҂l0Ya "Ɍ19Cf,hEEb͹`8+&i̛Pn 6(( 1PcͶV+pqnX"2x:vdDC 靥B6GH:܄b햑,ךn˥ԌlN,a|%PhWD")Me*>F4  Y*AY2/rL$-ȕ *K.mvF~qÓGCs [ *ʆZ>CQ9Y=\f˧X[nS*=P ]}=%ŊTe2V䀫rۢ9:,Ed 3DIg*zQ!pͻVTzZ$HD,d)k90bF4H1JNYXbxA PD@A-@dѩ& IӃfF0% dP "mSh-f' yٝ!\Lw*ۗzTBC tۋ[ ;/E@!7'M1xz`1f1GLjlNC#(),JyXm؁RX Q*.X|G}O!("$  "&!ͤ!ͤ!~#og6!w: ʖx*$Eږ!w: ʖx*&Xږ*$ڍO*&9ږw*&ͼ> Some sort of error occured$~l~n####g><|n7J~ń##N#F####^#Vr+s####~~7nJ##N#F######^#Vr+s##qͧWx}>~7l~nͧy怰##N#F#z7####>>!~ƀw#~w###Ó~w|nl~n##N#F#~#9z79+~րw#~w####>>7|negm|egm|&yOw#6+x7##q#p#ѯ####{O#zG~+>~_ƀw#~Ww+~O#~w+q# z{_WG|x75~#<54#4^#V#s#r#glo|nZK><}n7glo|nZK>><}n7! 6! 6><=l>_> ]͉qy:lү@[?:::y@Ol:GlGGl]:l@Ow1y.l1#6 >?#( "yyU#*B6?Fwl1ylN#6 Uy͛la y y7=_.:;<>,| п76#>  ͹͹w#¹a{_0:?OvTEST3.MAC# S@b:S@m7(@C7"1. M @2CA#!6a# #5SD\B#o: &Irx dayM ㇚Y$fAPS* !l]mfSq:N K:b1Ba² N=d WIsI[rMzJ9Ύpti;A7;LEb1S 8H@l tc;(o7&S0 1~ ceAa_t KRx! ABfxleabdWGb1ajz e(paeDpxh.GnQXxDre dC`q!%icHeD!Gam (  sGI ZPQjJ1D!x#P[B2'J8BT'b 4X@1#@$dDrUAzO*Xa!c"Dd(,1,'FB(uXU#zհas*5qSUmZF\54axT}{ʢɕN Fbtdp\dPjmʣ]Bt@XV1#& rr}h̎Èeye?'JV:c4={*FtPaa Bәx [QbN݁I*hz24+m Cq=% 8Z[8A=A,f7X *60@Nkf.m 09`y&kݶ"CcCic )@e0$r8ae^Db  5K TM$"`$+ ,jscʶ?C7ANaMHSw )0t2@%, lє8G36nAR<Hvɖ_"Zd* Y@A$S!+qIgB 08CHl!퇩'a!R2/ 4NC:74SLCgw2GP*  2pST1L?-;%1',hh@ .IHu,Ea8 G {d.dlҔ'ƒ̥ i[70ƌyMqqDъ3YlSbԕ$`asS#zI`/h :_Մ`pAƓMG(B1>Q$`kٛ*Fi rFNNxjtD^pZfo,Iuk!G꬀}U## _C#B`762JHf#8[t8r |"#)|1"xS%q#!8P_&/v sil2ǩVR$c 3.CC*X_( <R @TS C5Tvo@ڢ7hz>&Ȁ8Sx9NO vl2I`-l"Ka>Ly 1#mAS-64I69&ŘK0:5ʐ9ftRI 51yy?3'xA,<xta"eD"ZBO¤M֔&񤯜bRߏ+ȵ1@̅.;=_qu\_$hZtӧ!)l% Ob%hHH)*.DM!K!K!~#og6!: ʟx 2x!ڟ!: ʟx 2ڟ!3:]2͢ڟڙ:]2m> wSome sort of error occured$͕~͢~####ͣg>w<|7~##N#F###͞###^#V͋r+s##q~7~Dy怰ʖ##N#F#ͣz7ʖ####ͣ>w>w!~ƀw#~w###qE~w|~##N#F#ͣ~#z7+~րw#~w#q###>w>w7ʯ|͕ g |íyO͕w#6+x7##q#p#͕ͨͨͨͨѯ##ͣ##{O#zG~+>Fw####~#Nr+sQ_x~_ƀw#~Ww+~O#~w+q# z{_WG|x74#4^#V#s#r#go|>w<}7go|>w>w<}7! 6! 6>w<=>_> w0q :ægpV@g[?g:gpg:gpg: py@O:GGG:¦@Ow .#6¼ >?# y #*6?w #6  B  7g=_.:;<>,| п76#>  ``w#`a{_0:?OvTFNAM.MAC# OC.1ΧC@.G0h(w!C8@f4 "7F3e/DN3, :q%"hL'6QIi&cE>@s4N3XaD"Qwg6jXt f8Z) lC!ɼ F¢jyS YP'AG|e8jk.A\tfIB;3Mnj)20oWLIQ4pTvmYO4be&%C6T.ofp_ס]|{%]MbWtqoPm{TUH |_5e}r`8hcm!> 5إ,5%vteh[tm; ; upshift a if lower case ; a,f .upshft:: cpi 'a' ! rc cpi 'z'+1 ! rnc ani 05fh ret 7vWILDCHK.MAC# AC e1c 4  2bƃ ;MdM(@s0dR).r@i3 @ * 1#*O7N%4(&#)e2˥y 9G%cG3.iV \wCC(&s4LXV0ɏ:&AiƋ#. 2[@i 0 6''C 9h %$b$Fo13}<]dv&Dcp5Ux8CXAyR-Ntz`kwemwdqyޕ~_ɢ|Vrc[C}PBѸeoz!WTAlN (Q ZQo@k%\.P֧vWILDXPND.MAC# :N($NW$8 2q ;MArc).c2P^ FHo9 (;DS9X ce @o7 2(r1'3u#D\7,[b2VLC!aL7J@F#Nr 2q?fhfB!WY4neY(hשth;9eٜ"^鯪]KFf5Cp7x n:У|H6sT$ Fivff^-vA. bMPijQѫA| \F&EԴY+QlTὋWいg_VZJ><|Z1^GEqqdb?}'6F$eǕ(beMKk7(n^qFv8s,,xFlKq2  &-u( a&xZ}/@:O?z@sTDoW` )/[@22uvס kWa!:2x wJNnzLʜL ҐRuDdZFA3 xzQ\Xs0 spgqs*)kfFLfhb@ Qa7<&bȂjwq~R.'yFUfzxGez+P%.1W%U48cnPB,aZ2 FAɉ&`jȀ/j8 CFॐO٦ԧ0 sTRT%cV4AjqgKW42Gvf&*T$1wQrR`bkG+IG!hhB.8iiʛM)`nҔmiU0wG0A$ū !f? Jr,1,"*2b j`\(1Kݗq^ 9k1JNjֽZWT% S9zTAO)KǠ9)/I3)f]N w`ND0V \ .qYn`Cv1䉗I֫dI 1e_n:TG! ~9BñT-ltX{KU@)Xiԕe[ yi6N C[%QJcXR~®O''xb;DMB  zaؼ QC l@"2:_LH9SZkm(abpR2%!8*3RT9LECIptN'@ ;$3UO.RTBM*DJelhi.~$=X!ln'H/'3ωJ'AQ91\oif-dWϩ>:Kރd$r!8ɘ5f3, Kxl 5h(iDj ֞唠A@|V f| AMjKL (q WtF M>2@RrɄ(Qa2бJ!Rgi4@bX[`qEIge`1B@1@Nv>vBUFFERS.DIRF o !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF)o _.}?4g?j;mo?'ݡo_cϟM@ŠyGM$43\$76eo @InumH1h^P覱c\$ꦱciA. EAn;|1wp"ꪛNuxr BQТn|1\$ꦱ[uxr BQТ|1hLrH1hf@I-ޜ==#bм wۺzs7&b-2.PdyҾt+3\ \Wx??~xu?ޅ=dMЉԁjyػ ]jHy8Gw4#`%1oVӐ{C'RLוg>]O~C