IMD 1.16: 28/05/2007 16:42:37 -FOG/UTL019         DU-V77 DOC.DUPUSR21AQM&DUPUSR21COMFCB COM LUDEF1 DOC3%&'(LUDIR COM0)*+MEMMAP COMMOVUSER2AQM%MOVUSER2COM SCRAMBLEMSGSCRMBL21AQM+ SCRMBL21COMSECTRAN COM#$CRCKLISTCRC,v*DUPUSR21.ASMM  "!#$&%(')+*-,./1032457689:=;<>?@ABoCDFEGHIJLK mx'gGɏuXZI o1P_3q_\R`v sV@'J>~Ixt؞V[MM5[n7`a{;Xn545@ Kzza{*[-FOG/UTL019ALLOC COM CPMADR COM+CPMCALC COM* !"D COMD DOC DISK DOCDU-V77 COM0  F}f8F>nz _zOA;o۽ڨW:]QpԓlԭXTGM66ꐏ^z+橯|Fh@/KmW7^Fwp\|ԛwi)vBcG=QHzjsd"LoQ~+2a : ;s`R{5-ݻE3՟;b;XتS|=^⭺)yb c3,y՟Q)>^MxQ^@ǷXYg 3B3:*dЊ5-{Fp1Psޜ1zNLϚ5=N&?.c2*䛓WhhYS,l$V(>d_Y٨X.8'W&JZt8J5gqkϥSƷFx[`G|2Ȭpvy[,$x1&)pǮB6 ;zyQ^e*wO͎Zc`O%N?-{]f/{6 ф1O*h I}$"YبY K5؏=c w⢓ӄ7ӲS32*dɧO˞u|2 qqjZV3 x߽hY MIŕɧeoTe)':Z1BzTȞYO1&}Q1Z,l&)eƓY:j^tz{߻˨?éK+16]\/|)i32  Qchॴ7;_4"@-5%^z;^;oeX՟E_׿h^ ozۙNu{^:(G=KZZ6FoRToKoۼQo'hUG=J "T~RB)֟jnSRdX|sR,PXEZt8;A/NgR2cܚ/ bY:j4͘hBp6WIJԫ?[=Qah1T~T3T8*d gt{9.\:e(eO\.h:*@}ƧĹQ `9+^=5*@X VrW_c5 FQᨛuG.w0؏1,JM 3BS TFիDTG{w0nhLz9ب7x~]iY_Fgh۔!xrxi~ܲQ/9oF=,\~ʸtJsףbgX=K{٨7x~_Q>Vz1(Bwzy5um"gz~; Kgщ.>Qbgz>{w0 gM'X>&O"ls&w6jGѮ ) Q4F.mq풲;݀6ߴsq o4z\nڹQCk Z/t$C)~E VctIRFu}A l:]QӔq+|Ӕt8Nd(eS]\~_F lSVvG_;glg)l8g[l:]Qu}A"MtIR+ zQ4꽂p@6(^vh8nڹܥ@oz Qn1:Mqnz^ewp\ɧeM z3ζқ̷6`4a6Gh"7( [4a8_jbm7;3{޲wg*v7 B:$بJx&Cb&;؏z қI؏ mG=KSVvp)WIJn5 F~f*wiOG5*2Ȭje~&L5;j}E,| t wJdcwhg/*3L/~sƘ~?kO,|BztAf|=c\kф5ΦF2՟E-m^K&tz$^GzTȗLIzdYpbzb{Q \sA'THsGt@If  Q4ңތ}Ӎz !{>?ݨޜyYNxv8+yR~RX:jң? Vث2* E p"56#@rܽ=I5@N6 :QK;i2,zXG=mwptD#n~ۨpT8*mX&;-ql&pv(XLuԛpbw0FD?^N<4o4z қzy;fO1,lGxP"4aGaO?Ϗz *AA{yvc1f{ %<m^0,֟&\Q؏zXAH4ayG=KZQ/9oz1*gTo*G)eԛQl]F{ߥ`0@?{4R~.mm`EGmFFʦ?ߥMm㾐~jfH& Aa8cbTx_6/zF=mwP[;J:M{Q﷍ GQg*z~]LQ^BmGe_S^Y4Uϯ |ɧeX՟EKu AؗmJgtIRF:mo}G_ofֿi9r'AQŏW'#x٣^zsez=;j˨7;ߥMmP+xt~?Qo;ߥMmP۽Qo;ߥ5[QoF^wi@/%27m^LY|valzYQ˿7,qHKL5hYfEQHYӲ٣^zsezX;N:Qog{EZ"ތ=x9A?^#x٣^zsezule fo use: -N SMOKING! -Com i th north-sid door.(Ther wil probabl b sig sayin USER GROUP o somethin lik that.) -Yo shoul fin tabl insid wit tag t identif yo a user grou membe - PU ON O - RETUR I;AxEH:T +EA ^%:(^.mjLƸD"!MY}1MYM6.|s"/қ6/kz;KKSD`:E WHE YO LEAVE. -EVERYON OU b 10:0 PM. -Als ther ma b vendin machin o tw i th futur - N EATIN IΠ TH MEETIN HALL. FROM THE EDITOR Th sprea o Osborn conpute user i reachin a epidemi leve - isn' iF4e}zޜyYwpӔz;AxE5MYS3Я1)pv*)K"Kڠ-<7p6n'ݻ 1k^9}KicQo;ߥMmP4EVlBg)fEQ}zj3iқ6/kQs8[uԛQlpbCb4L|`]h,θQ; great A thi writin G' membershi lis ha 9 names Sixty- si (66 o thos ar paid-u members Th Novembe meetin wa ful o ne faces Use grou interes i stron i th eas ba (an farthe east) Ji tunnel i Walnu Creeb?6({Q/9oF=,m2>cOq\~F%ξy1""yz&ڨpT.w21vIog%/עe F2\m4eԫ$w}~KoۼQᨐa iFRJpbzb?6*H;:(޶w86;9EI'g*F)gi+қz^ewp\3,ԛQ<.mw0Ic  leve o affiliatio t shar informatio an tak advantag o th strengt i numbers David Thetar Sa Francisc regiona grou (?). I anyon know o an othe Osborn group send m not abou wh an wha yo (they ar an wha yo thin abou a affiliatio arrangement Mayb w ca hav Unite Counci o Osborn User Group Modem CHRONICLES, Part II by Mike Mehr Hi Thi mont though I' star of wit som informatio abou wha thes bulleti board ca b expecte t d fo you I'l als includ som * 2:\=_<2\>?2h!m~#0> >W{_':N{2tY Invalid destination user #$2\<ª Originating file not found$=`!O :<2 ͻ\<ª:_ \ ͻ2\6$ tip fo thos o yo wh ma b first-tim user o thes systems You'r spendin you hard-earne buck o thes phon calls s y migh a wel us you tim wisely Finally I'l includ som tip fo usin thos RCP sys!\ͻ!":22 prompt, type D See D.DOC for further information.  the A> prompt, type ALLOC d: where d (optional) is the drive to be mapped. To learn additional options or for help, type ALLOC H It is possible to indicate blocks occupied by a particular file and to write-protect portions of the disk DUPUSR21 permits access of one file from more than one user number. Place DUPUSR21.COM in drive A. At the A> prompt, type DUPUSR21 filespec # where filespec is a file specification which may include drive and wildcards, and # represents t. FCB displays the first 256 bytes of RAM where the default File Control Block (FCB) is located. Place FCB.COM in drive A. At the A> prompt, type FCB MEMMAP displays a map indicating available memory (64K on the Osborne 1). Place MEMMAhe destination user number. The file itself is not duplicated, only the directory entry. After ERAsing from one of the user numbers, press to reset CP/M. From more information, see the first few lines of DUPUSR21.AQM. MOVUSER2, subP.COM in drive A. At the A> prompt, type MEMMAP SECTRAN displays the logical to physical disk sector translation table. Place SECTRAN.COM in drive A. At the A> prompt, type SECTRAN CPMADR displays address information pertinent to SCRAMBL.MSǠ consist o SCRAMBLE.DO plu th initia comment section of SCRAMBLE.ASM (Version 2.1). J.E. CROWELL SCRAMBLE.DOC: SCRAMBLE is a command used to encode a CP/M file. The format of  the currently installed version of CP/M. Place CPMADR.COM in drive A. At the A> prompt, type CPMADR CPMCALC aids calculation of CP/M addresses for new system sizes. Place CPMCALC.COM in drive A. At the A> prompt, type CPMCALC the command is: SCRAMBLE filename.type password where "password" is an 8 character password made of characters perissible in a file name (i.e. no ".", etc). To obtain a good "initial seed" for the scrambling process, no character in the password may DISK.DOC FOG/UTL.019 First Osborne Group (FOG) Utilities Disk ALLOC displays a bit map showing use of a disk. It is similar to BMAP found on FOG/UTL.008. To use, place ALLOC.COM in drive A. At  BLE is a program to scramble CP/M files using an 8 byte ;password. ; ;03/14/79 Originally written by Ward Christensen ; ;07/13/81 Moved stack init to beginning so default stack not ; used. Added fix to write routine for proper ; operation underhe file, and doing two identical exclusive-or's to data result in the same data being retuned. I feel a scrambled file is quite secure. Given that a file was scrambled and the password forgotten, I know of no way to determine what the original fil CP/M 2.x. Expanded Macros so program ; may be assembled with ASM. By Keith Petersen, W8SDZ ; ;12/30/82 Removed loop called MIXUP and MVI H,0 just before ; it. Comment was "Scramble awhile to mix up the ; seed". Loop occurred before the passe was. Even a file which is all binary-0's, is sufficiently scrambled to defy finding out what the password or original data was. ...But I assume no responsibility for the "security" of files scrambled with SCRAMBLE as I am not a "student of cryptoloword was moved ; into location, so loop had no effect on "seed". ; Added CALL ERXIT in FINISH. If an error had ; occurred program would have crashed on the error ; message itself. Added more comments around pseudo- ; random number generatogy". Note also, that if an attempt is made to unscramble a scrambled file, using the WRONG password, then the file is technically "double scrambled" and SCRAMBLE would then have to be executed TWICE, once with the original password, and once with ther to better understand the ; coding. By Bob Hageman ; MONTH EQU 12 ;LAST.. DAY EQU 30 ;..MODIFICATION.. YEAR EQU 82 ;..DATE ; ;Scrambling is done in place, i.e. the file is modified on top ;of itself. The same password used to scramble the file erroniously-used password. Because of the exclusive or-ing process, either password may be used either time. 03/11/79 Ward Christensen SCRAMBLE.ASM: 03/11/79 Ward Christensen ; SCRAMBLE.ASM ver 2.1 ; ;SCRAM is ;used to unscramble it, using the exact same command. This is ;because the scrambling code is exclusive-ORed with the data ;file, and two same exclusive ORs result in the original value ;being returned. ; ;Command format: ; ; SCRAMBLE filename appear more than twice. The requested file is scrambled, and re-written in place. To un-scramble the file, the IDENTICAL command is issued, i.e. SCRAMBLE filename.type password. This is because SCRAMBLE does an "exclusive-or" type modification to t  CDEFHGIJoKMLNQOPRSTU(!/ 7FJ2<х[]&?eݟvGi;Վijա@\:~|oFF|;G]_)V8L?7;>-GK]=jn-N'JJgj۫ȦE=f&Z&ZH_Zl# B?`;sizl^q З_M`f^޶ijEo뵢,GȠoEx8:;"{yѣx eal .zk>nd oANgNyMDћ~пoCEI3 l}qÇ}Q+j/ 2_O_^`S?6ur\?٩KI}xcᕽ+=rW:FڣkϏKz?ih:-d\n[ /)3)p4vJ(Y%7NJ2tF۩ӨK:N141撾sN _ҕd2MrL$vG#vGQZƸRx|I9|F)q=O>Q Ƨv;*7Q^Ͼ;ljk#E13Ddӿt6{L./ ώJ_#K? z<'oj o[boۿSx~Oh*[(B} P=(/pj?_3 D,>6 K"~&"ȦEw|xϾ;l_tLzڦGW8jl|V]]|I, ViV_#ϧSFNGi£ϏKʜƎt](Q?2y2Ӧ[4Z^i2_?QίӞJϯ(pR:-;M-_v(qrid#,Vn6۩|Nl4" ttY}Th\C_:+g4"5WSyqES,zv"ÆVf^}}da3("m'"|Zыٵٶק;یHѶ_ WVqыlzE6=.zGj"ne|CO#m(5Eow|)]혮[]w4uQ)<^Vux=3t](=eƧvңF{)]}cJY>})sy2^gjG)>fJ΅|хvqSCRMBL21.ASMV ! "$#%&'()*+,-.0/123457698;:<=>?@AB[ei12#G%dde[S}>cr'D׭i{S`w4ݚvG9ePy/5Lxjk]ʜB4ϋ̔5%/ 7w]hdERkr٩{ KѯͦfSKѯԽP[ѥ@Gk^jF;.type PASSWORD ; ;Where PASSWORD is any 8 character string which ;is allowable as a file name (i.e. no '.', etc). ; a ;file, and two same exclusive ORs result in the original value ;being returned. ; ;Command format: ; ; SCRAMBLE filename  ͕2KfmY*bye,y^{F9ovF~X(7 }BEy2psP5MP=*/XUωw^YW*6׹ Њ.,bye.^VKx7"32nE(Uyf=G#x?r>Ƹ6=4n鴩)ǵ) ң,{O+!89?֭k Rʃ}͎kRFy^5Ʋ_1V6ݷy]:Kn}L>?}u?gJWR8rR2F<ؗ(!#B-br;ͫfKf0ْY/zV+Fs5)#s2ϫ8!r*6׹6[2#xOQ ]x#){N7Bm{bP۞5 Զ'fm*54#P/r Զne"Զn5 t&(;t2(Vump.βr3B /+Zޥo̴"k3Bm{bP۞5 Զ'fm3l,Pyy]zi;u+uu+zE\Z79<n"Tϱ TlsEɏ)2ps~FyYg܊~}q5s,<;eiS&;tOz_JF@^Fyw.,DE; b鹞m>"Fy^etetVP/r3l[I?+4"KF\e#fӊw^B^lE^F&=7AvhVl?3ԻuZ#+hE^y\_<"N"+ӻuZɸL+_#Զ'fYBm{bPgPyy]zi;u+uu+VF"P/,5g+ʴL>zu-EO`|b]GƝtϕvq(Gkw+=weN&KF6{ۈ"==1EmOjLZ6|%`_C3{jt)X4ί5>ݷyM&Nu#^W+(Gi1O#]1"x}-iӗ(O>2k6^rGϖ TkhnVFsKz{륌F^|^t+G ĥ|G㴟'Ox~^O{҃22-Sϭrs"Vtsw~WN__΢IϯL x6εY.Bm{bրP۞e"",*54#P/r Զne"Զn5 Զn"hQbߺ4XCovkRP*O>2#i[#l:>+0}bj5>z.XCڤ=˓>#r˿OMGPεϷnov2Ԏ[י>!B}߅1<q*Gkw|oUY2jxY\|[uSbeV%bvF=tG'LNtߎ< ge bac t th power- on/rese scree tha say "...Typ RETURN. Now pu th syste dis i driv an th dis wit you documen i driv B hi RETURN Whe yo se "A>" ru DDT The us th comman t fin you documen?Z6G-?7&ez=7[PyQBFZE_2랛<?[m{bFFc{nF|^2z[-+\o<77^VowsF*6׹xnoEfZ~{M L^eYjp+%nkRF2-hmi2(B nEgrGת4V%ddeQ6DM܊~ip2g]hX-QigD__΢V= i memory I wil probabl b aroun addres 700 hex Us thi a 4l+7Lx"#sWYd ALLOC 4/10/82 by Ward C. ALLOC show bit map. ALLOC B: show bit map for drive B. ALLOC FOO.ASM show bit map, with FOO.ASM as "*". ALLOC 22 zap (temporarily write-protect) 22K of map. ALLO6JP%dde6˴"@%</,E 3}k ;D;S:7G`ûre Ս0ޕ+k/'\`_AxWe ݍn+kFxزa)k#\Y}uw XF-kn 0KrZBal˩aAmY}99!0˕5ؗӨd+)kFnY}}k !Ne յD e yݯn'2n-k~C - 22 zap "all but" 22K. ALLOC - FOO.ASM zap "all but" nnK, where nn = FOO.ASM size. Notes: 1) Typing ^C restores the original map. 2) If interrupted, ALLOC skips bit map and prints just totals. 3) Drive name prefix is ok^7XCyoW($I)2Go>2*"Gd *&"*z"*:/_B>0*#"ʙ ~™>1:<22zʹͻÀɷ#*yoxg!":PY)*)":'2="!lp $elp $z!~6 &0w0#w*!**{_zW:/o&#!`iʹ#͹ʹʹʹ͹ʹʹy/Ox/G {_{Z!6 #6 ! ~#j ¦ʗG(® 5×){_   K/bit; 0K dir. + 0K files + 0K free = 0K total. ?? t lesse degree haven' checke wit th neighbor yet! David Oates (408) 296-7199 (Letter Thi lette fro R Hunte More i th closes thin t "lette t th editor tha w hav rece% full `i) y2O:G5G +x2!5:O:>D5:<2xͻG Hx *c :)=r:ʉ=}:: ++ K to "zap" rounded down to whole blocks ++ $|g}o:2:*DM>x ive s far I i actuall addresse t Fran but a goin t us i her becaus Mr More ha severa question t ask David (? D yo kno ho t ge th otwz# \!l~# !e p#z.*+|&.H&."\>?2h>2Ô*DM=o&)))))^#x=}V#zʔ!e 6**#" s:O>2<[:ʳ!"*o"!]  "0:?T])))0o$::> 5> 5he newslette hear refere t a th meetin whic ha som goo materia o CP/ an WordStar? (? Ho ca w ge th update o th softwar Osborn supplie wit th computer? (? Ho wil th curren owmer ge thei equipmen up: "ALLOC - B:FOO.ASM" 4) "- " may precede or follow the operand: "ALLOC 22 -" $!9"c 1c :m-ʅ:^ ‡:]H-‡x2X !""! """"! 0"""">22&:\=_ }*6~##^#F##~###^#V   $< $<ge al th EPSO feature working? (? Ho abou Osborn puttin ou newslette itsel (with al o th abov answers an more suc a a approve lis o ad-o equipment suc a connecto fo regula TV etc. "Additionall. Th "othe newsletter mentione a th Nov meetin i DAT CAST an i i publishe si time yea b Wireles Digital Inc. 34 Swet Rd. Woodsid C 94062 Subscriptio rate ar $1 pe year. Fo informatio concernin update o yy ɠ sugges tha w i FO institut progra o bul pruchas o th highes qualit disk (wit rings an o compute paper s tha member ca bu the a discount Possibl Digita Del ca b th grou purchas place an FO memou software as you dealer. Yo shoul hav receive car fro Osborn Compute Corp askin fo you seria numbe an whethe o no yo ar intereste i th equipmen update Havin returne tha card yo wil nex her fro you dealber coul purchas fro th FO suppl a th grou discoun rate b havin thei nam checke of o th membershi roste ...". "Lastly sugges tha FO handl it librar b makin it ow copie o it ow disk an sellin the e wh wil advis yo o th retrofi procedure W a FO hav bee talkin abou havin worksho sessio t guid intereste member throug th procedure. Th User' Referenc Guid ha bee update coupl o time but i i stil no!9"l1l:]@ʫ*%2͜͜!2`$%"*l|L}L=> _UƐ'@'?~L}<=}<=#}aͦ~ ڍڏ>.?#}‚ͦ> ?> ?>|?^! ))))A0oñ2`-|- - -t-so-good I yo hav ver ol versio ( can' giv yo a eas wa t determin this) yo migh tr talkin t Osborn Compute Corp i Hayward M orgina cop wa missin th 4t chapte an afte callin Osborne receive newedated? (? Whe an ho wil curren owner ge thei User' Referenc Guid up dated? (? Ho an whe wil Osborn provid WordSta configure t tak FUL advantag o AL o th feature o th EPSO MX80FT D yo kno ho t   The DYSAN Corporation 5201 Patrick Henry Drive Santa Clara \\ \\ ____________\\_______________________________________________________________ _____________\\__________(Hwy 237)_____FT thin Byro McKa ha progra tha wil hel you Giv hi call. A Osborn Compute Corp newslette wil probabl b comin ou earl nex yea (1982). I referenc t you othe ideas le m sa tha als fee tha th "co________+_____________________________ <-- to Moffett\ t Hw 17 ---> Field \\ | \\ | !9"1̈́ !M~/w/w)9P>9,+..G̈́\> u{u$̈́*LaMyjy s0_> u> u 0 1 2 3 4 5 6 7 8 9 A B C D E F$ \\ | |<-- Great America \\ 5201 Patrick | | Pkwy. \\ Henry | | \\ Drive> u> u 0 1 2 3 4 5 6 7 8 9 A B C D E F$> u> u 0 1 2 3 4 5 6 7 8 9 A B C D E F$ |___ | N || -------->|XX| | ^ || |--- | | =====++==============+==========+====== o a Dysa Hal (Dec 3rd yo probabl go th fi anyway I no chec wit Ken o watc thi column. David Here is a map showing our new meeting hall.  | || Tasman | Dr. | | || | | | || Patrick | | | || He complet copy However th chapter replace whe receive m SuperCal wer agai improved understan tha a al ne versio i bein writte but don' kno whe i wil b available. A fa a implementatio o you EPSO MX80   d is the drive containing filename.typ and password represents an 8 character password used to scramble the file. The original file is replaced by the scrambled file. To unscramble, use the same command with the same password. For further infd line arguments. The remaining files were submitted by Jim Crowell. DU-V77 is a general disk utility permitting access to any track, sector, or byte on a disk. It is an update of DUU found on FOG/UTL.006; the Yank command and better help screormation, refer to SCRAMBLE.MSG. Squeezed assembly language .AQM files may be unsqueezed using utilities found on -FOG/UTL.003, .004, and .014. Jim Woolley FOG Disk Librarian January, 1983ens are new. Place DU-V77.COM in drive A. At the A> prompt, type DU-V77 See DU-V77.DOC for further information. LUDEF1 and LUDIR are intended for use with the library utility programs found on FOG/UTL.017. LUDEF1 defines the structure of 003, .004, and .014. Jim Woolley FOG Disk Librarian January, 1983 a .LBR library file. LUDIR displays a directory of files contained in a .LBR file. Place LUDIR.COM in drive A. At the A> prompt, type LUDIR filenam1 filenam2 where filenam1 and filenam2 (optional) represent library files (.LBR is assumed!9"1+SCRAMBLE.COM as of 12/30/82 $ :t Wx++ PASSWORD NOT 8 BYTES ++$!mm!#h\<–x++NO SUCH FILE++$ڨ0=͚Ö\<~x++ CLOSE ERROR - FILE LEFT IN UNKNOWN CONDITION ++$\). For help, type LUDIR with no command line arguments. SCRAMBL21 will scramble a file, making it unreadable/unusable until it is unscrambled. Place SCRAMBL21.COM in drive A. At the A> prompt, type SCRAMBL21 d:filename.typ password where7x++ READ ERROR - FILE MAY BE DESTROYED ++$!w,3:|=2|:h=2h\<”x++ RE-OPENING EXTENT FAILED ++ FILE IS CLOBBERED $>2|:j2j\x++ WRITE ERROR - FILE CLOBBERED ++$!w mitted by Byron McKay, permits a file to be moved from one user number to another. Place MOVUSER2.COM in drive A. At the A> prompt, type MOVUSER2 filespec # where filespec and # are as described above. For help, type MOVUSER2 with no comman  XXXXXX.XXX CRC = \<73++OPEN FAILED++$!"!"*|n _9\|!~2#"ͯC˜:> ::3++File read error++$*|):o|g}o" 0~#~> > _xDU.COM ver 7.7 7/12/81*." |2!0"*"g"q""""""4"m"v":v"Ë*."" DISK UTILITY ver 7.7 Universal Version Type ? for help Type X to exit h!~G###W> !#2**}|h!"*{zZ*BN*"  Ø!"**#": { 2h2|: !\  (:\2! \ (\!\ (\! \ (\<7=Ɓo& ͠>2l2m12n>2!"hQ:~, ~ ;# ]2+? -t =t<>#? AzCL DzFʫ Gʙ HzLqM'NʳPQR Sʙ Tʙ UVWe XYʒZ%/2 ?2 +++ Out of memory +++  Di(] (2h2|2 !!~$#~# x( : s*}M"> AB x<Q/ c[mmOÌw ~ ;]#AOy2:ʰ|^#V#"!~#fo**x|2 ``*"t!"v*#DMBK:=l*t>f f2Rx++ NO CHARACTER MAY APPEAR MORE THAN TWICE IN THE PASSWORD. '' DOES IN YOURS ++$=~# xm *  *t**v+:G}2r:G "p*2~:}2r-? o&"ph -*8"p2r} o2 bk:)=‚ :ro*ڗ ** #`>2~\  \< 2} ++FILE NOT FOUND =2}o&)))))2nS>:w ~# ~#k &w*#"{!"!~{~_#~{:[W#͵w*|s>*2"\ *{+"{|;*:G::ʵ*!W LAST ADDR=* "+|͇ }͇ 2 ++YANK MEMORY FULL : >D2 ~.5 6 ;6 ]# ~ ;#.#> 6 ~ U ;U -zͼ zU *v*to ~ ʊ ;ʊ -z*v+|¯ *t|¨ *"t*ï +"t*"vzŠ ^ *v#* *t#* "t!"v **t !W>2s :s.!W 2 ++NO "<" SAVE COMMAND ISSUED ~#Wɯ2Qt!#6 G~{:*h}ͼ 2*v*to !~#"h: G=*pDM{ >:w:r͇ >,w T=*t͞ , S=*v͞ , PS=*x͞ S~]# #-i #BKn ,H A~ ;  ڒ ~Ғ Ø k Û w"ͳ#yʯ *y ~ ; #~ ; , "j-{͇ y *j ~ ; ʁ-{!Qs~c~8 ? ? ? ?~k Bw,sͼ *v*to ++EOF++ S :2 ++Can't dump, no sector read. 2 Use G command following F, or R or S following T ~;  BK: o 2 ++Can't read - not positioned Position by: Track then Sector, or Group ͮ >>w:ʆ x͇ y͐  ڙ 0w ڧ  |Ğ {0w> w>*wQ~ m w#~ #-z{ƀ_ ; # `i}͇ :AT ~͇ } } {E #}% Q:Hʌ ~ d ~f >.w{u #}W SQ{ S{ ~;ʥ © Tʼ S GP n*8`>2 nz*o2 *ɯ2 ++BAD DISPLACEMENT (NOT 0-7F) ~#m~] ;,->#0:`AG0))))o6#~] ;,-#0:0bk)))o|gq :!#mOF . ڬw#wì+>*wìww> w!#ɯF+y*voͼ ! xl::-{EBK{ >-w> 2+*#}b|ʇ+Qʒz{{U { ͚E { ͚S*ph |~> ¬>(w~͇ #>.w:w~͇ ~> >)w ++FREE++ :n  Fn.t Find file Gnn CP/M Allocation Group nn H[ff,tt] hex dump L Log in drive Lx Log in drive x M[nn] Map [from group nn] (Type any char. to continue) N New disk P Toggle printer switch Q Quiet mode (no msgs`i:.+.* :$g:.&i"xDMɯ2 ++not within tracks 0-*͞ ++ `>2ʬ2 ++READ failed, sector may be invalid++ :2 ++CANNOT WRITE UNLESS READ ISSUED è2 ++WRITE fail) R Read current sector Snn Sector nn Tnn Track nn Unn Set User nn for Find command (CP/M-2 only) V[nn] View [nn] ASCII sectors W Write current sector X Exit program Y Yank current sector into sequential memory Z[nn] ed++ Operands in brackets [...] are optional Numeric values: 'n' are decimal, 'x' hex +[n] step in [n] sectors; -[n] step out [n] sectors # print disk parameters for curr drive. =xxx search for ASCII xxx from curr sector. C Sleep [nn tenths] /[nn] Repeat [nn (decimal) times] (Type any char. to continue) Cancel a function with C or Ctl-C. Suspend output with S or Ctl-S. Separate commands with ";". Example: g0 +;d;z#20;/ would step in, dump, aution: upper/lower case matters. Use for hex: To find "IN 0" use: =<0> or "(tab)H,0(CR)(LF)" use: =<9>H,0 < save current sector into mem. buff. > restore saved sector ? give help A[ff,tt] ASCIIsleep 2 sec, and repeat until control-c typed. All "nn" usage except "/", "T", and "S" are HEX. Use #nn for decimal. See DU.DOC for complete examples. yʿ#x}/o|/g#ɷ|g}o }o|gBKx! T]x  dump (Type any char. to continue) C Change: CHaddr,byte,byte... (hex) or CAaddr,data... (Ascii) Allowed for imbedded hex. or CHfrom-thru,byte e.g. ch0-7f,e5 or CAfrom-thru,byte D[ff,tt] Dump (hex+ASCII) :WL*.:^#"^#"~#2~#2^#"^#"^"!r~:w*} ""w ~wììʧ*  $6 S!#~ ʬw#8>^w>Uwà> w> w`_O > w:z€ ҟ ʟ ´:y ´>2z :z<2z:o*8"tBK*"v*t  Won't position under CP/M 2.x, but see = command below.) =string Ascii search, starting at current sector. hex may be imbedded, or used alone: To find "IN 0FEH": = Ignores bit 7 unless is used. L Re-logs in the curh a minimum of trouble. In fact, in al- most all cases, no changes to the source file should be necessary to get DU up and running. This is because DU uses the disk paramter block of CP/M to determine the characteristics of the disk environmenrent disk. You may pull out a disk, put in a new, and "L" just to log it in. Lx Logs in disk 'x', such as: LB Ux Logs user 'x' for next F command. Gives '?' error if not CP/M version 2.x. D Dump sector, hex + ASCII A Dump sector, ASt. (see the dis- claimer for certain non-standard versions of CP/M 1.4). The only parameter that should need to be changed will be the clock speed flag at 103H. Leave this byte zero if you have a 2 mhz clock. Patch it non-zero for 4 mhz. CII only H Dump sector, hex only note all dump commands (D, A, H) may be optionally followed by a starting and ending address: D0,7F is the same as just D D3,5 A20,3F CHaddr,val,val,val... change hex in sector CAaddr,char string... changThis is only needed for the "Z" (sleep) command. USE: Any valid command string may be placed as an operand of the original DU command, i.e.: A>DU G0;D;G2;=OK<1A>;D Functions supported: Tnn Seek to track nn (no read) Snn Positie ASCII in sector NOTE that may be hex imbedded in the Ascii: ca0,OK<1a> ----> Use W to write changes to disk. Note that the C command echoes the overlaid data for verification. CHaddr-addr,byte or CAaddr-addr,byte repeaton to sector nn, and read Gnn Position to group nn and read. G Shows current position V Views the current sector. (assumes ASCII data) Vnn Views nn sectors Fname print directory for file "name", then positions to its directory sector. (s a change + advance 1 sector (if below track 2, this advances to next numerical, if 2 or >, advances based on CP/M's normal sector scrambling algorithm, i.e. so + will get the next logical sector of the file - backs up 1 logical sector DU-V77.DOC by Ward Christensen with additional notes by Ron Fowler and Keith Petersen (revised 7/23/81) HOW TO USE DU ver 7.7 DISK UTILITY INSTALLATION: The 7.0 and later versions of DU are designed to be installed wit  be written sequentially into memory starting at 3000H, for later recovery by DDT, etc. Z Sleep - causes the program to pause, such as to look at a dump. Z is 1 sec. Znn is nn tenths of a second on a 2 MHz 8080. < Saves current sector in . ? Gives command summary # Prints the disk parameters M Dumps a map of the group allocations for files. Mn Shows which file is allocated to group "n". N Resets CP/M via the BDOS. This may make it possible under some implementata save buffer > Gets saved buffer. < and > may be used to move a sector to another place. / Repeats entire command. Defaults or /nn to "forever". NN may be 2 to 65535 multiple commands may be separated by ";" Example: the following coions of CP/M to change the disk format (e.g., density, sides, etc) R Reads the sector currently positioned to into memory. Note R (Read) is implicit in the G, +, and - commands, but N-O-T in the S and T commands (I did it because I was mmands will erase the b disk directory to all E5's: lb log in b drive g0 position to dir. ch0-7f,e5 fill with e5 < save the sector >;w;+;/16 restore, write, next, repeat 16 ----This could be shortened to: lb;g0;ch0-7f,e5;< >; tired of disk reading after T command before I had a chance to issue the S command) W Write back the current sector (N-O-T-E may not be used after an F command, as CP/M was used to find the file in the directory X Exit back to CP/M (Musw;+;/16 INTERPRETATION OF DIRECTORY DATA PRESENTED BY THE DU PROGRAM The following explains the format of a CP/M directory entry as shown by DU, using either the "F" (find file) command, or just doing "D" (dump) of the directory sectors, whict press return). Ctl-c was too easy to hit over modem lines, so I decided on 2-byte (X, CR) to exit. P Toggle printer switch on/off Y Yanks current sector into sequential memory and prints ending address. This allows sectors to h are located in groups 0 and 1 on a single density disk. ---------------- Sample result of "FSID.COM" command: 40 00534944 20202020 20434F4D 0000003A *.SID COM...:* 50 33343536 3738393A 00000000 00000000 *3456789:........* First line Note + and - may take an amount: for example, +F steps in 15 sectors. Note also that "-" issued at the first logical sector of the disk will wrap back to the last. Further, "+" issued at the last sector will wrap forward to the first  G+++~w*O "* w#!w#"*#"*"*|g}o"|/g}/o#*"!""*))T])9 *))T])  ڲ–#ˆ*#"*|A®}Ag> /O  Nwy#¿*|/W}/_*"ʖj:A2y*!*! extent-^^ || || || || || || file size in sectors-^^ || || || ^^-00 = file active || E5 = file erased ^^-displacement of line in directory sector Second line - 50 33343536 3738393A 0000i*!*!i*!*  9y2o&)T]))"*4>w#Uq !E"!5* %** %** % %* ">i:_:*6K#zOUGPQzz0w#)'0000 00000000 *3456789:........* | | | | ^---allocation group numbers-------^ END 000 00000000 *3456789:........* | | | | ^---allocation group numbers-------^ END #~1 %1~;K%|^#%1dM M0_% Oya0c> _%{/_z/W DRIVE: ENTRIES: SPACE USED: FILES: LEFT: LEFT: $Eavailable i $33.0 fo one-tim cop o th syste i it presen form o $93.0 fo one-yea subscriptio t includ futur syste update an utilitie a the ar released Th nex syste updat i expecte i earl 1982. Th !9"1E22!F#/~AQA2!@"!">2 :_:ʻ##~==2!)=j"#~2##^#V#"^#V#")))))*+:O|~ Ÿ/O* :=ʸ)ð"!\6# 6?#\;*#"_!~G:/O/siness. Ther i larg an activ MUMP User Group base i Washington D.C Numerou publication abou th languag ar availabl fro thi group includin tutorials. Th mai feature o th languag includ man buil - 40 00534944 20202020 20434F4D 0000003A *.SID COM...:* || ||| | || || | | || ||^----hex file name-----^ || || ^file name^ || || || || in ASCII || ||    mak i quic an eas t us it Chang <07>AUTOS i Trac 2 Secto o you dis t <03>D..... (period indicat ASCI zeros an i wil com u automatically (Us DU t d this.) Yo ca cal i fro WordSta (editin n file wit an ar addresse usin th prefi befor th variabl name Subscript includ numeri an strin values an strin subscript ar automaticall store i ASCI collatin sequenc (i.e alphabetically) Thi typ o dat structur  " d t chec you defaul dis fo spac o content (I list i th thre column an no sprea ou a WordStar' Fil Director does.) Tr it You'l LIK it. D.DOC A extende Dis Director progra bette tha bot CP/M' DI an XDIR.COM N clai t copyrigh no authorship. Us i o you Utilit Dis lik XDIR singl letter "d" call it I print o th scree thKent Walker Gettin tire writin CBASI program wit you ne Osborne-1 It' no th programmin that' wearin yo ou bu th constan changin o diskettes Firs inser th WordSta diskett i Driv an edi th Progra driv an th numbe o files th total o director entrie use an remaining an o spac use an remaining an listin filename an size i ASCI sequenc i THRE 16-characte column (al withi th 5 colum screen) Yo ca diskett i Driv B The inser th CBASI diskett i Driv an compile Afte notin you error (wh - me?) re-inser th WordSta diskett i Driv an star th whol proces ove again Surel ther mus b a easie way .. Th usuall lis th conten o disk i bot drive ( an B withou overflowin th screen Cal fo driv B wit " b (th colo won' hurt bu it' no needed). Pu " o Ke N wit th SETU program an " b o Ke 2 ter is Star wit newl formatte dis an PI th followin file t it: CBAS2.COM WSMSGS.OVR WS.COM WSOVLY1.OVR Yo wil fin tha ther ar N track lef o th disk. Yo shoul no fin i muc easie t t-i string- handlin function an balance tre dat structur whic allow dynami allocatio o storag spac - i.e i i no necessar t declar variabl type o t dimensio arrays Dis file ar calle globa variable o arrays  %I!ur΃\aӎJu:UMyl;R=\!nzwU7+?xf᳌J2NƖ\s2Xu6n*^ږ:Ͼ_p=j+n}]+u5 0j(r¤UU=lձŪy[&Ȼ={? $zq٪cU'.%)LU+)+_GEFHIKJLoMNOPRQTSUƬ)S 3m$:~/!toy0ce[6%;|+Xk$ꞂY ;rG4N䏛{,#âܓx]CЏ;ړ(SXٖ oɩjz[1JWPƍzCD1x5=dl{jQ'=6NS, rGLԷmk04L $M2y߱Tk0Sl{${ɦ PNT:0#t@{ݘfsH6޶7Wl*:f>|rt[L'ϒ$mg=@g=tA?bIYæ~6ѳA?btyAL$=6YrG5ZRIT5ha&m^aS?k0?[&r)w}d: LUSҭeIw'n';=l{=Z}0jY2EbnJ[jV~{Pn ^=NIH!ueYԞOWe$rG޸HJK66YԞg=l;'L݃!:m:mdtPey{G{~OʾNUce[w=;<+!:zS{YFLI-lm-tNN`Sqg}{د):V3:\ƍNIZh0!3#iE_Y0`ITVC"ރA#IU(SռRVI!;=|SR $x5Wd?ړ=,~+n7D'~$,f7O#N*6MSM@I쫄j~WS=?.רCqwFtȾ{#&N $JXٖ]OfC Su+W X9=5jiO}$:e\ 7ړèOAzUU=|v\CtȾNV&$¤'NYm}E\QK$JCqw\\$J뼒BWUkz!䎘8$Jg!:'#:=5j>I!uʸ.èOAzUU=|v\CtȾNvMOVUSER2.ASMV  !"#$%&'()*+,.-/0123546789;:=<>@?ABDC  c֮\6&z^WL&sW%vUa}%J%uE3M'L km٘[jV~t{$OJU {b <.ʶz2[<\=_ZlxUR[u`컚+aW*a>x{m~<<մx ?i7foy$}Ô{7MY쏞4ۄUce[!wC`컚+aP&$mOEg{k0x>; .>\e,fC ]J>[&JERfOBi{,v6$zN [8 lXWEВ ^C=6^6֑U|݃ߴ'8͢ݐC0پ!iDWw}6dkvxִ8!_Wj{0fqi̾_w{=UΦn{jpbLLm/=UMk8Sq`rE0)#Η{X-i5^A|)OE(vL),w7 =>4Y?k賈]oz[#+2ɆT5+a  =zSކ 0]Nh*̳M O{'|Vhγ:@B/ۍYSfaYԞ_S$"T5&AIKl^Bw!wi̾>WPƍXٖ]O䏛{,#jZD6Xj{=JLUVשjl'>[˒0]Rt~Ny:W=|vi7Dtx~ўOʾNUce[w=>;|$&{X}T/Xٖx5=ddc_{PZ?>NZe_%L  ɯ2_!_LbLrLLL :] *bad user number$ - file exists on destination user area - aborted -$no file name given$file not found$no destination user number given$w>2 _ Osborn Accountin Packages Thes ar publi domai programs Complet documentatio an usag guide ar availabl fro Osborne/McGraw-Hill. NOTE! Not yet configured for Osborne 1 ! 007-009 Documentatioɯ2_!$L MOVUSER2 by PAVEL BREDER 5/31/82 This program moves a given file name(s) to any user area from current user area. For CP/M 2.x only! A>MOVUSER2 TESTFILE.COM 3 (will move file TESTFILE.COM on drive A to user arn & Miscellaneous programs 010 Accounts Receivable 011 General Ledger 012-013 Accounts Payable 01 WordSta modificatio documen b Tho Hogan Fro FOǠ meetin on 12/17/81..... VERY Helpful! 01 Gea 3) A>MOVUSER2 B:TESTFILE 3 (will move file TESTFILE.COM on drive B to user area 3) A>MOVUSER2 B:*.* 3 (will move all files on drive B to user area 3) This routine and 50 others are available in CP/POWER.COM Call (415) 756-8060 for information.ame - Castle CIA Ques (al Adventure-like) Starlane Yhatzee Submitte b Mik Mehr. 01 Utilit program - Display Show Compare etc Submitte b Byro McKay & INFO-NET. Th $s on drive B to user area 3) This routine and 50 others are available in CP/POWER.COM Call (415) 756-8060 for information.!9"1*.*":] !m~ IA0 ?))) O *&1}12>2:\f=_\=+\Q  ~#Œ::\2>?2h2> > ·>.7:o :w>2 _ repor o tha i futur column. Wha d yo ge fo you sawbuck? A accoun number temporar password loca o nearb phon number User' Guide an fre hou o acces time Yo als ge fre hou o Do Jone whic benchmar programs. 00 Startre game printe pictures Epso printe tes program darkroo utilities. 006 Z-80 assembler and libraries Disk 00 throug 01 contai cod an documentatio fo th   +w# +6#!6#2w2x*s!>r<o&F=-/` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77bette qualifie ar challenge t writ abou you experience here also! Wha wil i cos yo t us thi information? Th hourl rat fo acces t Compuserv Informatio Servic (CIS fro no on i $5.00 Fo 1200-bau (fast!!a{   `OE!y6$ -7rBo&))T])))!y## !2 s#r!C ͐*### !4 s#r!f ͐*#### !6 s#r! ͐*#!8 s#r! ͐*!9"y4K͞+'+FÎr*y*w#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z #!< s#r! ͐*  !> s#r! !A9 CP/M Data Program Version 1.0 by C. B. Mueller 12/15/82 This program will print CP/M information based on your system size and attributes of the drive that it is run on. %x = CCP Start7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o Address %x = BDOS Start Address %x = BIOS start Address (Cold Boot) BIOS ENTRY ADDRESS %x = Warm Boot %x = Select Disk %x = Console Stat %x = Set Tra!9DM!͛`is#r͐###! s#r͐###! s#r͐###! s#r͐###! s#r͐###! s#r#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r ###! s#r͐ ###! s#r͐###! s#r͐###! s#r͐###! s#r͐###! s#r͐###! s#r͐###! s#r͐###! s#r͐###! s#r!W ! ! ͐! ͐! ͐+++!9 !_ ͐͐!s ͐i accessibl fro Compuserve' mai men bu cost extr mone fo acces t it stoc an busines information Sinc m interest haven' le m t us Do Jones don' fee qualifie t repor o it features though Thos o yo   slation Table Address = %x Directory Buffer Address = %x Disk Parameter Block Address = %x Disk Allocation Vector = %x DISK %c PARAMETER BLOCK TABLES Logical Sectors per Track = %dD Block Shift Factor = %dD Block Mask !& s#r! ͐ ͛!( s#r!͐  ͛!* s#r!B͐ ͛!, s#r!e!͐*/!0 s#r!͐*##/!2 s#r!͐*###/!4 s#r!͐*####/!6 s#r!͐*͛#!8 s = %x Extent Mask = %x Max Disk Blocks = %dD Max Directory Entries = %dD Directory Block Alloc = %x !9DM͐ /`is#r͐ #/! s#r͐?͐! s#r͐!9!y9DM! `i#r!3͐*/#!< s#r!V͐* /!> s#r!yT!A9 CP/M Data Program Version 1.0 by C. B. Mueller 12/15/82 This program will print CP/M information based on your system size and attributes of the drive that it is ru`ir!9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{c`in}%M! ! s#r! 6#6! s! s! s͐n}-¢! ^#Vr+s! 4͐n}0²! 4͐n&@}! o!! s#r! ^#Vr+sn`is{.! o! n on. %x = CCP Start Address %x = BDOS Start Address %x = BIOS start Address (Cold Boot) BIOS ENTRY ADDRESS %x = Warm Boot %x = Select Disk %x = Console Stat %x = Set Track Number %x = Console Input %x = Set Sector number %x = Console Output s#r! 4! ^#Vr+sn`is`in&}DFUʂXʋOʔCS 7͐~#fo|҂! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 Ú! 6Ú! 6! ~#fo! n&! ^#Vr+s~#fo! ͞ѯgs#rÃ! ^#Vr+s! ^#Vr+s~#fos!%x = Set DMA Address %x = List Output %x = Read Disk %x = Punch Output %x = Write Disk %x = Reader Output %x = Return List Status %x = Home Drive %x = Sector Translate DRIVE %c DISK PARAMETER HEADER TABLES Disk Parmater Header Address = %x Tran ^#Vr+sÃ! n}! 6#6! ^#Vr+s~#fo! s#r͐n}ʃ͐|ʃ! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s9͐6! ! s#r! n}! ^#Vr+s!|! ^#Vr+s! n}!0! sß͐! ^#Vr+sns{! ^#Vr+s͐! ͐͐! ͐͐! ͐͐! ͐͐ !8 ͐͐ !\ ͐͐! !/!$ s#r͐$|¬ !@ 6Aò !@ 6B!͐$!!͐6! s#r!@ n&! ͐ ! ͐ ͛   120 bau wit th Osborn Compute (OCC1) Th MX-8 mus b equippe wit a optiona seria interfac boar (Par Numbe 8141) whic allow connunicatio wit th Osborn throug th SERIA RS-23 por o th Osborn fron panel Th Os͞`is͐ ͐͐ )͐͞`in&#&7!9!9DM! n&|ͯk! n&|ͩ!9DM`iw#w͐~#fon&@}ʼ͐ ?͐^#Vr+snѯg`is#r}͐!9!9DM! n&|! n&! n&&*K͞+;;;'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z!9DM! n&|ͯ+! n&|ͩ n&7**DM:!R**   k > _ zx = List Output %x = Read Disk #%x = Punch Output %x = Write Disk ,%x = Reader Output %x = Return List Status (%x7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/ox = List Output %x = Read Disk #%x = Punch Output %x = Write Disk ,%x = Reader Output %x = Return List Status (%xx = List Output %x = Read Disk #%x = Punch Output %x = Write Disk ,%x = Reader Output %x = Return List Status (%x#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2rsen m som EMAIL Hop t hea fro yo soon Se yo nex month! EPSON INSTRUCTIONS By Larry Robison Thi instructio se describe installatio o a Epso MX-8 printe t ru a+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77! n}4! ^#Vr+s!|4! ^#Vr+s6 J! ^#Vr+s`ins`! ^#Vr+s`insA͐6!9!9DM͐n}ʜ! ^#Vr+sn&Wz!9DM͐͐ ͐^#Vr+s͐͐0͐7s!&7͐ ͐͐ ͉  K with %d K additional memory: CCP starts at %x H BDOS starts at %x H BIOS starts at %x H BIOS OFFSET LOAD = %x H When CP/M has been loaded with DDT: BOOT starts at 900 H CCP starts at 980 H BDOS starts at 1180 H BIOS starts at 1F80 H !yRV ]FI ]!vL;LT%ʼ];Lw\]b`o ] ]ͣR!6]bP0]bPL͉V *v1_^h__@_1c^ `y`!6p_L`1^p__y`C_!6`^_c^W:c5}^:{…^`͛^͛^T"!{j&~!x":6W0#9DM! `iJ `iͪ!9!y9DM`i! `iA !9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ʛ`in}%…! ! s#r! 6#6! s! s! s͐n}- ! ^#Vr+s! 4͐n}0 ! 4͐n&̈́} !  *7[*7[!!W_:c5_:t_>^`:+^:6!6^:6^26ͳ)1)ͥ"> ͜ `'_'_!tÏ^:6W0#w 7_||g}o&!9DM! ! !/ !? !s ! `i! " ! ! ! " |!ͳ !! s#r! ^#Vr+sn`is{.R ! ͳ! s#r! 4! ^#Vr+sn`is`in&}D~ Uʺ X O C SC o͐~#fo|Һ ! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ! 6 ! 6! ~#fo! n&! ^#Vr+s~#fo!  w#w͐͐?4! s#r͐͐! ͐!! ͐!6 ͐!K ͐ !` !z ! ! ! ! !9CP/M System generation calculator Ver 1.0 C B Mueller 12-9-82 This proѯgs#rû ! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sû ! n}V ! 6#6! ^#Vr+s~#fo! s#r͐n}ʻ ͐|ʻ ! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sq ͐6! ! s#r! n}! ^#Vr+s!|! ^#Vr+s! n}gram calculates CP/M addresses based on system memory sizes. If no additional memory is required enter 0 or CR. Exit with control C. Enter desired system memory size in K->%dEnter additional memory in K (CCS requires 2) ->%d For system size of %d  !0 ! s ͐! ^#Vr+sns{;! ^#Vr+s! n}l! ^#Vr+s!|l! ^#Vr+s6 EÂ! ^#Vr+s`insØ! ^#Vr+s`insy ͐6!9!9DM͐n}! ^#Vr+sn&ò!9DM! ^#Vr+s~#fo! s#r͐! !a{   `OE!y6$ -7rBo&))T])))!y8\LH]PL]MT]MB]HM\FM\PC\PO\SR\UJ\BP\CW\PA\CP\PN\OP\HE\FO\IG\PF ]OJ ]IJ ]LM ]LS ]RM ]CS ]DM ]SV ]AV ]RP ]DF ]  ! n&s!! n! n&+6!?! n&!9DM! n&|ͯl! n&|ͩ!9DM! n&͡|ͣ! n&A|ͣ!9DM! n&|ͯ! n&|ͩ !j96  #F#x~#w| ! 6#6! ^#Vr+s! w#w! n&! wͷ#|O! n&! n&! ^#Vr+sn&ͷ! s{ʞ͐ ! nѯg?! nѯg! s#rO! ^#Vr+sÅ! w͐ ~#fo! s#r! ^#Vr+sn! s{! n͐n}! ^#Vr+s`in   > _ $7*:wemory: CCP starts at %x H BDOS starts at %x H BIOS starts    > _ $7*:wemory: CCP starts at %x H BDOS starts at %x H BIOS starts }! ^#Vr+s! ns`in}<! 4͐6! ^#Vr+s `in}m͐n&! ^#Vr+s~#fo0! 4! ^#Vr+s ! n&`in}¸! ^#Vr+s~#fo͐ ͐?s#r! 4͐n}! n& ! n&!9!9DM͐͐ 0͐^#Vr+s͐͐0%͐7s!&{͐ ͐͐ ͉͐`is͐ ͐͐ )͐`in&#&{!9!9DM! n&|ͯگ! n&|ͩ!9DM`iw#w͐~#fon&̈́}͐ ?͐^#Vr+snѯg`is#r͐!9!9DM! n&A|7! n&>! n&&!9DM! n} ͝s! n} ͝s! n} ͝!9DM͐~#fon`isD|ʦ͐^#Vr+s`in&î!9!9DM! n&! sp|! n&s! n&̈́} s#r! 6! ^#Vr+sn! s{! n&D|8 ! n}%v! n! wh! n&s! ^#Vr+sø! 6#6! 6 `i6! ^#Vr+sn! s{*º`i4! ^#Vr+sn! s! n&}XODU SʬC?{! 6 ! 6 !   RV ]FI ]!vL;LT%ʼ];Lw\]b`o ] ]ͣR!6]bP0]bPL͉V *v1_^h__@_1c^ `y`!6p_L`1^p__y`C_!6`^_c^W:c5}^:{…^`͛^͛^T"!{j&~!x":6W0#7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o *7[*7[!!W_:c5_:t_>^`:+^:6!6^:6^26ͳ)1)ͥ"> ͜ `'_'_!tÏ^:6W0#w 7_||g}o&!9DM!̈́`is#r! ! s#r͐! s#r͐-! s#r!͐!!͐͋#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r! s#r!B ! B ͐!A B ͐ ! s#r!e B ͐  ! s#r! B ͐ ̈́! s#r! B ! w#w! w#w͐͐͐ ͐!!͐͋! s#r͐! B ! ^#Vr+sÍͩ!9 Logical to physi+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77cal sector translation program ver 1.0 C.B. Mueller 12-16-82 Disk Parameter Header address = %x Translation Table Address = %x Disk Paramater Block Address = %x Logical Sectors per Track = %dD logical= %2d physical = %2d !9DM͐ ̈́!a{   `OE!y6$ -7rBo&))T])))!y8\LH]PL]MT]MB]HM\FM\PC\PO\SR\UJ\BP\CW\PA\CP\PN\OP\HE\FO\IG\PF ]OJ ]IJ ]LM ]LS ]RM ]CS ]DM ]SV ]AV ]RP ]DF ]`is#r͐ #̈́! s#r͐?͐! s#r͐9 !9!y9DM! `ig `i !9!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{ʸ `in}%¢ ! ! s#r! 6#6! s! s! s͐n}- ! ^#Vr+s! 4͐n}0*K͞+'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z   n&7**DM:!**    > _ vsI"7 KsI?I*7ͣH͎U n&7**DM:!**    > _ vsI"7 KsI?I*7ͣH͎U! ^#Vr+s~#fo! ѯgs#r ! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s ! n}s ! 6#6! ^#Vr+s~#fo! s#r͐n} ͐| ! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sÎ ͐6! ! s#r! n}/ ! ^#Vr+s|File: LUDEF1.DOC Date: 82-11-04 |Replaces: | LUDEF.DOC Dated: 82-10-31 From: Gary P. Novosielski To: All LU users Subj: .LBR format definition | This file is a revision of and obsoletes the previous | version. Revised material is !|/ ! ^#Vr+s! n}& !0) ! s ͐! ^#Vr+sns{X ! ^#Vr+s/ ! n}ʉ ! ^#Vr+s!|ډ ! ^#Vr+s6 b ß ! ^#Vr+s`insõ ! ^#Vr+s`insÖ ͐6!9!9DM͐n} ! ^#Vr+sn&ͬ !9DM͐indicated by a vertical | bar (|) to the left of the text. 0. Introduction There have been several requests for a formal definition of the format of library (.LBR) files as used by the LU Library Utility program and the LRUN command-file load͐ A͐^#Vr+s͐.͐06͐7s!&Ì͐ ͐͐ ͉͐ `is͐ ͐͐ )͐ `in&#&Ì!9!9DM! n&|ͯ! n&|ͩ!9DM`iw#w͐~#fon&͕}͐ ?͐^#Vr+sn-and-go utility. Well, better late than never. I hope that this definition will allow other programmers to make effective use of .LBR files in their programming without the need for detective work or guesswork about the library format. Enjoyѯg`is#r͐!9!9DM! n&U|H! n&O! n&&!9DM! n&|ͯڀ! n&|ͩ n&7**DM:!**    > _ vsI"7 KsI?I*7ͣH͎U. 1. Library Overview A library is a disk file which is assumed to be logically divided into one or more subparts called members. The library have any filename and filetype, except that ".LBR" is considered to be the default filetype. P ! 4͐n&͕}$ ! ' !! s#r! ^#Vr+sn`is{.o ! ! s#r! 4! ^#Vr+sn`is`in&!}Dʛ U X O C/ S` Ì ͐~#fo| ! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ! 6 ! 6! ~#fo! n&!  ole number of 128 byte sectors; |i.e. each sector of the file belongs to at most one library member, and no member has a fractional number of sectors. A member may have 0 sectors. | Members may be referred to by a name of up to 8 characters, |and which are normally allowed in Random Record files. A library can therefore be safely treated as a sequential file if desired. This allows copy programs, compacting programs, and remote transfer programs to process the library sequentially, and an extension of up to 3 characters. The naming rules |are identical to those for the naming of disk files. The start and end points of each member are defined by the pointers in the directory entry for the member. There are no embedded start o to safely make the assumption that the first occurrence of a no-record-found condition truly indicates the physical end of the library. 3. Internal Organization A library must contain at least one member, the directory, and may contain anr end marks separating the members. All sectors between the start and end sectors of a member belong to that member. 4. Directory Format The directory is the first member of a library, and must begin in sector 0 of the file. It must contai arbitrary number of other members, up to |the limits of file size imposed by the operating system. The |library may also contain unused sectors which are not assigned |to any member. These sectors may occur as a result of the |deletion of members, on at least one sector, and may contain an arbitrary number of sectors. The directory is composed of entries. Each entry is 32 bytes in length, so that the number of entries is equal to four times the number of sectors in the directory. The numr of an unsuccessful add operation. | There are no constraints on the contents of members, except for the directory, which is always the first member in the library, and has a specific format defined later. However, each member must comprise a whber of entries determines the maximum number of members in the library, one entry per member. All entries are initialized to one of three possible states: Active, Deleted, or Unused. The first entry is always active, and is the entry corresporograms must assume and may optionally require the .LBR extension on any file which is to be treated as a library. 2. Access Method Libraries are normally treated as Random Record files by programs, but must never contain unallocated "holes""  st. To begin reading at the start of a member, this value is loaded into the Random Record field of the File Control Block. 14-15 Length The length of the member in sectors. Stored as a two-byte binary value, least significanthe directory must also be tagged as unused. However, active and deleted entries may be mixed in any order. Finding a deleted entry does not guarantee that all active entries have been scanned. 5. Directory Entry Format The 32 bytes oft byte first. If this value is zero, then the member is null, and the Index field (above) is meaning- less. 16-31 Filler Reserved for future use. In unused | and deleted entries, and in the first | (directory) entry, these byt each entry have the following significance: Byte Meaning ---- ------------------------------------------ 0 Status Possible values (in hexadecimal) are: 00 Active Entry | FE Deleted Entry FF Unused Entry Any other value shoues are | garbage. In all other active entries, they are explicitly set to binary zero. Any future enhancements to the .LBR format which use these bytes must recognize this zero value as a non-error condition to allow a library ld be treated as | a deleted entry. 1-8 Name Rules are identical with those which govern the naming of disk files. Names shorter than the maximum are padded with spaces. No two members may have the same name. The name of the  created with an old version of LU to be processed by future versions. |Notes: In unused and deleted entries all bytes except the | Status byte are undefined. | The contents of any data sectors which are not | assigned to an active member directory member (first entry) is all spaces. 9-11 Extension (same rules as Name) 12-13 Index Pointer to the first sector of this member within the library. Stored as a two-byte binary value, least signifi- cant byte fir are not defined. | They remain allocated to the .LBR file, to provide | for sequential processing, as noted above, but no | assumptions should be made as to their contents. | These sectors are eliminated from the library when | it is reorganized. nding to the directory itself. Unused entries always occur after all active and deleted entries. If the directory is scanned beginning with the first entry, and an unused entry is found, then all remaining entries from there through the end of #  hone: (201) 935-4087 Evenings and weekends CompuServe: [70160,120] EMAIL or CP-MIG End of file. ambiguities or contradictions in these specifications, please feel free to contact me. Gary P. Novosielski Voice p!9"y4K͞+88W'+FÎr*y*w#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o 6. Conclusion If there are any further questions, comments, requests, etc. regarding library format, or if you note any ambiguities or contradictions in these specifications, please feel free to contact me. Gary P. Novosielski Voice p$  !"S͐G!, ͪ!A ͪ!^ ͪ!} ͪ! ͪ! ͪÈ! ^#Vr+szʈ! ^#Vr+s~#foͭ|xͰÅ!:! ͡G Press CTRL-S to pause; CTRL-C to cancelCopyright (c) 1982 Gary P. Novosielski82-11-14Library DIRectory Ver:%d.%+w# +6#!6#2w2x*s!>r<o&F=-/` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:7702d %s %s %s Requires CP/M 2.0 or better Correct syntax is: LDIR []... where , , etc. are library names. Filetype .LBR is assumed if not specified. Ambiguous names are not allowed. %s not found on disk.  vä!a{   `OE!y6$ -7rBo&))T])))!yV5:=b#:=#:$=2#v+:<"(">6͋5:&=͋5#*&=|"M1Ϳ5#>6͋5:&=͋5>#͋5>6͋5:'=͋5#*&="<(#>͋5:&=͋c!9DM͐ ͐͐͐ !3 For help, type LDIR alone.n f  ivm !9DM*N}ʙ *8S #|™ !:!I V >2N͐Y | ! ͐\ #| ͐!b V ͐!:_ !.͐\ #| !x !:b !5>s͋5>@2=#R1Ϳ5#(,#:==2=)(@#>s͋5#͘(Y#X1:>͋5:&=͋5c1Ϳ5#f1Ϳ52=#(—#>͋5:&=͋5>{͋5c1Ϳ5#(#:$=µ#>}͋5c1Ú#:$=;-͘(#>&͋5͋5f2Ú#:$=$v+è":!:e "8#|& !:!} h k + !>2N*Q*O! h ! Can't close library: %s Bad library name: %s.LBR Library: %s has %d entries, %d free:ð ív!9DM*S"U! s#r! s#r*O*Q! s#r! ^#Vr+szU *U "Un}=$,v+2#:$=>$$>͋5v+>͋5>@2$=2#*="<1Ϳ5:=2="<|s$}d$[2Ϳ5z$g$[3Ϳ5>G>)͋5$#͞*D)͏,Ͷ,v++4ʱ$óvR äP ä !9DM!!!!!!͡! ͤ ! ͧ>2NG ͐)| !  ! ͧ *U`iͪ `i! ͭ ! ^#Vr+sR ! ^#Vr+s *O*Q͐! ^#Vr+s! ͭ ! ^#Vr+sÉ !9%-8s Active entries: %u, Deleted: %u, Free: %u, Total: %u. !9DM! ^#Vr+sn`is{ `in}* `in}?#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r%  ! s#r͐! s#r! ^#Vr+sn`is{6`in}% ! ! s#r! 6#6! s! s! s͐n}-u! ^#Vr+s! 4͐n}0…! 4͐n&}ʢ! å!! s#r! ^#Vr+sn`is{.! ! s#r! 4! ^#Vr+sn`is`in&}DUfod*S~#fokp })s *S~#fo+*S*8y *S~#fo+d!  !*S~#fok"O"Q*S"U*Un}ʰ*Q|ʰ*Q+"Q*U "UÊ no directorya bad directory!9DM! w#w`i6#6͐ +UX^OgCʭS ͐~#fo|U! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 m! 6m! 6! ~#fo! n&! ^#Vr+s~#fo! ѯgs#rV! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+sV! n}! 6#6! ^#Vr+s! ~#fo͐n&|g}os`i^#Vr+s`i6#6͐ Ґ! ~#fo͐n} XÐ! ~#fo! ^#Vr+s! ~#fo͐ns`i^#Vr+s2! ~#fo n} ʽ! ~#fo! ^#Vr+s6.`i6 #6͐ "! ~#fo͐n} "! ~#fo! ^#Vr+s~#fo! s#r͐n}V͐|V! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s ͐6! ! s#r! n}­! ^#Vr+s!ҭ! ^#Vr+s! n}ʤ!0ç! sr͐! ^#Vr+sns{! ^#Vr+sí! n}! ^#Vr+s!! ^#Vr+s! ~#fo͐ns`i^#Vr+s! ~#fo͐6͐:!9Iò!9DM!! s#r͐͐~#fox!&! ^#Vr+s͐~#foF`is#rzª!&*S|¹͐"S͐͐s#r!&!9 !run out of memory!6 ! ^#Vr+s`ins3! ^#Vr+s`ins͐6!9KE!9DM͐͐ қ͐^#Vr+s͐ ҈͐0Ð͐7s!&͐ ͐͐ ͉͐H`is͐ ͐͐ )͐H`in&#&!9!9DM`i9DM`i6 #6`i^#Vr+szg͐n͐ nѯgW! s#rzN͐ n}?N͐m! ^#Vr+s! ^#Vr+s !m!9ä!y9DM! `iy`i|!9êí!9DM͐n}! ^#Vr+sn&ͧòE&!h9DM! ^#Vr+s~#fow#w͐~#fon&}B͐ ?͐^#Vr+snѯg`is#r͐I!97:O* #7,2q*&:q):ʥ=ʥ=r:qo&   > _ 7:,*:= ! ! !9!9DM`iw#w͐n}^ ! ^#Vr+sn! n}R ͐d `i^#Vr+s' !d !9 C# !p }“ s !!*8v !*S*8y +| !*S| | *S ~#fo| *S~#fo| ! *S~#&  LE: SCRMBL21.COM CRC = 09 D7 --> FILE: SECTRAN .COM CRC = 71 AD ---------------------> SUM OF CRCS = F9 F3  --> FILE: MOVUSER2.COM CRC = C7 E3 --> FILE: SCRAMBLE.MSG CRC = 71 93 --> FILE: SCRMBL21.AQM CRC = 7D 74 --> FI*~#+w# *!9~!0:,!9~o&a{_o~#+w# *!9~!0:,!9~o&a{_o --> FILE: -FOG/UTL.019 CRC = 00 00 --> FILE: ALLOC .COM CRC = E6 8D --> FILE: CPMADR .COM CRC = 53 E9 --> FILE: CPMCALC .COM CRC = F9 00 --> FILE: D .COM CRC = BB 57 --> FILE: D .DOC CRC = 8C 16 --> FILE: DISK .DOC CRC = 05 69 --> FILE: DU-V77 .COM CRC = 78 7C --> FILE: DU-V77 .DOC CRC = 68 56 --> FILE: DUPUSR21.AQM CRC = DE 4C --> FILE: DUPUSR21.COM CRC = 44 75 --> FILE: FCB .COM CRC = 98 06 --> FILE: LUDEF1 .DOC CRC = F2 A0 --> FILE: LUDIR .COM CRC = 7D 2A --> FILE: MEMMAP .COM CRC = 47 F0 --> FILE: MOVUSER2.AQM CRC = F3 E6 --> FILE: MOVUSER2.COM CRC = C7 E3 --> FILE: SCRAMBLE.MSG CRC = 71 93 --> FILE: SCRMBL21.AQM CRC = 7D 74 --> FI#*!s#r!^#V7:)~:,"s!"u*|*uR**s!ѷʉxO! ! ~„6*u*+"*"*u#"u*s! N#Fp+qE *+*|/g}/o#9#"z{7**~#*7*'