IMD 1.16: 28/05/2007 16:43:34 -FOG/UTL020         -FOG/UTL020DDTF AQMYDDTF COMDDTF DOC-DIRCHK COM DIRCHK DOCDISK BAK%,FAST COMFAST DOC FILTER11AQM"#FILTER11COM$FILTER11DOC+FIND-20 AQMFFIND-20 COM FIND-20 DOCPIPCHANGTXT&DISK DOC'(RENAME COM !STRIP AQM STRIP COM STRIP DOC ZDASM14 COMK CRCKLISTCRC-v]FIND.ASM\   "!#%$&')(*,+-./1023456o78:9;<>=?@ABCDEFGHJIKLMNOQPSRTUVWXYZ[fh}heS$SW4tE15[uF[׷p[哶fuNwm[;y 5hdbl3}kS2J2ա!+ 1[  /<^Ik_o`?&޶{lpL2\9(XE4 GAW pWD 3yEDabl~1܆0xDx=VQ8! p7]óݏ󪙤o22mclrm4-z]v f8fh :B-nV &l#l&`bC-mGǁux‘a/l#l&`C-2poyok;vmxD`xlt=/hD-ӿhxD'\9Fkp9+7I, rB-!=A-K _s*ELLOk##֪i*_J,SVOS}WX^I?2*_bASyjOBkΟ#U;_?>O%V :H &.`R*"b!?_ XO!b!k*/dXBB1Eu #Ӵ x&ܯMAc =p7tH-N}[#XӌW0 MFAmx52,]$~pO-^oi6<0:a4›~U-G뽉[WN:66ڣ1 G%1}4kࠫk<#x"ptQYF2Fa1c6bM-pd8lՙ˪fl_A*F"n]?7(4 &OCa@|?IO}@| ^j^Ib: 6~ Nյ|,qW N'fYQmDSyOdߊUΩfJ_+J\K]  b\שi#tr%"Wb>m\8  A'C+dh[9kp}X ~+>6~ "kg(q ~+>6~ W WA+ĸSi_;E2^k?:bU/~+[*d舉^#l>#똺q^4!#k7}b^ڽRljW}W_U > ~+>6~ Nۗ%N sjjvadhK _iz 9"q)~uR/W%N6 &~EϜ :nj^ii(̵^W1mz˱7/-j"V獷yk#ߥ/WJUG$=}GIGo>M5LGӂ|6B'7-8#SV:/k}qx%}_rjMۼiiT6]_N_!שOu1r9Ni6fSVXu?iWX@ɬ6 7vu#&b:A@b,xX|Nģ[x)tCc {&~X%ʾ?,$AL ղw>Ufo} <߯6^gwIK]^C IcXaqN^gaR(bĐ>F 2o<,R5m_k+U^'[@_ :ga3ggUSoO_ijQjl#&z:T2?CGyu5"2OSMoB&rTuD#u_kms+k\~V՗Z'W7◵{\ʔ|ڨm6˔ {7]UEsYg2}Xm6?!}WVJ} 7vZ/N(5/{#ٻ]vn}ԗxX%ʾ:m<,^e٣mz;+#&E\P!ݿ w!&>Bm;NȻxw'{we]l<,^|\'[0ILYLqhb^2*o\D pmGggF&bUv㥿w"{w+F LGMNmΪF:u[7>9;LRERdNi?/dcsޝ+%~YͭIl#&z:울&dojtc_AWDEM울6^kms+K]DZL$h?-"po8x=W/l6ghG>m6o ~cW>ZML *_;.U*}mnemvRk(k) YĨ&~YŊ#uW#qxuj^7suQMlo3˜Kw)~eJ!eu2n.<{!~cW42n4Nn#մf113Q'dTBo=୷{4 0Blcht3Tòw!xl]⿠=_- ~/K(?slntٵ,'dt8>m;-"2kYn͇]~Q /*͕y.tOMqZ(۬ ~cW4Ws| *]Ϯ!~YۿgBEL t25: {AlQ9k٢MWwqm}@.nߕ &z:']2r5b  ۬o_r=:zzM']/k2evT"FIo+^zg⋤Sy?H~Pm6c=]kB{4Ebٯ7 Bo=8*૦릉CϮ; .insHL O!մf*krBFGx?&[tui0kr/w_VGƹsj ~Y}W3BS'R}i&ۼ1,L&w)ACM&w)W .bb x˓Rۜ$F^SwGzu&9I| t~< >_&~YW ::?BMu/FȂe^}<udKYuDs :/U%tx ~\Ŝڜ$ߥ_ qv ✚/6COڿ_NĨm6߸o28emo}o\7UF._Iϕ=ҫ3Fo\$~_Q>~F^K_̧ &~YGu\87S;KN49M/k+8ϩJD8_̽!~/߸58dp 1qNTn|}TKPͻߥKMƹ5Ո4{hߠiiٵ)BKJߥ2_veG.?(# @秥!ii_/.3Ȗqx _*%}5,i_|YLlnG?:w)tN6}42s#~JӦ32s#~(w/-͕F{n Y?Yj^77vkX\)}o6kh>xw/u .ibbg#lIOX4MCIo+^ &~cW>vebbg|25:Ăhݶ{t&7TT5yYj◵Z/e|we!v7\/Sz◵ZL.ߗm}@ 7|U?]2113БMKS܅8z8R}isln\{Q1Nu[{?_k$1]w)A_^ˎսxT97?uM.*#~*/ˎ]/b>m v'-Gbds;z /NK\/k'$#~]n Q\v"~(w_/H=2s#~(w/uMeii6-Qs6%~Q-3UG{n6!#pF+a9mG_Љa92@lxYPLv_k[鋤1139;&dtF׷h W1ptG1u&ⳳmU_Eu[Z)kbbץ:3^to6ETu`;2x8`;#tr#uLXKufkdsS! bץ:3Gb!z]3.)ۙ.!XKuׅ4`;i؎눶lm҄LTgz]S3]eG.ߕ>{}]ii^c.!z]CTljݙq{RF c"z]CTgj6D댗(5^to6ӌ]MN>6`;o+^Ci2Rm}L>ϩG:%m"~KOW8 K/J#[#=y yi>|XKu496O`}ܦuGQ63Ic.w3^G^ 1R16_lDl:;#CD#hw'N Yc.ՙ8N{=m gٵޝrpZ"z]30MNkjQfrN^ 1R^kjic4.3ٻF<c.bץ:ӂ3:ݛg;86O u/չ  423vmc.b'wge^5|iPh Ͷ t~<!NwڿWͿ5WͿΉ/ q+FX4NCIo+މZM.nߗ @e5/3ϴ>ځ;_п yRTBe5/3J@>;ڽ2ȡH t07 ++++6k.FRE,FOG/GAM.012 ++++6k.FRE,FOG/LIB.XXX ++++6k.FRE,FOG/MIS.001 ++++8k.FRE,FOG/GAM.003 ++++8k.FRE,FOG/LNG.001 ++++8k.FRE,FOG/LNG.002 +++10k.FRE,FOG/APP.003 +++14k.FRE,FOG/APP.002 +++16k.FRE,FOG/GAM.006 +++16k.FRE,FOG/LNG.005 +++26k.FRE,FȡRK!e F޵t_(,ߥy',,j_fA}*'{w:◵{eK!_NVt: 9im}]^kbrj#=NUį+Jp)~&{wF{Ȼ֝l_'~{'~{'~TKJO.n?(Cw)~tBu겺T?;#=ii,:w)~OG/LNG.007 +++28k.FRE,FOG/GAM.XXX +++28k.FRE,FOG/LNG.004 +++40k.FRE,FOG/LNG.006 +++68k.FRE,FOG/MIS.XXX /.COM,FOG/UTL.015 120.BAS,FOG/HAK.001 130.BAS,FOG/HAK.001 21000.BAS,FOG/HAK.001 23-MATCH.BAS,FOG/GAM.008 2NDMTG.CAL,FOG/APP.004 800.BAS,FOG/HAQ]VWN :^EC8Fu[iw;b.ğVU}<.&&!1>c"z]CTgj6D댗(5^to6ӌ]Mc"z]CTgj6D댗(5^to6ӌ]M FILE XXXXXXXX.XXX $ Enter String>$\ 2͵ ͋ ͖  ͖ Ăy0 ͖ 2ͯ $ 'd ! ^#V#*0}o|g*  ":D x=D y4k.FRE,FOG/LNG.003 ++++4k.FRE,FOG/MIS.006 ++++4k.FRE,FOG/UTL.004 ++++4k.FRE,FOG/UTL.005 ++++4k.FRE,FOG/UTL.006 ++++4k.FRE,FOG/UTL.007 ++++4k.FRE,FOG/UTL.008 ++++4k.FRE,FOG/UTL.010 ++++4k.FRE,FOG/UTL.012 ++++6k.FRE,FOG/APP.001 ++++6k.FRE,FOG/APP.0jFIND - Version 2.0 10/05/82 $MAST CAT ++FIND ABORTED++$ ++CANNOT FIND----> FILE XXXXXXXX.XXX !9"1 :] §Øx~# Í!"] ͍Oo&6#~ ¶#͍O k :{o&6   hO!]Z͍!ec͍ @{ h{\<{h 0͍!]Z͍!ec͍ O!"}!~0 PACE.DOC,FOG/MIS.004 BLACKJCK.BAS,FOG/GAM.005 BLACKJCK.BAS,FOG/GAM.008 BLK.INP,FOG/LNG.006 BLKTEST.ALG,FOG/LNG.006 BLLSTC.BAS,FOG/APP.009 BMAP.COM,FOG/UTL.008 BMAP7/11.ASM,FOG/UTL.008 BMAP7/11.COM,FOG/UTL.008 BNCHMRK.ASM,FOG/MIS.005 BNCHMRK.BAS,F9|9N#Gya { _#~ *~#|+Þ !~_~# KÞ -*^#V#N#Fx#~G#~#fo>}ƀo|g–+~+w+++À#~g}o|g~ +p+q2h2|:5 FIND.ASM VERSION 2.0 10/05/82 Requires MAC for Assembly ORIGINALLY WRITTEN BY WARD CHRISTENSEN ENHANCED AND REWRITTEN BY RICH ANGELO - 10-05-82 'FIND's ASCII, character strings in a file. May take a generic file name, thus may search all *>2!\ ͍:\2!\ ͍\i!\ ͍\!\ ͍\<7=Ɓo& ͍] ͍2h.ASM files on a disk. Also very useful for finding things in MAST.CAT - for example if you are looking for all MODEM or BYE Programs you could FIND MAST.CAT MOD|BYE TO see them all. Another useful function is for Documentation. For example; OM,FOG/APP.002 AUTOST.COM,FOG/UTL.009 AWARI.BAS,FOG/GAM.007 BACCARAT.BAS,FOG/GAM.003 BACCRRT.BAS,FOG/GAM.003 BAGELS.BAS,FOG/GAM.008 BANNER.AQM,FOG/HAK.006 BANNER.BAS,FOG/MIS.001 BASKETBL.BAS,FOG/GAM.008 BATNUM.BAS,FOG/GAM.008 BATTLE.BAS,FOG/GAM.0 Print all of this, enter: FIND FIND.ASM *; Print Mainline comments, FIND FIND.ASM *> Print Subroutines comments, FIND FIND.ASM *S> Or try this, FIND FIND.ASM *>|*S> Print Macros used, FIND FIND.ASM *M> Documenting a Program in this 08 BBSLIST.001,FOG/MIS.005 BEEP.ART,FOG/APP.006 BEEP.BAS,FOG/MIS.001 BINSEARC.BAS,FOG/HAK.001 BINSERCH.BAS,FOG/APP.001 BIO-FF.BAS,FOG/GAM.007 BIORYTHM.BAS,FOG/MIS.005 BIORYTHM.BAS,FOG/MIS.XXX BIORYTHM.DOC,FOG/MIS.005 BIORYTHM.DOC,FOG/MIS.XXX BKSfashion is an easy way to seperate comments from code. There are many ways to Identify a portion of a Program. Maybe a standard can be established, that we all can share. This is the first step in that direction. Any comments use, One of the   Popular Chicago area RBBS or CBBS Systems. Rich Angelo Used with LIST.COM which takes a starting line number, you can: 1) use find to find a particular part of the code, then 2) use LIST specifying a starting line number just before ams that I use. Rich Angelo Lisle, Il. ll the SYSOPs and Program Authors that have contributed to the Public Domain Network, From which came most of the good progr the part of the code you wanted to see. Note that FIND now has a DEFAULT File Name and the ability to PROMPT for SEARCH STRING. This feature is handy if you want to search for specific characters only, whereas entering the search string on thP.009 DATABASE.DOC,FOG/HAK.006 DATES.BAS,FOG/APP.005 DBENTRY.BAS,FOG/HAK.006 DBQUERY.BAS,FOG/HAK.006 DBSETUP.BAS,FOG/HAK.006 DCHARGE.BAS,FOG/GAM.007 DDTPATCH.AQM,FOG/HAK.006 DEALERS.OUT,FOG/MIS.003 DEBUG.INT,FOG/LNG.008 DEMO.BAS,FOG/MIS.001 DEPRe command line will display both upper and lower case. Special Search features of FIND are; 1. Make "_" match a Tab 2. Make "|" AN "OR" AS IN: FIND B:*.ASM _IN_|_OUT_ COMMAND FORMATS; FIND <--- Defaults to Filename In DFLTNAM. E.BAS,FOG/APP.005 DEPREC.BAS,FOG/APP.005 DESIGN.BAS,FOG/GAM.007 DESIGN.DOC,FOG/GAM.007 DF-1.DTA,FOG/MIS.002 DF1.DTA,FOG/MIS.003 DIAMOND.BAS,FOG/GAM.009 DICE.BAS,FOG/GAM.009 DIF.RNO,FOG/UTL.011 DIF2.COM,FOG/UTL.011 DIGITS.BAS,FOG/GAM.009 DIRBANERWill Prompt for Search String Lower Case Valid. Also will search for any character seq. passed thru CPM Read String Function. FIND fn.ft <--- Prompt for Search String. FIND fn.ft str <--- Will Display Upper & Lower Case of string Using .ASM,FOG/LIB.XXX DIRBANER.COM,FOG/LIB.XXX DIRLABEL.ASM,FOG/LIB.XXX DIRLABEL.ASM,FOG/UTL.013 DIRLABEL.COM,FOG/LIB.XXX DIRLABEL.COM,FOG/UTL.013 DIRR.COM,FOG/UTL.015 DIRR.DOC,FOG/UTL.015 DIRS9/8.AQM,FOG/HAK.006 DISASSEM.BAS,FOG/UTL.007 DISASSEM.DOC,File specified. fn.ft may be Ambiguous, *.ASM OR CBBS*.ASM Thats about all I have for now. I want to give thanks to all the SYSOPs and Program Authors that have contributed to the Public Domain Network, From which came most of the good progrFOG/UTL.007 DISASSEM.LTR,FOG/UTL.007 DISK.PRN,FOG/GAM.006 DISPLAY.COM,FOG/LIB.001 DISPLAY.COM,FOG/UTL.002 DISPLAY.DOC,FOG/LIB.001 DISPLAY.DOC,FOG/UTL.002 DISPLREC.BAS,FOG/APP.004 DOEND.BAS,FOG/APP.004 DOINIT.BAS,FOG/APP.004 DOORDER.BAS,FOG/APP.00  4 DOSTART.BAS,FOG/APP.004 DOWHILES.LIB,FOG/HAK.004 DSCLABEL.ASM,FOG/UTL.009 DSCLABEL.COM,FOG/UTL.009 DSPACE.BAS,FOG/GAM.004 DU.ASM,FOG/UTL.006 DUMP.ASM,FOG/UTL.006 DUMP.COM,FOG/UTL.006 DUMP24X.COM,FOG/HAK.004 DUU.COM,FOG/UTL.006 DUU.DOC,FOG/UTL.oZ^n>tE2 Rx3{- -'{aalj53{tIisXtIi[Z Eg72}bTEsf/rEy ֭ ً &{aa/[[9b TEsf/š.)}dWKJs0Lm \s*+ن]c]r~n0gC%溻D=3{V/3^?z iLc|^#H&K֣006 E-SKETCH.BAS,FOG/GAM.003 E-SKETCH.DOC,FOG/GAM.003 EASTER.BAS,FOG/MIS.005 EASTER.BAS,FOG/MIS.XXX EASTER.DOC,FOG/MIS.005 EASTER.DOC,FOG/MIS.XXX EASTWASH.ERS,FOG/MIS.003 EDITOR.BAS,FOG/APP.010 EDITOR.COM,FOG/APP.010 EIGEN.COM,FOG/APP.008 ELIZA.3dzS]2Doti RM9 ,rً &[aBK~gjhKyً &[+^~֋9uN.9l\.a̸4O ,rn\3{֌K3LmÏ^~oƥ:jo=}CKXCe.T|i?u:'tFdki#WK,\Y4%1ș댒3dvSuSTRIP.ASMJ  !#"$%'&)(*+,-./01o243567:8;9=<>?@DCEBAFBKK^dmV!}hMg,TiÏ_'0׻ `"gNxw_dzw[t.()?EΜ_(?ن]熟Y̓xw1ϰ7șuN茤ɦ3*F`")ٍwG/Iaws9ƻug3Imx)-Ui1iJv%c Քl\.HIG솿5cPP~FjM5)ꍅ2g}ء[e O,G.)uWKibd |ieminjfɼE,M3^l;Ba>P2<+~ˆ(i,2V͞9E87=EݪO2`-|_͆2T.tD1șd7]m6OawyfYW6iLc"goY4]F'X\KY[!v%۬sEgj,K-9 ~|DΓMg?ENӺ[JY-.wMKf?"'HXcY*~n0gӴxw%c9ad9,%s _wEf?SE9 \ϙ+`5Jz~:'sN67x~*tE߹1ww^-c%U}d9zAj 9d5*Bh2JiZNʆ(]q9ߩį]hZNd~Sխ UCVx8pWmLp.QKm V}*ujI g~kv6.xx6-"a:G>"c)z+Nɦ3*FfMi?Gd!lZ\^dKTEȥ2%HXGAZ/=,E//F6sf/5D=簰]DoVc#2JY-sf/  "sXtIi."7+Z/i$[ѹĴj \$ًKJs؟^KJsݚzv'[\R9VV s:mi Hژl:c"mUH ~VY61A9a'6sZ/zʂß̯#H&K#l@z{W=jo=yo(!i#_(9NY-.ًlIy?HtU&G/GAM.012 KTAB.DAT,FOG/GAM.013 L81.COM,FOG/LNG.007 L82.COM,FOG/LNG.007 L83.COM,FOG/LNG.007 LABELS.,FOG/MIS.003 LABELS.BAS,FOG/APP.004 LABELS.DOC,FOG/APP.004 LABELS.FMT,FOG/MIS.003 LABELS.INT,FOG/APP.004 LANDER1.BAS,FOG/GAM.012 LEDGER1.BAS,FOG/APiE@xw%cZ/ܗ0CVsf/D=?Gd~EXA;c { 6]YzvN~:'sf/ 6?nMgjh;=r=u>f4ɦ3\Z^ ~|DΓMg?gLv%۬Cyn9Ds ~|DΓmV!(FO]g,;%XHnէ2]RE$۬z|nP.003 LEDGER1.DOC,FOG/APP.003 LEDGER1.INT,FOG/APP.003 LEM.BAS,FOG/GAM.010 LETTER.BAS,FOG/GAM.010 LETTER-1.TXT,FOG/MIS.002 LETTER-2.TXT,FOG/MIS.002 LETTER1.DTA,FOG/MIS.003 LETTER2.TXT,FOG/MIS.003 LETTERS.INT,FOG/LNG.009 LIBRARY.DOC,FOG/LIB.001 LI~EN62,"ٴGYH:~ʲ$%cjEO 戧G1u^GxOu l*-/UKY'mu 5!u1C؟upnA[Oy c}[ַo}[~o}[ַo} ^GS^Xַo}[ևA[ַo}[otGP "&r~؉\ _P^ sFE.BAS,FOG/GAM.004 LIFE.BAS,FOG/GAM.010 LIFE2.BAS,FOG/GAM.010 LINES.COM,FOG/UTL.003 LINES.DOC,FOG/UTL.003 LINK.COM,FOG/LNG.002 LINKER.INT,FOG/LNG.009 LIST.COM,FOG/LIB.001 LIST.COM,FOG/UTL.002 LIST.COM,FOG/UTL.003 LIST.DOC,FOG/UTL.003 LISTT.AQM,FnA[Oy c}[ַo}[~o}[ַo} ^GS^Xַo}[ևA[ַo}[otGP "&r~؉\ _P^ snA[Oy c}[ַo}[~o}[ַo} ^GS^Xַo}[ևA[ַo}[otGP "&r~؉\ _P^ s!ls!\s*w#I  *** Job Finished **.CPM,FOG/MIS.004 INSTALL.BAS,FOG/HAK.001 INV.,FOG/HAK.006 INV.IND,FOG/HAK.006 JGRAF.PAS,FOG/LNG.009 JRNL.BAS,FOG/HAK.004 JRTASM.INT,FOG/LNG.009 JRTPAS2.COM,FOG/LNG.008 JSTAT.PAS,FOG/LNG.009 KINEMA.BAS,FOG/GAM.010 KING.BAS,FOG/GAM.010 KONG.BAS,FO* $*~#"!56!"=9  Disk Error. $!5i6!I"I*w#"~# xs I   /GAM.010 MCALC.COM,FOG/APP.008 MCOMP1.BAS,FOG/APP.005 MDM7OS.COM,FOG/UTL.001 MDMOS.ASM,FOG/UTL.001 MENU.BAS,FOG/APP.007 MENU.BAS,FOG/GAM.007 MENU.BAS,FOG/GAM.008 MENU.BAS,FOG/GAM.009 MENU.BAS,FOG/GAM.010 MENU.BAS,FOG/GAM.011 MERGE.BAS,FOG/APP.00STATS.BAS,FOG/APP.010 NFLUPDAT.BAS,FOG/APP.010 NICOMA.BAS,FOG/GAM.010 NIM.BAS,FOG/GAM.010 NOTES.VAN,FOG/MIS.004 NOTINAME.CHA,FOG/MIS.003 NUCREAC.BAS,FOG/GAM.007 NUL000.BAS,FOG/APP.002 NUL000.INT,FOG/APP.002 NUMBER.BAS,FOG/GAM.010 NWPITCH.TXT,FOG/7 MFACCESS.LIB,FOG/HAK.006 ML.SUB,FOG/LNG.007 ML80.DOC,FOG/LNG.007 ML80.REF,FOG/LNG.007 MLLINE.,FOG/MIS.003 MLLINE.FMT,FOG/MIS.003 MODEM.DOC,FOG/UTL.001 MODEM7.DOC,FOG/UTL.001 MODEM714.COM,FOG/UTL.001 MODEM714.DOC,FOG/UTL.001 MODFILE.BAS,FOG/APP STRIP.AS͠ I TH SOURC FO FIL T STRI TH COMMENT FRO A ASSEMBL٠ LANGUAG ASCI FILE US I T STRI COMMENTӠ FRO͠ FILŠ THA YO DISTRIBUT T KEE HANKY-PANK DOWN EVE STRI FILEӠ HAV SOL T KEE TH UN-EDUCATE FRO PL.004 MODREC.BAS,FOG/APP.004 MONOPOLY.BAS,FOG/GAM.005 MONSTER.BAS,FOG/GAM.012 MONTHS.BAS,FOG/APP.005 MOONLOC1.BAS,FOG/HAK.005 MOONLOC2.BAS,FOG/HAK.005 MOONLOC3.BAS,FOG/HAK.005 MOONLOC5.BAS,FOG/HAK.005 MORTCOMP.BAS,FOG/APP.005 MPG1.CAL,FOG/APP.010 AYIN WITȠ IT WIT LITTL WORK THI PROGRA COUL B MODIFIE TϠ ELIMINAT REMARKӠ FRO BASI FILES THI I JUS CHEASE FIL THA DOE 12 BYTE A TIM AN LEAVE TH CR/LF' I AFTE STRIPPIN TH COMMENTS. IF YOU DON'T LIKE IT, CH MPLABELS.,FOG/APP.004 MPLABELS.FMT,FOG/APP.004 MUGWUMP.BAS,FOG/GAM.010 MULTI.TXT,FOG/MIS.003 MULTIN.TXT,FOG/MIS.003 NAME.BAS,FOG/GAM.010 NCAT32.COM,FOG/UTL.012 NCAT32.DOC,FOG/UTL.012 NCAT32.SET,FOG/UTL.012 NCOMPARE.LIB,FOG/HAK.004 NEC000.BAS,FOGANGE IT. RKM.  CHEASE FIL THA DOE 12 BYTE A TIM AN LEAVE TH CR/LF' I AFTE STRIPPIN TH COMMENTS. IF YOU DON'T LIKE IT, CH/APP.002 NEC000.INT,FOG/APP.002 NECSET.AQM,FOG/UTL.014 NECSET.COM,FOG/UTL.014 NEWCAT.COM,FOG/LIB.001 NEWCAT.COM,FOG/LIB.XXX NEWCAT.COM,FOG/UTL.002 NEWS0982.LIB,FOG/LIB.001 NEWS1082.LIB,FOG/LIB.XXX NEWS1182.LIB,FOG/LIB.XXX NFLFYL.,FOG/APP.010 NFLPACMAN.COM,FOG/GAM.001 PACMAN.DAT,FOG/GAM.001 PASCAL.LIB,FOG/LNG.008 PASCAL0.INT,FOG/LNG.008 PASCAL1.INT,FOG/LNG.008 PASCAL2.INT,FOG/LNG.008 PASCAL3.INT,FOG/LNG.008 PASCAL4.INT,FOG/LNG.008 PASSWORD.BAS,FOG/HAK.004 PERM.ALG,FOG/LNG.006 PERT1.BAS,F  OG/APP.005 PERT2.BAS,FOG/APP.005 PICT.BAS,FOG/GAM.012 PINUP.PIC,FOG/MIS.001 PINUP1.PIC,FOG/MIS.001 PIZZA.BAS,FOG/GAM.010 PLNK0124.ASM,FOG/UTL.013 PLNK0124.COM,FOG/UTL.013 POETRY.BAS,FOG/GAM.010 POETRY.BAS,FOG/MIS.005 POETRY.BAS,FOG/MIS.XXX POKER&AXb"c"ͅ"͙"%͙*"%͙*/"͟"7"~8o"ͅ*h$c"ͅ*h$#~ 8[0>'#:{$" ~ 8 >H#"0#"%#~>H#*"%#~>H#*>A#"N*h$#~_*d$0K.BAS,FOG/GAM.010 POS.TXT,FOG/MIS.002 POS.TXT,FOG/MIS.003 POSTFILE.BAS,FOG/APP.001 POW.ASM,FOG/HAK.004 POWCMDS.POW,FOG/HAK.004 POWTEXT.POW,FOG/HAK.004 PRINTLBL.BAS,FOG/APP.004 PRITPICT.BAS,FOG/GAM.012 PROM.AQM,FOG/HAK.006 PROPERTY.BAS,FOG/APP.005 "͙*h$,K"K"%,*>H#>L#K"/K"7*h$,K"#F"h$!O͞ͻËX#"h$F!͞ͻڋ*ʋ!#ڈ#ÈY#"h$F!O ͞ͻ(ڋ*ʋ##Èc""%*"{X~!(!ͣ"#"ͅ*h$ QUBIC.BAS,FOG/GAM.011 QUEEN.BAS,FOG/GAM.011 QUESCOM.,FOG/MIS.003 QUEST.BAS,FOG/GAM.004 QUOTES.PRN,FOG/MIS.004 RATIOS.BAS,FOG/APP.009 RATIOS.DOC,FOG/APP.009 READ.ME,FOG/UTL.011 READCUST.BAS,FOG/HAK.001 READINV.BAS,FOG/HAK.001 README.DOC,FOG/MIS.0#"#*h$c",K"%,*K"%,*K"#}##F!O͞ͻx :$*h$( *d$++"d$##++ͅ%>C#*"~>Iʺ>D#~">R#"%,**h$͙K"͙*h$%,*K05 READTHIS.,FOG/LNG.009 READVEND.BAS,FOG/HAK.001 READWORD.ALG,FOG/LNG.006 RECOIL.BAS,FOG/APP.009 RENAME.INT,FOG/LNG.009 REPORT.BAS,FOG/APP.007 REPT-FRM.BAS,FOG/APP.007 RESETBIT.ASM,FOG/LNG.009 RESIZE.DOC,FOG/HAK.004 RESIZE2.BAS,FOG/HAK.004 RESI"*d$+"d$*h$+̓#DB ~>,#> #>;#>(#>)#>A#~8!S͌~##~.#~NZZ.NCC.POPEP.M.~!u͌~#%>H#>L#*~do$BCDEHLMA~!~!͌~##~#BCDEHLSPBCDEHLAFBCDEIXSPBCDEIYSP~0#>I#{#>'#'###ڢ ç DASM for ZILOG-Standard Mnemonics Derived from ZZSOURCE/RESOURCE $͹*w$|(F#O*d$*`$"h$#"d$F!x͞ͻ 8*d$#80#"d$_!^#V*h$~# #~2$ > ##~(*d$:$ #)/5APV\et} *BPbs!>0#â!~## %>+#~>H#*#^#Vͦ = 7:$(  :{$ z>0( z({͢!>H#{ 80EX DE,HLEX AF,AF'EXXEX (SP),HL'DAADIEIvHALT/CPL?CCFNOP7SCFJP (HL)RLCARLARRCARRARET  LD SP,HLADC A,ADD A,AND CP OR SBC A,SUB XOR DEC INC ADD HL, DEC INC LD A,LD POP PUSH RET RST @ LD  LD ADD A, ADC A, AND CP OR SUB SBC A, XOR IN A, OUT JR DJNZ JSymbol Table C Dump Control Table Cnnnn Dump Ctrl Table at nnnn Cnnnn,x Set Ctrl (x=B,E,I,S,W) Dnnnn Dump from nnnn on Daaaa,bbbb Dump over range D,bbbb Dump thru bbbb D Dump 80H more D=nn Set Dump Size Default DS Dump the Symbol Table DS.syR LD JP CALL :LD A,*LD HL,"LD 2LD CALL JP RLC RRC RL RR SLA (SRA 8SRL @BIT RES SET *EX (SP),JP LD SP,POP PUSH ADD #INC +DEC 4INC 5DEC ADD A,ADC A,SUB mbol Dump starting at symbol Ennnn,.symbol Enter symbol into table Fnnnn,ssss Find nnnn after ssss F Continue prev Find Fnnnn Find nnnn K.symbol Kill symbol from table L List next 10 lines Lssss,eeee List over range L,eeee List to eeee Lssss LisSBC A,AND XOR OR CP FLD p LD !!LD ""LD *#LD 6$LD %**p*DNEGERETNFIM 0VIM 1^IM 2GLD I,AMRETIOLD R,AWLD A,I_LD A,RgRRDoRLDBSBC HL,JADC HL,@&IN AOUT (C),'LD'CP'IN'OUT'OTC(LD K)LD *t 10 lines from ssss L=nn[,others] Set list default O Print current offset Onnnn Set new offset Pssss,eeee Generate program prolog Q Quiet prefix Rfilename.COM Read file @ offset+100H Rfilename.CTL Read Control Table Rfilename.SYM Read Symbol Table *1%|# DASM, Version 1.4 ͐##:]!8I|# Reading in All Files for !]~##|# -- Read Complete --  |# Type H for Help, ? for Stats #2v$2}$2y$2z$1%M#:$G ( GOɯ2v$2}$|# ** Command Error **  ;AVRfilename.DOC Read Comments Table Rfilename.ALL Read CTL, SYM, DOC, COM Sfilename.ASM Save ASM File Sfilename.CTL Save CTL File Sfilename.SYM Save SYM File Sfilename.DOC Save DOC File Sfilename.ALL CTL, SYM, DOC, ASM Unnnn Set Comment Table addr X BaCcDRE FPH4 K"!LlOPQ<RS]UhX@Z?|# HELP on DASM -- Command Summary ;addr,comment Enter Comment at addr ;addr List comment at addr ; List Comments Table ;addr, Delete Comment A (see L) Attempt to find DB's B (see L) Build Restart DASM Z Write EOF to ASM File ? Print Statistics ç |#Restart DASM (Y/N)? xY§ |#Restarting DASM ä _#!$~ ͽ! (, #>2v$̓# ORG z{͢!>H##ͽ! !,##~ʧ ++~#~8 +~#~+#F#~+A8H#~+(B-(>F>2  v$#~#̓# EQU ~+~͢!>H##2v$##~͌##>2}$$!$~# ú *Z$*^$"\$!$~ ʯSs=V,ʃͽ!*^$"\$ ( (, #ͽ!"\$*`$"Z$*\$"\$ |#Addr +0 +2 +4 +6 +8 +A +C +E ASCII *Z$#ͩͰ!͸ 8ڿ>'#Æ>'##|#Scratch Area Start = !&Ͱ!|# Scratch Area End = *.Ͱ!|# COM Start = 0100 COM End = *X$Ͱ!|# SYMTBL = !,Ͱ!*b$Ͱ!#|#PC = *d$Ͱ!#|#OFFSET = *`$Ͱ!#*j$|(|#COMNTS = *j$Ͱ!*l$Ͱ!#$ç !~͢!#}̸!}̸!}̸!} >!#~ 88>.##}(̸!>!##"Z$:\$:]$0ç #ͽ!#"^$,w w ʧ !$~. _!a 0*$!,^#V#~ʼͰ!>=#F> O#~##A͸!##ç :r$=2r$#>2r$|#Offset = *`$Ͱ!#ç !$~ (ͽ! "`$|#CTLTBL = !&Ͱ!~###< +++Ͱ!#|#Symbol Comments are O:{$>N >F###!$~ (+ͽ!"p$*`$"n$ ( (, #ͽ! *`$"n$*p$#*n$~#"n$ ~ ͩ+Ͱ!͸!:`$/_:a$/W͹>2v$̓#END 2v$:|$ʧ >"͊"2|$|#++ ASM File Closed ++ ç :#:|$ 2\2h!$:$ : ~@2\##]77~ (#.(~ .#> >2$2$>2$2$2$2$2v$:s$2t$2u$!$~ (N,(> (:= !#ͽ!{ 2s$2t$~#,( ( ʧ ͽ!"d$ ( (, #ͽ!"f$2u$#:u$( :t$= *f$:d$:e$ҧ :$(3*d$|$ !eE$#±!T$ͥ|# Reading DOC file... !Q$ͥ|#Reading SYM file... !N$ͥ|#Reading CTL file... !K$ͥ|#Reading COM file... e2h7!eQ$# !eK$#`ç !*`$|2ڄ\ *`$~8$8##~#8$0+ͩ*d$>B͈"d$>I͈*j$|(F*d$|8=##F#~;+ $"y$.7>2v$ #~\ ## * "w$N#*d$'+8###~I(JEʶ#^#V*d$͹"~$2v$SB@W#|#: Invalid CTL Entry ç L2v$:d$/o:e$/g#>2v$̓#DS |}|#Last Block Read into Memory at Ͱ!|# Last Block Ends at Relative ͩ"X$Ͱ!#!eN$# !eT$# |#++ NO, that would overlay the Disassembler because the Offset is too small: |# ++ !,"b$##6*j$"l$6#6͢!>H##"d$>2v$̓#DW *d$*`$^#V0#*d$##"d$#2$<2v$̓#DB *d$*`$~ 8 8ڲ>H#:$2$0##*d$#"d$:~$ :$*d$ͦ ::$2$:>,#O>'#:$<2$~#~'##*d$#"d$:~$ :$(3*d$ͦ 0(:$<2$#08+~# (~!!" ( ( (8s#r##!" ( (w#p F:80))))o!"F:|$ !eE$#e!T$ͥ|# Saving .DOC file... !Q$ͥ|#Saving .SYM file... y!N$ͥ|#Saving .CTL file... ͤ|#Create a New .ASM File (Y/N)?   xY§ !H$ͥ>2|$2v$i"|#++ Writing ASM Enabled Use Z Command or E Control to Close File ++ ç !eQ$#yç !,i"^#V#~#Gʥͮ> "~"#> "> ">"͊"z͓!"z͗!"{͓!"{͗!"!eN$#ʞ!eT$#(!eH$# ç *2v$!$6L#z͆!{͆!!$a 8s#r*b$T]xo|g"b$##6++DM*${ z( s#r#p#w!,##~#(,8 O#( 8~#͌++ѷO#0H#(0++"$7!,~# ~( #~7#o0$#~#G7!$ͽ!~ (, #~. ͦ 8# |# was Killed ++l$##6*j$||#++ No File Accessed Permitted until ASM Closed ++ ç |#++ Unexpected EOF ++ ç !$~ Fͽ! A (, #~͙ç '+8###Ѿ2$':$I(W(B(S( E(K( ##w!~#+<( ç :$K E(B( W( I(S !+:!_!x 8  bk# 6A ç !$~. _!a :!ç DM##~#͌*b${ z(`i"b$##6#~#+(-(08 :8A8[8 +͓!w#͗!w# 80͓!#͗!#|͢!}͢!> #~.( ~0:8AG0))))o#_!a ^#V~!"$2|\&~###< T]###+~} | s#r#:$w!&~#+<7#z+ {###'!&#^#V#z< #ç ͦ 8#~##>:#͸!͸!Ͱ!>=#> #~#͸!͸!#ͤç i"!&^#V#z<(ͮ>,"~"> "> "#>"͊"!!&!"($,(:80))))o<|# File Not Found *$| \! ~#"$8|#++ Unexpected EOF ++ ç >w\\< 2|!"$\ $\<|#++ Close Error ++ ç |#++ Write Error ++ *$w,"$\ !"$*y$|(F!"s#r#!"w#6#6!$~ ʞO #~F( 2{$ç ͽ!# ʙ (, |8~ ʧ *l$s#r##w #"l$6#6pç *j$~#+<7#z+ {##~͌#|*j$#^#V#z<ʧ Ͱ!>;#F#~###~#<+T]##~͌#~#O #> #>*_:}$:|$!v${"{ :u$(!t$5#$>P !$^#6 !$#~ #a8{0_w2v$2}$~##~ #>P2$>2^$>2s$2t$!$"~$!"Z$"\$"d$!L"`$!"f$!"j$"l$ɯ2,!,"b$> 2$!"&>I2%!"j$"l$6#6# NORED ++ ++ Issue 'UNNNN' to tell DASM to use address NNNN as the start of the comments table ++ ç !$~ . ͽ!|28"j$"l$6#6ç |#NO!! Address is less than !2.Ͱ!#ç >2v$*d$ͦ H~+(-(# >:#K#2v$͸!͸!*d$Ͱ!> (-(#ç |# Abort (Y/N)? xYç ?ALLASMCOMCTLSYMDOC.  CEFGHJIKMLNPROQ{G=dL%{Jx}E1DZ4@nO{t gM 4pɑHsɁT;`MΒ͢ᇃr%lK41;4#.X1qC:$|Q#Gޗ٩Ty%>]|aDM04F|SE'n"T# }\0UGqfEPgSQSCj*Ӎ=3<Ъ]m ][޼Nc~Ν+jsD~>S|ɍckX3;dy9gzfhG/Y^#ְfwE-{"bgu4lTͦ!q:_  !p+q.*   !q*&!p+q*2!p+q*2!p+q*22!p+q*!p+q*!p+q*!p+q*2!p+q*>M\`ujۋ1Íc:x8 awz9a9]y.8͋Ot7ƕ.rK֛?Ne}=p*TU,{DjۋDjhjX5q{Em'.sQ˷q^'6Mo0эvq슔j hxqv*'m&!!dk>о,8,/-'W> o>v,qDDTF.ASMS   "!#%$'&()o*+-,/.1023456798:;=<>@?ADB|kڇ-)zN%[ k*h@EEjy%=p{qP፛ގC$x9l]TS<ы=pL\%KUvxOB}gf.{q*ivxj{ef.{qZZ27=;qnƮUvc^ji|ܾVxk][`0z Z2=pZeE3D8  fwrصʮH-1WU>V^xTXMn=p{u 74NeI}ZuKL}6ci٩tmOoǡS:r*&!!?RvEJo5~_MBBſin-a>Vg#S=pc$$;DoL!S2})d B)d jjjt觷Щ4#4šo~z˙ USTšגPI֐W+ص5jj{h@mSx%=lw=4k]{ĭy%^'qVnO{z6y֨`9dyi"@CηquK'VD0w9~Nk} +j h+;} !SpR HVYPV#n.-'WvPSۏW,x [5jj{G oDjʂr~\"|UvA+;RL`2zQ{gr"_qnƖ+wRMmU[oq+;*DL`;m13,YWg_-V{ȿN!j;D$$n;"78<1 [-V{ȿN!j;Dn+r:syEzwjjj{Wrcy/sz٩[儥!ޣH:i`{L>D!tK_稩{Ʉĩ{jy [{AZâ 3c@Mmq1X qED0.<=B.XZެw[;WzVW?ΕQDda5݃{]x}j=VLqtVSSC~ؼ儥{VWrco—лVj|Vt> jTn^rz瀧\i`zkыÅ4O{4t,/j_{uhU6 4{i]l/XV:;q36x8;e蓻<~)D -Й&C)V;?Οǰ/ODl8Sv8<-~o5L((cx@!EkGZ~zNyF??e3D#њeV-jG(cx@!<5# Z?Dk !Z>ЪEMMm S5=D} pS?f]-l*_ou"{G`95vs]US+R[/s} _ZeNoTn}8vm[\O`<| ]/jj{l1 j/=jjOqWynQtVSSCjW,Cܐ: c_j{h@MbY>ߣ,/cS-z^qn99j/S-:Q[gK<5 xS/Dک[Ehqy]nA)?C >}|P{ïUSLa.7&RoHG[zflRpsY~Q{;;suh`zOÅ8+,jUI?jOcG?yO\5ڇ;4V/Og5=4?Ncp IM/ 3 w=4@iy+l;~k][@0\"|Rc0=|G gÓsSaصηqwa+[$;dRTS ’̣~G 3 1s5KxA/@GSq6L MqsiN*',jOqWj>S?|jj/Qjj?ЀOqM cxhծ("|\"| P@;xr9aQLa.ߗ۬js!zjj_oOqjj{ˉ앛oE):_u9"Q+\"-Ezc|KT6i9x^ XJߑ}vEJo8tq"mηq\,5ZOW{_ԞSJ5?K'VMP?D=Cv=4rpS9< ژb?/<|a=B1}*_ԞSa^ڧE0=2>/jj{*oMF@eE S{:LO*>/jKV#^>XS>\S OPT16x}N<~g]L?G0=$}*_>ӃpN>jOqTpO%S>Ν.=V@Mm ٦7~pc+;4a4vA-.qnRcW8v+c*Xx 3 ] 1kt ˨9QT=](q+^tfQYH4q 3 " }cپz:o} ǚ}|P{Oڏs8{7d3;#">@S r";KT (jJ D/Y^S>\S OPS鬦9S9q6snχVj{h@ i:c0"tT> sj>`EUR?G |@稩>`EH7Ƈtd+aNT<"lщԞʟ#>Yjjj{h@m3KS?Cv=4 0o{}|74tW~{y36x 3 ]Mk'5M\xj?Ѐ_ }rS-}w=4Fu%-o}}G. 0?BEc0=a.RLƱy.࠶O8?}~pҼxOX/.>Ytd+B_}1>#/ E'Rzcb*ADjj_o_|]L3(H񋯋xEآtVSCj*C 58w+Rz 8lO3\"|Rc0=ʜ8ǹqZeΖ<.<=B21CS~  az**m?ӻ.wTا~}qywy'u~y=郏1ˋW>^#48v:TBs\ MoD=l2d}xUcTr{{ŏǹǻE^AH2[i#jrT Gj^ jj"AR}\סUbżx{-5-V{_| t5b8;^vjjiGMFBBSa슔1u8FqX~ _VL8f>G/j_oOqjj;šwu][V6>>.V1ZeE.<Ъp*fl^[|Gk>/8Y{mר=υL8*=z8vEJoOe~߻3ZkGdy|f켪}1>š1q"@;|}.YTTS鬦4(YfGL_{4>AH2[i#jrT Gj^ jj"A܌][[C(VS3=BG6y W{?IXVwVACaN}MrC:25=4pʷ-'V?'Vj{h@M}j/<^ng\vY~QSSInL7{"N+Rz tL{d$$L%PS+Rz tLŻ S+{=i8|yq`z81#1zr9aQLo㘑o pmVW{:L 6 G/G/Y^z퍱;z 5Q>_|P{E՞Lj($\ηqKW՞@Bz^Ԟpgz~OX]o쳧6jj;ͣKc2D>~g]5;jOq=W!}\"|â KƱYflp%K#N﬋.5Ҍ j/QKDS{*0b3_Q(]}iTS4~ArEFDP{/F55=47Fe3;Y wrFq5=4rxnv=4Ve;8qX!N߲"V{_|RFjЩWwwjjc{.4H׎AH2[J}~NrN٩}ҟ~3j~]==Djj5P{M/E|Nh;X¯1xgF߻ Nga0wYL%:JMmq~>`}z*ӍrrkXN(?߳΍:Aǖx',=`q(?ߧ c[٧,Cn~ܳ4lTr8xc*a=NwfL%1~c*Hjj;n,786/1Wzc|HG^5վ6*fWzc|بfWSzcb*Q{\Mm u#Noilӻ.w>K>|'7lT^tVSCj;#]Ń];oeJSS'Ń=r;˳Nj?Ty;վeW{Y0X{\oI9.j_ezQ efW ׯ)|>`q^)V{*.w5Cjw'n"T# %ٌ]|]T\n`}M+-~UX_=WZN?!j_oyilR(tqԞ猚w©lrbsRɪY˝kؕbT6]t K*{ֹrSs_}+ǣ?8g+NeJVMmO}MrOz݇Q6lT } tfi`(?W{AP!J_t*D5HG^=r`E35՞ʇtd+5Ѐڎˍ;^[6q"|Zo ;=t y%L- W{s7Ư˝qFq(?W{s'([QFqjj{h@mtd+}xUtd+=Uwj?I^ngEr'nQ{\%_>/jO@C:2ޕjjj{h@moHGƻutr0Z]č0X;/;#]%eW՞𯰨}1>#fW{5Y~!JG\ SC:r`Fq5 qcq-aj_o[NFq5(QS鬦vب옊w*xP 6*n`, `9jOs!ǹc*K55X"|>`qY~zmN/ܰQ9xr;C酻.wē8aQ{ÿ{\vga*T,S Ws˳Nah@ 4==b|=qTsG/Y^Ǟ^yq*~Ԣ,/=1Ż\\!jl6ZE"+S +rE46/{1]Q} wE"RJ^ jI(<}NnبQ{:L 1^~?S^=p5^ng?w߳];oej_oŃ5wXnt>D;n,7<y%dWS{}au+n^~wlبQT=XzήVS{ÿ߳]9pNOe+N #YYτQ{OcO/t]nz36j22=MMdB喬7c&S{ÿN:7ΔMƮ˝kԞ@~]İ;#]t:jgBx>`qWN {>`q7Ư˝qFq5(?W{O%C=A!}Qf  */XͶͶͶ*> o6:O*:]3 Xo!u*!N u6!6~+`~w>2x~# uGO! */ }|*/!u**/+r+s+6"!6#68#6#6#*/s#r#6#s#r#6#s#r!z!1!NͶ!place xvaluexat 5dh; x is anysingle char not used in value. To execute, type GB. To repeat,type G. LE will show the start (jpo) and length (jnz)of search: use AE to change. $*DM*v DDT DDT COMAbort: unable to locate CCP$Abort: assembled with bad restart location$Abort: DDT not found$ DDTF (C) 1981 by Roy Lipscomb, Logic Associates Version 1 October, 1981 A "fi z!^:]. #'z ! Xj́Ͷ ''|͟}͟ͼ~͟ͼ#m~<!~>.#„ͨ 0!> ¾~$#_ $*DM*nd string" command for DDT. DDT must be on default disk or DDTF disk. For condensed instructions, type D$͙ i͙͸*"-***"-"*-."/."!> o!^#~}place xvaluexat 5dh; x is anysingle char not used in value. To execute, type GB. To repeat,type G. LE will show the start (jpo) and length (jnz)of search: use AE to change. $*DM*>> n!}|*"> #&~:A+~@2 u'H < ȯ*6 #6 <!Ā# xrGO! */ }|*/!u**/+r+s+6"!6#68#6#6#*/s#r#6#s#r#6#s#r!z!1!NͶ! z!^:]. #'z ! Xj́Ͷ ''|͟}͟ͼ~͟ͼ#m~<!~>.#„ͨ 0!> ¾~$#_  * ddtf.doc * Documentation for ddtf.asm, a string-find function for ddt. * version 1 october 27, 1981 * * (C) 1981, by Roy Lipscomb, Logic Associates, Chicago * Copying or distributing permitted only if non-profit. * Home system: HP/RCPM, (312) 955(For example, "/find this/".) * You may do this with the I, A, and/or S commands of ddt. * * A listing of all occurrences of the desired string can now * be displayed by typing GB (in the assembly version given). * Additional searches can be conducted-4493 * * This module relocates itself under the ccp, prints a signon * message, then invokes ddt. Loaded, this module takes about * .5K by both itself; but since it protects itself and the CCP, * it entails 2.5K overhead. * * To have ddt automati by simply typing G. * * Each occurence will be represented by a one-line, ddt-style * dump. The string itself will begin in the middle of the line. * (The width of the line can be set at assembly time.) * * All registers except the program counter cally load filename.com, type * "ddtf filename.com". * * This module uses two consecutive rst locations. These * may be changed, but must not include rst 0 or rst 7. * * * >>>>> Essential: Read the note at the end of this document * before attempare saved before * the search and restored after the search. * * Note: If the search does not perform properly, check for * 1) Missing prefix or suffix. * 2) Using a suffix/prefix that also appears in the string. *...............................ting to assemble DDTF.ASM. * ********************************************************************* * Instructions * * The following instructions are available in condensed form * within the program itself, and may be displayed at run time. * (The ................................... * Examples *.................................................................. * * Example: Find all instances of "disk". * * Procedure: -i/disk/ * -gb * *...................................................program sign-on message will tell how.) * * This program allows finding all occurences of any string of * indefinite length. Install a model of the string at 5dh, * including a prefix and suffix of a single character not * used in the model itself. ............... * * Example: Find all copies of "JMP CDAB". * * Procedure: -a5d * 005D nop * 005E jmp cdab * 0061 nop * 0062 * -gb * *.................................................................. * * Example: Find all ins  tances of hex 005638. * * Procedure: -s5d * 005D ff * 005E 00 * 005F 56 * 0060 38 * 0061 ff * 0062 . * -gb * *.................................................................. * * Example: Print an interesting display * * Prommand. (Changes are not normally needed.) * *.................................................................. * * Example: Change length of search block to 200h. * * Procedure: -a11 * 0011 jnz 200 * 0014 * - * ********************cedure: -i// * -gb * ********************************************************************* * * Advanced explanations and instructions. * (For software hackers) * * Assume we are using the RST 1, 2 locations. Listing RST 1 * we see-- * * 0************************************************* * * IMPORTANT: ASSEMBLY INSTRUCTIONS * * Note: As distributed, this source can be assembled * only by LASM.COM or LINKASM.COM, Ward Christensen's public * domain assemblers. LINKASM is available a008 CALL 0038 * 000B JMP nnnn * 000E JPO 0000 * 0011 JNZ E000 * * "JMP nnnn" is the entry of ddtf. In this example, the * search is initiated by typing GB. Additional searches * may then be conducted by simply typing G (as long as the * progras CPMUG 36.11 and * 36.12; LASM.COM is available on most RCPM downloading systems. * (LASM is a slight upgrade of LINKASM.) * * LASM's special feature is allowing separate source files to * be assembled as one, if each source chains in the next via am counter has not be explicitly changed with the * XP command). * * "CALL 0038" is the exit to DDT from DDTF. Whenever DDT is * invoked in this way, a simple G will activate the next * command (in this case, an immediate reentry into DDTF). * * "JP * LINK statement. (Eg., "LINK NEXT.ASM".) If linked to itself, * a program can create two copies of itself, or of selected * routines within itself. This provides a convenient method for * creating a relocatable program without using a relocating O" gives the starting address of the block to be searched. * "JNZ" gives the length of the block to be searched. The * default values are 0000 and E000. These may be changed * at assembly time; they may also be changed at run time * by using the A co* assembler. DDTF.ASM uses this technique. * * 1) If LASM is available, DDTF.ASM will assemble without * modification. The one exception is that if you change the * name of the source from DDTF.ASM to something else, you must * also change the "LIN  K DDTF.ASM" at the end of the source file * to reflect the new name. * * 2) If LASM is not available, the following "double up" * procedure will allow you to use DDTF.ASM with any assembler. * * a) PIP DDTF2.ASM=DDTF.ASM * * b) Erase the follo   |^#*.7?yOxGxJGyO-82M>d2L2P:MO:LW4x2Myx:Pʇy0_>2PÊ:LO 4y2L:L[:M0_\ Š 6?#ƒ>?2hͩͩʬôÛ *Nw#"N!~:=#!W4!Z_~s#r5 * Block************************************  * * d) Assemble and use DDTF2.ASM instead of DDTF.ASM. * * (end of documentation) ********************************** is already assigned to: $ !Y4^#V *OO1ZA:VV:Wk:X:W/:Y Number of files: $ Number of blocks: $ Number of actual directory entries: $ Number of blocks remaining on disk: $ Number of errors in the directory: $ =   DIRCHK [6/8/81] This program is used to verify a directory. The directory is checked to be sure that a group is used by only one file. This can happen when a disk reset is not performed after a new diskette is inserted. DIRCHK is also useful to see if groups of an accidently deleted file have already been allocated to another file. The directory and group numbers (in decimal) are displayed. Also groups used by multiple files are marked.   >2i.2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp]i.2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp]i.2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp]Originated - 7/8/82 by Tom Vyse, San Diego, Calif. The FAST program is specific to the Osborne 1. It also will only work on those Osbornes which have MPI disk drives. Those can be identified by a plastic lever hanging down in the right hand side of the disk drive slot. This is part of the door interlock mechanism. Osbornes are also shipped with other, and frequently slower, drives from different manufac- turers. FAST is designed to increase the disk drive step rate from 20 ms./step (the de  fault) to 6ms./step. It does this by altering the value in the operating system parameter table which controls this rate. The address of this parameter (in both versions 1.2 and 1.3) is EF13H. The effect of various parameters in this location are:  Value Step Rate ----- --------- 0 6 ms. (MPI only) 1 12 ms. 2 20 ms. (Seimens) 3 30 ms. The code to drive this is simply: MVI A,0 !9" 1 RENAME Version 1.1:\2 S=<2 _S: N=_* ɯ2 2 !FxC RENAME is invoked by a command of the form: RENAME afn1=afn2 <-- Rename all matches \ \__ Old File Name \__ New File Name  STA 0EF13H JMP 0 END Not much of a program, but it sure makes programs with a lot of disk access run nicer. Also, the MPI drive will operate more quietly at the higher step rate. Fini. RENAME afn1=afn2 /I <-- Inspect mode RENAME afn1=afn2 /S <-- Include System Files Note: /I and /S Options may be combined Examples: RENAME *.MAC=*.ASM <-- Rename *.ASM to *.MAC RENAME *.MAC=*.* /I <-- Rename *.* to *.MAC with inspection RENAn nicer. Also, the MPI drive will operate more quietly at the higher step rate. Fini. un nicer. Also, the MPI drive will operate more quietly at the higher step rate. Fini. ME *.OBJ=*.COM /I/S <-- Rename *.COM to *.OBJ with both I and S@#~/gc#~SbIc>2 g>2 C#6p:]/ʎ ʎ:m/ʎ ʎ ERROR -- File Name not specified Error FCB: !\C>=!lC@!l    ! " !"  * |S No Files Selected -- Aborting Selected FCB: ! C@ T]W* $." v@!l6#>   !~#ʟ=€m.u Format Error -- Missing =@~#. ȷ*~#>?~#`o&~e* "   |*  j   #?3O~3e# ~e: Y ~e  * #" * +" |* |DM* * s#r#!  x…* " * |g}o" " * #" * }|ڜ* " * * }o|g" ڰ|ʰ* " ͼڰ* * ͡* DM* " * " * * [ y RENAME ERROR -- Pointer Table Not Consistent@* ~#~ *   * ^#V*  " * ^#V!  * ##" y * DM+) +) Nq#Nq* DM+) +) N#F^#V`i# ~O#* * #] > ? ~#= Rename ! C from Cb z#V>.V~#V: ʫ -- Ok (Y/N)?  YʫN Type Y or N -- Ok (Y/N)? {#    !   ͽ9 ͒ ERROR -- Rename Destination File Exists -- Skipping File in Error is: ! C |!   ~~w#I!   ~w#_!  # ~#x   | !  ~#¥  !     _~# a{_~# w# a{_~# w#   0q$Ey,i 2 FtL>l``|Ȉt9ۛGD A"0Jtr5 1?Zb c׍gtykÃL&Q髩|M~O|#dA&lf6tg{jx3&_cx֏1>Q LN} k:۟qj qyc)#U'OdKXs{kպ# k^^}4I(8۟"X;V~ ·k縠W Wڪ_)nSN'ep-jX[umhl5s\wqlX[ɷYE~H~uMެ|jX[uBm ct?s .qڪ/#X[5g9gam|1.V]cxgS{b Rݳ^Ҝ%0}C4>x?m!wBnx?2'4ζxfgN(hvFILTER11.ASMW  ! "#%$&'()*+,-.0/13245678;9:<>=?A@BCDF9l549ɩ]M9c]fkXhZ)̱ ׏'$|7Xh3GԹD@ȸ|H ǘZ)(,SrnygTpv۵3y)BgEڀ'۷7\M9c nêg7\AṈ ^zLDTӨS(h - n,4- lk|">!UByM_IBgD4EFGHIJLKMNOoQRPSUTVkṈ EOI8w1;ʸQU~I5fXß5$jBɳ~&5K?J5C4>P \RG` F2.GQ#Y|"϶7\n7[u gw^5U M9c-`nwT3[oon1̱}(婽*8)gaͳ mQ٪P1lu5g{3#"XӐԄ"@3;s V3s [ͻ96(c)ݔ3֎eٍ6;UOCR_h|YEaB2%l/1G2]oe>lv=l5VLkrA#}#Jl/CN%_7Oďd\e2_hGK d A&%]H˧˧2v%EԜ,i? ԳK ¿nq1_&?goPt2̟/ñeX?d|# -xDx" FR_&ː3ffO"$0j*?/510 jd|"즜Eg7[u gw^5U p|vSX آ޼}&>H{`tkR͟m5jv.\f2 ٭G /Ayl/P2@yXu즜ٍ6רlU(||JF }~ed|#dL? IMH~} ; qgW vHw٪kQ1!Wl_,t?{`f[J= >+68~2(g7]'p=\mcy^t|  ['_(^۟a 2PG2~@G@-nW fnY0_vP^Оpv.1ۓa><:m9۟F=.?N~DFp4rHկD<۟=`3w9Զw5gB UAASfݔ3֎eٍ6g!u$TQj!_JDS[]=c`0?yyjkݔ3fkg75.G"\nXhd\G"g>۟a 2PG2~@UAy4yE(p?gW`2DS[]=c`0?yyjkݔ3fkg75.G"\nXhd\G"g>۟a 2PG2~@ UAy4yE(p?gW`2DS[]=c`0?yyjkݔ3fkg75.G"\nXhd\G"g>۟a 2PG2~@De2kl(nw.Vf{,w Gжw5Og |hAN|2}z'bTφU7wdG縠;*wqlwB g7匵-:)glwͧeg7eJ٭{EvUW7f/y~N%5fTKkArԜפ*cez_7 C?_OCjXDZT1 FILTER ver 1.1 - ASCII file filter utility :] •Usage: FILTER [drive:] [ ] = optional, < > = required$\<¾++SOURCE FILE NOT FOUND++$FILTER FIL ! ^#V#*0}@gl**}|\!"e r䫱vA8D.2/b:LَeYG\ ^dʓa~g;v{VoOT즜7ռnZmm5ڿ`uy\ɷm o^G'gEڎ>WȺ}4ms]`volGQ (,H/1g0d\^?JU#%}x[8 Bbgwj5(=yi>hk*{zN*.*" : DISK FULL: OUTPUT$!"**#"ɯ22!@"!"<µ  NO DIR SPACE: OUTPUT$Input and output files open \K++SOURCE FIL  E READ ERROR++$!~K3 ? ? ? ?*Y#"YD,*}W">K<Ž xÎ CANNOT CLOSE OUTPUT$Function complete - *Y7 characters deleted$*}"><  CANNOT CLOSE OUTPUT$  ~*#~_ @ |7{0* CLOSE OUTPUT$Function complete - *Y7 characters deleted$*}"><  CANNOT CLOSE O DISK.DOC FOG/UTL.020 First Osborne Group (FOG) Utilities Disk DDTF adds search capability to DDT. It will search for bytes (ASCII text or program instructions) in any file. Place DDT.COM and DDTF.COM in drive A. At the A> prompt, type DDTF d:filename.typ where d is the drive containing filename.typ to be searched; if only memory (no specific file) is to be searched, simply type DDTF with no command line argument. DDTF loads DDT. At the - prompt, type I/bytes/ GB where the /'s represent delimiters for bytes to be searched. For further information, see DDTF.DOC. DIRCHK displays information for verification of a disk directory. Place DIRCHK.COM in drive A. At the A> prompt, type DIRCHK d: where d: is an optional drive specification. The "number of blocks remaining" displayed by DIRCHK appears to be in error. See DIRCHK.DOC for additional information. FAST may be used to speed up MPI disk dr!  ives on the Osborne 1. (It may not work with the double-density configuration.) Place FAST.COM in drive A. At the A> prompt, type FAST Do not use with Siemens drives; see FAST.DOC for guidance in identifying MPI drives. FILTER11 will rom Patch by Bryan G. Moore (714) 578-2830 ip.com NEXT PC 1E00 0100 -sb34 0b34 1f 37 0b35 d2 . -g0 a> save 29 pipv.cm Patch by Bryan G. Moore (714) 578-2830 ip.com NEXT PC 1E00 0100 -sb34 0b34 1f 37 0b35 d2 . -g0 a> save 29 pipv.cemove all control characters (except CR, LF, and HT; I'm unsure about FF) from a text file. It also zeroes the parity bit of each byte (as in the Z option of PIP) producing standard ASCII characters. Place FILTER11.COM in drive A. At the A> prompt, type FILTER11 d:filename.typ where d is the drive containing filename.typ to be filtered. The resulting text is stored in a file named FILTER.FIL. See FILTER11.DOC for further information. FIND-20 is an update of FIND on FOG/UTL.002. It will search for text in one or several files. The search string may include _ representing TAB (HT) and | representing OR, as in this|that for this OR that. Place FIND-20.COM in drive A. At the A> prompt, type FIND-20 filespec striMost people use the [V] option when transferring a file Rather than type this every time it is possible to patch PIP 1.5 (used with cpm 2.0 and up to always verify. ddt pip.com NEXT PC 1E00 0100 -sb34 0b34 1f 37 0b35 d2 . -g0 a> save 29 pipv.c"   the A> prompt, type DIRCHK d: where d: is an optional drive specification. The "number of blocks remaining" displayed by DIRCHK appears to be in error. See DIRCHK.DOC for additional information. FAST may be used to speed up MPI disk drives on the Osborne 1. (It may not work with the double-density configuration.) Place FAST.COM in drive A. At the A> prompt, type FAST Do not use with Siemens drives; see FAST.DOC for guidance in identifying MPI drives. FILTER11 will r DISK.DOC FOG/UTL.020 First Osborne Group (FOG) Utilities Disk DDTF adds search capability to DDT. It will search for bytes (ASCII text or program instructions) in any file. Place DDT.COM and DDemove all control characters (except CR, LF, and HT; I'm unsure about FF) from a text file. It also zeroes the parity bit of each byte (as in the Z option of PIP) producing standard ASCII characters. Place FILTER11.COM in drive A. At the A> prTF.COM in drive A. At the A> prompt, type DDTF d:filename.typ where d is the drive containing filename.typ to be searched; if only memory (no specific file) is to be searched, simply type DDTF with no command line argument. DDTF loads DDT.ompt, type FILTER11 d:filename.typ where d is the drive containing filename.typ to be filtered. The resulting text is stored in a file named FILTER.FIL. See FILTER11.DOC for further information. FIND-20 is an update of FIND on FOG/UTL.002 At the - prompt, type I/bytes/ GB where the /'s represent delimiters for bytes to be searched. For further information, see DDTF.DOC. DIRCHK displays information for verification of a disk directory. Place DIRCHK.COM in drive A. At. It will search for text in one or several files. The search string may include _ representing TAB (HT) and | representing OR, as in this|that for this OR that. Place FIND-20.COM in drive A. At the A> prompt, type FIND-20 filespec stri#  ng where filespec may include drive designation and wildcards, and string (optional) represents the search string. The program will prompt for string if it is not included on the command line. Refer to FIND-20.DOC for additional information. r RESOURCE found on FOG/UTL.007. Place ZDASM14.COM in drive A. At the A> prompt, type ZDASM14 d:filename where d is the drive containing filename to be disassembled. All appropriate files (.COM, .SYM, etc.) with the name filename will be PIPCHANG.TXT describes patches to make PIP automatically verify each disk-to-disk file transfer. PIPV is the resulting version of PIP and may be used in the same manner as the unpatched PIP except the V option is assumed. This program (PIPV.COMread from drive d. The program provides a help screen upon request. Squeezed assembly language .AQM files may be unsqueezed using utilities found on -FOG/UTL.003, .004, and .014. Jim Woolley FOG Disk Libra) was removed from this disk on 6/30/83 at the request of Digital Research. RENAME is similar to the CP/M command REN but will accept filenames containing wildcards. For example, to change all .DOC files to .TXT, place RENAME.COM in drive A. Arian January, 1983 zed using utilities found on -FOG/UTL.003, .004, and .014. Jim Woolley FOG Disk Librat the A> prompt, type RENAME *.TXT=*.DOC Typing RENAME with no command line arguments will produce a help screen describing two options. STRIP will delete comment lines beginning with semi- colon from an assembly language source file. Place *M:>!(:=2%> >>!F!5+N! ~2!4<2T>>!b}*bMͭz:b2!b6:<2é>!`ҥ*`MͭҞ!`6!6> :é:(!q:!wO! ~2*& :w>!:!4!6>:N<2N! STRIP.COM in drive A. At the A> prompt, type STRIP newfile.ASM oldfile.ASM where newfile is the result of striping oldfile. Also, see STRIP.DOC. ZDASM14 will disassemble Z80 code using Zilog mnemonics. It is similar to the 8080 disassemble> *N& N2 !p+q!6!6+6 !6: S: M!6g8:N2M*M8p!6!6!6>!ڕ*&P 6!4z!6!6#6#6!6*M8:ھ:*͇g2ê::¿::,͡A<2O>$  *M8):[ͱ!N5!6ñ:5!6#6>!ڰ!6:<2O>/:!O!T *M͡H~K:¡!6[–ͱ!N5:2:2!4=:[¼ͱ4:!6:.2O8: :* ͇g:=O!L NE!4 E E:/.*&L 6$L9k9.Xͯ *KM^020 :020:121'ͳ':²ͯ !G6!"!"7 *M^n/ :a/:H!6:ͯ !&6:[ ͱ!N5!6:%:<2*6 * 6å!q!6> !d*&I :]>!4A>:<2O* :w:?†!6!q!6?!:ҠgÐ!q*&*~!6:22: :]Hں:A2O>: 2ͯ 2*">!b!ͯ >!`0ͯ !q:E:24J!46*}a!44EJ *KM^'́:‚ͯ !36'n::0:f9OY#9.3'ͳ.:020' 'ͳ'7 6'÷:S:QHI:N<22: H@"2Í202O> c!6Í202O> ڍ*&O*& !sc*&P :w:·>!ұͯ :22:_!6=!6>'!E!4!p+q*0 !!j>A+!s!"@͓1!"<**"͓n "Dn"":!Q2҂:X!Wғä:ڤ*MEÓ:ұ@@:O2Mc;!6#6>!)*&P ~"::H:Hr+s+p+q*~$7*>*>H&>*#"*#"> 2:R͎:!6!6=2:ʙ!6:“H9Ž>!6-e!6ͻ2=2ʺ-é:>>"ͻ2:!!5ͻ2ͬ!\:H:H"!6!4:_jYO jM*"S*" 3@bl*M1͓!""7 *M^͆ \͔!":͎H*#"ͧÝ/ :>͛9ͯ .*#":_!-:>>!p+q:,!6*DM9:<!6:z 2W!6D*&L :w:<2Ov*:>=20O> ڒ:0:AO>Ҥ::A }}Hͬ!wͻO`idͻV[2O>2:!X!6:!' !'6!36' :1/!aE*#">z?C9IͲÁ.!6> !ڇ*&' ~2 ʀ: y.*M!4Q>!қ:=2á:2:Ҭ\>!ҿ:=2K:2K!:!:K\: \!p+q͈*%  DM!  ::=H-\:N2O_og_{ozg^#V))) _{ozg^#V) d^#V|g}o n_{ozgO{ozgi`N#Fogo&og H ©=¨ so that files created with WordStar or other text processing programs can be read by MBASIC. The filtered copy of the of the file is created as 'FILTER.FIL' on the default drive. The source file is left intact. If the original file's EOF (1AH) is not at the physical end of the last sector, this program will pad the last sector with EOF's. This is useful for 'cleaning up' a file which was originally created by MBASIC or text editors which do not pad the last sector with EOF's. Command: FILTER [drive:] ' a file which was originally created by MBASIC or text editors which do not pad the last sector with EOF's. Command: FILTER FILTER.DOC ver 1.1 by Keith Petersen, W8SDZ (revised 1/27/81) This program copies any ASCII file and filters out (ignores) all control characters except CR, LF, and TAB. It also sets the high order bit of all characters to zero&  duce a help screen describing two options. STRIP will delete comment lines beginning with semi- colon from an assembly language source file. Place STRIP.COM in drive A. At the A> prompt, type STRIP newfile.ASM oldfile.ASM where newfile is the result of striping oldfile. Also, see STRIP.DOC. ZDASM14 will disassemble Z80 code using Zilog mnemonics. It is similar to the 8080 disassembler RESOURCE found on FOG/UTL.007. Place ZDASM14.COM in drive A. At the A> prompt, type ZDASMng where filespec may include drive designation and wildcards, and string (optional) represents the search string. The program will prompt for string if it is not included on the command line. Refer to FIND-20.DOC for additional information. 14 d:filename where d is the drive containing filename to be disassembled. All appropriate files (.COM, .SYM, etc.) with the name filename will be read from drive d. The program provides a help screen upon request. Squeezed assembly language .APIPCHANG.TXT describes patches to make PIP automatically verify each disk-to-disk file transfer. PIPV is the resulting version of PIP and may be used in the same manner as the unpatched PIP except the V option is assumed. RENAME is similar to tQM files may be unsqueezed using utilities found on -FOG/UTL.003, .004, and .014. Jim Woolley FOG Disk Librarian January, 1983 he CP/M command REN but will accept filenames containing wildcards. For example, to change all .DOC files to .TXT, place RENAME.COM in drive A. At the A> prompt, type RENAME *.TXT=*.DOC Typing RENAME with no command line arguments will pro'   --> FILE: -FOG/UTL.020 CRC = 00 00 --> FILE: DDTF .AQM CRC = D3 66 --> FILE: DDTF .COM CRC = D7 60 --> FILE: DDTF .DOC CRC = E7 FE --> FILE: DIRCHK .COM CRC = B5 C4 --> FILE: DIRCHK .DOC CRC = D3 E1 --> FILE: DISK .DOC CRC = B6 A5 --> FILE: FAST .COM CRC = E0 13 --> FILE: FAST .DOC CRC = DF 2D --> FILE: FILTER11.AQM CRC = 99 3B --> FILE: FILTER11.COM CRC = E9 F7 --> FILE: FILTER11.DOC CRC = B2 B3 --> FILE: FIND-20 .AQM CRC = 08 E0 --> FILE: FIND-20 .COM CRC = A4 94 --> FILE: FIND-20 .DOC CRC = 6A A1 --> FILE: PIPCHANG.TXT CRC = 2A 38 --> FILE: PIPV .COM CRC = ED 78 --> FILE: RENAME .COM CRC = 92 BA --> FILE: STRIP .AQM CRC = F4 EC --> FILE: STRIP .COM CRC = C0 38 --> FILE: STRIP .DOC CRC = 35 3E --> FILE: ZDASM14 .COM CRC = 9D C7 ---------------------> SUM OF CRCS = 12 DB