IMD 1.18: 5/11/2012 20:07:57 modem-transfer programs    1>Ӏͮ !ԯ2>2>,2:%8:<2>2:Ӄ>Ӏͮ :Ӂ:8ӂyӐ>Ӏ>= ۀO z(ۀO G ۀ( ۀG :<2:=2">= ۀG Z :Ӂ:8ӂyӐ>Ӏ>= ۀO z(ۀO G #͘*~ "ַ"͌#>?͌͘ =_.:;<> Oօo$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6"  ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇ ٯw4!Y~ʆ͌†t=ʆf ^ T ٯ2o&)|+!<ͧFwܙܥܫܱ"C{2!"E9"1A߯22!ty)K!G_^#V*Cސ~E ,&-AGMSߛ!!ô!ô!Bdos Err On : $Bad Sector$Select$File R/O$:BA2!~62E>! ^#V w#P:BO|^#V#"##"##"##"!O*!O*|!6ʝ6>*w#w*w#w'û*! J*""!N#F*^#V*~#foyx*{_zW+*"**#"͕: 2Þy<_WyOxOxG* ~V5dw^ :ʈNÎ N#Fyʝ*}|\#u*#DM*6# x±**s#r͡*6#6^>:A߾#~$=2Ek͌\X COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<ԯ2#~?  xDIR ERA TYPESAVEREN USERFw!yO#< Ty#O 3ׯ21y_͸2y2ͽ:Է˜1͘A͌>>͌92^ :۷¥.!_~#fow]٭ڎڥ!v"!çREAD ERRORçNO FILE^:۷ÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Yڸpsp2mÆÆf ͧÆFILE EXISTS _: É: :۷ʉ=2)ͽÉ T!@k!}|q O͐  :߷E B 2>: ߷b# : ߷y! 4 5~yy5 6yҐ^H@Oy H H: –ͬ  #H: ! ߾ Hù H H $O͐: 2 *CN# yx#*DM*s#r*s#ryOxG*0MD!!N: EG>O: \S*C :qn& ^#V>O^"*}:*)=":O:页o"*C *C!ͮ~2~2ͦ:2ͮ:O:w:w |g}o*鯆# ::/GyO>2!q*C"͡ʔ*JҔ^:Oyʃ?|x | s-|N-# S:2E!~Яw>T D^6k-äPYy 5*{zBK5Ľʖ:=2–!B!6#5ʖ:۷Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(! ! ~ 3#0 Wx x ր ւ G ~ # 3x~#B!Y~ɯ2:۷=!۾ý:۷=!۾:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x =qf^!~2>`~2ۯ2\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOADCOMf^: !۶ Â$$$ SUBx: 2 p&x~+é7ݯ2 H! >w_: ! ߾5ͤNkͱ¦ͱxʊ#Nx: ߷! ߖ2 ͤ! 5™#wO~x½p Hy<< ʑ :!qMD# ):BO!yoxg*:BO}!N#F "*#*s#r^ ~!J! J*:o$*C~i6iw**{#zr+s{ozg**͕** ,w͜͸Ͳ!!N#F$**O!~#ڋ>*Cw~#+w#w+ɯ2E22i^ *C :~w~͔͔# #     w ~>2!E5T*C!"C"C!w# F! w͌x2͢*C ~<wʃG:!ʎì 4~ʶ¬:<ʶ$ʶïZͻx>2>2ͻ:!Z2:E߷ẅ́͊Ͳ>s+p+q-*C ͥ!!q#p#w*:BOYG}*MD "ã:!B߾w!>2*C~=2u:B2~2wE:A*C߶w>"!""2B!"!rQQQâ~?ͦ~?rQ*"CQ-Q͜QüQrQ$Q*PD AUTOLOAD ȸ³$ $͝ ,I$I$D[^Ms1͚{M>02>2>2!+| >2>2>020ú2:(c) 1983 TeleVideo Systems2>2Z(:(ɯ=:, 2+]y2"8!! ~O!  ^#V~2~<2!C#y2%C5`i:">Я2->2423>2:">Я24y2 !!-:-(2=2-:"!. %*/͝ :%!1 4N: 6!/4232-<2322:%2*!+F(7:22>= CS">2ۀ22 :  xG 222*[K(͹ *[K>ӀӀ:&G: :2wG>G:2Ӑ> 2>Ӏۃ:2 ۂӁ8 !~5 :2>Ӏ>Ӏ>2:&A2!0! 0: !o!t0)|8g,d ɯB)< 0w#~#Oͱ ͱ ñRw#Vw 80!91> >Gy !!x N#Fɧ)11:G:"S22>2>3>331>32> >!>"!:O22>2T*CGͻ:ẅ́n>2;O ^DM;}H>"*C ::ddslO s#r:E߷͊:==»y==»*Ww#*"͸*:G#š"͸:!w4!iw:Z!E~=26):B"*)*)Q;*"E:;:A2AQÓQÜQ*C}/_|/*W}_*"}o|g":ʑ*C6:ʑw:2E**E}DQ>2, Inc.1>22+)!"5b>,2o(!0͹<*5"5!%4:= >2!"5>222(20!"!"!a")!~"1!"22t>!w:OڪyO: 222?2@::?!@>>(:?_<@82?!A~ݦ>!91"!& *'͝ :*!)(@:,(͸:2(2+>2:2:"2&*#"':*2):3ı:2 ӯ2,:%g>o*5:4 >2,: :2(2,͸:2,([#R:&O! ~ͥ=ÿͥ=>>2!6#~6:Ӑ !d+| :&!ą:)ڻ:2Ӑ:!G:2F!:0N#F#շR,}O~W_:( O{G_!__#Y^!^#Vs10G:>ʎx!?@A >2{M9s1*]#"]!:( <2 >2`` 3$ ,)8%%( ~1+(~28:Gy**>3>32|}z"S ʧ.l..w+sB1B1G!~ x5x/(2!5xX(~! 'O N#FS S * " * [|"R* [|"R!6>2{BM!"!"!2*C!!~~#~O~G#n,-.‹! w! yG!x͢.:E<ʄ! q!pQ:E<. ʄ$.:E<ʄi6}2ExN! ~态O>G~G!~G} *C!r#r#r ^ͥ_y#x#{Ëùñ)]bgoËl 020213/,1302/,1313/,/,/,/,/,/,13d-;v++ + +  +  +++2 L3 >~,( OxG>=->>(Nxݦ~,(O>yx$$(ɯ=!O .>>Q;(zݦNy!t:u>#Q:uG_!t4#( Nxݦ('{ T(N>yx(8T(zݦNy~(8wQ(Nzݦy#(Nx >2  >)<2ۃ> 2’:'Ӂ:ӂ!:o(|8pӀ>= ۀOz( ۀOG >Ӏ>= ۃÒۀ(  ۀ( ۀG 22 :2!5(~(>Ӏ>Ӏ:2Ӑ:)ہo:'( Ӄ>Ӏ(! +|>= ۀ22G 268 6 {M6#~'w#~+#~+  (0!͢+͢###͢+͢!͢+͢+͢+͢:!Ͳw+Ͳw!Ͳw+Ͳw!Ͳw+Ͳw+Ͳw+w2~ͫ~0O:=2>Ӑ2P:&A!w['!' :)_!5!0O!G:(p4~p *x(( ! F!@~<@ +( #^w#p>2sB1B>033(1>3>2{BM !" Bios Error: Boot Failure -- Hit any key to retry. Bios Error: Restore Failure -- Hit any key to retry, Ctl-C to    abort. Bios Error on : Track = 999, Sector = 99 FDC status = >H Bios Error: Drive Not Ready. ReadWriteRestoreUnknown Check the disk in drive "4", and close the door. 9HP/*9>29/r3##^#V(5ʨ3ʨ36+ Ý36++*9*9!3/"9"9295375-̈́5. 3*9*9/*9+ó/}_|W:^8žX%:v1:Z2!P|G^: ͛W: ͛_>(>$ >!>(> >)z*{+>): ,>->.!!!"!91>H?4>5!*9*9*9!!1/>29"96 1:91x1*9##~#1+ð/5!27511@21A31B41C51D61E71F81G91H:1I;1JG1KH1LI1MJ1NK1O<1`=1a>1b?1c@1dA1eB1fC1gD1hE1iF1jL1kM1lN1mO1nP1>͚!02+2,22>2Ӑ>Ӏ!.22>&>(> >(> >(> >`(> > !͓|͓~O͓#  ͓͓ TͱG>' TeleVideo System TS-803 V1.1 (c) 1983 TeleVideo Systems, Inc. 60k CP/M version 2.2 o #Æ2!ɷ} ­2##^#V64#"9~(wͰ+"9A. ,ʽ2w+295*9*9#s#r*9P,!7< Ͱ+6+6"9+d. { ʎ3;ʎ3,ĤU ͓͓ TͱG>' TeleVideo System TS-803 V1.1 (c) 1983 TeleVideo Systems, Inc. 60k CP/M version 2.2       BZ1ITEMSDATbcdfhijkBZ1ITEMSDATlmnopqrsDDT COM&+,-ZSID COMP6789:IMDMTV3 COM;<=>?@ABMODEM7 COMLMODEM7 DOCyCDEFGHIJMODEM7 LIBjCNFGKP2 C `IDIMDM C IDIMDM C Y !"#$)BZ1ITEMSDATetuvwxyzBZ1INV TXT{|}BZ1INV TXTBZ1INV TXTBZ1INV TXTy 864-0516H=HUG CBBS 671-4992I= J=Jim Jones CBBS 759-7005K=Kelly Smith 805-527-9321L=Logan Square RCPM 252-2136M= N=NEI RCPM Chicago 949-6189O= P=PalaX >2:%G:xCʂ M=$>2%:%Eʢ TXS RV D!:%ʕ:] t>2%/2MÕN͋&&!("&>2%x̓G:%>2%x!̝ʕG:xʍ̅:%:M/2M>2% TYPE "A" TO RE-ENTER NAME: ͍̓k^AʭRD ]ʅM ]ʰ@@ ++FILE TRANSFER COMPLETED++ @ ++FILE TRANSFER UNSUCCESSFUL++ @ ++ TRANSFER CANCELLED ++ 6# 6 #6#@ ENTER FILE NMODEM741HEXegMODEM741HEXMODEM741SET~MODEM803COML MOVIT803COM@%&'(PIP COM: SETUP COM4SQ COM{./012345BZ1ITEMSTXTRBZDATA DOCRBZDATA DO0BZCUSTR4RPT uBZINVR3 RPT'vwxBZCUSTR0RPTyzBZCUSTR2RPT{|BZINVR4 RPT!}tine RCPM 359-8080Q= R=Bruce Ratoff 201-272-1874S=SYSOP RCPM Syst 313-885-0506T= U= V= W=Ward/Randy CBBS 545-8086X=  !•ʕk:MIw#"&G:x4/> >>:k:=PÕÕ>2N2OCU!(ʇ:Nw#kʇ:Ow#k>:&-:ʦ$ʦk:Mw#"&W:z/æ ¦>:kæ:&-*&:=•@ MEMORY AME TO BE TRANSFERRED - C/R TO QUIT:  &v"^ &! ͭ#  !~l xf ̓#R m k@ ++FILE TRANSFER UNSUCCES ! xʢ ̓G:x ̅ʢ kâ kâ ͚:% >2&: &  TERM COM2LMNOUSQ COMOIMDMTV3 COMKPQRSTUaIDIMDM H +*VWIDIMDMBTC 3XYZ[OS H \FNAMEFIXC ]^IDIMDM CHR_BZINVR5 RPT)BZPROD FRM BZINV FRM7BZCUST FRM E},-.//D""#,2&A=ABBS (GM) 475-4884B=Ben Bronson 955-4493C=Calamity Cliff CC 234-9257D= E= F= G=Game Master  Y= Z= !9"&1& MODEM 7.4.1 as of 06/27/83 Originally Written by Ward Christensen Revisions by Mark M. Zeiger Further Revisions For TeleVideo 803 by J.C. Love $ >2%/2M:%SAVE BUFFER FULL Õ:$ !7 x$6#}l&)>o(&+|X&!&!\& y! !l:& 1 ; 8@ ++FILE DOES NOT EXIST++ @TYPE "R" TO RETURN TO MODEM >B2%>3:] ʣP͒H C2%;:%ZUg/ " >gH 32%͚:%w >2& ҂ >B2%3:] ʣÈ ͘ N:%½ :%ʽ @FILE OPEN, READY TO RECEIVE :%> >C:% @CRC in effect @Checksum in effect     C (t3:%< @AWAITING NAME NAK Pd>!&5` *&\ y"&g >7 !]~:%~kڧ } #o >:%^Q >u:% @CHECKSUM ERROR Pd>h >!\:% @AWAITING FILE NAME 6Kl!l6\:\< 2h:w>2!\ :\2!\ \ë!\ \!\ \<7´2=Ɓo& ] 2h2|w#~w\!\l y~# x`m/<:%:%@ ++ BAD SECTOR # IN HDR z2%>2%!1`mw,M:%ʏQ2%1`m:%G:%<1`m‘ ~:%ʸ:%@ ++CRC err++ T:%:%@ ++ CKSUM ++ T>:%#\*}"%!"}\<3TCAN'T OPEN FILE$:%?:%@FILE OPEN, SIZE: *%͖@ (ͺ@H) SECTORS \2%y2%! !% 6# %:%*:%R%:%2%:%š:%s!]Uyy@ TRANSFERRED :\2&!\:&2\!%%y:& V >2 &2%/2M:%ʴ:%@ ALL TRANSFERS COMPLETED :%*@ ++PRESS RETURN TO DISCONNECT++ COUNTERED. TYPE Q TO QUIT, R TO RETRY: ̓^͍RQ~MQ#A O@:%*>Q2%~#y:ȯ27͠1! &~!&ð@ WAITING FOR DIAL TONE >0d@ ++NO DIAL TONE AFTER 10 SECONDS++ 7 !8*Ͱ   7!]K :%H @TIME OUT RECEIVING FILENAME Ä ʮ o w:%~k>#}ʄ  :%^yʮ !\:%ʥ @CHECKSUM ERROR Ͱ ڥ  >7>2 &2& !*g"&t !\'ͭ#* :f *&\ y"&!&ɯ2%2%:%9@ AWAITING # *%#͖@ (ͺ@H)}: &ʆ2 &:%†Ҏ@ ++Switching to CHECKSUM MODE++ >C2%>1`m97G:%ʰ:%@ x@H RCD, NOT SOH >:%<2% :%:%tT(@ SEND # *%͖@ (ͺ@H)>:%:%/>2%!~,H2%yz{yG:%ʘ@ x@H RCD, NOT ACK :%<2% :%ʰ:%ʵ7T CAN'T SEND SECTOR -- ABORTING $:%ʘ@ TIMEOUT ON ACK Øx̓*'"%Ò*%!w"%:%<2%:%O*'\\! 12%!*'"%TERROR WRITING FILE $:ʊxG: 6!ʮŠ7:ʽ 82%O:%:%:%):%:%:%)  @ ++DISCONNECTED++ lͽ>C2%>2 &:%^Õ::%Vͪy:%cͪy:eq v> 2eͪ*4>_څ>-2&:%>ʛ:%>!-ž%ž0:e >:e>e! 0:0DM)) )o${h|/W}/_! =xyT++'y&y /> > > >$ *'^@ENTER NUMBER OR LIBRARY LETTER - TYPE C/R WHEN FINISHED, CTRL-X CANCELS WHILE DIALING:  &v": &F!&A~ ÷!8{~  &py: &_!&~& FL4 !&5 !*g"&:&A>@2&!&6! &N!& 6 ! &F#p ~ 5 #p ~ @ "&+#p ~ P :&<2&#p ~ b P 6 *&'~ ʉ #| #~ ʉ "&!'p \ȇ!o ~ #~+] y!e~w#~w\!\l y!u6B#6A# ++ UNABLE TO RECEIVE BLOCK -- ABORTING ++ $:%?:%@ ++ TIMEOUT ++ :%^:%k7:%{:%@ :% ʠ@++FRAMING ERR++ :%ʿ@++OVERRUN ERR++ :%@++PARITY ERR++ :%^1`mW11&>> @ ROUTINE CANCELLED >B2%**%#"%}:%ʚ\<@FILES EXISTS -- TYPE 'Y' TO ERASE: ̓k͍Y^\@ No file specified \(Q>)Q_> k> kOa{_ ڠ |Ė{0Q|} 0k:%<ɯ2%@MULTIPLE ERRORS ENxăF#,-0,>*'1'91k0R_{ʩ:i> O:*'p'x>0'…>0'ʒ €>0,: &2 &F,'12,͠1^,'xă    7!>?->0^>-,>]0ҙ:7‹@ No answer after time-out. Redial? (Y/N/C): ̓k͍^NYʋC1/272,͠Ҧ1@ Connection established - Select options: x3!>k &!\ͭ#:]EMG:xCTkS - Dial number @XPR - Toggle expert mode (Menu on/off) DIR - List directory (may specify drive) CPM - Exit to CP/M S - Send CP/M file R - Receive CP/M file T - Terminal mode (optional file name) E - Terminal mode with echo tine RCPM 359-8080Q= R=Bruce Ratoff 201-272-1874S=SYSOP RCPM Syst 313-885-0506T= U= V= W=Ward/Randy CBBS 545-8086X=  !•ʕk:MIw#"&G:x4/> >>:k:=PÕÕ>2N2OCU!(ʇ:Nw#kʇ:Ow#k>:&-:ʦ$ʦk:Mw#"&W:z/æ ¦>:kæ:&-*&:=•@ MEMORY AME TO BE TRANSFERRED - C/R TO QUIT:  &v"^ &! ͭ#  !~l xf ̓#R m k@ ++FILE TRANSFER UNSUCCES ! xʢ ̓G:x ̅ʢ kâ kâ ͚:% >2&: &  Ͱ   7!]K :%H @TIME OUT RECEIVING FILENAME Ä ʮ o w:%~k>#}ʄ  :%^yʮ !\:%ʥ @CHECKSUM ERROR Ͱ ڥ  >7>2 &2& !*g"&t !\'ͭ#* :f *&\ y"&!&)R:%)@ ++Bad Option++ /:m @ Re-enter PRIMARY option and file name only:  &v":m >2M>2%/>2%:@Enter New Baudrate: !e6̓ µ^D0ڧ:ҧwOk#ç!"O*yO}o|g|g}!o"E},-.//D""#,2&A=ABBS (GM) 475-4884B=Ben Bronson 955-4493C=Calamity Cliff CC 234-9257D= E= F= G=Game Master  Y= Z= !9"&1& MODEM 7.4.1 as of 06/27/83 Originally Written by Ward Christensen Revisions by Mark M. Zeiger Further Revisions For TeleVideo 803 by J.C. Love $ >2%/2M:%SAVE BUFFER FULL Õ:$ !7 x$6#}l&)>o(&+|X&!&!\& y! !l:& 1 ; 8@ ++FILE DOES NOT EXIST++ @TYPE "R" TO RETURN TO MODEM >B2%>3:] ʣP͒H C2%;:%ZUg/ " >gH 32%͚:%w >2& ҂ >B2%3:] ʣÈ ͘ N:%½ :%ʽ @FILE OPEN, READY TO RECEIVE :%> >C:% @CRC in effect @Checksum in effect 4 !&5 !*g"&:&A>@2&!&6! &N!& 6 ! &F#p ~ 5 #p ~ @ "&+#p ~ P :&<2&#p ~ b P 6 *&'~ ʉ #| #~ ʉ "&!'p \ȇ!o ~ #~+] y!e~w#~w\!\l y!u6B#6A#*T]*|>!%%y!%% y>2/2 &:!@ WRT - Write file to disk (from terminal mode) DEL - Erase present file (from terminal mode) RET - Return to terminal mode with no loss of data : @DSC - Disconnect CAL  864-0516H=HUG CBBS 671-4992I= J=Jim Jones CBBS 759-7005K=Kelly Smith 805-527-9321L=Logan Square RCPM 252-2136M= N=NEI RCPM Chicago 949-6189O= P=PalaX >2:%G:xCʂ M=$>2%:%Eʢ TXS RV D!:%ʕ:] t>2%/2MÕN͋&&!("&>2%x̓G:%>2%x!̝ʕG:xʍ̅:%:M/2M>2% TYPE "A" TO RE-ENTER NAME: ͍̓k^AʭRD ]ʅM ]ʰ@@ ++FILE TRANSFER COMPLETED++ @ ++FILE TRANSFER UNSUCCESSFUL++ @ ++ TRANSFER CANCELLED ++ 6# 6 #6#@ ENTER FILE N C (t3:%< @AWAITING NAME NAK Pd>!&5` *&\ y"&g >7 !]~:%~kڧ } #o >:%^Q >u:% @CHECKSUM ERROR Pd>h >!\:% @AWAITING FILE NAME 6Kl!l6\:\< 2h:w>2!\ :\2!\ \ë!\ \!\ \<7´2=Ɓo& ] 2h2|w#~w\!\l y~# x   ɯ2%2%:%9@ AWAITING # *%#͖@ (ͺ@H)}: &ʆ2 &:%†Ҏ@ ++Switching to CHECKSUM MODE++ >C2%>1`m97G:%ʰ:%@ x@H RCD, NOT SOH >:%<2% :%:%tT(@ SEND # *%͖@ (ͺ@H)>:%:%/>2%!~,H2%yz{yG:%ʘ@ x@H RCD, NOT ACK :%<2% :%ʰ:%ʵ7T CAN'T SEND SECTOR -- ABORTING $:%ʘ@ TIMEOUT ON ACK Øx̓*'"%Ò*%!w"%:%<2%:%O*'\\! 12%!*'"%TERROR WRITING FILE $:ʊxG: 6!ʮŠ7:ʽ 82%O:%:%:%):%:%:%)  @ ++DISCONNECTED++ lͽ>C2%>2 &:%^Õ::%Vͪy:%cͪy:eq v> 2eͪ*4>_څ>-2&:%>ʛ:%>!-ž%ž0:e >:e>e! 0:0DM)) )o${h|/W}/_! =xyT++'y&y /> > > >$ *'^@ENTER NUMBER OR LIBRARY LETTER - TYPE C/R WHEN FINISHED, CTRL-X CANCELS WHILE DIALING:  &v": &F!&A~ ÷!8{~  &py: &_!&~& FL)R:%)@ ++Bad Option++ /:m @ Re-enter PRIMARY option and file name only:  &v":m >2M>2%/>2%:@Enter New Baudrate: !e6̓ µ^D0ڧ:ҧwOk#ç!"O*yO}o|g|g}!o" ++ UNABLE TO RECEIVE BLOCK -- ABORTING ++ $:%?:%@ ++ TIMEOUT ++ :%^:%k7:%{:%@ :% ʠ@++FRAMING ERR++ :%ʿ@++OVERRUN ERR++ :%@++PARITY ERR++ :%^1`mW11&>> @ ROUTINE CANCELLED >B2%**%#"%}:%ʚ\<@FILES EXISTS -- TYPE 'Y' TO ERASE: ̓k͍Y^\@ No file specified \(Q>)Q_> k> kOa{_ ڠ |Ė{0Q|} 0k:%<ɯ2%@MULTIPLE ERRORS ENxăF#,-0,>*'1'91k0R_{ʩ:i> O:*'p'x>0'…>0'ʒ €>0,: &2 &F,'12,͠1^,'xă *T]*|>!%%y!%% y>2/2 &:!@ WRT - Write file to disk (from terminal mode) DEL - Erase present file (from terminal mode) RET - Return to terminal mode with no loss of data : @DSC - Disconnect CAL `m/<:%:%@ ++ BAD SECTOR # IN HDR z2%>2%!1`mw,M:%ʏQ2%1`m:%G:%<1`m‘ ~:%ʸ:%@ ++CRC err++ T:%:%@ ++ CKSUM ++ T>:%#\*}"%!"}\<3TCAN'T OPEN FILE$:%?:%@FILE OPEN, SIZE: *%͖@ (ͺ@H) SECTORS \2%y2%! !% 6# %:%*:%R%:%2%:%š:%s!]Uyy@ TRANSFERRED :\2&!\:&2\!%%y:& V >2 &2%/2M:%ʴ:%@ ALL TRANSFERS COMPLETED :%*@ ++PRESS RETURN TO DISCONNECT++ COUNTERED. TYPE Q TO QUIT, R TO RETRY: ̓^͍RQ~MQ#A O@:%*>Q2%~#y:ȯ27͠1! &~!&ð@ WAITING FOR DIAL TONE >0d@ ++NO DIAL TONE AFTER 10 SECONDS++ 7 !8*7!>?->0^>-,>]0ҙ:7‹@ No answer after time-out. Redial? (Y/N/C): ̓k͍^NYʋC1/272,͠Ҧ1@ Connection established - Select options: x3!>k &!\ͭ#:]EMG:xCTkS - Dial number @XPR - Toggle expert mode (Menu on/off) DIR - List directory (may specify drive) CPM - Exit to CP/M S - Send CP/M file R - Receive CP/M file T - Terminal mode (optional file name) E - Terminal mode with echo    @ DEFAULT DRIVE: Ak@ Command:  &v"^&Y"CPMlY"DIR!Y"RETc!*&Õ:t!Y"DSC!Y"WRT"Y"XPR="Y"DEL!:ʫ!Y"CALګ!>2 &ù!:&!S"G"6 :@ ++DISCONNECTED++ 6ͥ$!:& 6&>2d$ $ d$#x$ x$6# > K$>K$ > K$>K$w#K$:b$_@w# . d$w#d$~*ʈ$#z$Ë$͝$~*ʙ$#Í$͝$6?#$ &!\ͭ#!%:l2%:m M%[%v%2%%<%g%~,%~,%# COPYRIGHT (C) 1979, DIGITAL RESEARCH, PIP VERS 1.5$$$ SUB =.:,<> _[]INPIRDPTRUR1UR2RDROUTLPTUL1PRNLSTPTPUP1UP2PUNTTYCRTUC1CONNULEOFDISK READ ERROR$DISK WRITE ERROR$VERIFY ERROR$NOT A CHARACTER SINK$READER STOPPING $NOT A CHARACTER SOURCE$2q21:q2r<! 6+6+6!W6#6!6#6:VG*o .!6:}^*M^!6!6!U6+6 :Z$:Z:E=2 :Zʤ]:ҷ\ʹPʹͮ:Z!]h :ZN͌! ͥW>W!\q:\_  !^p+q.*]   !`q*`&!bp+q*a2_!dp+q*c2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*o%/2M!&6:%6:& 6*&<Uv>2%/2M!&6:/26F#R"H"7SRTEM~r"j"#[">#l"7#Q#կa# B#"""#5# ڄ"G#4+~#+#px͘##Ä"#G~w"+xF6 "x͘#Ä"4Ä"͘#> ͘#>͘#Ä">#͘#> ͘#> %yy@ | :%<2%^%I%$@NOT FOUND^>? !%w#T%!m% y_!:%ʂ%@É%A2%@ DRIVE 6?#$ &!\ͭ#!%:l2%:mADOQRSVT01ADOQRSVT01BC*'*'@INVALID OPTABORTED$BAD PARAMETER$INVALID USER NUMBER$RECORD TOO LONG$INVALID DIGIT$END OF FILE, CTL-Z?$CHECKSUM ERROR$CORRECT ERROR, TYPE RETURN OR CTL-Z$INVALID FORMAT$HEX$$$$NO DIRECTORY SPACE$NO FILE$COM$START NOT FOUND$QUIT NOT FOUND$CANNOT CLOSE DESTINATION FILE:Z$:Y $Nͮ!6 :Z!Cwͯ !6:Z^hd!Y6{:Y/>!Y/H{ͯ :Y<2TŠ :Z:Y=HҮͯ !X6:XҾ:q2r !6:Z:/HNͿ!Y6:Z> !Y/>!tp+q*s !uq*u& *qM *rM !wp+q*v!!yp+q*x"!{p+q*z$!|6|  !p+q*> >ڪ Þ !"p+q/ *!DM9: :2#:!# !}:# *#&~ N!#4 !}6:͘#z"G>#͘#> ͘#> ͘#xʄ"͘##Ä">͘#5Ä"> ͘#> ͘#Ä"> ͘#> ͘#F##> w#Z#͆#d#~#az#{z#_*͐#*ͤ#* O'$#^#6 R$d$ $ # d$ $ ## $ R$ION  | :%<2%^%I%$@NOT FOUND^>? !%w#T%!m% y_!:%ʂ%@É%A2%@ ++BAD LIBRARY NUMBER CALLED++ $%:l2%(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OU! 6nPACE)$DESTINATION IS R/O, DELETE (Y/N)?$**NOT DELETED**$$$$$$$NOT FOUND$COPYING -$REQUIRES CP/M 2.0 OR NEWER FOR OPERATION.$UNRECOGNIZED DESTINATION$CANNOT WRITE$INVALID PIP FORMAT$CANNOT READ$INVALID SEPARATOR$1} :}2VL> @M9 HHͯ :!w:Y<2U:Y0}:Y@E}:Y!S!6:T z!6:m!6:z!6h :Z:Y,:Y HHҰͯ :Y 2Xó:TE:T2:V2}v!q!*8!*6: >͔:_ :ͳ.!(s+p+q+p+q:(=2(N *$*& w*$#"$*&#"&' !"N*M^7 !)6:!)ھ *N*DM͆ 2*ʭ :*ʗ ͯ *N"P*6:2)÷ *N"N!)4d !"N/ !R0}=2- !"R*M^_ !+6:-!+1 *R   x ".*.DM͆  ͯ *R"R!+4 : !"R͆ !+6:-!+ ? 20*#"!,6:,ր!0Ң *,& :,Rx 20!,4m *R"R:0ڹ ͯ !+4I 20!"R!1q:1 !4>! :! :22*TM:   *R}2: "8 *8x *: *:&"R!;q:Y:; Y:Wҩ:; ʩ:2<ʘ:<€!<6<:<2!<ژ!6 >!Ҥ; !W6::;:TH:; !6*;M :; !W6!=q:=a/>z!=*@M:@>!(:=2%> >>!F!5+N!~ ~2B!4<2BT>>!}*Mͭz:2!6:<2é>!ҥ*MͭҞ!6!6> :Bé:B(!Cq:!CwO!~ ~2D*C&~ :Bw>!B:D!4!6>:<2!}:Y[ ͱ!5!Z6:E%:<2E*F6 *F 6å!Kq!L6> !Ld*L&I :K]>!L4A>:[<2[O*F :Yw:Y?†!6!Mq!Y6?!M:[ҠgÐ!Nq*N&*F~!6:q2r2Y:Y :Y]Hں:YA2OO>:Y 2Yͯ .:`>>!bp+q:`-!`6*aDM9:_=!_6:`{ 2cX!_6E*M& :cw:M<2MOw*:c>>2j0O> ړ:j0:jAO>ҥ::jA ~~Hͭ!fwͼO`i*ͼ\2kO>3:k! !l6:M!0>+!s!x"@O-!"8**"xO4x " 4"":U!2n~: !ҏà:ڠ*YMEÏ:nҭ<<:2dͿ!o6#6>!p*p& ~:p!o6!p4! ^#VRJ *Rx :1w*R#"R = = = = = ͯ  *1M !6q  !6q  !6q  *1& !6à  !6 à  !60à  *1& !6  !6  !6  *1& . 1 4 7 : = F P [ f q  /H:=_2=:=!>q:>A/>Z!>/H8:> 2>:>:U=O>m:!} Hmd>9>!A6:2?*UM!E ^#VNJڗO *N*~2@*N#"Nm2@m͖ 2@m!6m!6m!6 m2@m> *&~ N2Y !Gp+q!6!Z6+6 ![6:[ S:[ M!Y6g8:2*YM8p!Z6!E6!H6>!Hڕ*H& 6!H4z!6!6#6#6![6*YM8:[ھ:Y*͇g2Yê:Y:¿:E:[,͡A<2EO>÷:YS:YQHI:<2P2Y:Y H@"2YÍ2Y02PO> c!P6Í2Y02JO> ڍ*P&*J& !Psc*O& :Pw:O·>!Pұͯ :P2r2Y:Y_!Y6=!T6>'!TE!T4!Zp+q*Y !^!l:l=O! NE!l4 E E:k0.*M& 6$9k9.Yͯ *M^2U :2:2ͳ:_³ͯ !6!"R!"P7 *M^n/ :/:H!_6:_ͯ !6:o7B1O B%*P"R+*"R <:h*oM2PO!q6!s67 *M^͆ \͔!r6:_!q:rHҗ!r4ͧu/ :_´:s°9ͯ .:r<2q:__!  !6:/! :s<2s :22!3q:3 " *3M n :4 *3M n :24!:4Q !:424: !4:w>!4n !45 Y :3 { !6!5q:5!wҙ  â :50O !6q:6O| :6O| !76:2: '2 :'2:'2*Mͣ *Mͣ * Mͣ :ͯ m!62m!62m!62m!A62@m'2:?2:Ғ:T2?!T6*@ME:?2T:A:Ҳ:X<2X2Aý:@ 2A:A} >ͯ ::@2@:*@M:  *YM8):Y[ͱ!5!Z6ñ:[5!R6#6>!Sڰ!Q6:Q<2QO>/:Q!RO!T *QM͡H~K:Q¡!Z6[–ͱ!5:S2Y:R2R!S4=:Y[¼ͱ4:[![6:Y.2YO8:[ :Y* ͇gr+s+p+q*]~$7*]>*[>H&>*[#"[*]#"]> 2Y:SNPJ/:Y!`6!M6>2f:ʚ!M6:f”H9>!M6.f!f6ͼ2e>2eʻ.ê:`>>"hͼ2g:e!`!e5ͼ2dͭ!f\2*"N>!"ͯ >!1ͯ !mq:mF:2K!6*R}b!4EK *M^́:_ƒͯ U:_::9OY#9.3ͳ.:2 ͳ 6C9ͮZ.!t6> !tM*t& ~2u F:t ?.*uM!t4>!Ea:E=2g:2:r]>!E҅:E=2Ë:2!q:rʗ!:¤]:Y ʳ]!wp+qNͥ*vDM! ͌ :Z:Y=H]:2_   og_{ozg^#V))) _{ozg^#V) *^#V|g}o 4O{ozgi`N#Fog H Z=Y& ^#VPiOpi"r*r}:r*r)=¢i:rO:ro"r*Ih *Ih!ͽi~2r~2r͵i:r2rͽi:rO:rw:rw |g}oionder how you ever got along without it. Perhaps you frequently squeeze or unsqueeze the same list of files and you would like to type the list once and be done with it. Use an editor (or FLS, described below) to create a file with one para͘#z"G>#͘#> ͘#> ͘#xʄ"͘##Ä">͘#5Ä"> ͘#> ͘#Ä"> ͘#> ͘#F##> w#Z#͆#d#~#az#{z#_*͐#*ͤ#* O'$#^#6 R$d$ $ # d$ $ ## $ R$ION  | :%<2%^%I%$@NOT FOUND^>? !%w#T%!m% y_!:%ʂ%@É%A2%@ ++BAD LIBRARY NUMBER CALLED++ $%:l2%USERCPM4DAT @$o& ^#V*M86 s#r2a8*U8##$:j7C$:a8C$*O8 2a8Z{ "\$'$G *7++|$ ʃ$o$͝ o$ { ----------------- $ Please select the following system type: 1) Stand alone TS-803 2) Stand alone TS-803H 3) Multi user TS-800 4) Multi user TS-803 5) Multi user TS-803H 6) Abort SETUP and return to CP/M $ Please select the following  (except directed i/o parameters, described later) on the command line, SQ and USQ will prompt with an asterisk and accept parameters from the console keyboard. Each parameter must be followed by RETURN and will be processed immediately@ DEFAULT DRIVE: Ak@ Command:  &v"^&Y"CPMlY"DIR!Y"RETc!*&Õ:t!Y"DSC!Y"WRT"Y"XPR="Y"DEL!:ʫ!Y"CALګ!>2 &ù!:&!S"G"6 :@ ++DISCONNECTED++ 6ͥ$!:& 6&>2d$ $ d$#x$ x$6# > K$>K$ > K$>K$w#K$:b$_@w# . d$w#d$~*ʈ$#z$Ë$͝$~*ʙ$#Í$͝$6?#$ &!\ͭ#!%:l2%:m M%[%v%2%%<%g%~,%~,%#ified version of the routines in ; MODEM V2.06) ; Added provisions to send and receive either even or odd parity ; bit with PMMI modem in the 'S'end or 'R'eceive file modes - resets,ʙ$;ʙ$ʙ$ "7$y$ G û$ ȸ³$ $͝ ,I$I$:$9y,I$IxĪZ{ " %'tO G %x % 9%x͝ ,$xy %ZX%$$*M8:L8Gq#$:j7:v8U<2v8Z$$I5y,k%:q7=%G2q7:baud rate 1) 9,600 BAUD 2) 4,800 BAUD 3) 2,400 BAUD 4) 1,200 BAUD 5) 600 BAUD 6) 300 BAUD 7) 150 BAUD 8) 75 BAUD 9) Set BAUD rate from switch 10) Use current BAUD rate and exit $ Please select the follo. An empty command (just RETURN) will cause the program to exit back to CP/M. Try it - it will help you understand what follows. Now lets get into directed i/o, which will be new to most of you, but will save you so much work you will w%/2M!&6:%6:& 6*&<Uv>2%/2M!&6:/26F#R"H"7SRTEM~r"j"#[">#l"7#Q#կa# B#"""#5# ڄ"G#4+~#+#px͘##Ä"#G~w"+xF6 "x͘#Ä"4Ä"͘#> ͘#>͘#Ä">#͘#> ͘#> %yy@ | :%<2%^%I%$@NOT FOUND^>? !%w#T%!m% y_!:%ʂ%@É%A2%@ DRIVE 6?#$ &!\ͭ#!%:l2%:mADOQRSVT01ADOQRSVT01BC*'*'@INVALID OPT ; to no parity in other modes. Use of the parity feature will slow ; transfers slightly due to the extra (parity) bit being sent with ; each character. Also this is the only program that I KNOW OF tr7=”%2r7:r7<27%2s7 z:s7z:q7z!r7%= 4=27<2s7 5%:q7_2>(WCONSOLE BUFFER AREA---------------------> SYSTEM SETUP Version V1.0 TeleVideo Systems, Inc. ---------------------------------------------------------------wing Asynchronous data format 1) ODD parity 2) EVEN parity 3) Disabled parity check 4) Enabled parity check 5) 1 stop bit per character 6) 1.5 stop bits per character 7) 2 stop bits per character 8) 6 data bits per character 9   ) 7 data bits per character 10) 8 data bits per character 11) Use current data format and exit $ Current system: TS-803 $ Operating system: $ Select modification category: 1) To attach mouse 2) To detach mouse 3) To change CP/M defaultlt system device: 1) To change default Console device 2) To change default Read device 3) To change default Punch device 4) To change default List device 5) Return to Previous menu $ Device Protocols and port assignment ------ --------R modem port 2) CRT: X-ON/X-OFF modem port 3) LPT: ETX/ACK modem port 4) UL1: DTR printer port 5) Use the current default list device $ 1) TTY: To service processor LST device 2) CRT: To service processor LST device 3) LPT: To service procesad 3) To change Autoload filename 4) To return to previous menu $ Please enter the Autoload filename: _______________________________ $TS-800 $TS-803 $TS-803H$Stand alone CP/M$Multi user CP/M$CON:RDR:PUN:LST:TTY:CRT:BAT:UC1:TTY:PTR:UR1:UR2:TTY:PT#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r)>15>@2G>)15ç"#(l'ͷ**͞)!2"ͫ'-L3#ͷ&"x0e5G)͍'ͫ'ͷ**͞)b)~F9#^#V##!2)))U~,L3G~`2<2<#~2<~?> I/O byte 4) To change Printer port BAUD rate 5) To change Modem port BAUD rate 6) To change Printer port data format 7) To change Modem port data format 8) To change Autoload file name 9) To save current configuration permanently and ret-------------------$ 1) TTY: Integral CRT and Keyboard 2) CRT: Integral CRT and Keyboard 3) BAT: CP/M batch mode 4) UC1: DTR Modem port 5) Use the current default console device $ 1) TTY: DTR Printer port 2) PTR: Integral Keyboard 3) UR1: sor LST device 4) UL1: DTR printer port 5) Use the current default list device $ End of execution $ Current $Printer$Modem$ port data format: Parity check $[DISABLE], $[ENABLE], [ODD] parity, $[ENABLE], [EVEN] parity, $[1] stop bit, $[1.5] st*K͞+) (35'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77T#=2<#^#V#^#V#"<^#V"<:<~#*<!:<@ʏ#"<*<#w"<*<~ʫ#¶#,L3;+"<*<+"21>:21>21`urn to CP/M 10) To save current configuration temporarily and return to CP/M 11) To abandon this setup $ __ <-- Enter appropriate number followed by or CTRL-C to return to CP/M $ Current default system device: $CON: = CRT: $ Select defauDTR Modem port 4) UR2: DTR printer port 5) Use the current default read device $ 1) TTY: DTR printer port 2) PTP: DTR modem port 3) UP1: ETX/ACK modem port 4) UP2: X-ON/X-OFF modem port 5) Use the current default punch device $ 1) TTY: DTop bits, $[2] stop bits, $[6] data bits$[7] data bits$[8] data bits$ Current $Printer$Modem$ port BAUD rate: $ Current Mouse status: $ON $OFF $ Current Autoload: $DISABLE$ENABLE$ Autoload file name: $ 1) To disable Autoload 2) To enable Autolo7||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!a{   `OE!y6$ -7rBo&))T])))!y!>15:<15>{15Y/e56!'":}15Y/!:&1515\0!:</"͞) :<@"ͧ*͞)Z!:<>L">15i6#6`i~#fo! ~#foC! ~#fo`i~#fo)~#foͪ`i^#Vr+s! ~#fo! !ͧ!2 !ͧ`iw#w`i~#fo͡! s#rz! 6 #6`i~#fo! ! ~#fos{ `i~#fo! 6`i^#Vr+st! n}! ͪ! n}aͭ!9   1.5 08/02/81File unsqueezer version %s by Richard Greenlaw 251 Colony Ct. Gahanna, Ohio 43230 Accepts redirection and pipes. Omit other parameters for help and prompt Parameters are from command line or one-at-a-time from standard input and are out ambiguous name %sA Iïø&Áoò)fó!9DM`i!- ~#fo #|z !- ~#fo!z! q!' w#w!"1 `i# vʸ !- ~#fo!! j`i# ! s#r"5! s#r! ~#fo`i& s! ^#Vr+sn} ! 6!1! ! ~#fo8 #|/! !! X! ~#fo*1X! !! ! ; ! > `i> !)9Can't open %s %s is not a squeezed file %s -> %s: %s has invalid decode tree size Can't create %s Write error in %s ERROR - che~#fo#")! ~#fo͐)~#fo#n}O! ~#fo͐)!s#r! ~#fo͐)")d*)&|g}o}2)! ~#fo͐)~#fo#n}!!ͭͰ! ~#fo͐)~#fo#Ͷ!-! ~#fo͐)~#fo#͹#|! ~#fo͐)~#fo#! !ͭͰ!)4*)}y! !-! n&#|0!!*)&|g}o|E! |e!+++|e! n} }! !! n&!File output error; disk full? !"5!c"5]!9DM*5*5+"5* 5TT! ~#fo`is#r! n}-! 6#6! ^#Vr+s! ^#Vr+sn! sͻ|_͐ ?! nѯg`is#r͐͐?o!9Áê"L"!9DM! n&{|ͣ®! n&~|ͣûs"!y9DM! `i͵`i͸!9$!9DM͐!͐tput drives and input file names. Empty to quit. *J ÀøIxò !9DM! ~#fon}- ! ~#fo#n&8 F͝}225}ʏ ! ^#Vr+s!"05! ~#fo#n} ! ~#fo#; "05| ! ~#fo#! !> ö ! ~#fo#n}:O ! ~#fon&A |5 ! ~#! ) !"5! ) ! !- ~#fo!, `i# ! s#r! ~#fo|^ ! ~#fox !- ~#fo!! j!"1!"1!  w#w!  ~#fo! ~#fo !  ~#fo))1`i# s#r!  ~#fo))1##`i# s#r!  ^#Vr+sÌ *05|ʯ! / `i2 cksum error in %s Á$+$!9DM*)}P! )`is{ M! )`ise!`is{e`in}t!Þ`in} –`i6 *)}–! !`in&Þ!9üI+$.$!9DM{2){2){2)! ~#fo͐ ~#fo)")! 6#6`i6#6͐͐͐! s#r͐͐ ~#foZ! ~#fo͐)! ~#fo͐#)~#fos#r! ^#Vr+s ͐ ^#Vr+s`i^#Vr+s*)++")ß͐ ͐s#r! ~#fo͐ ~#fo)w#wí! ^#Vr+s`i^#Vr+s!9Can't open %s ö ! ~#fo`is#r`i~#fon}ʩ `i~#fon}*ʃ `i~#fon}? ! ~#fo! !> ö `i^#Vr+s] ! ~#foG !9 BAD COUNT %s Output drive =%s ERROR - Ignoring %s Can't accep! s#rzʜ!' ~#fo*05Ҝ! ~#fo|g}o! s! n& Y! n&~ҍ! n} v y ʄ ʄÇÙ!' ^#Vr+sÍ! 6.! n&/ *25}ʬ! / j! ! 5 #|! !! X`i2 ! s#rz2*1! ~#fo"1 ~#foҹ*)}ù! ~#fo͐)~#fon}dâ! ~#fo͐)~#fo#n}c! )! ~#fo͐)~#fo#ͪ#|¯! ~#fo͐)~#fo#!!ͭͰ>2)!! ~#fo͐)~#foͳ|*)&|g}o}2)!)4! ~#fo͐)pecifierCan't create %s /ó.$)fC$â$*)}@! )! *)}ʢ!-!#!-&!-!!)*)}ʢ*)!s#r*)w#w*)*),tempin.$$$tempin.$$$tempout.$$$! ~#fo`i^#Vr+sn};!j! ~#fo͐n! ~#fo͐nѯgWj!9 #{"õ#À!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{!`in}%½!! ! s#r! 6#6! s! s! s͐n}- s#r! n}J!! ^#Vr+s!J!! ^#Vr+s! n}A!!0D!! s!͐! ^#Vr+sns{s!! ^#Vr+sJ!! n}ʤ!! ^#Vr+s!Ҥ!! ^#Vr+s6 }!ú!! ^#Vr+s`ins!! ^#Vr+s`insñ͐6!9!)!9DM! ^#Vr+sn``is#r#͐$!97:O*o`  !\&!7*!m$&*!}$&m$!, !\&!TELk7î$&I+$7*^#V#z¶$+V+^+$*ͥ$!$!ͨ$ë$Broken pipe 7,2q*7*!9& 6C#6O#6M.'*|D'!\&V'!\&*|V'!!l&!~#foʎ'> +ͅ'#~s'##g'a{ !p'!*w#›':**ʲ'*!ѷ! , FNxg>Grn to CP/M $  ** Disk read error ** $  ** Disk select error ** $  ** Disk write error ** $  ** Unconfigurable CP/M operating system ** $  ** Illegal hardware, unable to setup ** $sO1OZIIN}( 7  I0 &=o)^͐~#fo2%!͐##6#6͐͐s#r͐^#Vr+s! ns&r%@&Ñ&!9DM͐ҍ!ê͐##~#fo¦!ê͐##~#fo`is#r͐͐͐~#foi͐!ê͐+?`! ^#Vr+s! 4͐n}0"! 4͐n&y}?! |B!! s#r! ^#Vr+sn`is{.Š! |! s#r! 4! ^#Vr+sn`is`in&}DʶUXO CJ S{ ç!͐~#fo|! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 ! 6is{="`in} "͐! !͐`in&!#|:"!C"!!C"!9!9DM! n&aͯw"! n&zͯ!9DM! n&0ͯڦ"! n&9ͯ!9DM! n&Aͯ"! n&Zͯ"!9DM͐n} #! ^#Vr+sn&&:q):)%=)%=r:qo&7:)~:,"s!"u*|ʇ%**sŒ%! ~‡%6*u*+"*"*u#"uS%ð%.$$7*ͪ%\!*ͭ%7:)~:,"s!"uoy($G##g'a{ !p'!*w#›':**ʲ'*!ѷ! , FNxg>G#V.4b>2=>2;>D23>25>29>2=r :G͆  y( >Ͳ}(r  (# (U ( ?:Y>8 >Ͳ}(&(":2=OGy(O:244rDO]:;7is#r͐##~#fo|ʃ!͐͐͐l͐##~#fo͐s#r͐~#fo͐s#r!!͐~#fooê͐##6#6͐͐s#r!ê!9ù&!9DM͐!͐~#foͶ!9DM`iw#w! ~#fo͐ ! 6! ~#fo! n&! ^#Vr+s~#fo! vѯgs#r ! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s ! n}Ž ! 6#6! ^#Vr+s~#fo! s#r͐n} ͐| ! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+sé ͐6! !""# #!9DM͐͐ a#͐^#Vr+s͐ N#͐0V#͐7s!&ì#͐ ͐͐ ͉͐#`is͐ ͐͐ )͐#`in&#&ì#!9û#{"!9DM`iw#w͐~#fon&͸#}$͐ ?͐^#Vr+snѯg*|*u>&*~#&"*s*u>&#"u*+"&7*|DM**͋&o&><&~+ x&|}×&'7:,*͔&:*ʹ&}|2q &&:qw&! {w#P:UP1:UP2:TTY:CRT:LPT:UL1:Console$Read $Punch $List $DIPSW $9,600 $4,800 $2,400 $1,200 $ 600 $ 300 $ 150 $ 75 $  ** Sorry, you need "USERCPM4.DAT" on current CP/M logon drive. ** __ <-- Please type to continue or CTRL-C to retu> Ͳ}( 8( &+'~2;>2;*X~ ?ɷ(.8,&)))B(8+7:rDW]:<7> Ͳ}( 8( +'~2<>2<roz:30 0:3 ( ( :5`@( ( (   6> Ͳ}ʩ )!é+)^#V=FOXalw:323:323:323:323:323:323:3 23:9?29:5`25:9?@29:5 25:9?29:5@25ro::W( O(::( (EK/.ZKUMDP_ ! DM :Y8N!-"$/6 #"$!8IF|K/.ZKUMDPg ! DM 8I80|:; +G:< +O>)x*y+>)y Jim Mills ;to differentiate from other 'MACROS.LIB' TRUE EQU 0FFH FALSE EQU 0 CPM2X EQU TRUE ;true if CP/M 2.X DBUFSIZ EQU 16 ;BUFFER SIZE IN KBYTES ; PMMI EQUATES PORT EQU 020H ;PMMI BASE ADDRESS MODCTLP EQU PORT+0CH ;MODEM  TO SET BREAK FRMER EQU 20H ;FRAMING ERROR MASK ORUNER EQU 10H ;OVERRUN ERROR MASK PARER EQU 08H ;PARITY ERROR MASK ODPARMSK EQU 0CFH ;MASK TO SET ODD PARITY EVPARMSK EQU 20H ;MASK TO SET EVEN PARITY NOPARMSK EQU 10H ;MASK TO RESET TO NO PARITY/* idimdm.c ascii communications program * * Infotec Development, Inc (Commercial rights reserved) * For Official Air Force Use only * * * currently adding : * * 8/16/84 Version 1.00! Cosmetic changes to prompts. * 11/14/84 Adding slk mode * 12/14/84 readfile and sendfile now return SR_xxxx status codes * adding batch file routines * moved the sign-on message to the very beginning, so if you * have the wrong version, you know why you crashed! * 12/17/84 finally a ::`@( ( (6> Ͳ} <!PYbkt::2:::2:::2:::2:::2:::2:::2:::2::: 2:::@2:r:>(!?S!S>6$S>Ͳ}(:2*Ww* :=w!,N#F#::,I_!'~*X~ ?ro:= > ͲG!:Y(!((!ye:Y8m Q!S (!0 0 )DM)) o0$0 (| CONTROL PORT MODSNDB EQU 80H ;MODEM SEND BIT (XMIT BUFF EMPTY) MODSNDR EQU 80H ;MODEM SEND READY MODRCVB EQU 80H ;MODEM RECEIVE BIT (DAV) MODRCVR EQU 80H ;MODEM RECEIVE READY MODDATP EQU PORT+0FH ;MODEM DATA PORT RECSTAT EQU PORT+0DH ;MODEM RECEI ERRCDMSK EQU 38H ;MASK TO BLOCK ALL BITS EXCEPT ERROR CODES WAITCTS EQU 255 ;number of seconds X 10 to wait for computer ;tone after pmmi auto-dial function, 255 MAX. DEFBAUD EQU 52 ;sets default baud rate for PMMI modems ;use 142 for 110 ome #ifdef for IBM PCAT version * 11/21/84 Rewrote kb_input() to keep ^C from exiting * Added kb_eat() call before accepting command * in command mode. (version 1.01) * 11/26/84 Adding CRC checking to send & receive * (version 1.02) dding batch send & receive routines * 12/18/84 more batch send/receive * 12/19/84 still more batch & auto send/receive * adding + option to command line * adding drive to "command? " prompt * adding change logged drive function * a9A0FQ!S?!?>6 xʴ #>2>ô>2>ôU{OG>Ͳ}2Y80>4ƒ>52 2 |Z!-"$/, $#"$!: 8 0:Yc |Z(  _r<<!",!-!$q'q*~$#v&i)) ̀))&h)) ̀",!-!$q'q*~$#vVER STATUS REGISTER PORT TRNSTAT EQU PORT+0EH ;MODEM TRANSMITTER STATUS REGISTER PORT BAUDRP EQU PORT+2 ;BAUD RATE PORT MODCTL2 EQU PORT+3 ;2ND MODEM CONTROL PORT ORIGMOD EQU 1DH ;ORIGINATE MODE ANSWMOD EQU 1EH ;ANSWER MODE BRKMSK EQU 0FBH ;MASKbaud ;use 104 for 150 baud ;use 52 for 300 baud ;use 34 for 450 baud ;use 26 for 600 baud ;use 24 for 651 baud ;use 23 for 679 baud ;use 22 for 710 baud CHGBAUD EQU 'P'-40H ;USED IN TERMINAL MODE TO CHANGE ;BAUD R * 11/27/84 New buffer for send/receive to allow capture * through a file transfer * 11/28/84 changed send/receive code to use pointers only * 12/11/84 Adding talk mode (i option) and changing terminal loop * 12/12/84 Capture in tadding new features to help menu * showing new features in view function * 1/ 3/85 CP/M port! many small changes * 1/10/85 redoing configuration and initialization code * 1/15/85 making port display in do_view() conditional * put readfile() and    sendfile() in separate file to facilitate * speed optimization * 1/24/85 allocate capture and readfile/sendfile buffers dynamically to * variable sizes. * 1/29/85 added cp/m and ms-dos routines to change illegal characters * in transferred fi commands. Grouping commands by function in help. * 2/ 7/85 Version 2.10! No changes, just undefined DEBUG * 2/20/85 Version 2.10a. CP/M user # problem fixed, better name sending * for batch transfers. * 3/ 7/85 Version 2.11. Adding character tilename routine to use a uniq * filename if the name sent from remote during a batch transfer * already exists. All changes are in IDIMDMBT.C. See changes * marked with 3/25/85. */ /* #define DEBUG */ #include #include at end of line? */ TRUE, /* send at end of line? */ 0, /* delay between characters (milliseconds) */ 1, /* delay at end of line (tenthaud(atoi(++cmd)) == ERROR ) warn(" ...unavailable baud rate\r\n"); break; case PORT : case (int)LOWER( PORT ): if ( set_port(atoi(++cmd)) == ERROR ) warn(" ...unavailable port number\r\n"); break; lenames to legal ones (idimdmbt.c). Added * fseek() to file upload for Aztec C. Added character and EOL * delays and EOL options to file upload. Rewrote upload and * talk mode capture routines. Changed talk mode to use XON/XOFF * protocolranslation table for uploads. * Added local echo on file uploads. Display * All changes have comments marked with the date 3/ 7/85. * 3/ 8/85 Version 2.12. Added local echo mode for TERMINAL and TERMINAL * with capture. All changes have commh> /* contains tolower() */ #include #include #include char version[] = "2.14"; /* 3/25/85 */ char snd_trans[257]; /* 3/ 7/85 */ char msg_cancel[] = "(type to cancel)"; char t_prompt[] = "\r\n+ "; char kbpen */ int bad_cmd; /* flag used in command mode */ unsigned jj; /* default parameters for file upload */ struct upl_str upl = { TRUE, /* test for XOFF? */ TRUE, /* send at end of line? */ TRUE, /* send at end of line? s of seconds) */ FALSE, /* assume no translation table loaded */ /* 3/ 7/85 */ FALSE /* NOT using character translation */ }; main(argc, argv) int argc; char **argv; { char *cmd; sign_on(); init_mch(); init_os(); init_comm(); /* default: break; } } /* record the default disk */ cnfg.disk = drive('\0'); /* try to read phone library (default drive) */ readphlib("IDIMDM.DAT"); /* try to read translation table */ upl.has_trans = readtran( "IDIMDM.CHR"); / for file capture. Changed answer() to use a default * answer. View function now displays file upload parameters. * 1/30/85 flushing keyboard in answer(). Unlinking file when receive * aborts. Adding A (answer call) and O (originate call) * ents marked with * the date 3/ 8/85. * 3/14/85 Version 2.13. Modified character translation uploads. If both * source and translated characterd have value of 0, then * that character is not sent. * 3/25/85 Version 2.14. Modified receive fdata = NUL; char moddata; char *capbuf; /* base of capture buffer */ char *capptr; /* position in capbuf */ char *captop; /* last byte in capbuf */ char *bufr; /* base of read/sendfile buffer */ unsigned bufsecs; /* number of SECSIZ secto*/ 0, /* delay between characters (milliseconds) */ 2, /* delay at end of line (tenths of seconds) */ FALSE, /* assume no translation table loaded */ /* 3/ 7/85 */ FALSE /* NOT using character translation */ }; /* parameters for file upload process command line args */ while ( --argc > 0 && ( *(cmd = *++argv) == '-' || *cmd == '+') ) { if (*cmd == '+') { cnfg.tmode = TALK; continue; } switch( *++cmd ) { case BAUD : case (int)LOWER( BAUD ): if ( set_b* 3/ 7/85 */ /* allocate memory for file capture buffer */ if ( getbufs( MEM_RSVD ) == ERROR) { /* changed message 3/ 7/85 */ printf("Insufficient memory--try smaller phone library or translation table\r\n"); exit(); } capptr = capbuf;     mod_eat(); /* the main loop */ do { /* until quit command */ switch (cnfg.tmode) { case ECHO: /* 3/ 8/85 */ mode_msg("ECHO"); if (cap_on) echoc(); else echo(); break; case TERM: mode_msg("TERMINAL"); if base of read/sendfile buffer * unsigned bufsecs number of SECSIZ blocks in read/sendfile buffer */ int getbufs(mem_rsvd) unsigned mem_rsvd; /* number of bytes to reserve for c runtime */ { unsigned memsize; if ( (memsize = freemem()) <= mem_, bufsecs); #endif return OKAY; } /* return the amount of memory available (up to 0xFF00 bytes) * search to nearest SECSIZ*2 bytes */ unsigned freemem() { char *mp; unsigned size; size = 0xFF00; while ( (mp = malloc(size)) == NULL) { void instruct() { static char msg_baud[] = "Baud rate selection"; printf("\rCONFIGURATION COMMANDS"); pr_line(53, '-'); if (*cnfg.porthelp) ml("B", msg_baud, "P", "Port selection"); else ml("B", msg_baud, "E", "ECHO mode"); /* 3/rintf("MISCELLANEOUS COMMANDS"); pr_line(53, '-'); ml(":", "change default disk", "", "return to TERMINAL"); ml("", "quit--don't hang up", "", "send to remote"); ml("", "quit--hang up modem", "", "");  if (cap_open) { printf(" file for Log data: %s\r\n", fname_cap); printf(" Logging is: %s\r\n", cap_on ? "ON" : "OFF"); } pr_line(60, '-'); printf("File Upload Parameters:\r\n"); show_upl(&upl); pr_line(60, '-'); }  (cap_on) termc(); else term(); break; case TALK: mode_msg("TALK"); talk(); break; default: printf("Internal Error -- no terminal mode\r\n"); exit(); } } while (do_cmd()); } /* allocate the capture and rrsvd) return ERROR; #ifdef DEBUG printf("free memory after phone library = %u bytes\r\n", memsize); #endif memsize -= mem_rsvd; if (memsize < MIN_BUF) return ERROR; if ( (capbuf = malloc(memsize/2)) == NULL) return ERROR; captop =  size -= SECSIZ*2; if (size < SECSIZ*2) return 0; } free(mp); return size; } /* print the terminal mode and baud rate */ void mode_msg(s) char *s; { printf("\r\n [in %s mode at %d baud]\r\n", s, cnfg.baud); } void sign_on() { 8/85 */ ml("T", "TERMINAL mode", "+", "TALK mode"); ml("V", "View current settings", "", ""); printf("FILE TRANSFER COMMANDS"); pr_line(53, '-'); ml("F", "Filename for Log data", "L", "Logging [on/off]"); ml("R", "Receive a file", "S", pr_line(75, '-'); } void pr_line(l, c) int l; char c; { while ( l-- > 0 ) putchar(c); printf("\n\r"); } void do_view() { pr_line(60, '-'); printf(" baud rate: %-d\r\n", cnfg.baud); if (*cnfg.porthelp) printf("  void do_filecap() /* get a new file name for data capture */ { do { do { printf("\rFile for Log data? "); filename = kb_input(FNAME_SIZE); if ( *filename == NULL) return; /* nothing is changed */ } while ( !ok_erase(filenaead/sendfile buffers -- return ERROR if * not at least MIN_BUF bytes for both (combined) else return OKAY with * the following variables set: * char *capbuf base of capture buffer * char *captop first byte past top of capture buffer * char *bufrcapbuf + memsize/2; if ( (bufr = malloc(memsize/2)) == NULL) return ERROR; bufsecs = (memsize/2)/SECSIZ; /* number of sectors in buffer */ #ifdef DEBUG printf(" size of buffers = %u bytes\r\n", memsize/2); printf("sectors in buffer = %u\r\n" printf("\n\ IDIMDM Version %s for %s\r\nPress for COMMAND\r\n", version, cnfg.machine); } /* print a menu line */ void ml(c1, s1, c2, s2) char *c1, *s1, *c2, *s2; { printf("%8s %-25s %8s %-25s\r\n", c1, s1, c2, s2); }  "Send a file"); ml("U", "Upload a text file","X", "Upload char translation [on/off]"); printf("DIALING/MODEM COMMANDS"); pr_line(53, '-'); ml("A", "Answer a call", "D", "Dial phone number"); ml("H", "Hangup phone", "O", "Originate a call"); p port number: %-d\r\n", cnfg.port); printf(" %s mode\r\n", (cnfg.tmode == TALK) ? "TALK" : (cnfg.tmode == TERM) ? "TERMINAL" : "ECHO" ); /* 3/ 8/85 */ printf(" default disk: %c\r\n", cnfg.disk); me) ); if ( cap_fp == NULL ) cap_fp = fopen(filename, "w"); else /* try to reuse old file pointer */ cap_fp = freopen(filename, "w", cap_fp); } while (cap_fp == NULL); strcpy(fname_cap,filename); /* successful open */ cap_on = TRU   E; printf("\r\n ...Logging is ON\r\n"); cap_open = TRUE; } void cap_done() /* saves captured text and closes file */ { *capptr++ = CTRL( 'Z' ); /* MS-DOS end of text file marker */ printf("\r\n ...Saving Log data in %s\r\n", fname_cap);ZE ); if ( *filename == NUL ) return; if (upl_fp == NULL) upl_fp = fopen(filename, "r"); else /* reuse old upload file pointer */ upl_fp = freopen(filename, "r", upl_fp); } while (upl_fp == NULL); if (cnfg.tmode != TALK) { /* milliseconds\r\n", upl->dchar); printf(" Delay at end of line: %d tenths of seconds\r\n",upl->deol); printf(" Character translation: %s\r\n", upl->translate ? "ON" : "OFF" ); } char *y_n(flag) int flag; { if (flag) return "Yes"; eol, 5); if ( upl->has_trans ) { printf("Use character translation? "); upl->translate = d_answer(upl->translate); } else printf( "No character translation table loaded\r\n"); } /* get answer with default: returns TRUE if answer=yes, FA number of digits in number */ { char *p; p = kb_input(-d); if (*p) cv = atoi(p); else printf("%d", cv); printf("\r\n"); return cv; } /* in command mode, execute the receive function */ void do_rcv() { int fd; do { do { (fd) == SR_OKAY ) warn("\r\n ...Transfer complete\r\n"); else warn("\r\n ...Aborting\r\n"); } void rcv_abort(fd) int fd; { sendchar(CAN); printf("\r\n ...Receive failed\r\n"); if ( close(fd) != ERROR ) unlink(filename); } void cap_write(); fclose(cap_fp); cap_open = FALSE; cap_on = FALSE; capptr = capbuf; } int cap_write() /* write the buffer out to the capture file */ { char *c; for (c = capbuf; c < capptr; c++) { if ( putc(*c, cap_fp) == EOF ) { bee 3/ 8/85 */ printf("Change upload parameters? "); if ( d_answer(FALSE) ) set_upl(&upl); upload(upl_fp, &upl); } else /* TALK mode upload */ upload(upl_fp, &upl_talk); fclose(upl_fp); } /* show the upload parameters */ void show_u return "No"; } /* set the upload parameters */ void set_upl(upl) struct upl_str *upl; { printf("Use XON/XOFF protocol? "); upl->xoff = d_answer(upl->xoff); printf("Send at end of line? "); upl->cr = d_answer(upl->cr); printf("SenLSE if answer=no, * and returns current value if default selected */ int d_answer(cv) int cv; /* current value */ { char a; kb_eat(); do a = kbhit2(); while ( !a || !stpchr("YyNn\r", a) ); a = tolower(a); if (a == 'y') cv = TRUE printf("\rReceive filename? "); filename = kb_input( FNAME_SIZE ); if ( *filename == NUL ) /* quit on null answer */ return; if ( filelist(filename) ) { /* batch receive ? */ pr_bstat( rcvb() ); return; } } while ( ! do_send() /* in command mode, send a file */ { int fd; int ready; do { printf("\rSend what file? "); filename = kb_input( FLIST_SIZE ); if (*filename == NUL) return; if (cnfg.tmode == TALK) { purgemod(1); sendchar(AUTORCVp(0); printf("\r\n ...Error writing Log file %s",fname_cap); return ERROR; } } capptr = capbuf; return OKAY; } void do_upload() { static FILE *upl_fp = NULL; do { printf("\rUpload what file? "); filename = kb_input( FNAME_SIpl(upl) struct upl_str *upl; { printf(" XON/XOFF protocol: %s\r\n", y_n(upl->xoff) ); printf(" Send : %s\r\n", y_n(upl->cr) ); printf(" Send : %s\r\n", y_n(upl->lf) ); printf("Delay between characters: %dd at end of line? "); upl->lf = d_answer(upl->lf); printf("Enter delay between characters (milliseconds): "); upl->dchar = d_number(upl->dchar, 5); printf("Enter delay at end of line (tenths of seconds): "); upl->deol = d_number(upl->d; else if (a == 'n') cv = FALSE; printf("%s\r\n", y_n(cv)); return cv; } /* get number with default: returns new number if entered, else displays * and returns old value */ int d_number(cv, d) int cv; /* current value */ int d; /* maxok_erase(filename) ); if ( (fd = creat(filename, BMODE)) == ERROR) { beep(0); printf("\r\n ...Cannot create %s\r\n", filename); } } while ( fd == ERROR ); printf(" ...Waiting for %s %s\r\n", filename, msg_cancel); if ( readfile); if (readchar(5) == ACK) pr_bstat( sendb(filename) ); else printf("Receiver not in TALK mode\r\n"); return; } else if ( filelist(filename) ) { pr_bstat( sendb(filename) ); return; } /* open in read and binary mod    es */ if ( (fd = open( filename, O_RDONLY)) == ERROR ) { beep(0); printf("\r\n ...Cannot open %s\r\n", filename); ready = FALSE; } else { ready = TRUE; printf("\r\n ...Waiting for remote %s\r\n", msg_cancel); } } while (!rupl) FILE *file; /* file is known to exist and is open */ struct upl_str *upl; /* upload parameters */ { register int c; /* reset to beginning (needed for Aztec C) */ fseek(file, 0L, 0); while ( (c = fgetc(file)) != EOF && !kb_abort() )  ck_xoff(c); } else { putchar( c ); /* 3/ 7/85 */ if (upl->has_trans && upl->translate) { if ( snd_trans[c] >= 0 ) /* if translated char < 0, don't send*/ up_char( snd_trans[c], upl->dchar); } else up_char(c */ while ( (c_in=readchar(200)) != XON && c_in != TIMEOUT ) putchar(c_in); else putchar(c_in); } void send_str(data) /* send a string to remote */ char *data; { while (*data != NUL) sendchar( *(data++) ); } void sendchar(data) lename, "r"); else /* try to reuse old file pointer */ temp_fp = freopen(filename, "r", temp_fp); if ( temp_fp != NULL) { /* if file exists... */ fclose(temp_fp); warn("\r\nThis file exists. Okay to erase (y/n)? "); if ( d_answer(FALSE) /* set the baud rate, return ERROR if unsupported baud rate or OKAY */ int set_baud(rate) unsigned rate; { if ( baudokay(rate) ) { set_b(rate); cnfg.baud = rate; return OKAY; } return ERROR; } /* return TRUE for supported baudrateeady); if ( sendfile(fd) != SR_OKAY) warn("\r\n ...File NOT sent\r\n"); else warn("\r\n ...Transfer complete\r\n"); } void pr_bstat(nfiles) int nfiles; { printf("\r\n%3d file%c transferred\r\n", nfiles, nfiles == 1 ? ' ' : 's'); } { c &= DATAMASK; if ( c == '\n' ) { putchar('\r'); putchar('\n'); /* 3/ 7/85 */ /* convert EOL to appropriate char(s) */ if (upl->cr) if (upl->has_trans && upl->translate) up_char( snd_trans['\r'], upl->dchar); else , upl->dchar); } } } /* upload a character after checking for input and XOFF * also, do the character delay */ void up_char(c, delay) char c; unsigned delay; { register int c_in; while ( minprdy() ) ck_xoff( c_in = mcharinp() ); /* send a character to remote */ char data; { while ( !moutrdy() ) /* wait until output rdy */ ; mcharout( data ); } void mod_eat() { while (minprdy()) mcharinp(); } /* check for file existence. If exists, confirm deletion.  ) unlink(filename); else return FALSE; } return TRUE; } /* return TRUE if CANCEL key hit, else FALSE */ int kb_abort() { int key; while ( key = kbhit2() ) if (key == CANCEL) return TRUE; return FALSE; } void init_ and FALSE for invalid baudrate */ int baudokay(rate) unsigned rate; { int i; if (rate) for (i = 0; i < NBAUD; i++) if (rate == cnfg.bdtable[i]) return TRUE; return FALSE; } int do_cmd() { int cmd; int bad_cmd; char *cp;  int send_abort(fd) { if ( kb_abort() ) { printf("\r\n ...Aborting\r\n"); close( fd ); return TRUE; } else return FALSE; } /* upload file function */ /* this function uploads a text file to another computer */ void upload(file,  up_char('\r', upl->dchar); if (upl->lf) if (upl->has_trans && upl->translate) up_char( snd_trans['\n'], upl->dchar); else up_char('\n', upl->dchar); /* do the EOL delay */ while ( (c=readchar(upl->deol)) != TIMEOUT)  if (delay) wait( (long)delay ); sendchar(c); } /* wait for XON if necessary (up to 20 seconds), else display character */ void ck_xoff(c) int c; { register int c_in; c_in = c & DATAMASK; if ( upl.xoff && c_in == XOFF) /* wait for XONReturn TRUE if * file didn't exist or if deletion allowed. Return FALSE if file did exist * and deletion not allowed */ int ok_erase(filename) char *filename; { static FILE *temp_fp = NULL; if ( temp_fp == NULL ) temp_fp = fopen(ficomm() { set_port(cnfg.port); /* default port */ set_baud(cnfg.baud); /* default baud rate */ } int set_port(portnum) unsigned portnum; { /* if this feature is not applicable, set_p() returns ERROR */ return (cnfg.port = set_p(portnum) ); } char *dial_cmd; /* read command */ do { /* until a valid command is selected */ printf("\r\n%c: Command? ", cnfg.disk); kb_eat(); while ( !( cmd = kbhit2() ) ) ; /* wait for keypress */ bad_cmd = FALSE; /* assume OKAY */ switch (cm    d) { case ( ANSWER ): case (int)LOWER( ANSWER ): do_ans(); break; case BAUD : case (int)LOWER( BAUD ): do { int i; printf("\rNew baud rate ("); for (i=0; i < NBAUD; i++) if (cnfg.bdtable[i])  case (int)LOWER( DIAL ): do { printf("\rDial who (? for directory)? "); dial_cmd = kb_input(40); } while ( *dial_cmd != NUL && do_dial(dial_cmd) == ERROR); break; case DISK: do { printf("\rEnter new drive: ");se (int)LOWER( HANGUP ): /* hang up the modem */ printf("\r\n ...Hanging Up\r\n"); mdm_hup(); break; case HELP: case HELP2: instruct(); bad_cmd = TRUE; /* stay in command mode */ break; case ( ORIGIN ): caase (int)QUITNOH: /* quit no hangup */ printf("...Quitting IDIMDM"); if (cap_open) cap_done(); return FALSE; break; case RECEIVE : case (int)LOWER( RECEIVE ): if (cnfg.tmode == TALK) { printf("No receiv do_upload(); break; case VIEW : case (int)LOWER(VIEW): printf("\r IDIMDM settings:\r\n"); do_view(); break; default: /* invalid command typed */ bad_cmd = TRUE; beep(0); break; } /* end of comm if (kbdata == '\r') { putchar( '\n'); if ( upl.lf ) sendchar( '\n' ); } sendchar(kbdata); } while ( minprdy() ) { putchar( (moddata = mcharinp()) ); /* no EOFCHARs in capture file */ if (moddata != EOFCHAR)  printf("%d,", cnfg.bdtable[i]); printf("\b)? "); cp = kb_input(5); } while (*cp != '\0' && set_baud(atoi(cp)) == ERROR); break; case CAPTURE : case (int)LOWER( CAPTURE ): if ( cap_open ) { cap_on = !ca } while ( drive( *kb_input(1) ) == ERROR); cnfg.disk = drive('\0'); break; case ECHOM: /* 3/ 8/85 */ case (int)LOWER( ECHOM ): printf( "Echo mode"); cnfg.tmode = ECHO; break; case (int) COMMAND: sendchar( COMse (int)LOWER( ORIGIN ): /* originate a call */ do_orig(); break; case PORT : case (int)LOWER( PORT ): if (*cnfg.porthelp) { int tport; tport = cnfg.port; do { printf("\rWhich port for modem (%s)? ",e function in TALK mode"); bad_cmd = TRUE; } else do_rcv(); break; case RETURN: case RETURN2: break; /* just return to terminal mode */ case SEND : case (int)LOWER( SEND ): do_send(); break;and switch */ } while ( bad_cmd ); return TRUE; } void echo() /* 3/ 8/85 */ { while ( (kbdata = kbhit2()) != COMMAND ) { if (kbdata) { putchar( kbdata ); /* local echo */ if (kbdata == '\r') { putchar( '\n'); if ( upl. *capptr++ = moddata; /* nearly full */ if (capptr > (captop - LINE_BUF) ) { sendchar(XOFF); /* try to stop remote */ while ( minprdy() && capptr < captop) { putchar( (moddata = mcharinp()) ); if (moddata != EOFCHAR) p_on; if (cap_on) printf(" ...Logging is ON"); else { printf(" ...Logging is OFF"); cap_write(); } } else { warn(" ...No log file selected"); bad_cmd = TRUE; } break; case DIAL : MAND ); break; case FILECAP : case (int)LOWER( FILECAP ): /* define a filename for data */ /* capture and turn capture ON */ if (cap_open) cap_done(); do_filecap(); break; case ( HANGUP ): ca cnfg.porthelp); set_port(d_number(tport, 1)); } while (cnfg.port == ERROR); } else /* no port change function */ bad_cmd = TRUE; break; case (int)QUIT: printf("\r ...Hanging up "); mdm_hup(); c case (int)TALKM: printf("Talk mode"); cnfg.tmode = TALK; break; case TERMM : case (int)LOWER(TERMM): printf("Terminal mode"); cnfg.tmode = TERM; break; case UPLOAD : case (int)LOWER( UPLOAD ): lf ) sendchar( '\n' ); } sendchar(kbdata); } while ( minprdy() ) putchar( (moddata = mcharinp()) ); } } void echoc() /* 3/ 8/85 */ { while ( (kbdata = kbhit2()) != COMMAND ) { if (kbdata) { putchar( kbdata ); *capptr++ = moddata; } cap_write(); /* write out buffer */ sendchar(XON); } /* end if buffer nearly full */ } /* end while incoming characters */ } } void term() { while ( (kbdata = kbhit2()) != COMMAND ) { i    f (kbdata) sendchar(kbdata); while ( minprdy() ) putchar( (moddata = mcharinp()) ); } } void termc() { while ( (kbdata = kbhit2()) != COMMAND ) { if (kbdata) sendchar(kbdata); while ( minprdy() ) { putchar( (moddata = mchars */ } } void talk() { puts(t_prompt); while ( (kbdata = kbhit2()) != COMMAND ) { if (kbdata && kbdata != AUTORCV && kbdata != ACK && kbdata != XON && kbdata != XOFF) { sendchar(kbdata); if (kbdata == '\r') 60, '-'); pr_bstat( rcvb() ); beep(0); pr_line(60, '-'); puts(t_prompt); break; case XOFF: /* wait up to 20 sec for XON */ readchar(200); break; case XON: break; default: sendchar(! ALL CODE IN THIS PROGRAM IS COPYRIGHT WOOLF SOFTWARE SYSTEMS (C) 1981 REPRODUCTION BY ANY MEANS PROHIBITED BY LAW. ALL RIGHTS RESERVED. 1!:02:02*"!"2 2 2  #:Go\͵:2  $' J~\ A#3_AK#~ K ͵>2hW|r-͎ß *~ʟ 2\~# „ ͎:\©<@_:!]^#¹.!e^#͎2h2i2j2k2|\͵<-l:  -͎ß 2>2>2Qq>2:%ʟ $D6A7[ß !\aY{Y_w#L2h2i2j2k2|: {<2\: ʖ  !]w#Ž͎:\@_:!]^#¯.!e^#͎͝_ͥ\͵ ͎ͅʦ _rinp()) ); /* no EOFCHARs in capture file */ if (moddata != EOFCHAR) *capptr++ = moddata; /* nearly full */ if (capptr > (captop - LINE_BUF) ) { sendchar(XOFF); /* try to stop remote */ while ( minprdy() && capptr < captop sendchar('\n'); } while ( minprdy() ) { /* my echo */ if ( (moddata = mcharinp()) > DATAMASK ) { putchar(moddata & DATAMASK); if ( moddata == HI('\n') ) puts(t_prompt + 2); } else { /* remote data */ switch ( m HI(moddata) ); putchar(moddata); break; } } if (cap_on) talkc(moddata); } } } /* capture a received character in talk mode * doesn't try to buffer additional characters after sending XOFF */ void talkc(c) char!~*##~_N*#~_O*#~_C*>2 ͎*͎!~]2!~=##~ʹ#R>2*w¤9}m–: ʦ <2 m:m2 ì : }>2o~:]!N #6!~_SGN B'A.R Lʫ MP Eʦ T: :f͎ !] ~a%{%_#!  ~w# 12͢:f4ʿ6A7[>ß g͎ͅʦ _Yœ2:WqA[҂ß 1:W͎~V1æ e͎ͅʦ Vg\$2!ʹ:73 Y 2|\2|\ͭ° 25q:C 6A[! ß P͎ͅ| 2q:& 6A7 [U ß 24q:&ʧ 6A7 [Ҁ ß ͎V2Qq:6A #ʈ ʴ 7 G[ҷ ß \ʰ \25) { putchar( (moddata = mcharinp()) ); if (moddata != EOFCHAR) *capptr++ = moddata; } cap_write(); /* write out buffer */ sendchar(XON); } /* end if buffer nearly full */ } /* end while incoming characteoddata ) { case '\n': puts(t_prompt + 1); sendchar( HI('\n') ); break; case DEL: sendchar( HI(BS) ); putchar(BS); break; case AUTORCV: sendchar(ACK); beep(0); puts("\r\n"); pr_line(!qÊÕßãí TeleVideo 803 300 Baud Modem Port $NFIG FIRST.  $:G!N#~2#yz->/.>/!ͼ :5͡ :6:6͡ 6El#~O#~C>2 ]2 ]>2 ]#~_AKRʶ |n}0ngʥgxgʥ–: ʍ<2 Ú~~]2 ʚ K_K͎*͢2͎ͅ_Y]!"]]͎!~0_#~~]2#~6A[ß ͎ͅʦ V2:M6ʟ [(ß 4͎~ß ͎~> !  w#]u:<2>22 2\ J]J\͵:2 ~ ¡#Ó_Aʫ#~ « ͵: : f͎> 2 2>2>2: "6A[q: 6A7 [ ß ͎ͅV 2q:& 6A7 [/ ß 23q:& 6A7 [Z ß ͎ \ͽ͎~2q:& 6A7 [қ ß 1:W͎~ \ >G2>22\>2#~ #    \͵:]  ] ?>2A!\q:@ 6A[ ß ͎*>2>2Qq:"Cʋ B{ 6A[S ß w#€ N 6͎*~@_:~~ 2\#~ ¯ #\͵:] ] ?W|͎:\ <@_:~~!e^#͎2h2i2j2k2|\͵ !  w# g&::W ß >2>G2!:O 6$͎͎=~~ß *#":W:<2‰͎ͅ_YŽ27?7*#":W:<2ʱ7?7ɯ2" Fx# ʾ~:x_@#+J~ #*:2?~#. >2:27>72'>2WG: xWdGWdO* "0:p0AGz77*͎_ʡ ʡ_ “~!"/*^#V |Ҳz/W{/_*##"Y°::G  Woolf Software Systems $ $ **** File Not Found $ **** Syntax Error! The proper commands are: SEND FILNAME.TYP [AS DESTNAME.TYP] (Send file to remote computer) GET FILNAME.TYP [AS DESTNAME.TYP] (Get file from reTALK (Emulate dumb terminal) EXIT (Exit to CP/M) $ File name already exists on remote end. Replace?$ File name already exists on local end. Replace?$ Remote disk*~" +  ~͎ ~ ~~ß #^#0 .^#@ ####>2>G2>2#~ _ #~x #n 2Pq:ʟ 6A[} ß :] W>22w:! AdP6m2>2>G2!\w# 2|2W0 % ß 2>S2!\w#,2|͎:\I<@_:!]^#Y.!e^#l͎\͵ʽ>2q:ʳ1X7X͒ҕX2|\͝_ͥ2|\͎ͭ4ß =2q:7.~.#*  ~ #*8:2? x>?? > M*!"\q\ʛ!o:\#~# ‰*#"j>*:W! q:Wq!!\q:Wq>:Dx5/5!"y:S  ѷ0z77? H  : :   mote computer) LDIR FILNAME.TYP (Get local directory) RDIR FILNAME.TYP (Get remote directory) NOCONSOLE (Inhibit console output) BINARY  full. Insert new disk and press return to continue, or press control-c to exit to CP/M. $ Remote directory full. Insert new disk and press return to continue, or press control-c to exit to CP/M. $ Disk full. Insert new diskh:\ <2\W|* "m=*q:Ÿ 2~ \~#L !] ~w# Z 2!\:W$q: 15ʓ ͒g X=>2q: 4ʾ 1X7͒қ X͎ß ͎~͎:\@_:!]^# .X=G͒X\͎3\ß \ͽ͎~ß ͎~ß >2>G22!\w#z2|2hW=q:Ÿ |µ":Wm*~2~ D> DO* "G: x`gDgD0:p-:q4-2G4-/'!"4-24-2:2G!4-w#¸*4-G4-O |'::G:S:W: * * MOVE-IT (tm) * * Inter-computer communications utility Version 0.0 Copyright (c) 1981  (Set 8 bit transmission mode) ASCII (Set 7 bit transmission mode) MESSAGE (Send message to remote console) TRIES (Display retries)  and press return to continue, or press control-c to exit to CP/M. $ Directory full. Insert new disk and press return to continue, or press control-c to exit to CP/M. $Sending $Receiving $...$ Complete.$ Aborted.$ A    borted. Directory full. $ Aborted. Disk full. $ Remote computer timed out. Command aborted. $ Warning - When an ambigious name is transferred, only the drive name is permitted in the "AS" field. File name ignored.*|g> >کÝ!p+q*DM͡:͆ ͆:_2:`!!:*& N͆!4!6ÃO$+q+p+qy͏ , $  ͌ 9!z6 # L!zw͌j# X:z 0 ͘=N#F char *p; for (n = 0; n < 257; n++) /* map everything to itself */ snd_trans[n] = n; if ( ! (file_fp = fopen( filename, "r") ) ) return 0; /* failed to open the translation file */ while ( p = fgets( buff, sizeof( buff), file_fp ) )!9n!9F+N+V+^+~+ngx2n2n2n# nog!9V+^+~+ngwPn#En|!9hn!9F+N+V+^+~+ng対zn#rnxʋnwʋn# znw|!9~#foʦn#Ýn}!9^#V#N#F#nxns# ùn! 9F+N+V+^+~+ngon}oo n++w xn/* idimdm.h header file for idi modem program * * Infotec Development, Inc (Commercial rights reserved) * For Official Air Force Use only * * * Note: If no environment specified, only portable info is included * * 12/11/84 added definit/85. * 3/ 8/85 Added local echo mode "ECHO" and echo with capture. All * modifications and additions marked with 3/ 8/85. */ #include #include #include #ifdef MSDOS #define PMODE 0 /* protection mode. $ Communications Line Failure. Either the comline is down or the remote computer is no longer running the utility. Try Again?$Directory for local disk $Directory for remote disk $Receiving filenames, please be patient... $ Messa c; { c &= DATAMASK; /* no EOFCHARs in capture file */ if (c != EOFCHAR) *capptr++ = c; /* nearly full */ if (capptr > (captop - LINE_BUF) ) { sendchar(XOFF); cap_write(); /* write out buffer */ sendchar(XON); } /* end if b { /* read a line */ if ( n = stcd_i( stpblk( p ), &i )) /* get the first number */ if ( n = stcd_i( stpblk( p + n ), &j )) { /* 2nd number*/ count++; snd_trans[i] = j; } } if ( fclose( file_fp ) ) return 0; /* errorɯ o~# x o!9~a)o{)o o&!9~A?o[?o o&p!9N#F`i^! ͓tmo`i^! ͓tuo`i#DMQo!"|`i^!-͓tʗo!"|`i#DMêo`i^!+͓tʪo`i#DM!"|`i^!"x#^!kto*| t`i#DM+^"|ðo*||o*|to*|DM!ions for TERM and TALK * 12/14/84 added definitions for send/receive status codes * 12/19/84 added more send/receive status codes * 12/20/84 changed RETRYMAX to 10 * 1/ 4/84 predeclared all void functions in idimdm.c * added new machines  for file open */ #define BMODE 0x8000 /* binary mode for file open */ #define O_RDONLY (0 | BMODE) #define O_WRONLY (1 | BMODE) #define O_RDWR (2 | BMODE) #define register static /* for speed! Don't use register variables * recursivge from remote computer: $ Number of retries: $ Do you want to clear the retry counter? $ This system has serial number $ $Puffer nearly full */ } /* read a translation table into dynamic memory */ /* 3/ 7/85 */ int readtran( filename ) /* Returns number of translations */ char *filename; { FILE *file_fp; int i, j, n; int count = 0; char buff[80]; closing? */ return count; } &j )) { /* 2nd number*/ count++; snd_trans[i] = j; } } if ( fclose( file_fp ) ) return 0; /* error99`io|DM!99!p`i~# x/p!9Ipx~#Pp!]php|!yÂp!y~#~#~#~yw#w#w#w!y*y*y"y"y*y*y"y"y*y*y"y"y!y>w#p!y~0s#p%s=ɯ* removed fancy #else...#ifdef clauses * 1/ 7/84 include conio.h for all systems, not just ms-dos * 3/ 7/85 Added translation to upl_str structure to indicate if a * translation table was being used. Changes marked with * 3/ 7ely!! */ #endif #ifdef CPM #define BMODE 0 /* ignored by Aztec creat() */ #ifdef fgetc #undef fgetc #endif #define fgetc(fp) agetc(fp) #endif #define DATAMASK 0x7f #define SECSIZ 128 /* sector size */ #define MIN_BUF     (SECSIZ * 8) /* minimum size for capture & s/r buffers */ #define MEM_RSVD (6 * 1024) /* bytes reserved for 'C' runtime */ #define LINE_BUF 128 /* max # of char buffered after sending XOFF */ #define ERRORMAX 10 /* # of consecutiveÃO$*sy͏ , $  ͌ 9!z6 # L!zw͌j# X:z 0 ͘=N#Fy}80*z{¯#z+++ ¥ z#½# · 9!`͠ y9!rͷz8O!B N#N ¾SP.* |} !9":q!"28!"9:] !í 1 2|2\  !]w# ʫ .&  0 6 #& .K !e K w# ʫ : U 6 #K 6AW w#] !e~H#~E#~X*}|́ "!́ ͐ !ʬ =« f kʫ j \͢F w# ͋ t ʫ : W& _& & O {7   > >  ͢| } @ >. *_}o| , 0 ë ^#V#!Y ))))o P q s#r#!V4 !V6# ,® >2Vñ m ͅ m ͅ m ͅ « Vʫ ! XN!~   communications errors b4 abort */ #define RETRYMAX 10 /* # of attempts to sync, send name, sector b4 abort */ #define TIMEOUT -1 /* returned by readchar() */ #define ABORT -2 /* returned by auxin_x() */ #define MAX_STR 80 /* keyboard  y=!z{w# % w!P͠ y͓}*w#"͌ @.@<!Eͷ~P !ͷ’P͌Q!ͷªP}QxQ!ͷ͓G@Q! ͷ y͓Gþ!ͷ ͓Q!ͷO=!9 Ÿ!6q!2qC J R q!z z=naO $q$,!;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy͓ !" >- Ͷ Aګ ҫ _!7^#V~  \p Z z ů2[\͓͢ ҫ ͐ =« f " ͓ ҫ ͐ ʻf " =ʻf "=« ý> 2͐ f "]=f =« *]}o"_  *]" `i"F & & w# & ͋ « t Y t Y GтWx ͢!o ~Z #N  *. *.  NEXT PC͐ =« f  . ~ Ͷ ʻ .͓ =« f |« }w#Ä >2L͐ ! =« f }ʫ +"MD Å D  !  #! _^! ^#V~ x+ >= = !~  . !   #x f L L ͓ͅ ҆ *" !6ï +"_*~ #E گ ʫ ^#V. ï ~ CZMEIABDHSP!"M"+"!91*~!O~6=G#^#V#~=COPYRIGHT (C) 1980, DIGITAL RESEARCH DDT VERS 2.2$10 !~=W!xe ~#Xbxʇ {z~#o}o҃i.2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*o͓Q͌Q!.ͷ6y#G͙Qà!2ͷQ͓͌Q!>ͷq eg͙Q:zJEËC–EQyQxQRQ** {zҷ*~#" <AOGƐ'@'OxƐ'@'ON# O!b q!vz͒q.?*!9"8"͉Z*" +*'/7?v"*2:EI SPHLDI XCHGPCHLXTHLRET HLT CMC STC CMA DAA RAR RAL RRC RLC NOP CPI ORI XRI ANI SBI IN SUI OUT ACI ADI CALLJMP LDA STA LHLDSHLDMOV ADD ADC SUB SBB ANa. ~ #E }"]*a 6 *]}#|#*]E ͐ « f f f {zA|« W}d ͐ f f f DMʡڏ"=ʡͲ=ʡYPͲ1**!O~4#~#F#x~#s#r#w>͐ « f f  . ᯕo>g. ë «   Ͷ ͐ =« f xY |« }ҫ gA>S Ag}S S i |« }!w s#r:[ʔ _!~ʦ ![4ç \͢¦ 2[ 7 >?  e͢!g"c> _͢a_!f~> 5*c~#"c 0 x (#"!N#FW( *J>7Å*M|N+"M N:LHͅÅD Å >* *͓ b" . *"] !/~##ʁtZ*F#n!Is!^#V&&##&))::^#V#*^#V>+)x-8_    )*)þ))>+><7"9.Yͯ * M^2U :2:2ͳ:_³ͯ !6! @!!BH @@ABH B! "BHI$$BI$BI $ HI crc request? jz waitcrc ;yes, go set crc flag DCR E JZ ABORT JMP WAITNLP ; waitcrc call ilprt db 'CRC request received',cr,lf,0 xra a sta crcflg ret ; ;----> PARITY: Routine to setup the PMMI for odd or even parity. PARITY: LDA PMMIB PMMI - WHEN OUT$MODCTLP DOES RET IT ;WILL GO BACK TO CALLING ROUTINE NOPARIT:LDA UARTCTLB ;GET UART/MODEM CONTROL BYTE ORI NOPARMSK ;RESET PARITY BIT ON PMMI JMP OUT$MODCTLP INITADR LHLD 1 LXI D,3 DAD D SHLD VSTAT+1 DAD D SHLD7||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!a{   `OE!y6$ -7rBo&))T])))!yT_ENBUILDENPHUF!!9DM! ~#fo`is#r`i~#fo#|R`i6#6`i~#fok6H! s#ro`i~#fo)~#fo7 `i^#Vr+s! ~#fo|*@}e! ! !-!h !-! !-!4 !-`iw#w`i~#fo|&,! s#rz¡! 6 #6`i~#fo! ! ~#fos{ `i~#fo! 6`i^#Vr+sx! n}! 7 ! n}e*!D$HD$$ H B!$D$"$B$DA!ABI$H B$I $HI$H$! $I $I$$A !A@$I$"!$H$I$I "! $A$  HHAA"I @BB $A"YTE ;IS MODEM A PMMI? ORA A ;SET FLAGS RZ ;NO, RETURN LDA OPARITY ;GET ODD PARITY REQUEST BYTE ORA A ;SET FLAGS JNZ EVENPAR ;IF NOT ODD SEE IF IT IS EVEN LDA UARTCTLB ;GET UART/MODEM CONTROL BYTE ANI ODPARMSK JMP PARITY1 EVENPAR:LD VKEYIN+1 DAD D SHLD VTYPE+1 LDA PMMIBYTE ORA A JZ JMP$INITMOD ;RETURN DONE FROM THIS ROUTINE.. LDA IN$MODCTLP+1 ;..IF NOT PMMI STA OUT$MODCTLP+1 INR A STA OUT$MODDATP+1 STA IN$MODDATP+1 INR A STA IN$BAUDRP+1 STA OUT$BAUDRP+1 I#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r~#fo#|ʄ! ~#fo^#Vr+s`i~#fo|, !  6#6!  ~#fo#|ʵ! !  ~#fo!  ~#fo͉s#r ! s#r! s#r! ~#fo|]! ~#fok6H~#fo|O! ~#fok6H##6! ^#Vr+s)! ! ~#fos#r! ^#Vr+s! ~#fo! 91.6 06-12-82File squeezer version %s by Richard Greenlaw 251 Colony Ct. Gahanna, Ohio 43230 Accepts redirection and pipes. Omit other parameters for help and prompt Parameters are from command line or one-at-a-time from standard input and are $$$I$$H!!! BH" !I B  $$!BD! $!BI D@"!$I$$H"!I$I$I$UUU$$A$ A EPARITY ;GET EVEN PARITY REQUEST BYTE ORA A ;SET FLAGS RNZ ;IF EVEN PARITY NOT SPECIFIED RETURN LDA UARTCTLB ;GET UART/MODEM CONTROL BYTE ANI ODPARMSK ;SET FOR PARITY ORI EVPARMSK ;NOW SET FOR EVEN PARITY PARITY1:JMP OUT$MODCTLP ;SEND TO*K͞+@,>IY'+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77! ~#fo! *=V!#|ʟ>2FY!"DY! 9*** rescaling ***, *6Is[l!9DM! s#r! !9DM! ! 7 ! ~#fo! '>2.H>2+H>:2,H>2-H`i6#6`i~#fo! ~#fo ! ~#foutput drives and input file names. Empty to quit. *!9DM! ~#fon}-] *.H}͝}2.H% ! ~#fo#n}: ! ~#fon&%.|ʷ ! ~#fo##n}´ ! ~#fo!. V.! ~#fon}2+H% ! ~#fo!@ !-% ! ~#fo`is#r`i~#fon}+ `i~#fon}* `i~#fon}    ? ! ~#fo!U !-% `i^#Vr+s ! 6!+H! {.! ~#fo#n}:\ ! ~#fo##d ! ~#fo! {.! `is#r`i~#fon} `i~#fon}. `i~#fo#n}ª `i~#fo6 `i~#fo##n}q Q ! ~#fo!p !-% `i~#fo###6`i~#fo##6Q `i^#Vr+0!  o/!9 %s -> %s: Can't open %s for input pass 1 Can't create %s analyzing, squeezing, Can't open %s for input pass 2 ERROR - write failure in %s done.!9DMW! ~#fo`is#r`i~#fo#|`i6#6`i~#fok6H! s#r~#fo#|! s#r! 6! w#w! ~#fo|Ҟ! ~#fok6H~#fo! s#r! ~#fo! ~#foҐ! ~#fo|ʐ! ~#fok6H! ~#fos#r! 6! ^#Vr+s! n}Z! ~#fo| ! w#w! ~#fo| ! ~#fok6H~#fo! ~#fo͉s#r! ^~#fok6H~#fo! ~#fok6H~#fol! ~#fok6H##n! ~#fok6H##nѯgWl!&!&!9DM`i6#6! ~#fo| ! ~#fo~#fo! s#r! ~#fo! ~#fo! ^#Vr+s)~#fos#r! ~#fo+!! ~#foq! ~#fo~#fo!i~#fo?V6`i^#Vr+s!9!9DM! ~#fok6H###~#fo`is#r! ~#fok6H~#fo! s#r`i~#fo#|! ~#fo#|! ~#fo?V! ~#fos! ~#fo)@W*BY! ~#fo|g}os#r! ~#fo|!!ÒÌ`i~#fo#|>*BY!ͩ! ~#fo#'*=V! ~#fo! s#r! ~#fo! ~#foq! ~#fo! ~#foq! ^#Vr+s`i^#Vr+s`! 9!9DM`i6! 6*FY! nѯgW ! n}´`in&ø`in*GY! ng|g}os*GY! nѯg"GY*FY! nѯgW}2sy ! ! {.! ! ~#fo͖ !9 Output drive =%s ERROR - Ignoring %s Ambiguous name %s ignored %s ignored ( already squeezed?).QQQ!9DM! ~#fo! ~#fo!V.! ! ~#fo.#| ! ~#fo!"!- !  ! ~#fo/! ~#fo^#Vr+s`i~#fo|º!  6#6!  ~#fo#|C!>V.!  ~#foR!  ~#fo͉s#r! s#r! s#r! ~#fo|! ~#fok6H~#fo|! ~#fok6H##6! ^#Vr+s)! ! ~#fos#r! ^#Vr+sy! ~#fo! !#Vr+s! 9!9DM! ~#fo++`is#r`i~#fo|h! ~#fo+`i~#fo! ~#foq`i^#Vr+s1!9!9DM! ~#fo)#`is#r! ~#fo! ~#fo)~#fo! s#r`i~#fo! ~#foڰ`i~#fo! ~#fo! ~#fo`i~#fo#)~#fo! ~#fo`i~#fo)~ s#r`i~#fok6H! s#r! ~#fo`i^#Vr+ss#r! ~#fo###! ~#fos#r! ~#fo! ~#fos#r! ~#fo! ~#fok6H~#fo! ~#fok6H~#fos#r! ~#fo##! ~#fok6H##n&! ~#fok6H##n&"s! ~#fo+!! ~#fo ~#fo}/o|/g|g}o"BY`i~#fo! ~#fo# #|>!Ò! ~#fo#|ʌ*BY! ~#fo|g}o"BY! ~#fo! ~#fo# #|Œ!Ò!Ò!9!9DM! ~#fo!vq! ~#fo*)Hq! ~#fo#n}:! ~#fo##s#r! ~#fo! ~#fon&#FY`in&ø*FY&|T`in*GY! ng|g}os! n*FYѯgWs*DY|~>2FY! n}v!{`in&ø! ~#fo"DY#|š!"DY*DY)@W~#fo"GY*DY?Vn}2FYÏ!9>25H!9DM*5H}ʡʮø>25H! ~#fo"1#|) ! ~#fo!B!-! o/ !")H!SV.! ͯ! o/! ~#fo!  ͛!_V.! ! ~#fo.#|š ! ~#fo!k!- ! }! s#rz !  ! ~#fo͘/#| ! ~#fo!!- Ý !V.! o/!   ~#fo! u*=V! #|-͑>2FY!"DY! 9*** rescaling ***, !9DM! s#r! s#r! s#r! ~#fo|! ~#fok6H~#fo! ~#fo! ~#fo! ^#Vr+s! ~#fo! ~#fok6H~#fos#r! ^#Vr+sr! ~#fo##fo͹|`i^#Vr+s! ~#fo`i~#fo)~#fo! ~#fo͹|ʰ! ~#fo! ~#fo)! ~#fo`i~#fo)~#fos#r! ~#fo`i~#fo)! ~#fos#r! ~#fo`i~#fo! ~#foq!9!9DM! ~#fok6H~#fo! ~#fok6H~#fo!&! qÄ! ~#fo~#fo"=V! 9!9DM! n! nѯgWͩL! n&Q! n&!9DM`iw#w`i~#fo|`i~#fok6Hw#w`i~#fok6H##6`i~#fok6H###6#6`i~#fok6H6#6`i^#Vr+se!9!9DM`iw#w`i~#fo|`! ^#Vr+sn}*=V|ͩ)!0*=V! s#r! ~#fo! ~#foq! w#w*=V`is#r! ~#fo! ~#fot`i~#fok6H###~#fo! s#r`i~#fok6H~#fo! s#r! ~#fo|ͩ! ~#fo#*=V! ~#fo! s#r! ~#fo|H*1H>>!>>+0>25H!!!"/H! ~#fo"3H*1Hg*/H|g*/H#"/H6*/H>v>ʅ>‚>ʍ×*3H"1H>25H*1H>25H!>25H*3H"1H>25H*/H!1!9Bug - bad state !9DM! ~#fo+2`is#r`i~#fo#|    *)H`i~#fo")H`i~#fo!9!9DM! ~#fo! ~#fo͘/#|X!ZV.!9Write error in putc() !9DM! ~#fo! ~#fo2! ~#foʰ!V.!9Write error in putw() !9DM*.H}J!S1`iw#w`i~#fo|B`i~#fo%3d l=%3d r=%3d Huffman codes %3d %4X l=%2d c=%4x !9DM!9!n s͐{~#fo! s#r͐y~#fo! s#r`i6#6!l w#w!9! s#rz˜ !#!o 6#6͐o͐"! ~#fo͐o)~#fon}!,!͐o+| ! ~#fo͐)!#s#r! ^#Vr+s!l ^#͐#!n n&! ~#fo͐q)~#fo͐o)!D ~#foo%|ʳ#͐q`i^#Vr+s[#ó#͐q!s s#r͐s͐Ұ#! ~#fo͐s)! ~#fo͐s#)~#fos#r!s ^#Vr+sg# #!q ^#Vr+s"!o ^#Vr+s"͐y͐s#r͐{͐s#r!#!u9*.*! ~#fo##s#r&!'! ^#Vr+sn`is{&`in}?g&! ^#Vr+sn`is{^&`in}.^&&d&!'&`in}*&͐n`is{ʘ&! ^#Vr+s`in}.•&Ø&p&͐n`is{&! ^#Vr+s`in}.½&&Ø&&`in! ^#Vr+sn}&&&!'&͐n}&!''! ~#fo`i~#fo)~#fo#n}*)!*!-9! ~#fo`i~#fo)~#fo#?:*#! ~#fo`i~#fo)~#fo#/#|š)! ~#fo`i~#fo)~#fo#!*!-9*#4*##n}?*`i~#fo! s#r! ~#fo! ~#fo~#fo*! ~#fo! ~#fo)! ~#fo! ~#fo#)~#tempout.$$$(t*! ~#fo`i~#fo)~#fo#n}')*! ~#fo`i~#fo)~#fo#.#|((!fos#r! ^#Vr+sø)! ~#fo^#Vr+s`i^#Vr+s*^#Vr+sq*! ~#fo! ~#fos#r! ~#fo! ~#fo~#fo)w#w*! ^#Vr+s`i^#Vr+s]'!9Can't open %s »/>/>/>/>/>0>/>0A0! n&,! n&!9!9DM͐n})2! ^#Vr+sn&,2!9DM͐|B2&,2͐+++|Y2!92͐##^#Vr+s|2!͐͐~#fou<`is#r!|Ҫ2͐##^#Vr+s2͐##͐?+s#r͐͐s#r͐^#Vr+sn&2!9!9DM9}5! I95!! s#r! ^#Vr+sn`is{.^5! I9! s#r! 4! ^#Vr+sn`is`in&ͦ9}Dʊ5U5X5O5C6SO6{7͐~#fo|5! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 5! 65! 6! ~#fo! n&! ^#Vr+s~8!8þ7!8!9!9DM! n&|ͯE8! n&|ͩ!9DM! n&|ͯt8! n&|ͩ!9DM͐͐ 8͐^#Vr+s͐ڳ8͐0û8͐7s!&9͐ ͐͐ ͉͐x8`is͐ ͐͐ )͐:q):$;=$;=r:qo&7*?:\!*:#7:)~:,"s!"u*|*uʽ;*~#”;"*s*u½;#"u*+"Á;7*|DM**;><;~# x; ><;~ , FNxg>Goy*>$=EXECL: Too much text $!p=!*w#¨=*:1=*=!=!a{ ѷ!! n&!9! n} .0! !9! n&!9͐##^#Vr+s| 0!͐͐~#foW;|0!͐##6#6͐͐s#r͐^#Vr+s! ns&!9DM͐0!1͐##~#fo|0!1͐##~#fo͐)͘/|;3͉͐͐͘/|;3͐!!9DM`iw#w! ^#Vr+sn}o3`i^#Vr+sP3͐v3!9!9DM͐`is#r! ^#Vr+s! ^#Vr+sns{ʷ3Ñ3͐þ3!9!9DM`iw#w! ~#fo͐n! ~#fo͐n}!4! #fo! x8ѯgs#r6! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s6! n}b6! 6#6! ^#Vr+s~#fo! s#r͐n}6͐|6! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s}6͐6! ! s#r! n}7! ^#Vr+s!|7! ^#Vx8`in&#&9!9!9DM! n&|ͯE9! n&|ͩ!9DM`iw#w͐~#fon&9}ʖ9͐ ?͐^#Vr+snѯg`is#rW9͐Ý9!9!9DM! n&I8|9! n&9! n&& 7:O* *:+*|+ x;|}7:,*>:*2<}|2q c<Y<:qwT +=#~`=##T=xSڜ== =EXECL: Too much text $!p=!*w#¨=*:1=*=!=!a{ ѷ!   !àCOPYRIGHT (C) 1977, DIGITAL RESEARCH ZSID VERS 1.4$1/ !~=W!xe ~#Xbxʇ {z~#o}o҃i.4*"#":2222!=8 . a  !g  !! 0͟2!b  F>!  ®Wc͡Oi W*##yOx€y Ê y AzÙKByxy͡Ù! {/O! .{/O9OV >G>ͽÙ>CÏ͟XY x GV6W>6xJ  pÙ! aO y! ‰ uwͻ'‚>!  Q(ʰ_zÕz Ͳ >Oz>ʤ>ä! ͌ >! EV͉W! !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3U ! 3! 3UW͒H! 3ü! 3\, ! 3\! zl z=1  3 !+ ͤ a # zB) zO!f 3>͈C~ GK ! 3z! E ! 3@ z¾ z! u ! 3w,ͱ́r! 3z ͥ # ͍ z¯ ͉2 ͉W͇ 5 z'!k # µ !3{͒z͒S?*!9"͡"͉*" *C (SP ??= xKàï÷ZhÐyg Æ}!"Q!*"!"!""!2V!2M!2#!2S!!" "d!"!"!!1!!++"!"O!>2Ãø *sy͏͟+-'#.@=90Oy) ,    ͌ >^! 6 # q! w‡Ø͌>ʘ# }2 :  A ͪBx¸{{: G*w#wx͡ ͟80* {#z+++ G>ÙV) y*W>ưG*! ž yG VO{xʃfBGͲ G>Ù x Ͳ>Ù   Â! Q V ͵'> >3*  &! E͟(ʹN[W ͽG>Ù_V% {>*W -{ZW >{ ͵@&! VhV c >rw> V >** {zҝ*~#" 2x:U<{͉2 5 !äͤAOHL(HL)CʹA ͵ ͵ !. ͤ!  ! O 3͍A,,A3͍! ́Á ! L ! ́z8O! 3~ ~ >v ! 3Uʹ,zʹzHږ 8O!n 3 C( )(͍)! 30> >z ͥ ,,ͥ ͉͉W'/7?v"*2:DEFMV^goRET EI DI EXX HALTCCF SCF CPL DAA RRA RLA RRCARLCANOP !"#)*+4569FNV^fnpqrstuw~CP OR XOR AND IN OUT JR DJNZADD ADC SUB SBC AND XOR OR CP INC DEC LD RST AF POP PUSHJP CALLRET EX I,8!"9:] !÷1!į>#yh͐ !J!6-B5͐A]]_!Y^#V]8]03]]]]]!]]j]]ů2[\ͯ>2M!!""!]:J!͠=]g" ]g" =g"=]> 2 ## ' 1>>^ 0 8 a[^ !~-i6+!w yÏaÌ^ ! y͌ >ʠ(͇ ͇ >V a!  y͟͡O*w#"͌@GVI@zWe '3>ͽOzy Â(Mx?*z:: OzäIjG>ÙzG'vV”zOx yʏ >(ʠOxà: Ox¯>*ä>>{ IO> VyHÂͪ͟A>2Ó'>"HL{X GƐ'@'OxƐ'@'ON#5 z80O,z8UO! N#Ny ,!}ä(C)3ͱ,USPS* |} !9":!"<<2* ͞ !~5 * ͡S ͤ_͕yO! 3 $% ,% !+ ͤO͉͒y !W {A !\ ͤ: ͒H)(IX+(IY+yO 3zʉ W! W3\,% ! 3! ͤAF,AF'! z> z ʽ ! ><3͈͐! 3 ͵ Z͉W{ ͇ z – z!  !A A,I RLD RRD IM 2IM 1RETIIM 0RETNNEG LDI CPI INI OUTILDD CPD IND OUTDLDIRCPIRINIROTIRLDDRCPDRINDROTDRSBC ADC RLC RRC RL RR SLA SRA SRL BIT RES SET LD IM NZZ NCC POPEP M B C D E H L (HL A BC DE HL SP IX IY AF (IX+(IY+(BC (DE (]]g=!1g=-1g!WgG"d!=Wg=]b*d!}o_"f!*d!"h!#>:y:K!ʞw^#V##:ڲ …òw~#:ڲ}ž"d!:J!*h!w+:K!!L!~/www*d!}|*d!:e   ]ggg{z|]}$2D!2E!gg"F!g"H!DM\!D!6xf"!=x=xYP!$!~ʲ#^#V:D!ʫ*!{«z«"!!~62 !ò#w6 }1!1!*!*!!V!~4#~#F#x~#s#r#w>g!!|]"!!$!~=#~#V;z;:!w :!]!$!~e:!w#s#r R]!$!~ʛ:J!ʈ6Û~w#^#V v!ʷ=]g"!!l!~# :]?ʀ͍]>HXEͱ*!\ͯ€s#r#Ü]}w#:K!ʜ#Ü>#>2S!!"O!#P@g}]=O=]g"O!"T!2E!U # `͐ xG͐ …xÔ']͐ ]x/!*5]ʬ!:E]]͐ ]cwh=]gx|]}]#gA>Ag}͜ ]'͜H']S_#B͐H@0 ])DM)) O #^Y*!^#V#͐^KZ))))o͐HB"!s#r#!]!4-ˆî+•*!Ý+«͐ Ø-͐y_xWØ͐!K!6W6͐!]!6# ,>2]!}m ͐}9&4&&#^xCZMEIABDHSPXY!"T!2S!"!+"!!91!!91!*!~: !2D!!@!~ʨ#^#V#~ ›!V!~6=G#^#V#~xú#"!!N#FO*Q!>7U:#!”!$!~Q~_!< < "< {p? {5? B ? ͍>G ><7*O!|z !N!N*!!b z >#y> y×:S!!K!ʐ ڐ >û ʺ =_~/w/w{ʮ Ү ͍=ʺ YP× "!pCE" *!##F+N+~ʿg===]g#wᯕo>g#'d w>#y!3^#V#0}o|gg Zx~y0ʅyGÑyyÑ‘G~Sz{ <w>'y{y>'y*!##V+^+N+y#w ~+yxÐ. w# &]:Wr_rrO {Bx!<i`"!Àrrw#Er]&Z&Z\GтWx!ڐ:M!̠>ULTͱ!!\~# ¡2|:] >!v͍͆<]&>!_\_*!& & *+& |]E~!!!!pLs#r:[F_!~X![4Y\ͯX2[17>?y l!ͯ!n!"j!> _ͯ~y#Æ͜a_!m!~> ʰ5*j!~#"j! Ҽ0y7yͲò> y> y ͯ#:J! w>.ym ͐}m ]]!]!JXN~!:!~# IA_^!!L^#Vx}>ѷ>-y~y/y~y>=Ñ/y>'y¨~!!!!~[#wc#x ڹwù5!*ͱE!:ͱw *!" !6#~#V*!QzQ~==2#!6w6:J!6 U<!͆*!U ”|=p U*! U:D!ʔ*H!MD*F!:E!7U!"O!O2#!>*y*!ҷ" *!"d! PASS !S!~*T!+"T!|w=2#!~! ~##Z: !!/o>g{!z!<33 @ B*  w#  *,?r# ,:J!]m!!Ow #w Eq!\ S:o@w#tG6#.ʏÃ6# ‘S6 w#ä!ex#y#*!}|"!:M!!]qg!=:J!] !]w{]*#^#Vr+s+6]*"s#s#rT!J*!*"!!͆*!#w*!#w*+# SYMBOLS NEXT PC END =]g#w:K!ʹ^#V#ý~wh͐ .:m!>."͜ ʜw#=]g:K! ^+~y:J! >:y|}5 y>.y*f!}o|/+- ,) 0 ]^#V#͐*!Ny]*j!*l! Eʠ ʺ+º͐Ë ºHʳ͐#^#V"l!"j!~/o>g++u!.n@n^#V=n^'c#~O+"f!*!~~#:cwJ^#Vy6DzS_c~*!~c#^+*!~Gzx&ç@—xv&ʳx80&óx6ʳ4ʧ5¹>=y*!~*!x*!*!:J!& &&x*!~&ó&*!~*!!w2 !~C< EB ͍E *!F#!N!s!7^#V__eB B ? ? 2 B B uE ͍E ::^#V#k^#{*!^#Vuʡ>G E x°I 8_E *!kE e+~ʻû:N!?*!###E ̀E ̀>G AI $@$B$@$$@!$D  I $I $$$$ BA"$ BHB$$ !$$B$! B! $$" " A! H BBBHBBHAHD!I I I$$! $@B $!B "I   H "DI!HI $ !    B"!AI$I$I$ I$A$ I$@D! $"$ HDIDBHIBAI@AHHH"H@@D$$I ABI$I$HB@I$@$I$J $$IB@* I$$I"HI$ABIA $ @@ !/ a #   # ʶʭ # 2@m R zI =C =: zzʶʭʕz Ÿ zO=! 3Uber IDIMDM.DATIDIMDM.CHRInsufficient memory--try smaller phone library or translation table ECHOTERMINALTALKInternal Error -- no terminal mode ͩwV!9s#r! 9~#foͯ|ʽ!! 9^#V!9~#fo~|s#r!9^#V!ͼ|!!9^#V!{q"b|!|!zR!9!!!!R!9!fU!-!5L !!!!R!9!!!!R!9!(!&!!R!9!IfU!-!5L !r!p!b!`R!9!!!!R!9!fU!-!5L !!!!R!9n't hang upsend to remotequit--hang up modemͩw!9~#fo+s#r#[|ʁ ! 9^!'tR ! fU ͩw!-!<L *}!^ fU*~~ *~!~ fU*} | ! *} | ! ! ! fU:}o&! f is ON ͩw!*d#"d+s!l!H fUg *| _!"|!"|*b"d ...Saving Log data in %s ͩw*b!9s#rÊ !9~#fo#s#r!9^#V*dͼ| *|!9^#V^͜^ | !G!l! fU!{ *b"d! ...Error writing Log file %s$ @ $!$I!"@! $AI$$! "B $ "H@"! $ HD@DH"$@!$$ H  ! @AA@H@HBD@@BI@$ $HBD!B HI$$$"$ D$"HIHBI$I$DH@"aͩw^Q͵B! 9~#fo+s#r![|! 9~#fo##s#r^#V!9s#r^!- |i!9^#V^!+ |!9^#V^!+ |ʆ!"}!9~#fo#s#r^!9~#fo#s#rvK |!D!9~#fo#s#rv5 |!D͇|B!!9^#V!{*b"f!9^#V!{q"h|;!!9^#V!{{"j!ͩw!!9s#r!9^#Vq!9s#rz­!!9~#fo~|s#r!9^#V!ͼ|ʪ!g!9^#Vss!9^#Vͩw*}! 9^#V!fU [in %s mode at %d baud] ! ! !!R!9!K !J !6 !- R!9!-!KL CONFIGURATION COMMANDSBPPort selectionBEECHO modeTTERMINAL mode+TALK modeVView current settingsFILE TRANSFER COMMANDSFFilename for Log dataLLogging [on/off]RReceive a fiU*||3 !l! fU*||& !2 ) !5 ! fU!-!<L !9 fU!| !-!<L baud rate: %-d port number: %-d %s mode TALKTERMINALECHO default disk: %c file ͩw! fU!ͿB"{*{~ *%}|; ! *{ for COMMAND ͩw!9^#V!9^#V!9^#V!9^#V!fU! 9%8s %-25s %8s %-25s ͩw!AfU!-!5L *~~!]![!}!YR!9!p!n!}!lR!9!!leSSend a fileUUpload a text fileXUpload char translation [on/off]DIALING/MODEM COMMANDSAAnswer a callDDial phone numberHHangup phoneOOriginate a callMISCELLANEOUS COMMANDS:change default diskreturn to TERMINALquit--dofor Log data: %s Logging is: %s ONOFFFile Upload Parameters: ͩw! fU!ͿB"{*{~u *{<Y *||› ! *{: %s Send : %s Delay between characters: %d    milliseconds Delay at end of line: %d tenths of seconds Character translation: %s ONOFFͩw!9~#z!~!YesNoͩw!fU!9^#V^#Vͩ! 9^#Vs#r!fU!9^#V##^#Vͩ! 9^#V##s#r!fU!9^#V!^#Vͩ! 9^#V!|!! 9s#r-!9^!n |-!! 9s#r! 9^#Vf!RfU! 9^#VYyNn %s ͩw! 9^#Vt|ͿB!9s#r!9^#V~ʙ!9^#Vv! 9s#rê! 9^#V!fU!fU! 9^#V%d ͩw!zfU!ͿB"{*{~*{I:2*{<#r!|!fU!9~#;!9^#V͞?3!D;!D Send what file? Receiver not in TALK mode ...Cannot open %s ...Waiting for remote %s ...File NOT sent ...Transfer complete ͩw!9^#V! |! !s! 9^#V!fU 9^#V!^#V`i`^95! 9^#V!^#V9{ͩwͩQRͱQDM|?! 9~#o! 9^#V{0xP!9^ ͩw!9^#V!{DM*||`i |!͜PDM/|`i/|!'tä!'tͩw!9^#V~ !9~#fo#s#r!'t! 9s#rz!! 9s#r! 9^#V)~!fU!!9s#r]!9~#fo#s#r!9^#V! Z|ʝ!9^#V)}~#ʚ!9^#V)}^#V!fUN!fU!ͿB!9s#r!9^#V~!9^#VvK |8~*||*||!!"|*||:o?A2B8D2EFHLOPRfSTUVa2b8d2efhloprfstuv~! 9~#! %c: Command? New baud rate (%d,)? ...Logging is ON ...Logging is OFF ...No log file selected Dial who (?s#r!fU!! 9^#V!^#VW! 9^#V!s#r!4fU!! 9^#V!^#VW! 9^#V!s#r!9^#V! ~#ʣ!efU!9^#V! ^#Vͩ! 9^#V! s#rë!fUUse XON/XOFF protocol? Send at end of line? Send at end of lin!*{ͩd!9s#r! |5!G*{!fU!9^#V! |!|*{!fU!9^#V_;q!Dy!D Receive filename? ...Cannot create %s ...Waiting for %s %s ...Transfer complete ...Aborting ͩw! !fU %3d file%c transferred ͩwA!EfU!9^#VGf!! ...Aborting ͩw!x0x!9^#VZ!9!9^#V\DM/|88!PY{DM`i |! !'t! !'t! 9^#V##~#/! 9^#V! ~#! 9^#V! ~#! 9^#V+^ ͩw͸Q!9^QͩwͩQ;ͱQ/ͩw*'}|a!! 9^#VQ!9^#V"}!!ͩw! 9~#!!9s#rì!9~#fo#s#r!9^#V! Z|!9^#V)}^#V! 9^#V |!Ý!ͩw:}o&!fUF!9s#r*~!BfU!!9^#VW5*~ |A!! 9s#r~!_fU1!pfU*||b !*} |ʈ!fU!! 9s#rË~~5~!fU!"}~!fU!"}~ ~!fU͍ ~!! 9s#r!G~͇|%O D +!'t:|o& |7 ! !'t*||7 ! :|o& ͩQ^ ͱQ}2a&!'tB ͩw!!'t}2|&/||!:| :|o&!'t:|o& | ! !'t*|| ! :|o& ͩQy!ͱQ}2a&!'t:ao&/| !:ao*   d#"d+s*f*dͽ|v!! ͩQk!*d*fͼ|k!ͱQ}2a&!'t:ao&/|h!:ao*d#"d+s$!g !  h ͩw!!'t}2|&/|!:|ʱ!:|o& ͩQ!ͱQ}2a&!'tñ!Ã!ͩw!!'t}2|&/|ʯ":|":|o&|MX$!͜PX$X$:ao&|& :ao&!'tX$͇|# #$ $#$*||k$:ao&u$?#þ" ͩw!!9n{s!9^!/|ʫ$!9^*d#"d+s*f*dͽ|$! g ! ͩw!!V9s#r!!X9s#r%!X9~#fo#s#r~#fo?|'!W9^#V!Y9^#V#q!U9s#rz7'!W9^#V!Y9^#V![|ʁ'!9!W9^#Vu!U9^#V!Y9~#fo#s#r+)!a9~#fos#r&!W9^#Vͩw!'!9^#V for more)? %s ͩw! 9^#V!_)fUh1 |(!)}D!q)! 9^ ! !ͫ.!+!9^#V! |Z+!9^#VK!9^#V!+fU!G!9^#V![|V+!+fU! G!!9^#V! |u+!+fU1! ...Dialing %s %s Attempt #%d ...Connecting at %d Baud ...Hit any key to stop bell ...Cancelling ͩw!29^#V%R!2-.!G!89~#fo++s#r^#V!~.fU!!89~#fo++s#r^#V!.fU!,!= ...Entry is missing '=': %s ...Incorrect phone number: %s %s ͩw! 9^#VG!9s#r!9^#V! |.!}2>!>!9^#V! |.!/!9^#V! LINGCONNECTCONNECT 1200NO CARRIERBUSYERRORABORT ...Unknown or unexpected modem response :%s: ͩw1 |~1!!1!1!ͫ.͍uŸ1!!1!ͫ.͍u¸1!!ATE0Q0V1X1H0T OKOKͩwh1ͩw*},/|2*}/|2!K|o&/|?#:|o&/|?#:|o& :|o& |?#! ͩQn$ͱQ}2a&[|ʈ#:ao&{!'t:ao& |ʅ#!|MX$:ao&=$!|M! X$! !!'tX$! !G!r$M!-!<L :2!G!-!<L !rͩw!!9s#r!9^#V\!9s#r!/|&!9^#V! /|&!9^#V!9~#foZ||&!9^#V!9~#fo#s#r+!9~#fos&!9^#V! |ʝ&!9~#&!!!9^#V!9~#fos!9^#Vͩw!!W9s#r!c9^#V!P!9&!Y9s#r!?|ʄ'!W9^#V!a99s#r!t)!9^#V͍u#)!,"}I)!|)!9^#V͍u@)!"}I)!)fU*}K*}!)fU ...%s a call ATCONNECTCONNECT 1200 ...No answer from remote ...Connecting at %d Baud ͩw!)!Aͮ(Answeringͩw!)!Dͮ(Originating9s#r!z,!(!9!89^#V͖R!9!!9!89^#V;,@,e,!9,a,!9!69^#Vue,!!49^#V~v,!! ͩw!9^#V~ʺ,!9~#fo#s#r+^![}S·,!Å,!ͩw!89^#V~#R.!89~#fo##s#r++^#V!9s#r!9^#V%R!9|±.!9^#V! |±.!9^#V}2>!!9s#r=/!9~#fo#s#r!9^#V!(Z|ʢ/!͜P!9s#r! |v/!9^#V! |ʊ/!!9^#V!>sâ/!9^#V!9^#V!>s./!>ABORTͩw1 |/!)!0! 9^#V! !ͫ.!9s#r!0!9^#V͍u!A x0xP!62x0xP)!+++ͩw!!9s#r! 9s#r!|!3fU!! 9s#r! 9~#fo#s#r!:! !2͜P!9s#r!9^#V! |ʲ2!9^#V!9^#V! |2!9^#V!9^#V! |2! 9^#V!3fU! 9^#V! ?|3!9   ^#V$3!:! !9^#V!9^#V!/|j24!9s#r!9^#V;:!4fU!9^#Vá3!9^#V!9~#fo#s#r!! 9s#rø3!9^#V! 9~#fo#s#rø3͇|3`3`3i33! 9^#V! Z|_2!9^#V ...Receiving in Batch mode %s Timeout %2 | 6!!9^#V!/|>6! !9^#V!9~#fo#s#r+s!9^#V!9ns!9^#V!/|p6!9^#V!9ͼ|5!9^ ! ͜P!9s#r!/|ʙ6!!9^#V!9EH!9^#VKN!ͩw!9!49^#V0M!!)9s! !!*9s#r7!*9~#fo#s#9s#r!!9s#r!! 9s#r!2͜P!9s#r!/|ʯ9!9^#V! |S9!! 9s#rÊ9!9~#fo#s#r! ?|y9!! 9s#rÊ9ʊ9!! 9s#r! 9~#ʩ9! 9^#VGf! 9^#V)9!9^#Vͻ6! 9s#rz9! 9^#V͞?! 9s#r9!9~#fo#s#r! Z|9! 9^#V |*O |'>*Y|0*Q#{*S |=*K"M*a| Transmission Duplicate sector Transfer synchronization Sector number Error %d ͩw)!"e!d͜P"a/|?*aC/|?!9^#V?*e#"e+ |?!í?*aC |@ compatable with his program in single file transfer mode. Multi-file transfers are only possible between two systems running the program described below. This program has three functions: 1. Communication 2. Program transferd %sͩw!!9s#r!9͚5!9s#rzʂ4!9^#V! |A4!!9~#fo#s#r!9^#V!-5fU!9^#V! ?|u4!4!4!?5!9*Q{*S |>!U?fU! ͜P/|=!! @!"a*a|@!PB@!TB!8BfU!"Q*j{*h! 9^#Vch"c|A*c |n@!9^#VGf!*c4{"c*h"K!"e!9^#Vʞ@!*Q!]BfU! *Q *Q| *K"M*a|5AQ*KDM@`i#DM`i*Mͼ| A`i^ `i 3. Modem control (for PMMI Modem) COMMUNICATIONS The program may emulate a terminal or echo data back to sender (act as a computer). Terminal Mode - 'T' Option The terminal mode may be called with or without a file namfU!9^#V_;!9s#r!9^#VGf!9^#V Name error %2d r %cFilename conflict. Received filename changed from %s to %s ...receiving %-14s ͩw!!9s!!9^#Vs!9!9s#r!!9~#fo#s#r+s! ͜P!9s#r! |5!!9^#V!8!9s#r!9^#V;:!8fU!9^#Vc8!9^#V!9~#fo#s#r!! 9s#rz8! 9~#fo#s#rz8͇|+8+8Q848Q87!͜P |ʞ8! ! !9^#V %-14s ...waiting %sͩw!!9^#Vd! 9s#r! |8!9^#V! :fU!!!fo+!9s#r!];!9^#V!i?fU!"_'>!?fU!"_*_ |k>*W#"W*W!?fU! ͜P/|[>G>*Y|k>! *O/|ʉ>*W /|ʉ>};*O |>*W Z|>*K*h~|>*K*h~|*h! 9^#VXk |>!9^#V!! !9^#VGf!! CP/M MODEM PROGRAM DOCUMENTATION by Mark M. Zeiger and James K. Mills 11/04/80 This program uses the file transfer routines written by Ward Christensen in his CP/M file transfer program (V2.0 as of 8/6/79) and is e. If a file is specified (it should be a new file), then anything received by the modem may be saved in memory and later written on disk. The save feature is toggled ON/OFF by Control-Y. On an IMSAI    the front panel LEDs will indicated that memory save is toggled on by showing the binary value of the ASCII character received. For those with no front panel, a colon (:) will be printed at the beginning of each line wheer reinitialized. The computer with which you are communicating must accept the X-ON and X-OFF (Control-Q and Control-S) conventions or data will be lost. When communications are over, use Control-E to exiany times as you wish as long as you have not closed the file with the 'WRT' command. While in Terminal mode, Control-T will put you in File Transfer mode. This will allow you to send the contents of an this mode. Useful if you wish to communicate with somebody running the terminal portion of the program. File transfer - 'S' and 'R' Options These features are the same as in the CP/M Modem program written by Ward Chnds for sending and receiving are listed below. Multi-file transfers Using the B (batch) secondary option, more than one file and ambiguous filenames may be transferred. To send files, use the primary optiocreate a backup file if a file on the disk has the same name as the file being received in multi-file transfer (see MODEM.SET). If this byte is set to 0FFH, a backup file will be created. If it is zero the file on the din memory save is active. The colon will not be transmitted over the modem nor will it be saved in memory. If a file is not specified, then memory save can not be activated. If the memory buffer it from the Terminal mode and enter the Menu. The file to which you are writing must then be closed by using the 'WRT' command. If this is not done, all data will be lost. I decided not to close the file  ASCII file over the modem. This routine does no error checking and there are no protocols specified between this program and the receiving computer other than that it should be ready to receive data via the modristensen except that upon completion of the transfer, control returns to the Menu unless the secondary 'T' option has been selected. In the latter case, control returns to Terminal mode. Remember that if you are operating an "S" and the secondary option "B" (along with any other secondary options and baudrate). To receive the files being sent, use the "R" primary option and the "B" secondary option. Files may not be named since fisk will be deleted before the new file is received. If you are running CP/M 2 and a file on the disk is designated R/O or SYS, a backup will be created whether the byte at 106H is set or not. Be careful - if you s full (the buffer is from the top of the program to the bottom of BDOS), the contents are automatically written to disk (but the file is not yet closed). Communications may then continue with the buffautomatically since there will be times when you leave terminal mode and then decide to re-enter. This may be done while in the Menu by using the 'RET' command. You may re-enter Terminal mode and save in the same file as mem. Control-X will cancel the transfer. Computer mode - 'E' Option This mode echos data received by other computer. Only one computer may be in this mode at one time. There is no save feature in  remote computer using a timesharing program (such as Ward Christensen's "BYE"), the remote should be instructed to send or receive in the quiet (Q) mode as a secondary option. Examples of commalenames are sent by the sending program, but a disk drive may be specified (or else the files are written to the default drive). Backup option There is a byte at the beginning of the program (106H) that will are running CP/M 1 and the drive on which you are receiving has an R/O file with the same name created by CP/M 2, the R/O file can not be accessed (found, changed, erased, etc.) by CP/M 1. You will therefore have two f   iles with the same name when you are running CP/M 2. To fix this problem, use CP/M 1 to change the name of the file that is not R/O. Then use CP/M 2 to do what you want with the R/O file. Examples: The files from the default drive, and all the files starting with "M" from the B drive. [note that neither 'A' or 'O' were specified: default is to whatever mode the PMMI is in currently] Multifile transfers may only be doneand S). The Terminal mode has been greatly expanded as described above. The "R" and "S" commands must be called with a filename or you will be required to enter the primary command (S or R) and the filename again were doing so before you exitted the terminal mode. WRT - The 'WRT' command must be used after leaving Terminal mode. This writes the last buffer to disk and closes the file. Failure to use the 'WRT' command results ption (ie. A>MODEM X ). DIR - The 'DIR' command lists the directory of a CP/M disk. A drive may be specified (ie. DIR B:) or the default drive will be listed. After the directory is listed, the menu will not be pTYP), any subsequent options will use the same mode and buadrate. If you want to change the baudrate, it may be done without changing the mode. For instance, if you are in originate mode at 450 baud, then the command  sender enters SBOT.600 B:*.COM to send all the COM files on disk B. Also specified were originate mode 600 baud (PMMI modem) and return to terminal mode when done. The receiver enters RBA.600 to receive all from the menu. It may not be specified when the MODEM program is called. In other words A>MODEM SAB *.COM will result in an INVALID OPTION error message. Return to Menu - 'M' option When asked to sel (but NOT the secondary options). If you want multi-file transfers, then the "R" option does not need a filename. RET - You may also enter terminal mode using the 'RET' command, but no data will be saved since in loss of all data and a file of length zero. DEL - The 'DEL' command erases the most recent file accessed in Terminal mode. Useful if you decide after communications that you don't want to save information just grinted whether XPR mode is on or off. If XPR mode is on and you wish to see the menu, hit return. FOR THE PMMI MODEM DSC - To disconnect you must use the 'DSC' command in the Menu. The original secondary options for the PMMI 'R.600 NAME.TYP' will allow you to receive a file at 600 baud in ORIGINATE mode. If you want to change the ans/orig mode, then you MUST select the baudrate again or it will default to 300. CAL - Allows dialing o the files being sent on the default drive (also answer mode at 600 baud for PMMI). The sender enters the command SB.600 ASM.COM *.HEX B:M*.* which will send ASM.COM from the default drive, all the HEX ect an option, 'M' returns to Menu. The MENU If the Modem program is entered with no option, the Menu is called. The Menu gives the choice of selecting the standard options as defined by Ward Christensen (T, E, R, a file may not be named with 'RET'. Use the 'RET' command to RE-ENTER Terminal mode after it has first been entered with the 'T' option. If this is done, you will still be able to save the communications if you athered. CPM - The 'CPM' command reboots and returns to CP/M. XPR - The 'XPR' command is a toggle which causes the menu to be printed or not printed. Initially the menu is on unless the program is called with the "X" oModem (as defined by Ward Christensen) are "A" (answer mode), "O" (originate mode), and baudrate selection. See examples below. Once answer or originate and a baudrate have been selected (ie. SO.450 NAME.f number. If a connection to a computer is established, you will be able to select options (usually TO.xxx). If no connection is made after 15 seconds, [changed to 25 seconds in distributed version] then you will     be informed and be given the option of redialing or returning to the menu. The dial routine may also be specified when the Modem program is called by entering A>MODEM C. No secondary options will be accepted wh a letter which will designate one of the library numbers (which you must insert at assembly time). ^B - Control-B while in Terminal (or Echo) mode allows change of baudrate "on-the-fly." A carriage return gives 300 baud; all de for sending and receiving files T - return to terminal mode after transfer (memory save off) R - view what is received in file transfer S - view what is being sent in file transfer V - view what is being sent or receibaud, ans mode, view what is being received, return to terminal mode RART.600 B:fn.ft Send all COM files, no messages on console, same baud and mode as last transfer  TO fn.ft ASSEMBLING THE PROGRAM You must use Digital Researches' MAC to assemble the program. The files required are MODEM.ASM and MODEM.LIB. MACROS.LIB does not actually contain any macros in the true "MVI A,'char' " in the "TERM" routine where 'char' is the printing character you would like at the beginning of each line when memory save is active. If you do not have a PMMI, change the byte to 'FALSE' and pen the "C" option is used. [Note: you cannot type: CAL 312-545-8086 -- well, you can, but the number will be ignored and you will have to retype it when the program asks for it -- in the latest version (11/4/80) there is a 'library' fe other rates (110-600) must be explicitely stated. LISTING OF COMMANDS AND OPTIONS Primary options S - send a CP/M file (must specify file/s) R - receive a CP/M file (must name file unless B sec opt used) T - tved in file transfer T - Terminal mode (used with remotely controlled computer) O - originate mode (PMMI modem) A - answer mode (PMMI modem) .xxx - baud rate xxx (xxx = 110-600 PMMI modem) EXAMPLES (fn = filen SBQ *.COM Send two files from two different drives SB A:fn1.ft1 B:fn2.ft2 Receive files being sent by above on drive A (baudrate must be same and modes opposite)  sense, but it does contain routines that are necessary for the program to run (MFACCESS however does use nested macros as real macros). If you have a PMMI and an IMSAI, you may assemble the file as is. If you do not ut your modem status and data ports in the appropriate equates. The labels 'MODRCVR' and 'MODSNDR' should be the same as MODRCVB and MODSNDB (the bits tested) if your UART uses positive logic (JZ) aature such as in DIAL.ASM. To use the CAL function, type CAL and a return at the menu. You will see a message 'WAITING FOR DIAL TONE' then a lot of stuff about entering the number. At this point you may type in a number, or you may type erminal mode (specify file if memory save wanted) E - terminal mode with echo M - return to menu X - used only when program is called to initially toggle menu off Secondary options B - multi-file moame, ft = filetype) Send file, originate mode, 300 baud SO fn.ft Send another file, same mode and baudrate S fn.ft Receive file on B drive, 600  RB A: Terminal mode, save communication in file, 300 baud (default rate), originate mode (in terminal must type CTRL-Y to start save, in menu must type "WRT" to close file) have an IMSAI with a front panel, change IMSAIBYTE to 'FALSE' (near the beginning of the program). If you wish another character instead of the colon to indicate when memory save is active, change "MVI A,':' " to nd should be zero if your UART uses negative logic. If you have a Z-80 (or maybe a fast 8085), change the 'FASTCLK' byte to 'TRUE'. If any port or modem initialization must be done, put the initialization routine i   n the area labeled INITMOD (replacing the PMMI initialization routine). See MODEM.SET for more details. If you have a D.C. Hayes Modem, you may incorporate the routines from MODEM.ASM V2.0 (as of 8/6/79).  AFTER EACH LINE FEED.. MVI A,':' ;..WHEN MEMORY SAVE ACTIVE. CALL TYPE NOSAVEB:POP PSW ;RESTORE IT JMP BRK1 BRK2: LDA MODCTLB ;GET MODEM CONTROL BYTE CALL OUT$MODCTL2 POP D LHLD HLSAVE ;LAST ADDRESS WRITTEN IF DATA BEING SAVED LDA 7 DC^Q@Q"g*g{& *g{& {A!"[*KDMHA`i#DM`i*Mͼ|sA`i^ `i^*[{"[CA*[ )*e#"e |ʦA!dBfU!9^#VGf!!d͜P/|‹@!*K"K*Q#"Q*c+"c*c|…@-@!"e! )*e#"e!d͜P/9^#V![|'D!n}M! 9~#fo+s#rÚD! 9^#V!9~#fo |LD!!'tÚD!9^! ?|ʚD!9^!~@|ʚD!9^!'t!9^! 9~#fo#s#r+fsùC!9^! |D! 9~#D!n}M! 9~#fo+s#ríD!! 9^#V!fs!9~#D!DM!f ͩͩw!!'tGGͩw! 9~#6G!!'tF! 9^#V!Z|\G! 9^#Vt|! 9s#r!|G!!9s#rÁG!9~#fo#s#r!9^#V! 9~#foZ|ʹG!!'tʧGxd0xPrG!!'t\Gͩw!!9s#rG!9~#fo#s#r!9^#V!9~#foͼ|)T alk>$F ull duplex>HXalf>2[S end R cv 4 n :\^Eî? q .:(  Returning to terminal mode[A nswerp>H angup >C all >T ime for  You should also note the comment in the INBUFF routine near the end of the program. Any problems or bugs, please call me: Or latest revisor: Mark M. Zeiger James K. Mills 198-01B 67th Ave. 824 JoR A ;CHECK IF WRITING IN LAST PAGE BELOW BDOS CMP H JNZ TERM ;NO PROBLEM - GO BACK TO NORMAL ROUTINE CALL ILPRT DB CR,LF,'MEMORY SAVE BUFFER FULL',CR,LF,BELL,0 JMP TERM ;THIS SUBROUTINE WILL LOOP UNTIL THE MODEM RECEIVES A CHARACTER ;OR 100|B*e /|A!9^#VGf*e |4B!BfU!! ...Sending (%s mode) CRCChecksum <%4d> ...Remote will not acknowledge ...Remote not responding to end message ͩw!ͩw!9^#V!Z|B!!9s#r!9^#Vt|!9s#rC!!9s#w!G!9^#V!EfU%sͩw!"r}!i"t}!(! 9^#V!i+Tͩw*t}|YE!*r}|ʀEE!9s#rzzE!9^#V!"r}*t}%R"t}!E!!*t}͖R!9"t}:¹E!"t}!!E!"r}GE ͩw!"v}!"x}!! 9^#V!+T~ͩw*v}AH!͜P!9s#r!/|$H!9^#V!!'t |>H!G!ͩw! 9^#V~[HûH! 9^#V^!Z|ʬH! 9^#V^!@!9~#fo#s#r+s!:!9~#fo#s#r+sûH!!9^#Vs!!9s#rH!9~#fo#s#r!9^#V!ͼ|.I! 9^#V!9~#fo#^! x>U nformatted send >D ata ͛>F #ile for data capture:> ? for help:rQ (} No match!""5(ͺ:TOTAL: *14 !4 : #4 [U *"͚ records, )rdan Place Flushing, N.Y. 11365 Rockford, IL 61108 (212) 454-6985 (815) 398-0579 ems or bugs, please call me: Or latest revisor: Mark M. Zeiger James K. Mills 198-01B 67th Ave. 824 Jo MILLISECONDS. IF A CHARACTER IS RECEIVED, A FLAG IS SET ;TO STORE THE CHARACTER. A MAXIMUM OF TWO CHARACTERS ARE STORED, ;BUT MORE MAY BE STORED IF DESIRED (SEE COMMENT IN "INTDSKSV" ;ABOVE). INMODEM LDA FASTCLK ORA A LXI B,1250 JZ TIMERL Lr!9^#V!O@|C!9^#VC!O!9s#rF!! 9s#rGC! 9~#fo#s#r! 9^#V!9~#foZ|lC! !'t8C!! 9s#rÉC! 9~#fo#s#r! 9^#V!9~#foZ|ʮC!!'tzC!! 9s#rM!9s! /|ʝD!9^!/|ʝD!9^! |C!9^! |'D! | F!!9!'t*x}|aF!!!yJ! !ۀ!Sv!"x}!!'t!9s#râF!!0M!!'t! !!ۀSv!!'t!9s#r!9^#V! |F!}2!"v}!:ۀo!9^#V)))))!9s!!9^#V)))))!9EH!s*Terminal Emulator V3.2a ! ^E for command mode, ^Z to quit : t=>(B (fO : n :   : y͖(O((͖:ć: yyOy [i c=>)M Hode )͚ seconds!4 (y/n):)Y(͖͢number:>P!ͷfile:>!ͷ4 y  Command Summary A - Answer phone C - Call number: H - Hangup (y/n): S - Send file:[] use *'s in fi   le.ext to send multiple files options [Q-query,X-exclude named files] R - Receive file:[:][][] use : only to receive file(s) on use for single file with rename options [S-stay in receive mode   SʳM 5 *D͡ * ͚ files transferred4 ; u (Sending !4 F͡ !4  c !  B ͖G !  G * #" : (*Single file expected at receive end u SendingG  * #" G͡ & G͡ ͳ : b ͍ E(U G !  ( >B͖B͡ 4 (Write error >.͖* #" G͡ 4 2 * ͚ records received* ͚ files received͍ w#_ Abort by remote consoletion!"[ !4 < Can't open !4 !4 Z(FOz|jͤ ^C Transfer aborted >.͖Transfer complete: 0Capture OFF (use F command to set filename):/2Capture : OFFON fil6Calling !Vo|(!joo!noDialing error, call abortedATX1V1E0F1M1Q0S0=0 ATD  (^C to abort, A to force answer)̈́ (͢(*A !Vo|(.Answering phone!oAnswer abortedAnswer error, answer abo#?( #:-w[)S)!(4 >$$$$$$$$$$$$$$$$$$$$$$???????????S 8 |Ğ{0͖x24:4<25 :5<25:4<24:4(:5(  until ^C] T - Time file:[] use *'s in file.ext to estimate multiple files options [X-exclude named files] M - Mode select: T(alk, F(ull or H(alf duplex use Talk for TERM to TERM communication use Full duplex for most times4  0G͡ ! c !  B ͖G >.͖* #" E͡ * ͚ records transferred~#O_͡  K͡  !" 2@ 2T 4 <Can't open !4 : Send !4 Abort by remote consoleTransfer aborted͡ : (4 ͔ ͳ { !"  2@ 2T 4 4 <2 No directory spaceͤ ^C ument erromultiple definitioexpression errolabel erromissing labenesting ere: !>!ͷOy:r6 22< Can't open >22!"[!F(˹qR Sͯ!F2@ z w#:<28LOST CHARS8 :G!F~#(rtedATA  Q!fo!jo| %Modem not online, hangup abortedHanging up phone+++ATH ~#͢O!"!"! z(w#6ͭ* Ⱦ # # <z OK RING &?&G<xG:M?0# :4(:5(O~q#o&))))F!F#~: #><+u. u͢#6!6yͨ((#* 6?a8{0 w? ͨ#6 !.:[w]T #~#_6S~#( @>:>.~# (Öharing systems U - Unformatted file send: F - File for data capture: D - Data capture on/off toggle - Return to terminal mode $a{_&>>2?:?g>2?2?*F#"Q2 s (} No match!" " ͤ R͡ dTransfer aborted͡ A ({ ͤ ^CQ2 s (Illegal file specification!" " 2 : (9  :4 2 ͍  R : (ReceivingS͡ & M͡ ͍  R(D F !4  ( >B͖B͡ : 24 Receiving !4 9roopcode errophase errorange errosyntax erround$$$$$$$$$$$_ e by zero errono matching Ino matching MACRtoo many COMMONmultiple MACRO definitiolabel not alloweinstruction not alloweuQ (Illegal file specifica([!F(w͖SF(*F( R8B(@< Capture file write error!T]!":ć22$$$$$$$$$$$GTelevideo TS 803 ->=(/(y/.!"DͶS+62'M!F")2(y:(GͿ!F"):(o:':(=2([)!")<~[!'#~#]_X Q S :' *+~2-*+. :'(!v. *+R :R2.. ɇ!_:'( Sw w n'f(u)t*w$!Xw w w)w*6$!c^'V(n)f*}|8w!u)t*n'f({z0Ln%f&~$( n)f*u)t*~$ Sn)f*u't(!u)t*n%f&~$ n'f(}>   (n)f*#u)t*!p~$n)f*} u't(>Z M JNZ NOTSAME INX H INX D JMP ILCOMPL NOTSAME MVI A,0 ;IF NOT SAME, FINISH THRU.. NSLP INX H ;..STRING SO RETURN WILL.. CMP M ;..GO TO INSTRUCTION AFTER.. JNZ NSLP ;..STRING AND NOT REMAINDER OF STRING. STC SAME POP D INX H ;AVOIDS A;TIME IT IS CALLED. THIS COMMAND WOULD BE USED ;IN SUCH PROGRAMS AS MODEM TRANSFER, TAPE SAVE, ;ETC IN WHICH YOU WANT TO PROCESS SINGLE OR ;MULTIPLE FILES. ; ;THE FCB WILL BE SET UP WITH THE NEXT NAME, READY TO ;DO NORMAL PROCESSING (OPEN, READ, ETCXI D,?P ENDIF CALL BDOS POP H POP D POP B ENDM ; ;------------------------------------------------ ; ; MULTI-FILE ACCESS SUBROUTINE ; ;THE ROUTINE IS COMMENTED IN PSEUDO CODE, ;EACH PSEUDO CODE STATEMENT IS IN <<...>> ; MFNAME: ;< ~#ͱ*|G<͖x<͖0:'_:g~#ȧ(͖>  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ NOP INSTRUCTION.. XTHL ;..WHEN RETURNING. RET ENDM MFACCESS MACRO ;NO PARAMETERS USED LOCAL MOVE, CPM, MFNAME, MFN01, MFN02, MFFIX1, MFREQ LOCAL MFCUR, MOVER, SRCHF, SRCHN, STDMA, BDOS, FCB, FCBEXT LOCAL FCBRNO ;MFFLG1 IS NOT SET L.) WHEN ROUTINE IS CALLED. ; ;CARRY IS SET IF NO MORE NAMES CAN BE FOUND ; ;DEFINE DATA MOVE MACRO ; MOVE MACRO ?F,?T,?L,?I IF NOT NUL ?F LXI H,?F ENDIF IF NOT NUL ?T LXI D,?T ENDIF IF NOT NUL ?L LXI B,?L ENDIF IF NOT NUL ?I LOC |.I! 9^#V!9~#fo#^!9~#fo#s#r+sH!!9s#rKI!9~#fo#s#r!9^#V!ͼ|I! 9^#V!9~#fo ^! |I!9~#œI!.!9~#fo#s#r+s! 9^#V!9~#fo ^!9~#fo#s#r+s?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~OCAL BECAUSE IT MUST BE RESET ;IN MAIN MODEM PROGRAM ON AN ABORT ; ; MUST BE ASSEMBLED BY "MAC" ; ;MULTI-FILE ACCESS SUBROUTINE. ALLOWS PROCESSING ;OF MULTIPLE FILES (I.E. *.ASM) FROM DISK. THIS ;ROUTINE BUILDS THE PROPER NAME IN THE FCB EACH AL ?B,?Z CALL ?Z ?B DB ?I ?Z POP H ;GET TO LXI B,?Z-?B ENDIF CALL MOVER MF SET -1 ;;SHOW EXPANSION ENDM ; ;DEFINE CP/M MACRO - CPM FNC,PARM ; CPM MACRO ?F,?P PUSH B PUSH D PUSH H IF NOT NUL ?F MVI C,?F ENDIF IF NOT NUL ?P L! 9s#r!sJ! 9^#V͑S! 9s#rz+J!! 9~#fo#s#r~[J! 9^#V^!vJS[J+J! 9^#V~lJ!!?* ͩw!!!9^#V! 7v!9^#V%R!9s#r! 9^#V!{J!9^#V^! LSJ!9~#fo#s#r! 9^#V!{K!! 9^#V! 9~#fo+s#r!9~#fo#s#r)L!9^#V . .ͩw!! 9^#V! 9^#VyJͩw!9^ͥv!9s!9^!A?|ʧM!9^!P@|ʧM!9^!!'t!9^!9~M!!'tA!ͩw!!'t!9s{MM!9^ͩw!9^#V~ |/P!P!9~#fo#s#r+s!9~#fo#s#rUP!9~#fo#s#r+^!9~#fo#s#r+sO!!9^#Vs!9~#fo#s#r+^%N!9~#fo#s#r+s{ʛPfP!9!9! DMͩQʹPͱQáw`i+DM#|­P!9~#fo+s#r#|¨P!áwͩw!9wx;xxIx   vx$Q!DMQ`i#DM`iZ|!Q QPTelevideo 803ͩw!ͩw!%!9~#foB{!+Rͩw!!)R!!*R!!+R!!)R!!,R!&-o&/o&.o!9~/!"g!9V*gzW}o|gQg}!oQ"g*g!QV^ |T!9^#V!9~#fo#s#rS!ͩw!9^#V!9s#r!9~#ʈT!9~#fo+s#r#|ʈT! 9~#fo#s#r+^! 9~#fo#s#r+sIT!! 9^#Vs!9^#V!9~#fo~|ͩw!!9s#r!!9s#r!9^#V%R!9s#r!9^#V^!0?|IU!9^#V^!9@|I"!9~#fo#s#r+^"kW!"?W!9~#fo#s#r+^"*#^!{kW* ͡{*"'W!"*l |ʞW!9~#fo#s#r+^"!"W*h |W!9~#fo#s#r+^"*RX!"W! "W!"W!"*!9**͈Y!YZ!,Z~*~+"~w!~Y#Z*~*Z+6-0123456789abcdefͩw aDM|PZ!! 9^#V! 9^#VhZͩw! 9^#V _!!~DMÊZ`iDMx™Z!"!! 9^#V͍uʭZÂZ! ^#V! 9^#Vd" |Z!*!9^#V!s!!9^#V!s! 9^#V9N#Fe]"/|a]!*{"N]`i~#fo+s#r!`in|s!]͇|K] K]']a]*ͩw!9N#F! ^#V`i^#Vͮ|&^! ^!{ʚ]!!`in{s`i~#¾]Sa! ^#V! ^#V! ^ch"@|^*|]!]!`i |/`!`in|s!`is#r! s#r!! 9^#V! |f`!`in{s!`is#r! s#r!`i~#w`Sa! ^#V! |ʰ`!! 9! ^Xk |`! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in|s! 9^#V`i~#fo#s#r+Q!9~R&o!9~#R~ͩw!9^#V^! |{R!9^#V^! |{R!9^#V^! |{R!9^#V^! |ʍR!9~#fo#s#r+R!9^#Vͩw!9~#fo+s#r!Z|ʿR!!9s#r!9^#V!9^#V>S!9s#r!9^#V! 9~#fo~|!9s#r!9^#V!U!9^#V! ͡{! 9^#V^!9s#r!9~#fo#s#r!9~#fo#s#rT!9^#V!9^#Vs#r!9^#Vͩw! 9! 9^#V!?^̈́U8ͩw!9N#F!"!9^#V"!9~#fo#s#r+^"|ʄY*% |cY!!9s!"! "!'"!9^#V^"- |V!9"**"qX*##"++^#V"v"X*##"++^#V"*!9"sqX͇|c1XdWoWsXuWxWBX!9*~|"**[|ʒX*"*|XäX*#"*+"#*[|X*`i͇w |X!ÝX!"X*#"*~Y**Z|Y*#"+^ͩw!9N#F!`in{s! ^!{A[!͚_>[!Á[!9^#V! |ʁ[`i~#ʁ[! 9`i^#V! ^#V~|!{Ix xxx!! s#r`is#r!9^#V! 9 x0x! ^n!9wz[!!ͩw!9N#F!!x0x! ^n!9x! ^n|s!! ^#V`is#r*! s#r`i~#fo#s#r+^!{ͩw!Y~! 9^#VW^ͩw!9N#F`i |ʍ^! 9^#V! ͜^ |ʍ^!! 9^#V͜^ͩw! 9N#F! ^#V`i^#Vͮ|^!9^#V!{͚_!9^#V`i~#fo#s#r+s!{ͩw!N~DM`s!{ͩw!N~DM`i~9a`i DM~ͮ|6a!a!`is#r! s#r! s#r`iͩw!9N#F! ^pʉa!! s#r`i! s#r!q"|oa!! s#r!`in|s*! s#r!>ws# ya*"*~"a~aͩw!9~#foͼ|S!9^#VS!9^#V!9^#V!9^#V+T!9^#Vͩw!9^#V~ʈS!9^#V^! 9^#VSvS!9^#V!9~#fo#s#rDS!9^#Vͩw!9^#V~S!9^#V^! 9^#VSS!9^#V!9~#fo#s#r×S!ͩw!9^#V~'T! 9^! 9^#"!9~#fo#s#r+^"*0 |FV!0"!9~#fo#s#r+^"** |~V*##"++^#V"!9~#fo#s#r+^"V!"!9~#fo#s#r+^"#^!{V* ͡{*"ÄV*. |kW!9~#fo#s#r+^"* |W*##"++^#V`i͇w |Y!X**"*|`Y4Y*#"*+"#*[|`Y! `i͇w |]Y!-YÁY*`i͇w |zY!*#"âU*!"~"~! 9~2~G+V+^+6"~+N+V+^!~w#°YyY/w#YY! ~>^)|Yg,Ys+=!{5\!! ^#V`i^#V~|!{Ix x;xxd\`i~#d\!`i^#V! ^#V~|!{Ix xxx! xͩw!9^#V"! 9~#fo+s#r![|\! 9^#V\DM/|\`i*#"+s`i |\|\!*s`i |\*!9~#fo |\!!9^#Vͩw!i~ͼ|_`i DM _^ͩw!9N#F!"`i~ʍ_! ^!{[_!͚_"! ^Gf*|"! ^!{ʍ_! ^#Vss!! s*ͩw!9N#F!^"I! ^!{_!! ^!{/`! ^#V`i^#V~|"*! ^#V! ^Xk!h!Sv!:o&{hs!c",!hDM!"*Z|c`i^! |`b`i^! |hb`i#DMDb`i~c`i^!> |ʆb!"Úb`i^!< |wc!"`i#DM^! |¹b`i^! |ʼbÚb`i"`i#DM~b`i^! |b`i^! |b!`i#DM+sbb*Gf   *|c!*ͩd",c!*d"* |tc!c!u*!u!c!u!! 't! dc`i*#"+),s#r`i#DM~c`i^! |±c`i^! |c!`i#DM+scËc7b!,*!dCan't open file for redirection: $#V!9^#V!9^#V*^#V͇w! 9!Z|Cf!]d*s#r!*ͩw!9^#V!Z|mf!9^#V! [|wf!"!!9^#V)))~DM! ^#V! ^#V͇w!9s#r!! s! s! s`is!]d! s#r!9^#Vͩw!DMf`i'DM`i.ͼ|f`i%~gf!9^#VBK! 9^#V*0i#íu!! 9^#V`i~|{"2|wi*2! 9^#V`i*0p"4|wíu*2*4~|{PY*2{PYDM`i! 9~#foͼ|i! 9^#V`i~|! 9^#V`i*0iíu`íu! 9^#Vͩw!9N#F+pi!! 9^#V! 9^#V!$ ^!9^#V*|{l*>! 9^#V`i**@~|{PYDM|xl!`i*>{PYDM`i! 9~#foͼ|l! 9^#V`i~|! 9^#V`i*gYu".*.hu! 9^#V!{`g!'t!'t |ʦg! 9^#V!{ʖg!'t |ʣg!"́u!g! 9^#V!{ |g!"́u!!!! s#r!# s!$ s*.!& s`i!9^#V!s#r! 9^#VSv!$ ^! 9~#fo{!$ s{;j`i!~#fo#s#r!ͩw:7¯j!}26!}28}27!6! 't! !'t:8o& |ʒj!}27!:o:7o#}27&6#s!"8:7o&DM! 9~#fo[|j! 9^#VBK! 9^#V*86Sv`i*8"8`i:7o~|}27`!!9^#VSv!"'t"|*m!!$ ^! 9~#fo{!$ s{\m`i!~#fo#s#r!ͩw! 9N#F! 9^#V"B*B+"B#|ʶm`i^! |ʠm! !'t`i#DM+^!'txm! 9^#Vͩw! 9N#F! 9^#V"D*D+"D#|m`i#DM+^! 9^#V'tm! `i!~#fo#s#r!!$ s!ͩw!"Hͩw!9N#F*HPY/|Sp!! ^#V*J/|p!!'t!!'t" |‚p* |ʤp!"!!!7v!"H!*|ʰp!`i"H!! ^#V"J!ͩw!9^#V)))~^w!pw"*:!":*8*Ps#r*X`is#r*V"P!! s#r`i`i*P |os!uDM |Ks!!`is#r!! s#r`iss*PDM1rͩw!9^#V!"Z*Z##~#ʖs!*PDMçs! ^#VBK`i*Zͽ|s! ^#V*Zͽ|s! ^#V`iͮ|s*ZPYͽ|s! ^#V*Zͼ|sÞs! ^#^#V!]d |ed!"!!cDM-e`iDM`i~#Ne!9^#V`i^#V͍uNe%e! ^#V"! 9^#V!{#"*{ʏe*^*s{e!"!*{ʶe*#^*#s{¶e!"!! ^#V*s#r*##^*##s*###^*###s!md*s#r*!9^!{#!% s!x;xIx x;xxn!"x͇|nnNnn!!# s! 9$q*8!4q#4*<+"<}p4q4qo&"*<ͩw!9!29^#V;tDMhu!9!'tDḾu`i |ʀq!"!!ͩw!9N#F! ^#V+))"Tss! 9^#Vq"R|q*RPY/|q! 9^#V*Tͽ|q*Tq! 9^#V*RSv*Rͩw!9^#V#V*Z##s#r*Z! s#r`i"P!w*tw*8DM*:og!9N#F#^#V Rt VtGtkb6#> 6 #=]t>6#=ft uڇt0_zWqt/‘tÔt : >¿t At[Ұt@ütat{t`w# .tttuw#t{o|g tuw#t&jz!|   * u >?a{ 0:u7!9^#V*~Cu*}|Cu*~"~|!=!9}_|#W"w o&w 2:8 _w :_!9áu!9F+N+V+^+~+ngxʿu¿uʿu# êuog!9V+^+~+ngwu#u|!9u!9F+N+V+^+~+ng対(x! ~#~#~#~ w#w#w#w!#*"* "("**(* "(" ***""*""! >w#lx! ~½z#{xòz=ɯ<#!+O~ïx#!+ڈxŒx+­x !(#x !(#x !(#x lled by local */ #define SR_CANREM -3 /* cancelled by remote */ #define SR_TIMEOUT -4 /* timeout */ #define SR_EOT -5 /* end transmission */ /* immediate mode command definitions */ #define COMMAND CTRL('E') /* go to command mode */ /* comma 'R' #define SEND 'S' #define UPLOAD 'U' #define VIEW 'V' #define HELP '?' /* primary help key */ #define HELP2 '~' /* secondary help key (chosen for Z-100) */ #define TALKM '+' /* go to talk mode */ #define TERMM 'T' /* go to terminal mode l mode (talk, term, etc) */ char disk; /* current disk */ unsigned baud; /* current baud rate */ unsigned bdtable[NBAUD];/* table of valid baud rates */ unsigned port; /* current port number */ char *porthelp; /* help for port selection (NULLdtran() */ int translation; /* non-zero if using a translation table */ /* 3/ 7/85 */ }; unsigned freemem(); void sign_on(); void instruct(); void pr_line(); void do_view(); void do_filecap(); void cap_done(); void do_upload(); void dov#uxvwv# vw|!9~#fo3v#*v}!9^#V#N#F#nxQvs# Fv! 9F+N+V+^+~+ngڏvsv}ڏvʣv v++w xƒvɯv~# x™v!9~aڶv{Ҷv o&!9~Av[v o&ͩw!9N#F`i^! |v`i^! |w`i#DMinput buffer used by kb_input() */ #define FLIST_SIZE 60 /* size of many file lists */ #define FNAME_SIZE 14 /* max number of char in a file name */ /* A:12345678.123 */ /* 1 14 */ #define END_NAME '\032' /* end of file name in band mode command definitions */ /* (do not use lower case here) */ #define ANSWER 'A' /* answer the modem */ #define BAUD 'B' /* set the baud rate */ #define DIAL 'D' /* dial a phone number */ #define ECHOM 'E' /* set local echo mode */ /**/ #define DISK ':' /* change logged disk */ #define QUIT CTRL('Z') #define QUITNOH CTRL('C') #define RETURN CR /* primary return to terminal mode */ #define RETURN2 ' ' /* secondary return to terminal mode */ #define  if 1 port) */ char *machine; /* machine identification string */ }; extern struct cnfg_str cnfg; /* structure of file upload parameters */ struct upl_str { int xoff; /* test for XOFF? */ int cr; /* send at end of line? */ int lf_rcv(); void rcv_abort(); void do_send(); void pr_bstat(); void upload(); void send_str(); void sendchar(); void mod_eat(); void init_comm(); void term(); void termc(); void talk(); void talkc(); void mode_msg(); void show_upl(); void set_upv!"^`i^!- |$w!"^`i#DM7w`i^!+ |7w`i#DM!"\`i^!#^!{rw*\ ͡{`i#DM+^"\=w*^|ʃw*\t|Æw*\DM!99`i͇w|DM!99!w`i~# x¼w!9w8~#w!ww|!tch mode */ #define AUTORCV SOH /* request for auto-receive in talk mode */ /* Send/Receive file status codes (errors must be negative) */ #define SR_OKAY 0 #define SR_ERROR -1 /* will be pinned down better (later) */ #define SR_CANLOC -2 /* cance 3/ 8/85 */ #define FILECAP 'F' /* file for data capture */ #define HANGUP 'H' /* hang up modem */ #define CAPTURE 'L' /* log data on/off */ #define ORIGIN 'O' /* originate a call */ #define PORT 'P' /* set the port */ #define RECEIVECANCEL CTRL( 'X' ) /* special case command definitions */ #define TERM 1 #define TALK 2 #define ECHO 3 /* 3/ 8/85 */ /* Local echo */ #define NBAUD 10 /* max number of supported baud rates */ struct cnfg_str { int tmode; /* termina; /* send at end of line */ unsigned dchar; /* delay between characters (millisecs) */ unsigned deol; /* delay at end of line (tenths of secs) */ int has_trans; /* non-zero if a translation table was * successfully loaded by real(); void ck_xoff(); void up_char(); char *y_n(); ); void init_comm(); void term(); void termc(); void talk(); void talkc(); void mode_msg(); void show_upl(); void set_up   TRAM SHLD HLSAVE MVI A,FALSE STA NFILFLG TERM CALL STAT ;KEYPRESS? JZ TERML ;NO, CHECK LINE CALL KEYIN ;GET CHAR FROM KBD MOV B,A ;SAVE LDA EXACFL ORA A ;EXACT? MVI A,0 STA EXACFL ;CLR FOR NEXT TIME MOV A,B ;RESTORE JNZ NOTOG C purgemod(); char *sr_msg(); extern char msg_cancel[]; /* receive files in batch mode * returns number of files received */ int rcvb() { int attempts; int errors; int firstchar; int nfiles; /* number of files received */ int bstat;r( (int) CAN); return nfiles; } } while ( firstchar != ACK ); bstat = rcvb1(); printf(" %s", sr_msg(bstat)); switch (bstat) { case SR_CANLOC: case SR_CANREM: return nfiles; case SR_OKAY: nfiles++; errors = 0; b" Name error %2d\r\n", errors); if (errors >= ERRORMAX) return SR_ERROR; if ( kb_abort() ) return SR_CANLOC; } /* 3/25/85 */ if ( (fd = fopen( fname, "r")) != NULL) { /* file already exists! */ fclose( fd ); printf( "\r\n%cFilener for received name */ { int c; char *rp; char csum; char rname[FNAMESIZ]; /* name as received (fcb format) */ csum = 0; *fname = '\0'; rp = rname; *rp++ = '\0'; do { if ( (c=readchar(10)) == TIMEOUT) return SR_TIMEOUT; ifar *name; /* a filestring */ { int c; int n; char csum; char sname[sizeof(struct FCB)]; fnamefcb(name, sname); csum = 0; sendchar(ACK); for (n = 1; n <= 11; n++) { sendchar( (int) sname[n]); if (readchar(10) != ACK) return SR_PI EXITCHR ;^E? JZ MENU ;YES, RETURN TO MENU CPI DISCCHR ;^D? JZ DISCON1 ;YES, DISCONNECT & RETURN TO MENU CPI EXTCHR ;^^? JZ EXTFLG ;YES, SET FLAG FOR NXT CHAR CPI TRANCHR ;TEST FOR TRANSFER REQUEST (^T) CZ TRANSFER;SEND-A-FILE (BLIND SEND /* status of this batch receive */ errors = nfiles = 0; printf(" ...Receiving in Batch mode %s\r\n", msg_cancel); do { attempts = 0; do { attempts++; purgemod(5); sendchar( (int) NAK); firstchar = readchar(50); if (firstcreak; case SR_EOT: return nfiles; default: errors++; } } while ( errors < ERRORMAX); return nfiles; } /* receive one file in batch mode (sender's name ACK was just received) * returns send/receive status */ int rcvb1() { ame conflict. Received filename changed from %s ", 7, fname, ); uniqname( fname ); printf( "to %s\r\n", fname); } if ( (fd = creat(fname, BMODE)) == ERROR) return SR_ERROR; printf("\r\n ...receiving %-14s ", fname); rcvstat = readf (c == EOT) return SR_EOT; if (c != END_NAME) { sendchar( (int) ACK); *rp++ = c; } csum += (char) c; } while ( c != END_NAME && rp < (rname + FNAMESIZ) ); sendchar( (int) csum); if ( (c = readchar(10)) != ACK) return SR_ERRORERROR; csum += sname[n]; } sendchar( (int) END_NAME); csum += END_NAME; if ( (c = readchar(10)) != csum ) { sendchar( (int) 'u'); return SR_ERROR; } sendchar( (int) ACK); return SR_OKAY; } /* send files in batch mode * retur/* idimdmbt.c batch send and receive routines for IDIMDM * * Infotec Development, Inc (Commercial rights reserved) * For Official Air Force Use only * * */ #include #include #include #include voidhar == CAN) return nfiles; if (firstchar == EOT) return nfiles; if (firstchar == TIMEOUT) printf("\r\n Timeout %2d", attempts); if (attempts >= RETRYMAX) return nfiles; if ( kb_abort() ) { purgemod(5); sendcha int fd; /* file descriptor for receive */ int rcvstat; int errors; char fname[FNAMESIZ]; /* returned filename */ errors = 0; while ( (rcvstat=getname(fname)) != SR_OKAY) { if (rcvstat == SR_EOT) return SR_EOT; errors++; printf(ile(fd); close(fd); return rcvstat; } /* get a filename (sender has already sent initial ACK) * returns NULL if error (timeout or checksum error) * returns pointer to a filename if successful */ int getname(fname) char *fname; /* point; fcbfname(rname, fname); fnamefix(fname); /* convert to locally acceptable name */ return SR_OKAY; } /* send an 11 char filename (name NAK has already been received) * returns SR_OKAY if successful, else SR_ERROR */ int sendname(name) chns number of files successfully sent */ int sendb(flist) char *flist; /* list of files to be sent */ { int errors; int nfiles; /* number of files sent */ int bstat; /* status of this batch send */ char *sname; /* name of a file to be sent */    errors = nfiles = 0; flinit(flist); while ( (sname=flnext()) && errors < ERRORMAX) { printf("\r\n%-14s ...waiting", sname); /* send the file */ bstat = sendb1(sname); printf(" %s", sr_msg(bstat)); switch (bstat) { case SR_CANLOrstchar; int attempts; if ( (fd = open(sname, BMODE)) == ERROR) { printf("can't open %s\r\n", sname); return SR_ERROR; } errors = 0; do { /* get a name NAK */ attempts = 0; sndstat = SR_OKAY; while ( (firstchar = readchar(nsigned interval; /* time to wait, in tenths of seconds */ { while (readchar(interval) != TIMEOUT) ; } /* return the send/receive status */ char * sr_msg(stat) int stat; { switch (stat) { case SR_OKAY: return "transferred"; case SR_e, "r") ) != NULL ) { fclose( fp ); *cp = c++; fnamefix( oldname ); } }  last char in name */ /* Now, replace it with '0', '1', etc until a unique name is found */ while ( ( fp = fopen( oldnamODRCVB CALL CPI$MODRCVR JZ LINECHR CALL STAT JZ TRMECHO CALL KEYIN CPI EXITCHR JZ MENU MOV B,A LDA PMMIBYTE ORA A MOV A,B JZ S3 CPI CHGBAUD ;SAME ROUTINE AS IN TERMINAL MODE PUSH PSW CZ NEWBAUD POP PSW CPI CHGBAUD JZIPLE NAMES. CALL SENDFN ;SENDS FILE NAME TO RECEIVER JNC SENDC2 ;CARRY SET MEANS NO MORE FILES. MVI A,'B' ;STOP BATCH.. STA BATCHFLG ;..MODE OPTION. MVI A,EOT ;FINAL XFER END CALL SEND JMP DONE SENDC1 LDA FCB+1 CPI ' ' JZ BLKFILE SENDC2C: case SR_CANREM: return nfiles; case SR_OKAY: nfiles++; errors = 0; /* a fresh start */ break; case SR_ERROR: default: errors++; /* go on to next file */ break; } } if (readchar(20) == NAK) { sendchar(ACK); 50)) != NAK) { if (firstchar == CAN) sndstat = SR_CANREM; else if (++attempts >= RETRYMAX) sndstat = SR_TIMEOUT; else if ( kb_abort() ) sndstat = SR_CANLOC; if (sndstat != SR_OKAY) { close(fd); return sndstat; CANLOC: return "cancelled"; case SR_CANREM: return "cancelled by remote"; case SR_TIMEOUT: return "(timed out)"; case SR_EOT: return "(end of transfer)"; case SR_ERROR: ; } return "NOT transferred"; } /* 3/25/85 */ void uniqCALL BDOS RET READ80 LXI D,FCB4 MVI C,READ CALL BDOS RET SEND80C MVI B,80H LXI H,80H SENDCH1 MOV A,M CALL MODOUT CPI EOFCHAR RZ CALL STAT ;TEST TO SEE IF ORA A ;CANCELLATION REQUESTED JZ SKIP12 CALL KEYIN CPI CAN RZ SKIP TRMECHO S3 CALL OUT$MODDATP CALL TYPE JMP TRMECHO LINECHR CALL IN$MODDATP CALL OUT$MODDATP CALL TYPE JMP TRMECHO ;UNCOMMENTED LINES ARE THOSE OF ORIGINAL MODEM PROGRAM. ;COMMENTS DENOTE MY ADDITIONS. ; SEND A CP/M FILE SENDFIL:CAL/* os.h describes the operating system * * Infotec Development, Inc (Commercial rights reserved) * For Official Air Force Use only * * 3/ 7/85 added definition of CNV - conversion char for filenames */ /* pick an operating system */ #defin sendchar(EOT); } return nfiles; } /* send one file in batch mode * returns send/receive status */ int sendb1(sname) char *sname; /* the file to send */ { int fd; /* file descriptor for send */ int sndstat; int errors; int fi} mod_eat(); } if ( (sndstat=sendname(sname)) == SR_OKAY) { sndstat = sendfile(fd); break; } } while ( ++errors < ERRORMAX ); close(fd); return sndstat; } /* wait for silence on the modem line */ void purgemod(interval) uname( oldname ) char *oldname; { char c = '0'; char *cp; FILE *fp; cp = oldname + strlen( oldname ) - 1; /* point to last char in name */ /* Now, replace it with '0', '1', etc until a unique name is found */ while ( ( fp = fopen( oldnam12 INX H DCR B JNZ SENDCH1 RET MODOUT PUSH PSW MODOUTL CALL IN$MODCTLP CALL ANI$MODSNDB CALL CPI$MODSNDR JNZ MODOUTL POP PSW CALL OUT$MODDATP CALL TYPE RET FCB4 DS 33 ;TERMINAL ECHO MODE TRMECHO CALL IN$MODCTLP CALL ANI$ML PARITY ;SET PARITY IF REQUESTED LDA BATCHFLG ;CHECK IF MULTIPLE FILE.. ORA A ;..MODE IS SET. JNZ SENDC1 MVI A,TRUE ;INDICATE BATCH SEND STA SENDFLG LDA FSTFLG ;IF FIRST TIME THRU.. ORA A ;..SCAN THE COMMAND LINE.. CNZ TNMBUF ;..FOR MULTe MSDOS /* assume Lattice C */ /* define CPM */ /* assume Aztec C */ #ifdef MSDOS #include #include #include #include <8086c.h> #define CNV '_' /* Conversion char. Illegal characters in filenames * and echo char   acters are converted to this */ #endif #ifdef CPM #define CNV '-' #endifinclude #include <8086c.h> #define CNV '_' /* Conversion char. Illegal characters in filenames * and echo charlp rcvnakm call ilprt db 'Checksum in effect',cr,lf,0 ; RCVLP CALL RCVSECT JC RCVEOT CALL WRSECT CALL INCRSNO CALL SENDACK JMP RCVLP RCVEOT CALL WRBLOCK CALL SENDACK CALL CLOSFIL JMP DONE ;SUBROUTINES SENDFN LDA QFLG ORA /* fnamefix.c fix a filename * * Infotec Development, Inc * * (1-24-85) ATA * 3/ 7/85 changed conversion char. See note below */ /* FNAMEFIX * This function, given a pointer to a string, replaces the string with * a string which will bcharacters */ #define EXT_LEN 3 /* Legal from 0 to 3 characters */ #define FIL_NAM_LEN 13 /* primary + period + extension + null*/ /* map filename character c (must map null -> null!) */ char cmap(c) char c; { #ifdef MSDOS static char map[128]'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', CNV, CNV, CNV, '~', CNV }; #endif #ifdef CPM stati cha map[128 { '\0','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', CNV, 'J', 'K', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', CNV }; #endif c &= '\177'; /* turn off hi bit */ return map[(int)c]; } fnamefix(name) char *name; { static char new_name[FIL_NAM_LEN]; int i; char *q, *p_newKE SURE FILE IS NAMED CPI ' ' JZ BLKFILE JMP RCVC3 RCVC2 CALL CKCPM2 CALL CKBAKUP RCVC3 CALL ERASFIL CALL MAKEFIL LDA QFLG ORA A JNZ RCVFST LDA BATCHFLG ORA A ;DON'T PRINT MSSG IF.. JZ RCVFST ;..IN MULTI AND QUIET. CALL ILPRT DA JZ SWNAK CALL ILPRT DB 'AWAITING NAME NAK',CR,LF,0 SWNAK MVI E,80 CALL WAITNLP MVI A,ACK ;GOT NAK, SEND ACK CALL SEND LXI H,FILECT DCR M JM NOMRNM LHLD NBSAVE ;GET FILE NAME.. LXI D,FCB ;..IN FCB MVI B,12 CALL MOVE SHLD NBSAVe accepted as a legal name for files on MS-DOS * and CP/M operating systems. * * For MS-DOS and CP/M, characters have their hi bits reset, lower case * converted to upper case, and control characters converted to upper case. * Other unusual chara = { '\0','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', CNV, 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', CNV, CNV, CNV, CNV, CNV, CNV, '!', '2', '#', '$', '%', '&','\'', '(', ')', CNV, CNV, CNV, '-', '.', CNV, '0', '1L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', CNV, CNV, CNV, CNV, CNV, CNV, '!', '2', '#', '$', '%', '&','\'', '(', ')', CNV, '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', CNV, CNV, CNV, CNV, CNV,, *p_old; p_old = name; q = p_new = &new_name[0]; /* Find primary name. */ p_old = stpblk(p_old); if (*p_old == '\0' || *p_old == PERIOD) { /* If no primary name, */ *p_new++ = 'N'; /* name it 'N' */ *p_new = '\0'; B 'FILE OPEN, READY TO RECEIVE',CR,LF,0 RCVFST lda crcflg ora a mvi a,nak jnz rcvfil2 mvi a,crc ; RCVFIL2 CALL SEND lda crcflg ;crc in... ora a ;...effect? jnz rcvnakm ;no, say NAK mode call ilprt db 'CRC in effect',cr,lf,0 jmp rcvE CALL SENDNM ;SEND IT ORA A ;CLEAR CARRY RET NOMRNM MVI A,EOT CALL SEND STC RET SENDNM PUSH H SENDNM1 MVI D,11 ;COUNT CHARS IN NAME MVI C,0 ;INIT CHECKSUM LXI H,FCB+1 ;ADDRESS NAME NAMLPS MOV A,M ;SEND NAME ANI 7FH ;STRIP HIGH ORDEcters are converted to '_' (ms-dos) or '-' (cp/m), * according to the definition of CNV defined in "os.h". mrm 3/ 8/85 */ #include #include /* #define TEST */ #define PERIOD '.' #define PRIM_NAM_LEN 8 /* Legal from 1 to 8 ', '2', '3', '4', '5', '6', '7', '8', '9', CNV, CNV, '<', CNV, '>', CNV, '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', CNV, ']', '^', '_', '`', 'A', 'B', 'C',  CNV, '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[','\\', ']', '^', CNV, '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', ' } else { for (i=0; i < PRIM_NAM_LEN && *p_old != PERIOD && *p_old != '\0'; i++) *p_new++ = *p_old++; if (i >= PRIM_NAM_LEN) while (*p_old != PERIOD && *p_old != '\0') p_old++; } /* Find extension if */ if (   p_new != '\0') { /* any. */ *p_new++ = *p_old++; for (i=0; i < EXT_LEN && *p_old != '\0'; i++) if (*p_old == PERIOD) { *p_new++ = 'P'; /* Periods after the 1st*/ p_old++; /* are mapped to 'P' */ } else *p_new++ = *p_o } #endif ntf(" ? "); qline = kb_input(40); if (*qline == '\0') break; fnamefix(qline); printf("\r\n |%s|\r\n", qline); } 106 74 107 75 The sequence shown here translates all lower case letters 108 76 to their upper case equivalent. 109 77 110 78 111 79 112 80 113 81 114 82 115 83 116 84 117 85 118 86 119 87 120 88 121 8CALL MOVE LXI H,75H ;START OF TYPE IN FCB2 MVI M,'B' INX H MVI M,'A' INX H MVI M,'K' LXI D,6CH MVI C,ERASE ;ERASE ANY PREV BACKUPS CALL BDOS LXI H,6CH ;FCB2 DR FIELD SHOULD.. MVI M,0 ;..0 FOR RENAME. LXI D,FCB MVI C,23 ;RENAME C/* cnfgkp2.c configuration file for Kaypro II * * Infotec Development, Inc (Commercial rights reserved) * */ #include #include #include #include struct cnfg_str cnfg = { TERM, /* tmode */ '  is known to be valid */ void set_b(rate) unsigned rate; { unsigned u; if (rate == 110) u = BD110; else if (rate == 300) u = BD300; else if (rate == 600) u = BD600; else if (rate == 1200) u = BD1200; else if (rate == 2400) uld++; *p_new = '\0'; } while (*name++ = cmap(*q++)) /* Map characters */ ; } #ifdef TEST #define MAXLINE 82 /* Length of input line + 2 */ #define MX_LINE_BYTES '\120' /* Number of bytes in input string */ main() /* Test rou97 65 Each line in the translation file consists of 2 numbers 98 66 which must be between and 255. The first number is the 99 67 ASCII value of the character you want translated. The 100 68 second is the value of the characte9 122 90  109 77 110 78 111 79 112 80 113 81 114 82 115 83 116 84 117 85 118 86 119 87 120 88 121 8ALL BDOS RET CKBAKUP LDA BAKUPBYTE ORA A RZ MVI C,SRCHF LXI D,FCB CALL BDOS INR A RZ ;FILE NOT FOUND JMP PLANCHG ;IN "CKCPM2" - RET DONE THERE ;MULTI-FILE ACCESS SUBROUTINE FROM CP/M USER'S GROUP ;FIXED BY MARK ZEIGER 8/17/80 ;CA', /* disk */ 1200, /* baud */ { 110,300,600,1200,2400,4800,9600,19200,0,0 }, /* bdtable[NBAUD] */ 0, /* port */ "", /* porthelp[] */ "Kaypro II" /* machine[] */ }; /* change the default communications port. This ro = BD2400; else if (rate == 4800) u = BD4800; else if (rate == 9600) u = BD9600; else if (rate == 19200) u = BD19200; else return; out(P_TIMECTL, PGM_BAUD); out(P_TIMECTL, u); } /* machine dependent initialization routine */ tine for function fnamefix */ { char *string; /* Input string buffer from cgets */ char *qline; while (TRUE) { printf(" ? "); qline = kb_input(40); if (*qline == '\0') break; fnamefix(qline); printf("\r\n |%s|\r\n", qline); }r to translate it to. 101 69 There is no need to have the source column numbers in any 102 70 particular order. 103 71 If the translated value < 0, that character is never sent. 104 72 105 73 TTRIB MOV A,M ANI 7FH MOV M,A LXI D,FCB MVI C,30 ;SET NEW ATTRIBS IN DIR CALL BDOS ;MAY BE CALLED BY CKBAKUP BELOW. ITS RETURN DONE HERE PLANCHG LXI H,FCB ;CHANGE NAME TO TYPE "BAK" LXI D,6CH MVI B,9 ;MOVE DRIVE AND NAME (NOT TYPE) RRY IS SET IF NO MORE NAMES CAN BE FOUND MFNAME MFACCESS ;A MACRO IN MACROS.LIB RCVSECT XRA A STA ERRCT RCVRPT: XRA A ;ZERO ACCUM STA ERRCDE ;CLEAR RECEIVE ERROR CODE LDA QFLG ORA A JZ RCVSQ CALL ILPRT DB CR,'AWAITING # ',0 PUSH H utine should return * ERROR if this feature not implemented or bad port value passed. It * may also want to set the baud rate on the new port to cnfg.baud */ set_p(port) unsigned port; { return ERROR; } /* device-dependent set baud--rateint init_mch() { out(P_CTRLS, 0x00); /* select reg */ out(P_CTRLS, 0x18); /* out of mode */ out(P_CTRLS, 0x04); /* select reg */ out(P_CTRLS, 0x44); /* set ascii parameters */ out(P_CTRLS, 0x03); /* select reg */ out(P_CTRLS, 0xC1); /* enable    receive */ out(P_CTRLS, 0x05); /* select register */ out(P_CTRLS, 0xEA); /* enable send, dtr, rts */ return OKAY; }  reg */ out(P_CTRLS, 0x44); /* set ascii parameters */ out(P_CTRLS, 0x03); /* select reg */ out(P_CTRLS, 0xC1); /* enable yO$!(#zy(z! 4=y=Yz! ~w#4zO$!(#Gzy(zz$!(#bz! $~6#uz> ! ~w#ˆzҥz !(#œz=z͐xʽz!͐xʲz!<͐xzòz͐xzʽzòz͐xzýz͐xzʲzýzͤxzòzͤxzʽzBaud rate selection ...The modem is not responding -- please reset 0123456789TP,*#()- ABCDEFGH-JKLMNOPQRSTUVWXYZ------!2#$%&'()-+,-./0123456789------@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^-`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~- n@@@@@ @@@@ dQdQdQdWdW]]dh?jk ]dkmm 00000 @@@@@@@@@@@@@@@ @@@@@@@  EGW307 B QWi FEGW307 B KHiE FEGW307 B QHiE FEGW305 B KHYYiEGW305 B QHYYiE GW303 B KW#SWE GW303 B QW$SrWELG ORA A JZ RCVSABT RCVCKQ CALL CKQUIT JZ RCVSECT RCVSABT CALL CLOSFIL CALL ERXIT DB CR,LF,'++ UNABLE TO RECEIVE BLOCK -- ABORTING ++',CR,LF,'$' RCVSTOT LDA VSEEFLG ORA A JZ RCVSPT LDA QFLG ORA A JZ RCVSERR RCVSPT CALL ILPRT zͤxzýzͤxzʲzýz" !""" |{!""* zV{t|}l{}zV{t|||a{/g}/o#zl{/W{/_MD!y{}y/Ox/G>))Ҋ{, ڛ{}o|g=‚{=‚{DM!>))ұ{ =©{}{_{|{|7g}o{{_{){}{_{|g}o{|g}o,X` %%Q&Qrr+ww+a a+ xx+???????????mdmd> O   `3BZ1ITEMS  O"  ""GW305 B SHY EGW302 B SWPYEGW307 B KWivYEGW307 B QWi8YEGW307 B SWivYE GW303 B SWS TWE GW305 B KWY6WE GW305 B QWY&WE GW305 B SWYWE GW312 B KHWE!(#y !(#y! ~/w#)y:(?* *"))Gy,=?y""" Zy:#:(?wyW!#~w+kydy!Nyix yy(yyyyfx yyy(yyy$! w#»yfxyy$! w#y!$w#y> ! ~w#|/g}/o|g}o|g}o|9|*|}*||9|!}9||*|!}|R|}|?>o&zo&|l|}|>o&|o&}/o|/g#}}o|gBK^#Vz|#yʡ|###Ï|#xœ|#~#fo}|>?o&}|>o&2.14(type to cancel) + md]d]d]d]d]d]d]d]dmdmdmdmdfwdK|dKdQdQdQdQdQdQdWdW]]dh?jk ]dkmm 00000 @@@@@@@@@@@@@@@ @@@@@@@    GW302 B KWQEGW302 B QWQEGW302 B SWQSEGW305 B QWYwiE GW306 B KHd WE GW306 B QHdVWE GW306 B SHdVWE GW312 B KHWE6   GW312 B KW EGW330 M  EGW303 B KHSS EGW308 B QWp@EGW303 B QWSeEGW328 F KH0`%SEGW328 F KW0`%SEGW328 F SH0%SEGW330 M %SEGWCM5 %SE!GW305 B QHY)E"GW300 B KW7"E"GW300 B QW7tE"GW300 B SW7tE"GW302 B KWQE"GW304 B QHTE"GW304 B SHTE"GW308 B KHivE"GW308 B QHi8E"GW308 B SHi8E6$GW305 BTSWbGE$GW309 BTQW GE$GW312 B KWGE$GW312 B QWGE$GW312 B KHGE0GW300 B QH 9QsE0GW300 B SH9sE1GW300 B QH99E1GW307 B SWi8E1GW330 M EGW303 B SW SwEGW312 B QWEGW312 B KWaEGW308 B SWppEGW300 B SW6`bE GW302 B QHQ%E GW328 F KH0`%E!GW300 B KW9)E!GW300 B QW9)E!GW300 B SW9x)E"GW302 B QWQE"GW302 B SWQE"GW304 B KWTHE"GW304 B QWTE"GW304 B SWTE6"GW310 B KHy2E"GW310 B QHy7E"GW327 4BKH2dE"GW327 4BQH22E#GW303 B QWS7E$GW312 B QHGE%GW305 B KWYiE%GW305 B QWYiE&GW300 B KW9hdE&GW300 B QW9dE6:10010000C33F04FF0000FFFF7DDBE0C9D3E1C9E688 :1001100001C9FE01C9DBE1C9E602C9FE02C9C33556 :1001200017DBE2C9D3E2C9D3E3C9D3E0324722C91E :10013000C900413D414242532028474D29202020FB :1001400020202020202020203437352D343838340A :10015000423D42656E2042726F6E73GW305 B QWYY%iEGW305 B SWY%iEGW305 B QHYY%iEGW305 B SHYY%iEGW309 B KWy$vE!GW305 B KWY)E!GW305 B QWY)E!GW328 F KW0)E!GW328 F QW0)E!GW305 B KHY)E"GW310 B KWy HE"GW310 B QWy7E"GW327 4BKW2(E"GW327 4BSW22E"GW304 B KHTE#GW303 H QW7E#GW309 H KW7E#GW333 MP &7E$GW305 BTKWbGE$GW305 BTQWb GE6'GW312 B KW'E(GW308 B SWppE)GW300 B QW999E)GW309 B QWyy9E0GW300 B SW9sE6F6E202020AA :100160002020202020203935352D34343933433DAB :1001700043616C616D69747920436C6966662043E4 :10018000432020203233342D39323537443D20206E :10019000202020202020202020202020202020205F :1001A00020202020202020202020453D202020200D :1001B00020202020   2020202020202020202020203F :1001C0002020202020202020463D202020202020EC :1001D000202020202020202020202020202020201F :1001E000202020202020473D47616D65204D617310 :1001F0007465722020202020202020203836342DC5 :1002000030353136483D485547204342425320203F :1096361676F202020203934D6 :1002D000392D363138394F3D202020202020202054 :1002E000202020202020202020202020202020200E :1002F00020202020503D50616C6174696E65205251 :1003000043504D202020202020203335392D3830F7 :100310003830513D20202020202020202020202067 :100321GW312 B KWE2GW302 B KWQ#8E2GW302 B QHQ#8E2GW302 B QWQ#8E2GW302 B SHQ#8E2GW312 B KH#8E2GW312 B KW#8E2GW330 M #8E2GW302 B KHQ#8E2GW331 M #8E64GW301 B KH #HE4GW300 B KW9#HE4GW300 B QW9#HE4GW300 B SW9#HE4GW302 B QHQ#HE20202020202020202020202020200021DB :10044000000039228422318422CDB0040D0A4D4FA0 :1004500044454D20372E342E31206173206F6620A5 :1004600031322F31372F38310D0A4F726967696E7B :10047000616C6C79205772697474656E20627920A2 :100480005761726420436872697374656E73656021000202020202020202020203637312D343966 :100220003932493D2020202020202020202020205D :1002300020202020202020202020202020202020BE :100240004A3D4A696D204A6F6E65732043424253AE :100250002020202020203735392D373030354B3DB8 :100260004B656C6C7920536D69746820200020202020202020202020202020202020CD :10033000523D4272756365205261746F666620207B :1003400020203230312D3237322D31383734533D81 :100350005359534F50205243504D205379737420BA :100360003331332D3838352D30353036543D20205B :1003700020202020202020202020202020202GW302 B SWQ#8E2GW304 B KHT#8E2GW305 B KHYY#8E2GW305 B KWY6#8E2GW305 B SHY#8E62GW333 MP #8E3GW310 B KWptQ%E3GW310 B QWt6%E3GW310 B SWtp%E3GW310 B KH(t r%E4GW302 B SHQ#HE4GW303 B QWS0#HE4GW303 B SHSe#HE4GW303 B SWS0#HE4GW304 B QWT@#HEE38 :100490000D0A5265766973696F6E73206279204D1B :1004A00061726B204D2E205A65696765720D0A24B2 :1004B000D10E09CD0500CDB6153EFF324A212F32AF :1004C0001506CDE8153A4B21FE58C2D5043EFF3241 :1004D0000701C3081E3A4B21473A0301B778CAE621 :1004E00004FE43CA7319FE20C0202020C8 :100270003830352D3532372D393332314C3D4C6FD6 :1002800067616E20537175617265205243504D2035 :1002900020203235322D323133364D3D2020202082 :1002A000202020202020202020202020202020204E :1002B00020202020202020204E3D4E454920524322 :1002C000504D204368620207D :1003800020202020202020202020553D202020201B :10039000202020202020202020202020202020205D :1003A0002020202020202020563D202020202020FA :1003B000202020202020202020202020202020203D :1003C000202020202020573D576172642F52616EFB :1003D000647920434242532GW307 B QHi8#8E2GW307 B QWi8#8E2GW307 B SHiv#8E2GW309 B SHyy#8E2GW309 B SWyX#8E3GW310 B QHt@%E3GW310 B SHt%E3GW326 4BK  $%E3GW326 4BQ ($r%E3GW326 4BS $@%E620202020203534352D9B :1003E00038303836583D2020202020202020202062 :1003F00020202020202020202020202020202020FD :100400002020593D20202020202020202020202096 :1004100020202020202020202020202020202020DC :100420005A3D202020202020202020202020202075 :10043000A081EFE4DCA2E1E02 :1004F000CD1E01CD07183E00324A21CD1501CD1584 :10050000013A4B21FE45CA6A09FE54CA2005FE5332 :10051000CAAE09FE52CA1E0AFE44CAB220C3081E51 :100520003A4A21FEFFCA5D053A5D00FE20C23C0545 :100530003EFF324A212F321506C35D05CD3F12CD55 :10054000530   71186220E16CD05001186220E0FCDFF :100550000500210023223C223E00324A21CD6918A9 :10056000CAC705CD7418473A7D21B73E00327D21B8 :1005700078C2C405FE05CA081EFE04CAB220FE1ECB :10058000CABC05FE14CC6507CA5D05473A0301B72E :1005900078CAA505FE00CA5506FE10F5E5CC761D0501C9D51100003A4622E6FBCD2789 :10066000013A0501B701C201CA6E06018403CDEC4F :1006700006CAAA06FE00CA6E06E67FCD5C18F53AE9 :100680001506FE00CAA606F17723223C22D5573A6A :100690000401B77AD1CA9C062FC36E06FE0AC26E49 :1006A000063E3ACD5C18F1C36E063A4622CD2701CC :6GW300 B SW9E6GW303 B KWSE6GW303 B QWSeE6GW309 B KWyE6GW309 B QWyXE7GW303 B SHSYE7GW309 B KHy2E7GW309 B KW0y#pE7GW309 B SWy7E7GW312 B KHhE68GW302 B KHQU$3E8GW302 B QHQ$3E8GW302 B SHQ$3E8GW304 B QHT@$3E8GW304 B SHT@$3E@GW304 B KW'RE@GW304 B QWR`E BGW301 B KWABEBGW301 B QWABE6 :1005A000E1F1CAC705FE19C2C4053A4A21FEFFCAD5 :1005B000C7053A15062F321506C3C7053EFF327D23 :1005C00021C3C705CD0C01CD0901CD1801CD1B01FB :1005D000C25D05CD1501FE00CA5D05E67FCD5C1844 :1005E000F53A1506FE00CA1106F17723223C224790 :1005F0003A0401B778CAFC052FC34GW304 B SWT@#HE4GW309 B SHy#HE5GW303 B KHSS$E5GW303 B SWS$E5GW309 B QWy$E7GW300 B KH9E7GW300 B KW9hE7GW300 B QH9E7GW300 B QW9sE7GW300 B SH9xE67GW309 B QW(y"E7GW309 B QHytE8GW304 B KWT@$3E8GW304 B QW%TP$3E8GW304 B SWT$3E9GW306 BTQWb 0!E9GW308 BTKHpP!E9GW308 BTKWpP!E9GW308 BTQHp`!E9GW308 BTQWp`!E6BGW301 B SWABEBGW302 B KWPPBEBGW302 B QWPBEBGW302 B SH PPBEBGW302 B SWPBE0606FE0AC206F4 :10060000063E3ACD5C183A07003DBCCC1806C35DE7 :1006100005F1C35D050000003E13CD0C011600CDB1 :10062000DF06321606CDDF06321706D5CD0B07CD15 :100630001D07D12100231415CA4F063A1606772349 :10064000CD5C1815CA4F063A17067723CD5C183EC5 :1006500011CD0C5GW309 B SWyt$E5GW330 M $E5GW333 MP $E6GW300 B KW9hE6GW300 B QW9hE67GW300 B SW9E7GW303 B KHSE7GW303 B KW&SxE7GW303 B QHSE7GW303 B QWS TE8GW303 B KWSe$3E8GW303 B QWS$3E8GW303 B SWS6$3E8GW302 B QWQ$3E8GW302 B SWQ$3E69GW311 BTKHE!E9GW311 BTQH!E@GW302 B KWPPE@GW302 B QWPPE@GW302 B SWPEBGW306 B KHd@BEBGW306 B KW dBEBGW306 B QWd `BEBGW306 B SHd@BEBGW306 B SWd `BE6   BGW306 B QHd@BECGW300 B SH9"SECGW302 B KHQ"SECGW302 B KWQ@"SECGW302 B QHQU"SEDGW300 B QW9x!EDGW300 B SW09p!EDGW302 B KWQ!EDGW302 B QWQ!EDGW302 B SWQ!E6EGW300 B QH09p%eEEGW300 B SW9V%eEEGW303 B KH S`%eEEGW303 B KW S`%eEEGW303 B QWS%eEFGW305 B QHYEFGW305 B QWYYEFGW305 B SHYYEFGW305 B SWYEFGW305 H KH99E6PGW303 B SWSEPGW303 B KHSYEPGW303 B QHSSEPGW303 B SHSEPGW308 BTKWsFESGW304 B SWTbfYSGW304 B QWT2fYSGW303 B SWS0fYSGW303 B QWS0fYTGW304 B KW T E6CGW302 B QW0Q0"SECGW302 B SHQU"SECGW302 B SW Q "SECGW309 B KHy"SECGW309 B KWy"SE6DGW303 B KWS!EDGW304 B QWTT!EDGW304 B SWTT!EDGW304 H KW$$!EDGW305 B KWYw!EEGW303 B SHS0%eEEGW303 B SW S`%eEFGW300 B KH9xEEGW309 H KW%eEEGW312 B KH y%eEGGW312 B KW"EHGW300 B KW90EHGW300 B QW%9 u0EHGW300 B SW90EIGW332 P EPGW308 BTQWsFEPGW308 BTSWssEPGW311 BTKWhEPGW311 BTQWEPGW308 BTKHsFE6SGW303 B KWSSfYSGW301 B SW9PfYTGW304 B QW T ETGW310 BTKW y ETGW310 BTQWy ECGW309 B QHy"SECGW309 B QWy"SECGW309 B SHy"SECGW309 B SWy"SEDGW300 B KW94!EDGW305 B QWY!EDGW305 B SWY!EDGW309 B KWyS!EDGW309 B QWyy!EDGW309 B SWyS!E6EGW312 B KWyt%eEEGW326 4BK %%%%eEEGW326 4BQ %%%%eEEGW328 F SW 5%eEFGW300 B KW9EIGW303 B SWS6EIGW303 B KHSEIGW303 B SHSEPGW303 B KWSEPGW303 B QWSYEPGW308 BTQHsFEPGW308 BTSHssEQGW312 B KH ERGW305 B SWYiEgGWCM7 22WTGW311 BTKW# ETGW311 BTQWE EUGW301 B KW9Py EUGW301 B QW9PX EUGW301 B SW9PX E6   VGW302 B KWPPEVGW302 B QWPPEVGW302 B SWPEVGW304 B KWREVGW304 B QWR`EYGW312 B KWE`GW300 B KW 9E`GW300 B QW 9E`GW300 B SW9E`GW305 B KWY6E6aGW308 B KHi8EaGW308 B QHi8EbGW312 B KWEbGW312 B QWEbGW312 B KHVEdGW308 B QHpppEdGW312 B KHpEdGW330 M 6pEeGW309 B KWyy EfGW309 B KWy HEhGW303 B QWSq##EiGW309 H SWII#EiGW328 F QW5p#EiGW328 F SH55#EpGW308 BTSWs!gErGW302 B SWQS"fEsGW303 B KW0S"EsGW303 B QWPS&P"EsGW303 B SW%S%"EsGW304 B KWT@"EWGW301 B KW9P7EWGW301 B QW9P7EWGW301 B SW9P7EXGW300 B KW9%REXGW300 B QW94%RE`GW305 B QWYrE`GW305 B SWYE`GW309 B KWyE`GW309 B QWyE`GW310 B KWy7EbGW312 B QHVEcGW301 B KWAEcGW301 B QWAEcGW312 B KWEcGW329 TL 2E6fGW309 B QWy2EgGW300 B KW`4 @#EgGW300 B QW04 #EgGW300 B SW$4#EgGW300 B KH4#EpGW308 BTKHs!gEpGW308 BTQHse!gEpGW308 BTSHsF!gEpGW311 BTQHx!gEqGW303 B QWSS#pEsGW304 B QWT"EtGW312 B KW!EuGW303 B KWS0"6EuGW303 B QWSe"6EuGW303 B SWSe"6EXGW300 B SW9%REXGW311 BTKWv%REXGW311 BTQW%REXGW311 BTKHv%REXGW311 BTQH%RE`GW330 M E`GW300 B KH9E`GW305 B KHYE`GW305 B QHYEaGW303 B KWS$E6dGW312 B KWpEdGW303 B KHSSpEdGW303 B QHSSpEdGW303 B SHSYpEdGW308 B KHpppEgGW300 B QH4#EgGW300 B SH4#EgGW305 B KWTT#EgGW305 B SW@T!`#EgGW305 B SH@T!`#E6rGW301 B KW9PvP"fErGW311 B KWE"fErGW311 B QWx"fErGW304 B KWT$"fErGW304 B QWT"fEuGW309 B KWy"6EuGW309 B QWyt"6EuGW309 B SWy"6EvGW304 B SHTb"eEwGW305 B QWYYiE6   xGW308 B KWppExGW307 H SH99EyGW309 H KWIIEGW300 B QW9sEGW300 B SW 9sEGWCM3  p pEGWCM3 ssEGWCM3 UUeEGWCM3 00eEGWCM3 00eEGWCM6 !EGWCM3 8P8P"&EGWCM1 33"eEGWCM6 #gEGWCM6 wEGW300 B QW94tFGW305 B KWY6tFGW305 B QWY6tFGW305 B SWYwtFGW309 B QWyStF6 GW304 B QWTb2F GW305 B KW Y2F GW305 B QWY2F GW309 B KW y2F GW309 B QWy2FGW303 B QHSB$FGW303 B SHI9$FGW325 H Q P7P$FGW325 H S "Pe$FGW326 4BK %P$F6GW302 B QW Q sEGW300 B KH9xsEGW300 B QH9sEGW300 B SH 9QsEGW302 B QHQsEGWCM3 5X5X&EGWCM3 EGWCM3 @@sEGWCM3 EEdEGWCM3 PPEGW311 BTKWr!(FGW311 BTQW !(FGW312 B KW !(FGW312 B QW!(FGW300 B KW9h%EFGW309 B KWy7FGW309 B QHyXFGW309 B KHyyFGW309 B QWyyFGW309 B SWyyF GW309 B SWyy2F GW326 4BK %u2F GW300 B KH9x2F GW300 B QH992FGW305 B KHY&F6GW326 4BQ %P$FGW326 4BS @# $FGW330 M $FGW330 M $FGW303 B KW S`EGW303 B QW S`EGW304 B QWT@EGW304 B SWTpEGWCM3 33"EGWCM3 ((EGWCM3  b bEGW305 B KW$EGWCM5 hh$EGWCM5 ''$`EGW300 B QW9V%EFGW303 B KWS%EFGW303 B QWS%EFGW307 B SWii0FGW300 B KW9xtFGW332 P "eFGW309 B QHyy$FGW330 M 0$F GW300 B KW92F GW300 B QW92FGW305 B QHY&FGW305 B SH'Y&FGWAM2 &&%FGW332 P hSD$FGW303 B KHS $FGW309 B KWy"$FGW309 B QWy"$FGW306 B QWd$FGW306 B SWd$FGWAM2 EEF6   GW302 B QWQS%FFGW302 B SWQ%FFGW305 B KWY%FFGW305 B QWYI%FFGW305 B SWYr%FFGW306 B SHd%FFGW309 B KWyyFGW309 B QWyXFGW311 BTKWxgF6!GW308 BTKHss#F!GW305 BTKWbr#F!GW305 BTQWbr#F!GWAM1 uu#F"GW300 B KW94#F#GW305 BTSHb$"F$GW305 B KWY$$F$GW305 B SWYY$$F$GW305 B KHYY$$F%GW309 B KWyy$F60GW333 MP $%F1GW302 B KWQSYF2GW312 B KWF2GW312 B QWF3GW309 B SWyyF7GW333 MP FF7GW300 B SW9FF7GW303 B KWSFF7GW303 B QWSFF7GW305 B QWY6FFGW306 B KWdV%FFGW306 B QWd%FFGW306 B SWdV%FFGW307 B QWiv%FFGW302 B KHQ%FFGW311 BTQWxgFGW308 BTKHs8gFGW308 BTQHsegFGW311 BTKHxgF GW312 B QW#'F#GW305 BTQWb"F"GW300 B SW9x#F"GW303 B KWS#F"GW300 B QW94#F"GW303 B SWS#F6%GW309 B KHyy$F&GW303 B QWS$FF&GW309 B QWy$FF&GW309 B KHyX$FF'GW330 M  $F3GW303 B QWSSF4GW305 H SH)twF4GW307 H SH94wF5GW303 B QW%S%&F5GW303 B SW%S%&F7GW309 B SWyFF7GW305 B SHYFF7GW309 B KHyXFF8GW303 B KWFS$8G8GW303 B QW4SGGW302 B QHQS%FFGW305 B KHY6%FFGW305 B QHYT%FFGW306 B KHd(%FFGW306 B QHd%FF GW312 B KH#'F GW312 B QH#'F!GW301 B KH69P"#F!GW301 B QH69P"#F!GW301 B SH9Pt#F6"GW309 B KWyX#F"GW309 B QWyX#F"GW303 B QWS#F#GW305 BTKHb"F#GW305 BTQHb$"F(GW330 M  $F(GW311 B KW$F)GW303 B SWS$%F)GW311 B KWx$%F)GW311 B QWx$%F66GW312 B QWbF6GW312 B KHbF6GW312 B QHbF7GW332 P FF7GW330 M FF8GW303 B SWIG8GW325 H K PPG8GW325 H Q PuG8GW325 H S 0P%G8GW326 4BK %%%G6   8GW326 4BQ  %G8GW326 4BS #UG8GW306 B KHd2G8GW306 B QHdG8GW306 B SHYGBGW309 B QHyyGBGW309 B SHyyGBGW330 M GCGW301 B KH9Pt GCGW301 B QH9Pt G6EGW303 B SWSGEGW303 B QHSYGEGW309 B KWy'GEGW309 B QWyiGEGW305 B KHYwGHGW310 B QWGIGW310 B KWGIGW310 B QWGIGW308 B QWppGPGW301 B KH9P9PG6SGW302 B KWQg 5GSGW302 B QWQU 5GSGW304 B KWT  5GSGW304 B QWTp 5GSGW309 B KWyt 5GUGW328 F QW @HUGW302 B KWP @HUGW302 B QWP @HVGW302 B KWQ @HVGW302 B QWQ @H68GWCM1 G9GW309 B KWyyG9GW309 B QWyXG@GW312 B KW pG@GW312 B QW pG6CGW301 B SH9Pt GCGW308 B KHi8 GCGW308 B QHi8 GCGW308 B SHi GDGW332 P hGFGW301 B QH9PPGFGW301 B SH9PGFGW308 BTSWp@GFGW308 BTQHppGFGW312 B QHG6PGW312 B KW#GQGW301 B KW9PyRGQGW301 B QW9PXRGQGW301 B SW9PRGRGW307 B KWi2GSGW309 B QWyX 5GSGW330 M  5GTGW302 B QWQe GTGW302 B KWQ GTGW332 P  G6VGW302 B SWQQ @HVGW312 B QW @HWGW308 BTKW i!hHWGW310 BTKWy!hHWGW310 BTQW y!hH@GW312 B QHpG@GW332 P pGAGW327 4BQW2GBGW303 B QWSGBGW303 B SHSYGEGW300 B KW9GEGW300 B QW9GEGW300 B SW9GEGW303 B KWSqGEGW303 B QWSqG6FGW312 B KW GFGW312 B QW GGGW330 M GHGW307 B SHiiGHGW309 B QWyyGRGW307 B QWiE2GRGW307 B SWi2GSGW301 B KW 9P 5GSGW301 B QW9PvP 5GSGW300 B KW9 5G6TGW305 B KW%Yu GTGW305 B QW%Yu GTGW305 B SWY GUGW312 B KW @HUGW328 F KW @HWGW311 B KW !hHWGW311 B QWE!hHWGW311 B KH5!hHWGW311 B QHV!hHXGW300 B KW%9 uGH6   XGW300 B QW9GHXGW300 B SW9GHXGW302 B KW%QuGHXGW302 B QWQeGHXGW302 B SWQGHYGW310 B QH1H`GW304 B QW TbHaGW303 B QHSSHaGW303 B KWSSHbGW312 B KWH6fGW312 B KHHfGW312 B QHHgGW311 HTKWbbHhGW302 B SWQ3HhGW303 B SWS$3HrGW300 B SW5 dHrGW303 H QWP#P dHrGW305 H SW)) dHrGW309 H KWH dHrGW309 H QWH  dHtGW303 B SWI5 HtGW306 B SHY HtGW330 M ` HtGW300 B KW HtGW300 B QW HuGW305 B KHUP HuGW310 B QWy H HuGW326 4BK % HuGW330 M  HuGW326 4BQ %P H6XGW330 M GHYGW333 MP 1HYGW330 M @1HYGW330 M  1HYGW305 BTQWbH1H6cGW304 B QW%TPbHdGW300 B SW6`bHeGW312 B KW 'HeGW312 B KH'HfGW301 B KW9PPHhGW302 B QHQU3HhGW302 B SHQ3HhGW304 B QHT@3HiGW333 MP  HiGW328 F KW H6rGW328 F KW0(PU dHrGW328 F QWP(P% dHrGW328 F SW (Pp dHrGW332 P  dHsGW309 B KWyt HtGW300 B KH HtGW300 B SH HtGW326 4BK  HtGW326 4BQ  HtGW326 4BS  HuGW326 4BS %P HuGW310 B KHyd HuGW310 B QHy H HuGW305 B SHU0 HvGW300 B SW9`HYGW305 BTSWb1HYGW310 BTKW21HYGW310 BTQW21HYGW300 B SH991HYGW305 BTKWb1HfGW301 B QW9PPHfGW310 BTKWIHfGW310 BTQWIHfGW312 B KWHfGW312 B QWHpGW333 MP   HqGW332 P  iHrGW309 H QWC1 dHrGW300 B KW5  dHrGW300 B QW$5@ dHsGW328 F KW0P HsGW328 F QW0  HsGW328 F SW0  HsGW303 B QWS$ HsGW303 B SWS H6tGW328 F KW HtGW328 F SW HtGW328 F QH HtGWCM1 AUAU HuGW310 B KWy2 HvGW305 B KWY`HvGW305 B QWY6`HvGW305 B SWY6`HvGW333 MP `HvGW332 P `H6   wGW328 F KH0HHwGW328 F KW0`HHwGW328 F QW0`HHxGW305 B KWYiHxGW307 B QWiiiHGW300 B SW4HGW300 B KH4HGW300 B QH 4HGW300 B SH4HGW305 B KWfU60HAFH262 CW WYY$VGWCM4 9HCFH261 CW WII VGW305 B QWpT7HGW305 B SWT@HGW305 B KHYHGW305 B QHYHGW305 B SHYHGW303 B QW$SrHGW303 B KW SwH6GW312 B KWHGW312 B QWHGW302 B SHQWHGW307 B QHiiHGW308 B SHpHGW328 F SH5P!(HGW328 F KW5p!(HGW328 F QW5!(HGW311 BTKWg!rHGW311 BTQWx!rH6yGW310 BTKW#HyGW310 BTQW#HyGW310 BTKH#HyGW310 BTQH#HGW330 M PHGW305 B QW`U3HGW305 B SW UHGW305 B KHU%HGW305 B QHU%HGW305 B SHU`HGW305 B KHpT7HGW305 B QHpT7HGW305 B SHT@HGW302 B KW%Qu"HGW302 B QW Q "HGW305 B KWYHGW300 B KW9HGW300 B QW 9HGW304 B KWT@HGW304 B QWT$HGW311 B KHVHGW312 B KHHGW302 B KHQSHGW302 B QHQHGW300 B QW9!(H6GW303 B KWSY6HGW303 B QWS T6HGW303 B SWS06HGW305 B QWY6HGW305 B SWYr6HGW305 B KWYFHGW305 B KHYwFHGW312 B KWFHGW300 B KWV4HGW300 B QW4HGW310 B KW yHGW310 BTKWIHGW310 BTQWfHGW332 P 8HGW330 M 8H6GW302 B SWQ"HGW309 B SWy"HGW302 B SHQ"HGW332 P "HGW305 B QWY6HGW304 B SWTbHGWCM1 2e2eHGW303 B KWSSHGW307 B QWiiHGW308 B QWp H6GW300 B SW9!(HGW301 H KW!(HGW309 B SWy2!(HGW328 F KH5!(HGW328 F QH5U!(HGW307 B SWi86HGW309 B KWy6HGW309 B QWyt6HGW305 B SHYr6HGW309 B KHyy6H   GW303 B QHS6HGW303 B SHIHGW332 P hHGW325 H K PuHGW325 H S %PPHGW309 B SWyyHGW312 B QHHGW307 B KWiiHGW307 B SWiHGW308 B QHp H6GW303 B QWS0HHGW303 B SWSeHHGW306 B SHd HHGW300 B KW9HHGW300 B QW9HH6USH H MVI B,8 MOV C,A LHLD CRCVAL ; UPDLOOP:MOV A,C RLC MOV C,A MOV A,L RAL MOV L,A MOV A,H RAL MOV H,A JNC SKIPIT MOV A,H ; The generator is X^16 + X^12 + X^5 + 1 XRI 10H ; as recommended by CCITT. MOV H,A ; An alternateGW 6992 146 6/12/85 1380.00 -0.00 3 -0 -0.00 7/18/85 5/ 6/85 GW 7071 220 6/ 3/85 118.00 -0.00 1 -0 -0.00 7/18/85 5/22/85 GW 7070 359 6/ 3/85 890.00 -0.00 4 -0 -0.00 7/18/85 500 7/18/85 6/ 3/85 GW 7124 261 6/11/85 189.00 -0.00 1 -0 -0.00 7/18/85 5/15/85 GW 7104 7 86165 6/ 6/85 70.00 -0.00 1 -0 -0.00 7/18/85 5/30/85 GW 7110 362 80237 6/ 7/85 360.00 -GW326 4BK %PHGW326 4BQ %%HGW326 4BS #A@HGW302 B SWQHGW305 B SWYHGW302 B QWQSHGW301 B KWA#HGW301 B KH 9PHHGW301 B QH 9PHHGW301 B SH 9PHHr Associates * ;* Box 451 * ;* Bloomfield Hills, MI 48013 * ;* 313/855-3074 * ;* * ;* This program may be freely reproduced for non-profit use. * ;* * ;**************************************************** generator which is often MOV A,L ; used in synchronous transmission protocols XRI 21H ; is X^16 + X^15 + X^2 + 1. This may be MOV L,A ; used by substituting XOR 80H for XOR 10H SKIPIT: DCR B ; and XOR 05H for XOR 21H in the adjacent code. JNZ/16/85 GW 7074 193 6/ 4/85 765.00 -0.00 3 -0 -0.00 7/18/85 5/21/85 GW 7073 369 6/ 4/85 295.00 -0.00 3 -0 -0.00 7/18/85 5/28/85 GW 7120 357 6/10/85 6430.00 -0.00 11 -0 -0.00 7/10.00 1 -0 -0.00 7/18/85 6/ 3/85 GW 7275 369 6/28/85 295.00 -0.00 4 -0 -0.00 7/18/85 6/18/85 GW 7294 276 421256 6/27/85 316.00 -0.00 1 -0 -0.00 7/18/85 6/11/85 GW 3607 353 GW 6456 6/GW305 B SHYYHGW307 B QWivHGW308 B KHpHGW308 B SHp@HGW309 B QWyyHGW304 B KW THHGW304 B QW THHGW304 B SW THHGW300 B KW9HHGW300 B QW9HH6******************** ; ; ENTRY CLRCRC,UPDCRC,FINCRC,CHKCRC ; CLRCRC: EQU $ ; Reset CRC Accumulator for a new message. PUSH H LXI H,0 SHLD CRCVAL POP H RET ; UPDCRC: EQU $ ; Update CRC Accumulator using byte in (A). PUSH PSW PUSH B P UPDLOOP SHLD CRCVAL POP H POP B POP PSW RET ; FINCRC: EQU $ ; Finish CRC calc for outbound message. PUSH PSW XRA A CALL UPDCRC CALL UPDCRC PUSH H LHLD CRCVAL MOV D,H MOV E,L POP H POP PSW RET ; CHKCRC: EQU $ ; Check C8/85 5/24/85 GW 7153 181 6/12/85 262.00 -0.00 3 -0 -0.00 7/18/85 6/ 6/85 GW 7154 8 6/13/85 882.00 -0.00 3 -0 -0.00 7/18/85 6/ 4/85 GW 7123 315 6/11/85 199.00 -0.00 1 -0 -0.28/85 -310.00 -0.00 5 -0 -0.00 7/18/85 GW 3611 307 GW 7219 6/28/85 -42.00 -0.00 2 -0 -0.00 7/18/85 GW 7132 329 6/11/85 2284.00 -0.00 9 -0 -0.00 7/18/85 5/29/85 GW 7135 388 6/1   1/85 5764.00 -0.00 23 -0 -0.00 7/18/85 5/13/85 GW 7122 337 6/11/85 795.00 -0.00 4 -0 -0.00 7/18/85 6/ 6/85 GW 7112 247 6/ 7/85 3652.00 -0.00 8 -0 -0.00 7/18/85 5/29/85 GW 7109 3695 5/30/85 GW 7111 107 6/ 7/85 386.00 -0.00 4 -0 -0.00 7/18/85 6/ 4/85 GW 7264 138 6/26/85 3640.00 -0.00 20 -0 -0.00 7/18/85 6/18/85 GW 7279 1 2575 6/28/85 11974.00 -0.00 9 -0 -0.00 -0.00 7 -0 -0.00 7/18/85 6/11/85 GW 7196 399 6/18/85 2864.00 -0.00 5 -0 -0.00 7/18/85 5/29/85 GW 7081 242 6/ 4/85 9165.00 -0.00 13 -0 -0.00 7/18/85 5/24/85 GW 7255 353 6/25/8 296 6/13/85 1166.00 -0.00 4 -0 -0.00 7/18/85 6/ 4/85 GW 7212 398 6/19/85 2183.00 -0.00 14 -0 -0.00 7/18/85 5/28/85 GW 7184 220 6/17/85 398.00 -0.00 1 -0 -0.00 7/18/85 5/14/85 GW 5/13/85 GW 7276 352 6/28/85 1973.00 -0.00 7 -0 -0.00 7/18/85 5/ 3/85 GW 7185 103 1666 6/17/85 1990.00 -0.00 1 -0 -0.00 7/18/85 6/17/85 GW 7133 301 6/11/85 4628.00 -0.00 13 -0 -0.00 0.00 2 -0 -0.00 7/18/85 5/24/85 GW 7252 1 2573 6/26/85 14820.00 -0.00 9 -0 -0.00 7/18/85 6/13/85 GW 7251 323 1242 6/26/85 371.00 -0.00 1 -0 -0.00 7/18/85 6/ 4/85 GW 7250 308 7266 6/2 6/ 7/85 236.00 -0.00 2 -0 -0.00 7/18/85 6/ 3/85 GW 7108 264 281557 6/ 7/85 780.00 -0.00 2 -0 -0.00 7/18/85 5/21/85 GW 7107 127 2381 6/ 7/85 597.00 -0.00 1 -0 -0.00 7/18/85 5/20/85 .00 7/18/85 6/13/85 GW 7262 348 354802 6/26/85 4405.00 -0.00 12 -0 -0.00 7/18/85 6/18/85 GW 7267 282 6/27/85 2507.00 -0.00 6 -0 -0.00 7/18/85 6/12/85 GW 7176 183 6/13/85 2171.00 -0.05 11005.00 -0.00 13 -0 -0.00 7/18/85 4/26/85 GW 7256 10 6/24/85 5518.00 -0.00 16 -0 -0.00 7/18/85 6/12/85 GW 7283 265 6/28/85 10466.00 -0.00 13 -0 -0.00 7/18/85 6/13/85 GW 7161 305  7165 369 6/14/85 118.00 -0.00 1 -0 -0.00 7/18/85 6/10/85 GW 7082 166 6/ 4/85 2102.00 -0.00 6 -0 -0.00 8/ 1/85 GW 7151 390 6/12/85 5993.00 -0.00 6 -0 -0.00 7/18/85 5/13/85 GW  7/18/85 5/23/85 GW 7173 392 6/14/85 700.00 -0.00 3 -0 -0.00 7/18/85 5/13/85 GW 7172 391 20739 6/14/85 4914.00 -0.00 4 -0 -0.00 7/18/85 5/12/85 GW 7179 395 6/17/85 1045.00 -0.00 46/85 154.00 -0.00 3 -0 -0.00 7/18/85 6/17/85 GW 7249 367 6/24/85 1200.00 -0.00 5 -0 -0.00 7/18/85 6/19/85 GW 7247 170 6/26/85 53.00 -0.00 1 -0 -0.00 7/18/85 6/10/85 GW 7246 266GW 7103 7 56128 6/ 6/85 70.00 -0.00 1 -0 -0.00 7/18/85 5/30/85 GW 7106 239 6/ 7/85 118.00 -0.00 2 -0 -0.00 7/18/85 6/ 3/85 GW 7105 173 6/ 7/85 663.00 -0.00 3 -0 -0.00 7/18/80 7 -0 -0.00 7/18/85 6/10/85 GW 7182 396 8155 6/13/85 10668.00 -0.00 17 -0 -0.00 7/18/85 6/13/85 GW 7263 233 6/27/85 7771.00 -0.00 13 -0 -0.00 7/18/85 6/14/85 GW 7243 314 6/24/85 4085 6/13/85 588.00 -0.00 7 -0 -0.00 7/18/85 6/ 3/85 GW 7244 119 6/25/85 398.00 -0.00 1 -0 -0.00 7/18/85 5/20/85 GW 7181 130 84 6/17/85 1950.00 -0.00 3 -0 -0.00 7/18/85 6/ 3/85 GW 7159  7143 389 6/12/85 395.00 -0.00 3 -0 -0.00 7/18/85 5/14/85 GW 7195 400 6/17/85 2240.00 -0.00 5 -0 -0.00 7/18/85 5/29/85 GW 7200 397 2691 6/19/85 711.00 -0.00 3 -0 -0.00 7/18/85  -0 -0.00 7/18/85 6/ 7/85 GW 7187 170 6/17/85 839.00 -0.00 8 -0 -0.00 7/18/85 6/ 6/85 GW 7174 394 6/12/85 79.00 -0.00 1 -0 -0.00 7/18/85 6/12/85 GW 7156 197 6/13/85 1580.00 - 6/25/85 1592.50 -0.00 6 -0 -0.00 7/18/85 5/20/84 GW 7242 380 6/25/85 6915.00 -0.00 5 -0 -0.00 7/18/85 6/13/85 GW 7240 317 6/24/85 199.00 -0.00 1 -0 -0.00 7/18/85 6/12/85 GW 7239    SET UP ROUTINE FOR THE CP/M MODEM PROGRAM. Version 7.31 11/14/81 This information is given for those who do not wish to re-assemble the modem program for their system because they do not have MAC, do not have the source code, or are lazy. IfrBrain users should put zero here. 0104 FF <--- 0FFH if Imsai with front panel, else zero. SuperBrain users should put zero here. 0105 FF <--- 0FFH if 4 MHz Z-80 (or maybe fast 8085) else 0. SuperBrain users should use 0. You will probably want to leave this at 0FFH since new users can toggle this on with the XPR command. 0108 FA <--- 0FAH for 20 pulses/sec dialing PMMI (PMMI modem only). 7DH if your ONLY phone exchange is older and needs e no change. 0111 C9 RET 0112 FE XX CPI XX <--- Same as 0110H if port uses positive logic (JZ). Hex zero if port uses negative logic (JNZ). SuperBrain users need make no change. 0114 C9 RET 0115 DB XX IN XX <--- Put modem data pne. If your modem does not need to be initialized, put a RET (C9H) in 011EH .If you need initialization, write your routine for the memory location addressed by the jump. The initialization routine must end with a RET instruction.  you have a PMMI Modem board, with base port set at 0E0H, and do want backup (.BAK) copies (if the file being received already exists), the program will run as is. If not, make the patches listed below. Use the L command ( L100 ) of DDT or SID to lisFFH 0106 FF <--- Zero if you want files that exist to be deleted if a file of the same name is sent in multifile transfer. 0FFH if you want the existing file to be changed to type "BAK". Note: In CP/M 2 existing R/O or  a slower dialing rate. 0109 DB XX IN XX <--- Put modem status port in 010AH (Base port if PMMI). SuperBrain users should put 59H here for main status. 010B C9 RET If you do not have a PMMI modem, make the following patches ort (again) in 0116H. SuperBrain users should put 58H here for main data. 0117 C9 RET 0118 E6 XX ANI XX <--- Put bit tested when modem ready to receive in 0119H. SuperBrain users need make no change. 011A C9 RET 011B FE XX You have approximately 190 (decimal) bytes for the routine. SuperBrain users would probably want to put a RET in 011EH if they have properly set the number of data and stop bits and the parity with CONFIGUR or ACTIVATE. Yo1006B000D12A3C223A07003DBCC25D05CD31190D5F :1006C0000A4D454D4F5259205341564520425546FB :1006D0004645522046554C4C0D0A0700C35D053A6D :1006E0000501B701E204CAEC0601C409CD0901CD38 :1006F0001801CD1B01CAFF060B78B1C2EC06C9CDAB :10070000150114C9361A23117F00191t the program and use the S command to make the following changes: 0100 C3 3E04 JMP 043EH <--- Do not change (Note: The L command of DDT or SID displays 0FFH as "RST 07" and 0 as "NOP") 0103 FF <--- 0FFH if PMMI modem, else zero. Supe SYS files are changed to type BAK whether this byte is set or not. 0107 FF <--- 0FFH if you want program to come up in expert (XPR) mode without calling A>MODEM X else zero if you want menu or X commandalso: 010C D3 XX OUT XX <--- Put modem data port in 010DH. SuperBrain users should put 58H here for main data. 010E C9 RET 010F E6 XX ANI XX <--- Put bit tested when modem ready to send in 0110H. SuperBrain users need makCPI XX <--- Same as 0119H if port uses positive logic. Hex zero if port uses negative logic. SuperBrain users need make no change. 011D C9 RET 011E C3 XXXX JMP XXXX <--- 011EH contains a jump to a modem or port initialization routiu are finished. Leave DDT (using ^C) and type SAVE 37 MODEM.COM END of FILE. ET in 011EH if they have properly set the number of data and stop bits and the parity with CONFIGUR or ACTIVATE. Yo100DD197D56 :10071000B7176C2600F529F13E008D6FC911002333 :100720000E1ACD4707D51186220E15CD4707D1EBFE :10073000D511800019D1EB2B7CB5C22007C91186D9 :10074000220E10CD0500C9C5D5E5F5CD0500F1E1B6 :10075000D1C1C9218622CDA108215C0011862206C3 :100760000CCD6A19C   9E5D5C5F5214909CDA10821E6 :100770006C00CDA108CDB7083A9A21FE20CAAA077D :10078000CDF908CD0309FEFFC20008CD31190D0ACD :100790002B2B46494C4520444F4553204E4F542067 :1007A00045584953542B2B0D0A00CD31195459503B :1007B000452022522220544F2052455455524E205B :1009C08CD31190D0A0D0A2B7C :100880002B205452414E534645522043414E43453E :100890004C4C4544202B2B0D0A070700F1C1D1E138 :1008A000C9360023060B36202305C2A608061536D6 :1008B000002305C2AF08C9CD31190D0A454E544574 :1008C000522046494C45204E414D4520544F204230 :1008D0 236 4293 6/25/85 2640.00 -0.00 6 -0 -0.00 7/18/85 6/11/85 GW 7241 365 6/25/85 162.00 -0.00 1 -0 -0.00 7/18/85 6/ 7/85 GW 7164 369 6/14/85 59.00 -0.00 1 -0 -0.00 7/18/85 6/ 6/850 1 -0 -0.00 7/18/85 GW 3517 2 285 6/10/85 -473.91 -0.00 1 -0 -0.00 7/18/85 GW 3509 265 650-083226D 6/10/85 -596.55 -0.00 1 -0 -0.00 7/18/85 GW 3512 265 650-096142D 6/10/85 -30.00 -0.00 1 -0 -0.00 7/18/85 GW 3533 2 64974 6/19/85 -1.28 -0.00 1 -0 -0.00 7/18/85 GW 3534 2 66258-71869 6/19/85 -904.62 -0.00 1 -0 -0.00 7/18/85 GW 3600 5 GW 7023 6/27/85  -780.00 -0.00 1 -0 -0.00 7/18/85 GW 7245 128 6/24/85 4581.00 -0.00 4 -0 -0.00 7/19/85 5/13/85 GW 7280 145 6/28/85 1048.00 -0.00 4 -0 -0.00 7/19/85 5/24/85 GW 7180 330 6/17/857C000544F204D4F44454D0D0A54595045202259 :1007D000412220544F2052452D454E544552204E23 :1007E000414D453A200700CD7418CD7E18CD5C18D8 :1007F000CD4F18FE41CA7507FE52CA9C08C3AA070E :100800001180000E1ACD0500CD0C09FE01CA250885 :10081000FE02CA4D08CD1509FE1ACA25080045205452414E53464552524544202D2006 :1008E00020432F5220544F20515549543A20001193 :1008F0009821CD0000CD4F18C9119821214909CD6B :100900000000C91149090E0FCD0500C91149090E92 :1009100014CD0500C906802180007ECD3409FE1A61 :10092000C8CD6918B7CA2E09CD7418FE18C82 GW 7163 7 26149/25944 6/13/85 109.00 -0.00 2 -0 -0.00 7/18/85 6/ 6/85 GW 7162 7 35672 6/13/85 49.00 -0.00 1 -0 -0.00 7/18/85 5/22/85 GW 7166 173 2698 6/14/85 3042.00 -0.00 7 -0 -0.00 1 -0 -0.00 7/18/85 GW 3511 265 650-096151D 6/10/85 -30.00 -0.00 1 -0 -0.00 7/18/85 GW 3505 126 6/10/85 -135.58 -0.00 1 -0 -0.00 7/18/85 GW 3515 2 70759-62015 6/10/85 --168.15 -0.00 2 -0 -0.00 7/18/85 GW 3601 260 3287 6/27/85 -27.00 -0.00 1 -0 -0.00 7/18/85 GW 3589 180 GW 7093 6/24/85 -192.00 -0.00 1 -0 -0.00 7/18/85 GW 3591 126 LTR. 6/18 6/25/8 69.00 -0.00 1 -0 -0.00 7/19/85 6/ 5/85 GW 7178 274 34874/35496 6/17/85 1514.00 -0.00 6 -0 -0.00 7/19/85 5/30/85 GW 7177 107 6/14/85 632.00 -0.00 5 -0 -0.00 7/19/85 6/ 4/85 GW 7254 FE18CADF :100820007808C30808CD31190D0A2B2B46494C45D1 :10083000205452414E5346455220434F4D504C4553 :100840005445442B2B0D0A070700C39C08CD3119D2 :100850000D0A2B2B46494C45205452414E534645D8 :100860005220554E5355434345535346554C2B2B1D :100870000D0A070700C33059A :10093000C21A09C9F5CD0901CD0F01CD1201C23589 :0909400009F1CD0C01CD5C18C9D0 :10096A00CD0901CD1801CD1B01CAA209CD6918CA4A :10097A006A09CD7418FE05CA081E473A0301B778FA :10098A00CA9909FE10F5CC761DF1FE10CA6A09CD86 :10099A000C01CD5C18C36A09CD1501CD0C01C -0.00 7/18/85 6/ 4/85 GW 7167 380 5157 6/14/85 2930.00 -0.00 4 -0 -0.00 7/18/85 4/26/85 GW 3592 2 22 6/25/85 -301.33 -0.00 1 -0 -0.00 7/18/85 GW 3518 2 485 6/10/85 -970.04 -0.0408.96 -0.00 1 -0 -0.00 7/18/85 GW 3539 173 6/20/85 -40.00 -0.00 1 -0 -0.00 7/18/85 GW 3540 164 MAY 24 LTR 6/20/85 -345.00 -0.00 1 -0 -0.00 7/18/85 GW 3573 3 6/20/85 -4.505 -38.50 -0.00 1 -0 -0.00 7/18/85 GW 3791 265 156567D 6/25/85 -81.33 -0.00 1 -0 -0.00 7/18/85 GW 3594 167 6765 6/26/85 -106.00 -0.00 1 -0 -0.00 7/18/85 GW 3593 177 5295 6/20/85 265 097 6/25/85 0.00 -0.00 1 -0 -0.00 7/19/85 6/21/85 GW 7265 7 36736/36737 6/27/85 109.00 -0.00 2 -0 -0.00 7/19/85 6/20/85 GW 7168 232 07039 6/13/85 5670.00 -0.00 11 -0 -0.00 7/1   9/85 6/ 3/85 GW 7171 126 282 6/13/85 3363.00 -0.00 3 -0 -0.00 7/19/85 6/ 4/85 GW 7286 381 GW 6886 6/28/85 126.00 -0.00 1 -0 -0.00 7/19/85 4/17/85 GW 7273 2 14238 6/27/85 3857.94 -0.0553 6/26/85 1990.00 -0.00 3 -0 -0.00 7/19/85 6/18/85 GW 7257 311 6/26/85 4341.75 -0.00 7 -0 -0.00 7/19/85 5/12/85 GW 7258 183 6/26/85 1286.00 -0.00 8 -0 -0.00 7/19/85 6/12/85 GW 7259/85 6/20/85 GW 7277 325 6/27/85 568.00 -0.00 3 -0 -0.00 7/19/85 6/18/85 GW 7282 325 6/27/85 0.00 -0.00 1 -0 -0.00 7/19/85 6/21/85 GW 7083 359 6/ 4/85 153.00 -0.00 1 -0 -0. 1157.00 -0.00 10 -0 -0.00 7/19/85 5/29/85 GW 7090 2 14116/14119 6/ 5/85 9606.40 -0.00 13 -0 -0.00 7/20/85 5/29/85 GW 7091 318 6/ 5/85 237.00 -0.00 2 -0 -0.00 7/20/85 5/30/85 GW 7092 85 GW 7099 314 1754 6/ 6/85 3307.50 -0.00 7 -0 -0.00 7/20/85 5/20/85 GW 7100 7 16105 6/ 6/85 10.00 -0.00 1 -0 -0.00 7/20/85 5/30/85 GW 7101 7 26248/26149 6/ 6/85 228.00 -0.00 3  5116.00 -0.00 6 -0 -0.00 7/20/85 6/ 4/85 GW 7141 240 6/12/85 699.00 -0.00 5 -0 -0.00 7/21/85 5/29/85 GW 7142 240 6/12/85 1061.00 -0.00 4 -0 -0.00 7/21/85 5/28/85 GW 7237 168 60 9 -0 -0.00 7/19/85 6/20/85 GW 7260 214 12420 6/27/85 3986.00 -0.00 6 -0 -0.00 7/19/85 6/11/85 GW 7285 305 GW 7000 6/20/85 45.00 -0.00 1 -0 -0.00 7/19/85 5/21/85 GW 7284 346 6/28/89 213 6/25/85 620.00 -0.00 4 -0 -0.00 7/19/85 6/ 5/85 GW 7261 124 9046/9040 6/27/85 236.00 -0.00 3 -0 -0.00 7/19/85 6/18/85 GW 7268 107 6/27/85 158.00 -0.00 2 -0 -0.00 7/19/85 600 7/19/85 5/23/85 GW 7084 287 1540 6/ 4/85 796.00 -0.00 2 -0 -0.00 7/19/85 5/28/85 GW 7085 181 6/ 5/85 132.00 -0.00 2 -0 -0.00 7/19/85 6/ 3/85 GW 7086 177 6/ 5/85 408.00 -0.00  270 6/ 5/85 3383.00 -0.00 4 -0 -0.00 7/20/85 5/17/85 GW 7093 180 6/ 4/85 192.00 -0.00 1 -0 -0.00 7/20/85 6/ 4/85 GW 7094 8 6/ 6/85 529.00 -0.00 5 -0 -0.00 7/20/85 5/28/85 GW -0 -0.00 7/20/85 5/30/85 GW 7102 7 6224 6/ 6/85 230.00 -0.00 3 -0 -0.00 7/20/85 5/30/85 GW 7136 4 6/11/85 2427.50 -0.00 2 -0 -0.00 7/20/85 6/ 7/85 GW 7137 152 6/11/85 553.00 /24/85 7666.00 -0.00 7 -0 -0.00 7/21/85 6/ 7/85 GW 7194 347 6/18/85 4101.00 -0.00 7 -0 -0.00 7/21/85 6/ 5/85 GW 7197 131 6/19/85 1861.00 -0.00 10 -0 -0.00 7/21/85 6/17/85 GW 7198 35 3933.00 -0.00 16 -0 -0.00 7/19/85 6/17/85 GW 7208 107 6/20/85 237.00 -0.00 2 -0 -0.00 7/19/85 6/ 5/85 GW 7186 367 6/17/85 1337.00 -0.00 5 -0 -0.00 7/19/85 5/13/85 GW 7253 127 2/13/85 GW 7269 246 6/27/85 580.00 -0.00 3 -0 -0.00 7/19/85 6/18/85 GW 7271 7 6/27/85 20.00 -0.00 1 -0 -0.00 7/19/85 6/20/85 GW 7272 7 6/27/85 109.00 -0.00 2 -0 -0.00 7/1 2 -0 -0.00 7/19/85 5/31/85 GW 7087 126 6/ 5/85 2650.00 -0.00 2 -0 -0.00 7/19/85 5/29/85 GW 7088 262 4744 6/ 5/85 1194.00 -0.00 3 -0 -0.00 7/19/85 5/29/85 GW 7089 246 5870/VER. 6/ 5/85  7095 9 6/ 6/85 1905.00 -0.00 6 -0 -0.00 7/20/85 5/20/85 GW 7096 268 6/ 6/85 0.00 -0.00 1 -0 -0.00 7/20/85 4/25/85 GW 7097 381 6/ 6/85 3537.00 -0.00 10 -0 -0.00 7/20/85 6/ 5/ -0.00 3 -0 -0.00 7/20/85 5/20/85 GW 7138 332 1356 6/11/85 759.00 -0.00 3 -0 -0.00 7/20/85 6/ 3/85 GW 7139 235 6/12/85 4203.50 -0.00 10 -0 -0.00 7/20/85 5/12/85 GW 7140 291 6/12/85 62 20269 6/19/85 1080.00 -0.00 1 -0 -0.00 7/21/85 6/ 4/85 GW 7199 181 6/19/85 106.00 -0.00 2 -0 -0.00 7/21/85 6/10/85 GW 7188 4 2428 6/18/85 796.00 -0.00 1 -0 -0.00 7/21/85 6/11/85     GW 7189 362 50264 6/18/85 1350.00 -0.00 1 -0 -0.00 7/21/85 5/24/85 GW 7190 362 40181 6/18/85 360.00 -0.00 1 -0 -0.00 7/21/85 5/24/85 GW 7191 127 6/18/85 1393.00 -0.00 2 -0 -0.00  OUTPUTS BELL IF INPUT GREATER THAN BUFFER ; 2) CMDLINE - PARSES A CP/M BUFFER INTO FORMAT SAME AS ; CP/M COMMAND LINE. ; 3) INLNCOMP - COMPARES STRINGS FOLLOWING CALL TO 'ILCOMP' ; TO STRING ADDRESSED BY DE REGS. ; 4) MULTNAME - MX D ;ADDRESS COUNT FIELD STAX D ;INITIALIZE WITH A ZERO IN COUNT BYTE INX D XCHG ;ADDRESS FIRST BUFFER BYTE WITH HL INBUFA CALL CONIN CPI 0DH ;IS IT A RETURN? JZ INBUFR ;IF SO, THEN RETURN CPI 7FH ;IS IT A DELETE? JZ DELETE CPI 8 ;CTA INX H ;ADDRESS COUNT CMP M ;COMPARE COUNT TO MAXIMUM JC ALERT ;IF MAXIMUM, RING BELL AND WAIT FOR CR XCHG ;RESTORE BUFFER POINTER TO HL MOV M,B ;PUT INPUTTED CHARACTER IN BUFFER MOV A,B ;OUTPUT IT CALL CONOUT INX H ;BUMP POINTER JB ;ECHO CHAR IF 7FH CALL CONOUT JMP INBUFA ;GET NEXT CHARACTER NODEL INR M ;DON'T LEAVE COUNT NEGATIVE XCHG ;RESTORE POINTER TO HL JMP INBUFA BKSPC CALL CONOUT ;TRUE ERASE IF 08H MVI A,20H CALL CONOUT MVI A,8 CALL CONOUT JMP INBUFA UT JMP INBUFA INBUFR MVI A,0DH CALL CONOUT MVI A,0AH CALL CONOUT POP D POP B POP H POP PSW RET CLEAR POP D ;ACCOUNTS FOR CALL POP H ;ADDRESS BUFFER IN HL PUSH H ;RESTORE.. PUSH D ;..STACK MOV B,M ;SAVE MAXIMUM IN B IN7/21/85 6/18/85 GW 7193 213 1708 6/17/85 2087.00 -0.00 8 -0 -0.00 7/21/85 5/20/85 GW 7192 4 6/18/85 62.00 -0.00 1 -0 -0.00 7/21/85 6/18/85 GW 7155 233 6/13/85 2239.00 -0.00 5 -ULTI-FILE FILE ACCESS ROUTINE FROM ; CP/M USERS GROUP. ; 5) DIRLIST - LISTS DIRECTORY INBUF MACRO ;NO PARAMETERS USED. LOCAL START,INBUFO,INBUFA,DELETE,NODEL,ALERT LOCAL INBUFLT,CLEAR,CLEARL,INBUFR,RETYPE,BKSPC,PCRLF LOCAL CONIN,CONOUT,CRL-H WILL BACKSPACE.. JZ DELETE ;..OVER DELETED CHAR. CPI 'U'-40H ;IS IT A CTRL-U JZ INBUFO ;OUTPUT # CR LF AND START OVER CPI 'R'-40H ;CTRL-R RETYPES LINE JZ RETYPE CPI 'E'-40H JZ PCRLF CPI 20H ;NO CONTROL CHARACTERS OTHER.. JC INBUFA ;MP INBUFA ;GET NEXT CHARACTER DELETE XCHG ;SAVE BUFFER POINTER IN DE POP H ;ADDRESS BEGINNING OF BUFFER PUSH H ;RESTORE STACK INX H ;ADDRESS COUNT FIELD MOV B,A ;SAVE DELETE CHAR - 7FH OR 08H MOV A,M SUI 1 ;DECREASE COUNT MOV M,A J INBUFO MVI A,'#' CALL CONOUT MVI A,0DH CALL CONOUT MVI A,0AH CALL CONOUT JMP START RETYPE POP D PUSH D INX D ;POINT TO CURRENT NUMBER.. LDAX D ;..OF CHARACTERS. MOV B,A MVI A,'#' CALL CONOUT MVI A,0DH CALL CONOUT MVI A,X H ;POINT TO FIRST.. INX H ;..BUFFER BYTE. MVI A,20H CLEARL MOV M,A INX H DCR B JNZ CLEARL RET CONIN PUSH H ! PUSH D ! PUSH B CONINLP CALL CONSTAT ORA A JZ CONINLP CALL CONIN1 CPI 61H ;CHANGE TO UPPER.. JC NOUCASE ;..CASE SIN;MACROS LIBRARY FOR CP/M ROUTINE SIMULATION 10/15/80 ;CONTAINS: ; 1) INBUF - DUPLICATES READ BUFFER ROUTINE ; SAME AS CP/M FUNCTION 10, BUT DOES ; NOT USE CTRL-C (REASON FOR ROUTINE). ; DOES ALLOW CONTROLS U, R, E, AND H (BACKSPACE). ;ONIN1,CONOUT1,NOUCASE,CTLRLP LOCAL CONSTAT,CONST1,CONINLP PUSH PSW PUSH H PUSH B PUSH D ;DE REGISTERS MUST BE PUSHED LAST START CALL CLEAR ;CLEAR THE BUFFER AREA POP D ;GET ADDRESS OF BUFFER ON RETRIES PUSH D ;RESTORE STACK XRA A IN..THAN ABOVE ALLOWED. MOV B,A ;SAVE INPUTTED CHARACTER XCHG ;SAVE HL IN DE POP H ;GET ADDRESS OF BUFFER IN HL PUSH H ;RESTORE STACK INX H ;ADDRESS COUNT BYTE INR M ;INCREASE COUNT BYTE DCX H ;ADDRESS MAXIMUM MOV A,M ;PUT MAXIMUM IN C NODEL ;DON'T DELETE PAST BEGINING OF BUFFER. XCHG ;RESTORE BUFFER POINTER TO HL DCX H ;POINT TO LAST BYTE INPUTTED MOV A,B ;GET BACK EITHER 7FH OR 08H MOV B,M ;GET CHARACTER BEING DELETED MVI M,20H ;RESTORE BLANK CPI 8 JZ BKSPC MOV A,0AH CALL CONOUT MOV A,B ;TEST IF ZERO INPUT ORA A JZ INBUFA CTLRLP INX D LDAX D CALL CONOUT DCR B JNZ CTLRLP JMP INBUFA ALERT MVI A,7 CALL CONOUT DCR M XCHG JMP INBUFA PCRLF MVI A,0DH CALL CONOUT MVI A,0AH CALL CONOCE CP/M.. CPI 7BH ;..DOES THE SAME. JNC NOUCASE ANI 5FH NOUCASE POP B ! POP D ! POP H RET CONIN1 LHLD 1 LXI D,6 DAD D PCHL CONSTAT PUSH H ! PUSH D ! PUSH B CALL CONST1 POP B ! POP D ! POP H RET CONST1 LHLD 1 LXI D,3 DAD D P    CHL CONOUT PUSH H ! PUSH D ! PUSH B ! PUSH PSW CALL CONOUT1 POP PSW ! POP B ! POP D ! POP H RET CONOUT1 LHLD 1 LXI D,9 DAD D MOV C,A PCHL ENDM CMDLINE MACRO ;NO PARAMETERS USED ;LOADS A COMMAND LINE ADDRESSED BY DE REGISTERS (MH B PUSH D PUSH H CALL INIT ;FILLS FCBS WITH BLANKS AND NULLS XCHG ;GET START OF COMMAND LINE IN HL. INX H ;ADDRESS # BYTES IN CMD LINE. MOV E,M ;LOAD DE PAIR WITH # BYTES. MVI D,0 INX H DAD D ;POINT TO BYTE AFTER LAST CHAR.. MVCES.. CPI 20H ;..BETWEEN NAMES. JNZ NAME2C INX D JMP NAME2 LDAX D CPI 0DH ;TEST IF FIRST NAME.. JZ DONE ;..ONLY AND THEN SPACE. NAME2C POP H ;SECOND NAME STARTS IN 16TH BYTE. PUSH H ;POINT HL TO THIS BYTE. LXI B,16 DAD B CALL DRVE),.. PUSH B ;..11 BLANKS, 4 NULLS, 1 NULL (FOR 2ND DRIVE),.. MVI M,0 ;..11 BLANKS, AND 4 NULLS. INX H MVI B,11 MVI A,20H CALL INITFILL MVI B,5 MVI A,0 CALL INITFILL MVI B,11 MVI A,20H CALL INITFILL MVI B,4 MVI A,0 CALL INI TO FCB.. INX D ;..UP TO NUMBER OF CHARS SPECIFIED.. CPI 0DH ;..BY C-REG. KEEP SCANNING FIELD.. RZ ;..WITHOUT TRANSFER UNTIL A DELIMITING.. CPI '.' ;..FIELD CHAR SUCH AS '.', BLANK, OR.. RZ ;..C/R (FOR END OF CMD LINE). CPI 20H RZ DCR LL RET FILL MVI M,'?' ;ROUTINE TRANSFERS '?'. INX H DCR B JNZ FILL RET ENDM INLNCOMP MACRO ;NO PARAMETERS USED ;IN-LINE COMPARE. COMPARES STRING ADDRESSED BY DE-REG TO STRING ;AFTER CALL (ENDS WITH ZERO). RETURN WITH CARRY SET MEANAX # CHARACTERS IN LINE ;IN DE, NUMBER OF CHARS IN LINE IN DE+1, LINE STARTS IN DE+2) INTO FCB ;ADDRESSED BY HL REGISTERS. THE FCB SHOULD BE AT LEAST 33 BYTES IN LENGTH. ;THE COMMAND LINE BUFFER MUST HAVE A MAXIMUM LENGTH OF AT LEAST ONE MORE ;THAN THEI M,0DH ;..IN CMD LINE AND STORE DELIMITER. POP H ;RESTORE HL AND DE. POP D PUSH D PUSH H INX D ;ADDRESS START OF COMMAND. INX D CALL DRIVE NAME1 MVI C,8 ;TRANSFER FIRST FILENAME TO FCB. CALL TRANS CPI 0DH JZ DONE CPI 20H ;IFIVE MVI C,8 CALL TRANS CPI 0DH JZ DONE TYPE2 POP H ;SECOND TYPE STARTS IN 25TH BYTE. PUSH H LXI B,25 DAD B MVI C,3 CALL TRANS DONE POP H PUSH H INX H ;POINT TO FIRST CHAR OF FIRST NAME IN FCB. CALL SCAN ;CHECK FOR * (AMBIGUOTFILL POP B POP H RET INITFILL MOV M,A INX H DCR B JNZ INITFILL RET DRIVE INX D ;CHECK 2ND BYTE OF FILENAME. IF IT.. LDAX D ;..IS A ":", THEN DRIVE WAS SPECIFIED. DCX D CPI ':' JNZ DEFDR ;ELSE ZERO FOR DEFAULT DRIVE ('INIT' C JM TRANS ;ONCE C-REG IS LESS THAN ZERO, KEEP READING.. MOV M,A ;..CMD LINE BUT DO NOT TRANSFER TO FCB. INX H JMP TRANS SCAN MVI B,8 ;SCAN FILE NAME ADDRESSED BY HL. TSTNAM MOV A,M CPI '*' ;IF '*' FOUND, FILL IN REST OF FIELD.. JZ FILL1S STRINGS ;NOT THE SAME. ALL REGISTERS EXCEPT A-REG ARE UNAFFECTED. LOCAL ILCOMPL, SAME, NOTSAME, NSLP XTHL ;POINT HL TO 1ST CHAR. PUSH D ILCOMPL MOV A,M ;HL POINTS TO IN-LINE STRING. ORA A ;END OF STRING IF ZERO. JZ SAME LDAX D CMP  GREATEST NUMBER OF CHARACTERS THAT WILL BE NEEDED. LOCAL CMDLINE, DEFDR, DONE, DRIVE, FILL1, FILL, FILL2, INIT, INITL1 LOCAL INITL2, INITL3, INITL4, NAME1, NAME2, SCAN, TRANS, TSTNAM LOCAL TSTTYP, TSTTYPL, TYPE1, TYPE2, NAME2C PUSH PSW PUS SPACE, THEN START OF.. JZ NAME2 ;..SECOND FILENAME. TYPE1 POP H ;FILETYPE MUST BE AFTER.. PUSH H ;..EIGHTH BYTE OF NAME. LXI B,9 DAD B MVI C,3 ;TRANSFER TYPE OF FIRST FILE CALL TRANS CPI 0DH JZ DONE NAME2 LDAX D ;EAT MULTIPLE SPAUS NAMES). POP H PUSH H LXI B,17 ;POINT TO FIRST CHAR OF SECOND NAME IN FCB. DAD B CALL SCAN POP H POP D POP B POP PSW RET ; =============>>> SUBROUTINES <<=============== INIT PUSH H ;INITIALIZES FCB WITH 1 NULL (FOR FIRST DRIPUT ZERO) LDAX D ANI 5FH SUI 40H ;CALCULATE DRIVE (A=1, B=2,...).. MOV M,A ;..AND PLACE IT IN FCB. INX D ;ADDRESS FIRST BYTE OF.. INX D ;..IN CMD LINE,.. DEFDR INX H ;..AND NAME FIELD IN FCB. RET TRANS LDAX D ;TRANSFER FROM CMD LINE ;..WITH '?' FOR AMBIGUOUS NAME. INX H DCR B JNZ TSTNAM JMP TSTTYP FILL1 CALL FILL TSTTYP MVI B,3 ;SCAN AND FILL TYPE FIELD FOR NAME.. TSTTYPL MOV A,M ;..SPECIFIED ABOVE. CPI '*' JZ FILL2 INX H DCR B RZ JMP TSTTYPL FILL2 CALL FIM JNZ NOTSAME INX H INX D JMP ILCOMPL NOTSAME MVI A,0 ;IF NOT SAME, FINISH THRU.. NSLP INX H ;..STRING SO RETURN WILL.. CMP M ;..GO TO INSTRUCTION AFTER.. JNZ NSLP ;..STRING AND NOT REMAINDER OF STRING. STC SAME POP D INX H ;AVOIDS A     NOP INSTRUCTION.. XTHL ;..WHEN RETURNING. RET ENDM MFACCESS MACRO ;NO PARAMETERS USED LOCAL MOVE, CPM, MFNAME, MFN01, MFN02, MFFIX1, MFREQ LOCAL MFCUR, MOVER, SRCHF, SRCHN, STDMA, BDOS, FCB, FCBEXT LOCAL FCBRNO ;MFFLG1 IS NOT SET L.) WHEN ROUTINE IS CALLED. ; ;CARRY IS SET IF NO MORE NAMES CAN BE FOUND ; ;DEFINE DATA MOVE MACRO ; MOVE MACRO ?F,?T,?L,?I IF NOT NUL ?F LXI H,?F ENDIF IF NOT NUL ?T LXI D,?T ENDIF IF NOT NUL ?L LXI B,?L ENDIF IF NOT NUL ?I LOCT DMA ADDR, FCB>> CPM STDMA,80H XRA A ! STA FCBEXT ;<> LDA MFFLG1 ! ORA A ! JNZ MFN01 ; <> MVI A,1 ! STA MFFLG1 ; <> MOVE FCB,MFREQ,12 ;SAVE ORIG REQ LDA FCB ! STA MFCUR ;SAVE D> POP H ! MOVE ,FCB+1,11 ;<> XRA A ! STA FCBEXT ! STA FCBRNO ;FIX BY M.Z. ;<> RET ; ;MULTI-FILE ACCESS WORK AREA ; MFFLG1 DB 0 ;1ST TIME SW MFREQ DS 12 ;REQ NAME MFCUR DS 12 ;CURR NAME ;----------F ;PUT COMMAND LINE IN FCB LXI H,5CH CALL CPMLINE LXI H,SRCHFCB CALL INITFCBS LDA 6CH ;GET DRIVE # STA SRCHFCB LDA 6DH CPI 20H ;IF BLANK GET ALL NAMES PUSH PSW CZ QSTMARK POP PSW CNZ MOVENAME ;ELSE MOVE NAME INTO FCB CALL DRIVE X D MVI B,3 CALL MOVE CALL ILPRT PRNTNAME DB ' ',' ',' ', ' | ', 0 ;8,1,3 SPACES LDA NAMECT INR A STA NAMECT ANI 03H ORA A CZ CRLF NEXTSR LXI D,SRCHFCB MVI C,SRCHN ;DO NEXT SEARCH CALL BDOS CPI 0FFH JZ DIRDONE JMOCAL BECAUSE IT MUST BE RESET ;IN MAIN MODEM PROGRAM ON AN ABORT ; ; MUST BE ASSEMBLED BY "MAC" ; ;MULTI-FILE ACCESS SUBROUTINE. ALLOWS PROCESSING ;OF MULTIPLE FILES (I.E. *.ASM) FROM DISK. THIS ;ROUTINE BUILDS THE PROPER NAME IN THE FCB EACH AL ?B,?Z CALL ?Z ?B DB ?I ?Z POP H ;GET TO LXI B,?Z-?B ENDIF CALL MOVER MF SET -1 ;;SHOW EXPANSION ENDM ; ;DEFINE CP/M MACRO - CPM FNC,PARM ; CPM MACRO ?F,?P PUSH B PUSH D PUSH H IF NOT NUL ?F MVI C,?F ENDIF IF NOT NUL ?P LISK IN CURR FCB ; <> MOVE MFREQ,FCB,12 CPM SRCHF,FCB ;<> JMP MFN02 MFN01: ; <> MOVE MFCUR,FCB,12 CPM SRCHF,FCB ; <> MOVE MFREQ,FCB,12 CPM SRCHN,FCB ;<> MFN02: ;<> ; MFNAME: ;<> INR A ! STC ! JNZ MFFIX1 ! STA MFFLG1 ! RET ;FIX BY M.Z. MFFIX1: ;<> DCR A ! ANI 3 ! ADD A ADD A ! ADD A ! ADD A ! ADD A ADI 81H ! MOV L,A ! MVI H,0 PUSH H ;SAVE NAME POINTER MOVE ,MFCUR+1,11 ;<OS EQU 5 FCB EQU 5CH FCBEXT EQU FCB+12 FCBRNO EQU FCB+32 ENDM DIRLIST MACRO ;NO PARAMETERS USED LOCAL DIRLP,PRTNAME,NOFILE,DIRDONE,QSTMARK,QSTLP,PRNTNAME,NEXTSR LOCAL MOVENAME,GETADD,DRIVE,CALCDR,SRCHFCB,NAMECT,PRNTHD,DRNAME LXI D,CMDBUO LIST IF FILE IS ZERO LENGTH LXI D,-5 DAD D ;POINT TO $SYS ATTRIB BYTE MOV A,M ANI 80H JNZ NEXTSR ;NO LIST IF $SYS FILE LXI D,-10 DAD D ;POINT TO BEGINNING OF NAME INX H ;POINT TO FIRST LETTER LXI D,PRNTNAME MVI B,8 CALL MOVE IN CALL MOVE ;MOVE IN CP/M PROGRAM RET GETADD ANI 03H ;GET MOD4 FOR CP/M 1.4 ADD A ! ADD A ! ADD A ;ADD 32 ADD A ! ADD A MOV E,A MVI D,0 LXI H,80H ;ADD DMA OFFSET DAD D RET DRIVE LDA SRCHFCB ;IF NO DRIVE, CAL ORA A ;LOGGED IN D!   RIVE JZ CALCDR ADI 40H JMP PRNTHD CALCDR MVI C,25 CALL BDOS ADI 41H PRNTHD STA DRNAME CALL ILPRT DB CR,LF,'DRIVE ' DRNAME DB ' ',CR,LF,0 RET SRCHFCB DS 33 NAMECT DS 1 ENDM 2850A3A5621B7CA850ACD311946494C88 :100A6A0045204F50454E2C20524541445920544F61 :100A7A0020524543454956450D0A003A6221B73E80 :100A8A0015C2900A3E43CDD5143A6221B7C2B00AC4 :100A9A00CD311943524320696E20656666656374D9 :100AAA000D0A00C3C80ACD3119436865636B7375CA9C0B3E75CDD5143A4F21B7CA8F19 :100B7A000BCD3119434845434B53554D20455252ED :100B8A004F520D0A001E50CD55153E06CDD514C341 :100B9A00300B3E06CDD514E1C9215C00CDA3083A3D :100BAA004F21B7CAC80BCD31194157414954494E53 :100BBA00472046494C45204E414D450D0A00CD7807 0 -0.00 7/21/85 5/23/85 GW 7145 314 6/12/85 0.00 -0.00 2 -0 -0.00 7/21/85 4/26/85 GW 7146 5 6/12/85 0.00 -0.00 1 -0 -0.00 7/21/85 6/13/85 GW 7147 169 6/12/85 0.00 -0.0 7126 148 002483 6/11/85 600.00 -0.00 3 -0 -0.00 7/21/85 5/28/85 GW 7127 369 3435 6/11/85 187.00 -0.00 2 -0 -0.00 7/21/85 6/ 3/85 GW 7128 123 6/11/85 332.00 -0.00 4 -0 -0.00 7/21D5CE3 :1009AA0018C36A09CD8B153A5621B7C2D7093EFF3B :1009BA00323F223A9621B7C48A0CCDE60AD2DF0921 :1009CA003E423256213E04CDD514C324163A5D0068 :1009DA00FE20CA9412CDF012CD05131E50CD0B1570 :1009EA00CD8313DA100ACD3412AF327321CDEE1053 :1009FA00CD2C113A6221B7CB3 :100ABA006D20696E206566666563740D0A00CDF265 :100ACA000DDADA0ACD0114CD3412CDE810C3C80A02 :100ADA00CD1914CDE810CD6513C324163A4F21B7AA :100AEA00CA040BCD31194157414954494E47204E4A :100AFA00414D45204E414B0D0A001E50CD55153E25 :100B0A0006CDD51421442235FA :100BCA000CDAC80BCDDA0BFE04CAD80BB7C937C981 :100BDA00E50E00215D000605CD7014D2130C3A4FC4 :100BEA0021B7CA100CCD311954494D45204F5554DF :100BFA0020524543454956494E472046494C454EA1 :100C0A00414D450D0A00C34C0CFE04CA760CFE1A6F :100C1A00CA370C773A4F21B77EC450 1 -0 -0.00 7/21/85 5/28/85 GW 7148 164 3144 6/12/85 7404.00 -0.00 12 -0 -0.00 7/21/85 6/ 4/85 GW 7149 306 6/12/85 2100.00 -0.00 6 -0 -0.00 7/21/85 5/24/85 GW 7150 2 MISC. 6/12/85 /85 5/20/85 GW 7129 294 6/11/85 50.00 -0.00 1 -0 -0.00 7/21/85 5/26/85 GW 7130 346 6/11/85 1187.00 -0.00 3 -0 -0.00 7/21/85 5/23/85 GW 7131 1 2495 6/11/85 16238.00 -0.00 13 -0 C4B11C44611CD5811F6 :100A0A00DAF709C3EA093E04CDD514CD5811DA1034 :100A1A000AC32416AF326221CD8B153A5621B7C2CA :100A2A003F0A3E00323F22CDA30BD24A0A3E42324F :100A3A005621C324163A5D00FE20CA9412C3500AF6 :100A4A00CD600DCDE00DCD3F12CDB1123A4F21B799 :100A5A00C280B2A4022115C3D :100B1A0000060CCD6A19224022CD2F0BB7C93E041C :100B2A00CDD51437C9E5160B0E00215D007EE67F90 :100B3A00CDD5143A4F21B77EC45C18C50601CD70D5 :100B4A0014C1DA6F0BFE06C2450B2315C2370B3EE2 :100B5A001ACDD5143A4F21B7C44F18510601CD709A :100B6A0014BAC18C53E06CD59 :100C2A00D514C1237DFE7FCA4C0CC3E00B3A4F2179 :100C3A00B7C44F1879CDD5140601CD7014FE06CA73 :100C4A00760C215C00CDA3083A4F21B7CA6D0CCDB2 :100C5A003119434845434B53554D204552524F5243 :100C6A000D0A00CD780CDA6D0CC3DB0BE1C93E1519 :100C7A00CDD514C 1343.45 -0.00 14 -0 -0.00 7/21/85 6/ 6/85 GW 7152 1 2117/2493-94 6/12/85 5372.00 -0.00 9 -0 -0.00 7/21/85 6/ 3/85 GW 7125 160 2014/1855 6/11/85 707.00 -0.00 6 -0 -0.00 7/21/85 5/29/85 GW -0.00 7/21/85 5/29/85 GW 7134 317 6/11/85 415.00 -0.00 2 -0 -0.00 7/21/85 5/20/85 GW 7224 238 6/21/85 0.00 -0.00 2 -0 -0.00 7/21/85 6/ 4/85 GW 7225 239 6/20/85 -0.00 -0.00 !   1 -0 -0.00 7/21/85 6/11/85 GW 7226 1 2574 6/21/85 12420.00 -0.00 5 -0 -0.00 7/21/85 6/13/85 GW 7227 122 6/21/85 3200.00 -0.00 6 -0 -0.00 7/21/85 5/30/85 GW 7228 305 61285 6/21/85 59 7223 2 14203/2268 6/20/85 6088.34 -0.00 8 -0 -0.00 7/21/85 6/12/85 GW 7233 108 6074 6/21/85 2707.00 -0.00 14 -0 -0.00 7/21/85 6/ 7/85 GW 7118 348 354602 6/10/85 8300.00 -0.00 13 -0 -1/85 210.00 -0.00 2 -0 -0.00 7/21/85 6/ 7/85 GW 7220 173 2711 6/21/85 585.00 -0.00 2 -0 -0.00 7/21/85 6/11/85 GW 7218 363 6/20/85 3962.00 -0.00 6 -0 -0.00 7/21/85 6/ 4/85 GW 7217  5/20/85 GW 7117 302 6/10/85 300.00 -0.00 1 -0 -0.00 7/21/85 5/13/85 GW 7078 218 100032 6/ 4/85 6594.25 -0.00 6 -0 -0.00 7/29/85 5/20/85 GW 7183 138 6/17/85 5561.00 -0.00 15 -0 -/ 4/85 3244.50 -0.00 11 -0 -0.00 7/21/85 5/ 8/85 GW 7206 362 70287 6/19/85 4610.00 -0.00 4 -0 -0.00 7/21/85 6/18/85 GW 7209 283 3423 6/20/85 1594.00 -0.00 9 -0 -0.00 7/21/85 6/ 5/85 GW 721/85 6/10/85 GW 7219 307 1081 6/21/85 4118.50 -0.00 13 -0 -0.00 7/21/85 6/ 3/85 GW 7236 331 6/24/85 7126.00 -0.00 13 -0 -0.00 7/21/85 6/ 7/85 GW 7234 169 6/24/85 4191.00 -0.00 8 -0 0.00 -0.00 4 -0 -0.00 7/21/85 6/12/85 GW 7229 5 6748/A 6/21/85 4420.35 -0.00 9 -0 -0.00 7/21/85 6/10/85 GW 7230 108 6073 6/21/85 3784.00 -0.00 12 -0 -0.00 7/21/85 6/ 7/85 GW 7231 3280.00 7/21/85 5/23/85 GW 7119 265 650-084-480 6/10/85 468.00 -0.00 1 -0 -0.00 7/21/85 5/30/85 GW 7270 7 6/27/85 6.00 -0.00 1 -0 -0.00 7/21/85 6/20/85 GW 7115 172 8064/8041 6/10/85 3 7 56341 6/20/85 10.00 -0.00 1 -0 -0.00 7/21/85 6/ 7/85 GW 7216 7 46336 6/20/85 49.00 -0.00 1 -0 -0.00 7/21/85 6/ 7/85 GW 7205 8 6/20/85 901.00 -0.00 3 -0 -0.00 7/21/85 6/11/0.00 7/21/85 5/30/85 GW 7098 179 6/ 6/85 3953.00 -0.00 10 -0 -0.00 7/21/85 5/29/85 GW 7157 348 318705/3200 6/13/85 6573.00 -0.00 13 -0 -0.00 7/21/85 5/20/85 GW 7080 172 SHOW 6/ 1/85 710.4210 5 6/19/85 6616.75 -0.00 13 -0 -0.00 7/21/85 5/31/85 GW 7211 382 1038 6/19/85 3885.00 -0.00 8 -0 -0.00 7/21/85 5/13/85 GW 7213 242 6/20/85 8701.00 -0.00 10 -0 -0.00 7/21/85 6/10 -0.00 7/21/85 6/17/85 LR 1695 139 LR 6/29/85 -345.00 -0.00 1 -0 -0.00 7/22/85 LR 3030 255 6/ 4/85 29.70 -0.00 1 -0 -0.00 7/22/85 5/31/85 LR 3031 286 6/ 4/85 540.00 -0.00 1 - 2107 6/24/85 2223.00 -0.00 9 -0 -0.00 7/21/85 6/13/85 GW 7232 172 6/24/85 445.00 -0.00 2 -0 -0.00 7/21/85 6/11/85 GW 7207 236 4236 6/19/85 4363.00 -0.00 10 -0 -0.00 7/21/85 6/10/85 GW121.50 -0.00 12 -0 -0.00 7/21/85 5/30/85 GW 7116 347 6/10/85 2559.00 -0.00 11 -0 -0.00 7/21/85 5/20/85 GW 7235 175 6/24/85 199.00 -0.00 1 -0 -0.00 7/21/85 6/24/85 GW 7222 318 6/285 GW 7204 9 6/20/85 1700.00 -0.00 6 -0 -0.00 7/21/85 6/17/85 GW 7072 8 6/ 3/85 -0.00 -0.00 1 -0 -0.00 7/21/85 5/12/85 GW 7075 249 6/ 4/85 750.50 -0.00 5 -0 -0.00 7/21/850 -0.00 12 -0 -0.00 7/21/85 5/17/85 GW 7079 5 612-655 6/ 4/85 8429.83 -0.00 15 -0 -0.00 7/21/85 5/23/85 GW 7077 180 6/ 4/85 1649.00 -0.00 9 -0 -0.00 7/21/85 5/20/85 GW 7076 311 6/83 GW 7214 324 6/20/85 560.00 -0.00 6 -0 -0.00 7/21/85 5/22/85 GW 7175 393 6/14/85 7593.00 -0.00 26 -0 -0.00 7/21/85 5/14/85 GW 7215 5 6748 6/20/85 5134.75 -0.00 8 -0 -0.00 7/0 -0.00 7/22/85 5/24/85 LR 3032 271 0137 6/ 4/85 855.00 -0.00 3 -0 -0.00 7/22/85 6/ 3/85 LR 3033 284 554 6/ 5/85 256.50 -0.00 3 -0 -0.00 7/22/85 6/ 5/85 LR 3034 118 6/ 5/85 459.00 "   DEB110602CD7014FE06C837C9C6 :100C8A003E00329621324422CDE50C21B662224042 :100C9A0022CD3C0D215C0011A722CD0000CD000021 :100CAA00DACC0C3A6600E680C2A70C2A4022115C14 :100CBA0000EB060CCD6A19EB22402221442234C3F0 :100CCA00A70C21452235C29B0C21B6622240223A4A :17EE680C82B11F8FF19115DED :100D9A0000060BCD6A192165007EE67F77237EE681 :100DAA007F77115C000E1ECD0500215C00116C00DE :100DBA000609CD6A19217500364223364123364B7E :100DCA00116C000E13CD0500216C003600115C0079 :100DDA000E17CD0500C93A0601B7C80E11115C00FD :100DECD31190D0A0078CDB825 :100EAA0018CD311948205243442C204E4F54205318 :100EBA004F480D0A000601CD7014D2BF0E3E15CD63 :100ECA00D5143A73213C327321FE0ADAF60D3A52EE :100EDA0021B7CAE60E3A4F21B7CAEC0ECDCF18CACF :100EEA00F20DCD6513CD45190D0A2B2B09554E412F :100EFA0 178.20 -0.00 1 -0 -0.00 7/22/85 5/13/85 LR 3038 343 6/10/85 216.00 -0.00 3 -0 -0.00 7/22/85 6/ 4/85 LR 3039 357 6/10/85 2619.00 -0.00 3 -0 -0.00 7/22/85 5/24/85 LR 3040 304 13 6/10/85 LR 3046 232 07039 6/13/85 1323.00 -0.00 3 -0 -0.00 7/22/85 6/ 3/85 LR 3047 305 61185 6/14/85 180.00 -0.00 2 -0 -0.00 7/22/85 6/11/85 LR 3048 394 6/12/85 5.00 -0.00 1 -0  6/19/85 171.00 -0.00 3 -0 -0.00 7/22/85 6/10/85 LR 3055 236 4236 6/19/85 216.00 -0.00 3 -0 -0.00 7/22/85 6/10/85 LR 3056 239 6/20/85 132.00 -0.00 3 -0 -0.00 7/22/85 6/11/85 LR 30500CDA004422FE41D83E40324422C9E5214522360B :100CEA00002199214E0600219A21093620219921B5 :100CFA004604042305CA380D7EFE20C2FD0C2305D6 :100D0A00CA380D7EFE20CA080D224222042B230572 :100D1A00CA380D7EFE20C2180D3A45223C324522C1 :100D2A002305CA380D7EFE20CA2A0DC3EA00CD05003CC8C3B40DAF327321AF327421B4 :100DFA003A4F21B7CA2A0ECD31190D4157414954EC :100E0A00494E4720232000E52A712123CD8718CD9A :100E1A003119202800CDAB18CD31194829007DE1C0 :100E2A003A9721B7CA770EAF3297213A6221B7C2F1 :100E3A00770E0603CD7014D27F0ECD311900424C4520544F20524543454956452042CD :100F0A004C4F434B09202D2D202041424F5254492A :100F1A004E47202B2B0D0A243A5221B7CA300F3ADA :100F2A004F21B7CABF0ECD31190D0A2B2B202054E1 :100F3A00494D454F5554202B2B20003A7321CDB8EB :100F4A0018CD4F18C3BF0EF53A7421A7CA5C0F61 6/ 4/85 60.00 -0.00 2 -0 -0.00 7/22/85 6/ 3/85 LR 3041 377 6/11/85 1681.50 -0.00 3 -0 -0.00 7/22/85 5/31/85 LR 3042 1 2493/2494 6/12/85 3348.00 -0.00 3 -0 -0.00 7/22/85 5/29/85 L -0.00 7/22/85 6/12/85 LR 3049 271 6/14/85 594.00 -0.00 2 -0 -0.00 7/22/85 6/13/85 LR 3050 149 14362 6/17/85 6075.00 -0.00 3 -0 -0.00 7/22/85 6/14/85 LR 3051 395 6/17/85 89.10 -07 139 5624 6/21/85 1587.00 -0.00 3 -0 -0.00 7/22/85 6/ 6/85 LR 3058 121 6/21/85 462.00 -0.00 3 -0 -0.00 7/22/85 6/14/85 LR 3059 343 6/21/85 144.00 -0.00 3 -0 -0.00 7/22/85 6/17/8180D3620A7 :100D3A00E1C92A4222060011A9227EFE20CA510DCB :100D4A0012231304C3440D237EFE20CA510D2242EE :100D5A002221A82270C90E0CCD0500B7C80E1A119F :100D6A008000CD05000E11115C00CD0500FEFFC804 :100D7A008787878787218000856F110900197EE69A :100D8A0080C2940D23D0A2B11 :100E4A002B537769746368696E6720746F2043480F :100E5A0045434B53554D204D4F44452B2B0D0A000E :100E6A003E433262213E15CDD514C3F20D0607CD9D :100E7A007014DA220FCD510FDA5E0FFE01CADB0FB2 :100E8A00B7CA2A0EFE0437C8473A5221B7CAA10E7A :100E9A003A4F21B7CABF0 -0.00 1 -0 -0.00 7/22/85 5/31/85 LR 3035 247 6/ 7/85 1140.00 -0.00 2 -0 -0.00 7/22/85 5/29/85 LR 3036 3 3552 6/ 7/85 2109.00 -0.00 3 -0 -0.00 7/22/85 6/ 3/85 LR 3037 302 6/10/85R 3043 8 6/13/85 462.00 -0.00 2 -0 -0.00 7/22/85 6/10/85 LR 3044 284 562 6/14/85 57.00 -0.00 1 -0 -0.00 7/22/85 6/ 7/85 LR 3045 135 6/14/85 540.00 -0.00 3 -0 -0.00 7/22/85 .00 2 -0 -0.00 7/22/85 6/ 7/85 LR 3052 396 8155 6/13/85 684.00 -0.00 2 -0 -0.00 7/22/85 5/13/85 LR 3053 126 LR2995/2994 6/ 1/85 189.00 -0.00 1 -0 -0.00 7/22/85 5/ 6/85 LR 3054 284 568 5 LR 3060 5 6748A 6/21/85 3780.00 -0.00 3 -0 -0.00 7/22/85 6/12/85 LR 3061 8 6/24/85 858.00 -0.00 3 -0 -0.00 7/22/85 6/19/85 LR 3062 170 1815 6/26/85 178.20 -0.00 3 -0 -0.00 "    7/22/85 6/21/85 LR 3063 278 6/26/85 36.00 -0.00 1 -0 -0.00 7/22/85 6/20/85 LR 3064 304 1300/1299 6/26/85 150.00 -0.00 3 -0 -0.00 7/22/85 6/24/85 LR 3065 288 1539 6/26/85 2295.00 -0/85 400.00 -0.00 5 -0 -0.00 7/22/85 6/17/85 GW 7201 385 6/15/85 69.00 -0.00 1 -0 -0.00 7/22/85 6/ 3/85 GW 7202 110 6/19/85 9106.00 -0.00 10 -0 -0.00 7/22/85 6/10/85 GW 7203 291 2/85 6/28/85 FH 3542 164 5/24 LTR 6/20/85 -7.50 -0.00 1 -0 -0.00 7/23/85 5/24/85 FH 3604 7 3413 6/28/85 -15.00 -0.00 1 -0 -0.00 7/23/85 6/28/85 FH 3503 189 FH 7463 6/10/85 -505.00  6/27/85 148.00 -0.00 1 -0 -0.00 7/23/85 6/20/85 FH 8186 7 6/27/85 74.00 -0.00 1 -0 -0.00 7/23/85 6/20/85 FH 8183 246 6/27/85 159.00 -0.00 1 -0 -0.00 7/23/85 6/18/85 FH 8175  6/13/85 FH 8141 175 6/24/85 159.00 -0.00 1 -0 -0.00 7/23/85 6/19/85 FH 8139 108 6074 6/21/85 1846.00 -0.00 4 -0 -0.00 7/23/85 6/ 7/85 FH 8138 108 6073 6/21/85 997.00 -0.00 3 -0 - 833.00 -0.00 4 -0 -0.00 7/23/85 5/22/85 FH 8102 382 1038 6/19/85 1050.00 -0.00 4 -0 -0.00 7/23/85 5/13/85 FH 8100 5 6/19/85 625.00 -0.00 2 -0 -0.00 7/23/85 5/31/85 FH 8095 236 .00 3 -0 -0.00 7/22/85 6/17/85 LR 3066 305 6/25/85 180.00 -0.00 3 -0 -0.00 7/22/85 6/25/85 LR 3067 138 6/26/85 1140.00 -0.00 3 -0 -0.00 7/22/85 6/18/85 LR 3068 368 6/27/85 132.0 7369 6/19/85 9630.00 -0.00 9 -0 -0.00 7/22/85 6/ 4/85 GW 7170 308 6/17/85 0.00 -0.00 1 -0 -0.00 7/22/85 6/17/85 GW 7158 239 6/13/85 523.00 -0.00 4 -0 -0.00 7/22/85 5/20/85 GW 7-0.00 3 -0 -0.00 7/23/85 6/10/85 FH 7924 219 6/ 4/85 0.00 -0.00 2 -0 -0.00 7/23/85 4/25/85 FH 8017 401 6/12/85 1050.00 -0.00 8 -0 -0.00 7/23/85 5/20/85 FH 7930 5 612-660 6/ 4/85 185 6/27/85 233.00 -0.00 2 -0 -0.00 7/23/85 6/17/85 FH 8168 146 6/24/85 0.00 -0.00 1 -0 -0.00 7/23/85 6/20/85 FH 8164 127 2568 6/26/85 74.00 -0.00 1 -0 -0.00 7/23/85 6/12/84 FH0.00 7/23/85 6/13/85 FH 8135 5 6/21/85 1315.00 -0.00 3 -0 -0.00 7/23/85 6/10/85 FH 8126 257 2806 6/21/85 69.00 -0.00 1 -0 -0.00 7/23/85 6/11/85 FH 8114 7 26313 6/20/85 541.00 4236 6/19/85 643.00 -0.00 3 -0 -0.00 7/23/85 6/10/85 FH 8092 8 6/20/85 148.00 -0.00 1 -0 -0.00 7/23/85 6/12/85 FH 8082 10 13261 6/19/85 178.00 -0.00 2 -0 -0.00 7/23/85 6/14/85 FH 0 -0.00 2 -0 -0.00 7/22/85 6/27/85 LR 3069 1 2575 6/28/85 6156.00 -0.00 3 -0 -0.00 7/22/85 6/13/85 GW 7248 5 6/25/85 9677.65 -0.00 12 -0 -0.00 7/22/85 6/13/85 GW 7238 155 6/25144 401 6/12/85 336.00 -0.00 4 -0 -0.00 7/22/85 5/23/85 GW 4870 236 GW6952/6048 6/13/85 -479.64 -0.00 1 -0 -0.00 7/22/85 2/13/85 GW 3605 7 3416 6/28/85 -45.00 -0.00 1 -0 -0.00 7/2 869.00 -0.00 3 -0 -0.00 7/23/85 5/23/85 FH 8200 138 6/26/85 0.00 -0.00 1 -0 -0.00 7/23/85 5/30/85 FH 8191 7 6/27/85 233.00 -0.00 2 -0 -0.00 7/23/85 6/20/85 FH 8189 7  8155 170 6/26/85 159.00 -0.00 1 -0 -0.00 7/23/85 6/10/85 FH 8150 314 6/24/85 149.00 -0.00 1 -0 -0.00 7/23/85 6/11/85 FH 8143 4 2433 6/24/85 2237.00 -0.00 6 -0 -0.00 7/23/85 -0.00 3 -0 -0.00 7/23/85 6/ 7/85 FH 8112 7 6/20/85 159.00 -0.00 1 -0 -0.00 7/23/85 6/ 7/85 FH 8110 7 16244 6/20/85 159.00 -0.00 1 -0 -0.00 7/23/85 6/ 7/85 FH 8106 324 6/20/85  8071 4 2420 6/17/85 625.00 -0.00 2 -0 -0.00 7/23/85 6/11/85 FH 8068 4 2428 6/18/85 774.00 -0.00 2 -0 -0.00 7/23/85 6/11/85 FH 8063 220 6/17/85 308.00 -0.00 2 -0 -0.00 7/23/8#   5 5/14/85 FH 8055 393 6/14/85 2972.00 -0.00 7 -0 -0.00 7/23/85 5/14/85 FH 8039 7 15950 6/13/85 148.00 -0.00 1 -0 -0.00 7/23/85 5/22/85 FH 8038 7 25292/26004 6/13/85 298.00 -0.00 /10/85 74.00 -0.00 1 -0 -0.00 7/23/85 5/30/85 FH 7966 7 36115 6/ 6/85 307.00 -0.00 2 -0 -0.00 7/23/85 5/30/85 FH 7962 113 6/ 6/85 308.00 -0.00 2 -0 -0.00 7/23/85 6/ 5/85 FH 7960 -0.00 7/23/85 5/17/85 WL 3498 306 6/12/85 1950.00 -0.00 3 -0 -0.00 7/26/85 5/24/85 WL 3524 396 8155 6/13/85 596.00 -0.00 2 -0 -0.00 7/25/85 5/13/85 WL 3532 127 6/18/85 3883.00 -0.017 6/24/85 526.00 -0.00 3 -0 -0.00 7/30/85 6/12/85 WL 3582 181 2912/2897 6/25/85 288.00 -0.00 2 -0 -0.00 7/30/85 6/17/85 WL 3575 168 6/24/85 2980.00 -0.00 1 -0 -0.00 7/24/85 6/ 7/85  -0.00 7/30/85 6/10/85 WL 3584 5 6/25/85 3063.75 -0.00 4 -0 -0.00 7/24/85 6/13/85 WL 3583 254 13213 6/25/85 2580.00 -0.00 2 -0 -0.00 7/24/85 6/13/85 WL 535 2 17 6/19/85 -94.35 WL 952 265 6/28/85 -723.62 -0.00 3 -0 -0.00 7/28/85 6/28/85 WL 687 265 6/21/85 -357.39 -0.00 2 -0 -0.00 7/30/85 6/21/85 WL 524 294 7384 6/11/85 -119.00 -0.00 1 -0 -0.00 7/30/85 2 -0 -0.00 7/23/85 6/ 6/85 FH 8020 164 3144 6/22/85 1131.00 -0.00 3 -0 -0.00 7/23/85 6/ 4/85 FH 8015 389 6/12/85 981.00 -0.00 6 -0 -0.00 7/23/85 5/14/85 FH 8005 4 6/11/85 572.0 7 MISC. 6/ 6/85 922.00 -0.00 5 -0 -0.00 7/23/85 5/30/85 FH 7958 7 16111 6/ 6/85 159.00 -0.00 1 -0 -0.00 7/23/85 5/30/85 FH 7956 314 1754 6/ 6/85 754.00 -0.00 3 -0 -0.00 7/23/85 0 5 -0 -0.00 7/30/85 6/ 6/85 WL 575 3 6/20/85 -76.50 -0.00 1 -0 -0.00 7/30/85 6/20/85 WL 3543 291 7369 6/19/85 4070.00 -0.00 5 -0 -0.00 7/30/85 6/ 4/85 FH 3602 7 3414 6/28/85  WL 3574 4 2433 6/25/85 10590.00 -0.00 9 -0 -0.00 7/30/85 6/13/85 WL 3535 213 1708 6/17/85 1639.00 -0.00 4 -0 -0.00 7/25/85 5/20/85 WL 3437 127 2330 6/ 4/85 0.00 -0.00 1 -0 -0.00  -0.00 1 -0 -0.00 7/30/85 6/19/85 WL 577 6 0205 6/20/85 -85.50 -0.00 1 -0 -0.00 7/30/85 6/20/85 WL 599 5 6726 6/27/85 -28.50 -0.00 1 -0 -0.00 7/30/85 6/27/85 WL 987 316 6/21/ 6/11/85 WL 532 2 285 6/19/85 -58.75 -0.00 1 -0 -0.00 7/30/85 6/19/85 WL 543 164 5/24/LTR 6/20/85 -230.00 -0.00 1 -0 -0.00 7/30/85 6/20/85 GW 7278 277 6/28/85 3861.00 -0.00 2 -0 -0.00 3 -0 -0.00 7/23/85 6/ 7/85 FH 7992 337 425 6/11/85 1575.00 -0.00 4 -0 -0.00 7/23/85 5/13/85 FH 7986 302 6/10/85 159.00 -0.00 1 -0 -0.00 7/23/85 5/13/85 FH 7983 172 8041 6 5/20/85 FH 7944 246 5870 6/ 5/85 159.00 -0.00 1 -0 -0.00 7/23/85 5/29/85 FH 7812 146 6/12/85 1984.00 -0.00 6 -0 -0.00 7/23/85 5/ 6/85 FH 7932 172 SHOW 6/ 1/85 1011.60 -0.00 12 -0  -22.50 -0.00 1 -0 -0.00 7/28/85 6/28/85 GW 7169 7 86165 6/13/85 70.00 -0.00 1 -0 -0.00 7/29/85 6/10/85 FH 7921 220 1123 6/ 3/85 308.00 -0.00 2 -0 -0.00 7/29/85 5/22/85 WL 3577 3 7/30/85 5/21/85 WL 3585 367 6/24/85 1917.00 -0.00 5 -0 -0.00 7/30/85 6/19/85 GW 7281 220 6/21/85 219.00 -0.00 1 -0 -0.00 7/29/85 6/19/85 WL 3510 369 6/14/85 149.00 -0.00 1 -0 85 -150.00 -0.00 1 -0 -0.00 7/30/85 6/21/85 WL 688 265 3133/3105 6/20/85 -176.64 -0.00 2 -0 -0.00 7/30/85 6/20/85 WL 510 265 650-096147D 6/10/85 -7.50 -0.00 1 -0 -0.00 7/30/85 6/10/85 0 -0.00 7/30/85 6/19/85 GW 997 1 2117 6/ 3/85 -32.00 -0.00 1 -0 -0.00 7/30/85 6/ 3/85 WL 3581 170 6/26/85 298.00 -0.00 2 -0 -0.00 7/24/85 6/26/85 WL 3580 266 6/25/85 1866.00 #   -0.00 3 -0 -0.00 7/24/85 5/20/85 WL 3579 128 6/24/85 2640.00 -0.00 4 -0 -0.00 7/24/85 5/13/85 WL 3578 314 6/24/85 2930.00 -0.00 3 -0 -0.00 7/24/85 6/11/85 WL 3576 4 2433 6/25/85 21E608CACE0FCD31DD :100FBA00192B2B504152495459204552522B2B2060 :100FCA0000CDD10FC3BF0E3A7321CDB818CD4F183B :100FDA00C90601CD7014DA220FCD510FDA5E0F5710 :100FEA000601CD7014DA220FCD510FDA5E0F2FBA37 :100FFA00CA2D103A5221B7CA0B103A4F21B7CABFAD :10100A000EC103A4F21B7CADA :1010CA00BF0ECD31190D0A2B2B2020434B53554D02 :1010DA00202B2B2000C3450FCDE810C3F20D3E068E :1010EA00CDD514C93A4F21B7CA1911CD31190D53AB :1010FA00454E4420232000E52A7121CD8718CD31A1 :10110A001920202800CDAB18CD3119482900E13E1D :10111A0001CDD0D0A54494D14 :1011DA00454F5554204F4E2041434B0D0A00C389B9 :1011EA0011CD6918C8CD7418FE18C03184220601C1 :1011FA00CD7014D2F8113E18CDD5140601CD701455 :10120A00D205123E20CDD514CD31190D0A524F55B3 :10121A0054494E452043414E43454C4C45440D0AE2 :10122A0007003E42 6/ 5/85 WL 3566 318 6/21/85 1806.00 -0.00 2 -0 -0.00 7/24/85 6/ 7/85 WL 3565 219 6/21/85 258.00 -0.00 1 -0 -0.00 7/24/85 6/12/85 WL 3563 6 8445 6/21/85 2724.00 -0.00 2 -0 -0. -0.00 1 -0 -0.00 7/24/85 6/ 7/85 WL 3555 7 26298 6/20/85 337.00 -0.00 2 -0 -0.00 7/24/85 6/ 7/85 WL 3554 7 86411 6/20/85 109.00 -0.00 1 -0 -0.00 7/24/85 6/ 7/85 WL 3553 7 162471032.00 -0.00 2 -0 -0.00 7/24/85 6/24/85 BB 1431 172 8064/8041 6/10/85 30.00 -0.00 1 -0 -0.00 7/30/85 5/22/85 WL 3573 169 6/24/85 3476.00 -0.00 4 -0 -0.00 7/24/85 6/ 4/85 WL 3572 1CD31190D0A2B2B202042414420534585 :10101A0043544F52202320494E204844520D0A007F :10102A00C3BF0E7A3270213E01327C210E00CDB947 :10103A001D2180000601CD7014DA220FCD510FDA7E :10104A005E0F772CC23E103A6221B7CA801051AFA8 :10105A00327C210601CD7014DA220FCD510FDA5EE5143A7121CDD5143A71212FCDD5EF :10112A0014C93E01327C210E00CDB91D2180007EFA :10113A00CDD5142CC23911AF327C21C979CDD51441 :10114A00C9CDEA1D7ACDD5147BCDD514AFC9060712 :10115A00CD6A14DACB11FE06C8473A4F21B7CA89BD :10116A0011CD31190D0A0078CDB818CD31194820A2 08 6074 6/21/85 812.00 -0.00 4 -0 -0.00 7/24/85 6/ 7/85 WL 3571 172 6/24/85 129.00 -0.00 1 -0 -0.00 7/24/85 6/11/85 WL 3570 108 6073 6/21/85 1272.00 -0.00 4 -0 -0.00 7/24/85 6/ 7/85 00 7/24/85 6/ 6/85 WL 3562 208 6/21/85 0.00 -0.00 2 -0 -0.00 7/24/85 6/19/85 WL 3561 238 6/21/85 0.00 -0.00 1 -0 -0.00 7/24/85 6/ 4/85 WL 3560 307 6/21/85 2819.00 -0.00 4  6/20/85 466.00 -0.00 4 -0 -0.00 7/24/85 6/ 7/85 WL 3541 284 568 6/19/85 894.00 -0.00 1 -0 -0.00 7/30/85 6/10/85 WL 3551 324 6/20/85 526.00 -0.00 3 -0 -0.00 7/24/85 5/22/85 WL 355F12A :100F5A0037C9F1C93A5221B7CA6C0F3A4F21B7CAF9 :100F6A00BF0ECD31190D0A003A7421E620CA910F3D :100F7A00CD31192B2B4652414D494E4720455252ED :100F8A002B2B2000CDD10F3A7421E610CAB00FCD19 :100F9A0031192B2B4F56455252554E204552522B42 :100FAA002B2000CDD10F3A74F :10106A000FBAC2BE103A7021473A7121B8CAE210CB :10107A003CB8C2F511C91E020601CD7014DA220F5E :10108A00CD510FDA5E0F1DC28210CDFB1DB7CA6F9C :10109A00103A5221B7CAA9103A4F21B7CABF0ECD8A :1010AA0031190D0A2B2B435243206572722B2B20C8 :1010BA0000C3450F3A5221B7CAC:10117A005243442C204E4F542041434B0D0A003A0F :10118A0073213C327321FE0AD83A5221B7CAA111FF :10119A003A4F21B7CAA611CDCF1837C8CD45190D78 :1011AA000A43414E27542053454E44205345435445 :1011BA004F52202D2D2041424F5254494E470D0A7D :1011CA00243A4F21B7CA8911CD3119WL 3569 5 6/21/85 9729.90 -0.00 8 -0 -0.00 7/24/85 6/10/85 WL 3568 122 6/21/85 1489.00 -0.00 2 -0 -0.00 7/24/85 5/30/85 WL 3567 283 3423 6/20/85 1043.00 -0.00 4 -0 -0.00 7/24/85-0 -0.00 7/24/85 5/13/85 WL 3559 139 6/21/85 2283.00 -0.00 7 -0 -0.00 7/24/85 5/28/85 WL 3558 363 6/20/85 228.00 -0.00 2 -0 -0.00 7/24/85 6/20/85 WL 3556 7 66406 6/20/85 119.00 0 242 6/19/85 2382.00 -0.00 2 -0 -0.00 7/24/85 6/10/85 WL 3549 398 6/19/85 1539.00 -0.00 6 -0 -0.00 7/24/85 5/28/85 WL 3548 382 1038 6/19/85 3054.00 -0.00 6 -0 -0.00 7/24/85 5/13/8$   5 WL 3547 5 6/19/85 546.25 -0.00 7 -0 -0.00 7/25/85 5/31/85 WL 3545 8 6/20/85 625.00 -0.00 3 -0 -0.00 7/24/85 6/11/85 WL 3544 9 6/20/85 894.00 -0.00 2 -0 -0.00 7/24/85 00 4 -0 -0.00 7/25/85 5/29/85 WL 3538 400 6/17/85 3465.00 -0.00 4 -0 -0.00 7/25/85 5/29/85 WL 3537 359 6/17/85 129.00 -0.00 1 -0 -0.00 7/25/85 6/ 6/85 WL 3536 200 6/18/85 139.00 6/17/85 3098.00 -0.00 12 -0 -0.00 7/25/85 5/13/85 WL 3527 138 6/17/85 1122.00 -0.00 3 -0 -0.00 7/25/85 6/ 3/85 WL 3526 103 1666 6/17/85 2580.00 -0.00 2 -0 -0.00 7/25/85 5/30/85 WL 35 7/25/85 5/31/85 WL 3518 391 20739 6/14/85 2682.00 -0.00 1 -0 -0.00 7/25/85 5/12/85 WL 3517 126 282 6/13/85 6754.00 -0.00 5 -0 -0.00 7/25/85 6/ 4/85 WL 3516 7 45859 6/13/85 109.00 - 7 15950/15731 6/13/85 228.00 -0.00 3 -0 -0.00 7/25/85 5/22/85 WL 3508 7 MISC. 6/13/85 461.00 -0.00 5 -0 -0.00 7/25/85 6/ 6/85 WL 3507 305 6/13/85 119.00 -0.00 1 -0 -0.00 7/25/85  -0.00 7/25/85 6/ 6/85 WL 3500 1 2493/2494 6/12/85 6992.00 -0.00 6 -0 -0.00 7/25/85 5/29/85 WL 3499 390 6/12/85 2969.00 -0.00 3 -0 -0.00 7/25/85 5/13/85 WL 3496 164 3144 6/12/85 3771 6/ 7/85 WL 3542 3 6/19/85 0.00 -0.00 1 -0 -0.00 7/24/85 6/19/85 WL 3552 5 6748 6/20/85 2941.20 -0.00 4 -0 -0.00 7/30/85 6/10/85 WL 3564 257 2806 6/21/85 149.00 -0.00 1 -0  -0.00 1 -0 -0.00 7/25/85 6/10/85 WL 3534 237 6/17/85 2891.00 -0.00 3 -0 -0.00 7/25/85 5/30/85 WL 3533 4 6/18/85 103.00 -0.00 1 -0 -0.00 7/25/85 6/18/85 WL 3531 247 6/17/85 25 220 1138 6/17/85 1618.00 -0.00 7 -0 -0.00 7/25/85 5/31/85 WL 3523 149 13972 6/17/85 1246.00 -0.00 2 -0 -0.00 7/25/85 6/ 3/85 WL 3522 393 6/14/85 2502.00 -0.00 6 -0 -0.00 7/25/85 0.00 1 -0 -0.00 7/25/85 5/22/85 WL 3515 232 07039 6/13/85 814.00 -0.00 2 -0 -0.00 7/25/85 6/ 3/85 WL 3514 278 6/14/85 139.00 -0.00 1 -0 -0.00 7/25/85 6/ 6/85 WL 3513 284 562 6/14/85 6/ 3/85 WL 3506 296 6/13/85 1062.00 -0.00 5 -0 -0.00 7/25/85 6/ 7/85 WL 3505 197 6/13/85 1881.00 -0.00 7 -0 -0.00 7/25/85 6/ 3/85 WL 3504 127 2366 6/13/85 0.00 -0.00 1 -0 -0.00.00 -0.00 9 -0 -0.00 7/26/85 6/ 4/85 WL 3495 234 6/12/85 80.00 -0.00 3 -0 -0.00 7/26/85 5/30/85 WL 3494 240 6/12/85 0.00 -0.00 1 -0 -0.00 7/26/85 6/ 3/85 WL 3493 5 6/12/8-0.00 7/25/85 6/11/85 WL 3557 7 56427 6/20/85 119.00 -0.00 1 -0 -0.00 7/25/85 6/ 7/85 WL 3540 131 6/19/85 4000.00 -0.00 8 -0 -0.00 7/25/85 6/ 3/85 WL 3539 399 6/18/85 1797.00 -0. 1579.00 -0.00 4 -0 -0.00 7/25/85 6/ 4/85 WL 3530 4 6/17/85 5012.00 -0.00 8 -0 -0.00 7/25/85 6/11/85 WL 3529 4 2428 6/18/85 3559.00 -0.00 4 -0 -0.00 7/25/85 6/11/85 WL 3528 367 5/14/85 WL 3521 127 2470 6/14/85 2680.00 -0.00 3 -0 -0.00 7/25/85 5/30/85 WL 3520 392 6/14/85 2442.00 -0.00 4 -0 -0.00 7/25/85 5/13/85 WL 3519 372 6/14/85 50.00 -0.00 1 -0 -0.00  556.00 -0.00 1 -0 -0.00 7/25/85 6/ 7/85 WL 3512 173 2698 6/14/85 2533.00 -0.00 2 -0 -0.00 7/25/85 6/ 4/85 WL 3511 339 2153 6/14/85 149.00 -0.00 1 -0 -0.00 7/25/85 6/ 4/85 WL 3509  7/25/85 5/20/85 WL 3503 8 6/13/85 1012.00 -0.00 3 -0 -0.00 7/25/85 6/ 4/85 WL 3502 175 6/13/85 25.00 -0.00 1 -0 -0.00 7/25/85 6/12/85 WL 3501 181 6/12/85 298.00 -0.00 2 -05 0.00 -0.00 1 -0 -0.00 7/26/85 5/13/85 WL 3492 112 6/12/85 0.00 -0.00 2 -0 -0.00 7/26/85 6/ 4/85 WL 3491 208 6/12/85 0.00 -0.00 1 -0 -0.00 7/26/85 6/10/85 WL 3490 401 $    6/12/85 1092.00 -0.00 4 -0 -0.00 7/26/85 5/20/85 WL 3489 389 6/12/85 535.00 -0.00 4 -0 -0.00 7/26/85 5/14/85 WL 3488 2401 6/12/85 447.00 -0.00 2 -0 -0.00 7/26/85 5/28/85 WL 3487 6/85 5/13/85 WL 3481 301 6/11/85 1341.00 -0.00 2 -0 -0.00 7/26/85 5/23/85 WL 3479 346 6/11/85 2229.00 -0.00 7 -0 -0.00 7/26/85 5/29/85 WL 3478 123 6/11/85 516.00 -0.00 4 -0 -0.0 -0.00 9 -0 -0.00 7/26/85 5/20/85 WL 3471 172 8041 6/10/85 6601.00 -0.00 13 -0 -0.00 7/26/85 5/30/85 WL 3470 247 6/ 7/85 129.00 -0.00 1 -0 -0.00 7/27/85 5/29/85 WL 3469 244 4733 5 5/13/85 WL 3462 7 36118 6/ 6/85 119.00 -0.00 1 -0 -0.00 7/27/85 5/30/85 WL 3461 7 6142 6/ 6/85 30.00 -0.00 1 -0 -0.00 7/27/85 5/20/85 WL 3460 7 B6226 6/ 6/85 139.00 -0.00 4 6/ 6/85 149.00 -0.00 1 -0 -0.00 7/27/85 5/28/85 WL 3453 6 8410 6/ 6/85 454.00 -0.00 1 -0 -0.00 7/27/85 5/24/85 WL 3451 163 6/ 6/85 0.00 -0.00 1 -0 -0.00 7/27/85 6/ 3/85 WL 3 7/27/85 5/15/85 WL 3444 177 6/ 5/85 327.00 -0.00 2 -0 -0.00 7/27/85 5/14/85 WL 3443 359 6/ 4/85 40.00 -0.00 1 -0 -0.00 7/27/85 5/23/85 WL 3452 264 6/ 6/85 0.00 -0.00 1 -0  240 6/12/85 833.00 -0.00 5 -0 -0.00 7/26/85 5/29/85 WL 3486 312 6/12/85 0.00 -0.00 1 -0 -0.00 7/26/85 6/10/85 WL 3485 332 1356 6/11/85 89.00 -0.00 1 -0 -0.00 7/26/85 6/ 3/85 W00 7/26/85 5/20/85 WL 3477 148 002461 6/11/85 3130.00 -0.00 3 -0 -0.00 7/26/85 5/28/85 WL 3476 261 6/11/85 495.00 -0.00 2 -0 -0.00 7/26/85 5/15/85 WL 3475 337 425 6/11/85 2064.00 -06/ 7/85 12900.00 -0.00 2 -0 -0.00 7/27/85 5/12/85 WL 3468 339 5096 6/ 7/85 139.00 -0.00 1 -0 -0.00 7/27/85 5/29/85 WL 3467 369 6/ 7/85 685.00 -0.00 3 -0 -0.00 7/27/85 6/ 3/85 WL 3466 1 -0 -0.00 7/27/85 5/30/85 WL 3459 113 6/ 6/85 79.00 -0.00 1 -0 -0.00 7/27/85 6/ 5/85 WL 3458 7 26152 6/ 6/85 238.00 -0.00 1 -0 -0.00 7/27/85 5/30/85 WL 3457 7 16106 6/ 6/85 2450 180 6/ 4/85 1192.00 -0.00 2 -0 -0.00 7/27/85 6/ 4/85 WL 3449 270 6/ 5/85 119.00 -0.00 2 -0 -0.00 7/27/85 5/17/85 WL 3448 317 6/ 5/85 447.00 -0.00 2 -0 -0.00 7/27/85 5/30/85  -0.00 7/27/85 5/ 8/85 WL 2819 188 6/21/85 0.00 -0.00 1 -0 -0.00 7/27/85 6/18/85 WL 2596 127 2568 6/26/85 1777.00 -0.00 2 -0 -0.00 7/27/85 6/12/85 WL 2008 323 1242 6/26/85 2838.00 L 3484 152 6/11/85 1517.00 -0.00 5 -0 -0.00 7/26/85 5/20/85 WL 3483 4 2411/2398 6/11/85 3416.00 -0.00 10 -0 -0.00 7/26/85 6/ 7/85 WL 3482 388 6/11/85 1161.00 -0.00 6 -0 -0.00 7/2.00 4 -0 -0.00 7/26/85 5/13/85 WL 3474 397 6/10/85 5679.00 -0.00 6 -0 -0.00 7/26/85 5/24/85 WL 3473 302 6/10/85 4059.00 -0.00 6 -0 -0.00 7/26/85 5/13/85 WL 3472 347 6/10/85 2680.0 149 6/ 7/85 1068.00 -0.00 2 -0 -0.00 7/27/85 5/24/85 WL 3464 127 2381 6/ 7/85 894.00 -0.00 1 -0 -0.00 7/27/85 5/20/85 WL 3463 3 3539/52/3281 6/ 7/85 7714.00 -0.00 11 -0 -0.00 7/27/818.00 -0.00 2 -0 -0.00 7/27/85 5/30/85 WL 3456 314 1754 6/ 6/85 5928.00 -0.00 9 -0 -0.00 7/27/85 5/20/85 WL 3455 257 6/ 6/85 0.00 -0.00 2 -0 -0.00 7/27/85 6/ 5/85 WL 3454 339 509 WL 3447 246 5870 6/ 5/85 943.00 -0.00 3 -0 -0.00 7/27/85 5/29/85 WL 3446 284 544 6/ 5/85 1162.00 -0.00 2 -0 -0.00 7/27/85 5/30/85 WL 3445 262 4744 6/ 5/85 6741.00 -0.00 8 -0 -0.00  -0.00 2 -0 -0.00 7/27/85 6/ 4/85 WL 1903 288 1539 6/26/85 1032.00 -0.00 2 -0 -0.00 7/27/85 5/28/85 WL 2971 328 1354 6/27/85 1290.00 -0.00 2 -0 -0.00 7/27/85 6/17/85 WL 2964 220 6/24/%   85 0.00 -0.00 1 -0 -0.00 7/27/85 6/19/85 WL 2950 260 6/24/85 0.00 -0.00 1 -0 -0.00 7/27/85 6/20/85 WL 2912 274 6/24/85 0.00 -0.00 1 -0 -0.00 7/27/85 6/18/85 WL 3465 264 /85 WL 3433 220 1123 6/ 3/85 268.00 -0.00 2 -0 -0.00 7/27/85 5/22/85 WL 3430 8 6/ 3/85 387.00 -0.00 2 -0 -0.00 7/27/85 5/12/85 WL 3363 368 6/12/85 278.00 -0.00 2 -0 -0.00 7/2452046B8 :1012EA00554C4C0D0A240E23115C00CD05002A7DB5 :1012FA0000227A21210000227D00C9115C000E0F14 :10130A00CD05003CC22413CD451943414E27542034 :10131A004F50454E2046494C45243A5621B7C230D3 :10132A00133A4F21B7C8CD311946494C45204F5081 :10133A00454E2C20534000EC8 :1013FA001ACD0500C383132A7621EB218000CD681C :10140A0019EB2276213A78213C327821FE80C03AC3 :10141A007821B7C84F11B622E5D5C50E1ACD0500F9 :10142A00115C000E15CD0500C1D1E1B7C24D1421E2 :10143A00800019EB0DC22214AF32782121B6222284 :10144A007621C90E18CDD527/85 5/15/85 WL 2988 236 4271 6/28/85 1032.00 -0.00 1 -0 -0.00 7/27/85 6/18/85 WL 2987 354 6/28/85 278.00 -0.00 1 -0 -0.00 7/27/85 5/24/85 WL 2986 352 6/28/85 774.00 -0.00 4 -0 6/27/85 2344.00 -0.00 2 -0 -0.00 7/27/85 6/12/85 WL 2977 7 6/27/85 158.00 -0.00 2 -0 -0.00 7/27/85 6/19/85 WL 2975 348 354802 6/26/85 1290.00 -0.00 2 -0 -0.00 7/27/85 6/18/85 WL 29728151 6/ 7/85 10728.00 -0.00 2 -0 -0.00 7/27/85 5/21/85 WL 3442 242 6/ 4/85 6213.00 -0.00 5 -0 -0.00 7/27/85 5/24/85 WL 3438 180 6/ 4/85 1410.00 -0.00 4 -0 -0.00 7/27/85 5/20/85 WL 3325621C31B17E52A71212322A9 :10123A0071217DE1C93A5621B7CA8B12115C000EA1 :10124A0011CD05003CC8CD311946494C45532045BE :10125A005849535453202D2D20545950452027596D :10126A002720544F2045524153453A200700CD7458 :10127A0018F5CD5C18F1CD7E18FE59C2081ECD4F67 :1095A453A20002A7A21CD8716 :10134A0018CD3119202800CDAB18CD3119482920E4 :10135A00534543544F52530D0A00C9115C000E10F5 :10136A00CD05003CC0CD451943414E275420434C7E :10137A004F53452046494C45243A78213D3278213D :10138A00FA9A132A7621118000CD6819227621C98A :1013914CD45194552524F52A1 :10145A002057524954494E472046494C450D0A24C3 :10146A00CD1501CD1501D53A0501B7CA7B14788788 :10147A004711983ACDEB11CD0901CD3001CD1801B4 :10148A00CD1B01CA9F141DC2811415C2811405C245 :10149A007B14D137C93A0301B7CAAE14CD0901E6A4 :1014AA00 -0.00 7/27/85 5/ 3/85 WL 2985 339 5166 6/28/85 149.00 -0.00 1 -0 -0.00 7/27/85 6/19/85 WL 2983 7 6/27/85 25.00 -0.00 1 -0 -0.00 7/27/85 6/20/85 WL 2982 7 66654/66653 6/27/85 124 124 9046 6/27/85 139.00 -0.00 1 -0 -0.00 7/27/85 6/18/85 WL 2973 311 6/26/85 1240.05 -0.00 4 -0 -0.00 7/27/85 5/12/85 WL 2972 10 6/24/85 2254.00 -0.00 5 -0 -0.00 7/27/85 6/12/8436 249 6/ 4/85 596.00 -0.00 3 -0 -0.00 7/27/85 5/20/85 WL 3435 193 6/ 4/85 1519.00 -0.00 4 -0 -0.00 7/27/85 5/21/85 WL 3434 369 3420 6/ 4/85 119.00 -0.00 1 -0 -0.00 7/27/85 5/28128A0018115C000E13CD0500C9CD31190D0A4E97 :10129A006F2066696C652073706563696669656449 :1012AA000D0A0700C3081E115C000E16CD05003C8E :1012BA00C0CD45194552524F52202D2043414E2749 :1012CA0054204D414B452046494C450D0A4449524C :1012DA004543544F5259204D555354204A003A7521FE0137C80E0011B622C5D50E1ABC :1013AA00CD0500115C000E14CD0500D1C1B7CAD815 :1013BA00133DCAE713CD45192B2B0946494C452045 :1013CA0052454144204552524F52092B2B24218029 :1013DA000019EB0C79FE80CAED13C3A6133E013245 :1013EA0075217932782121B622227621118038327421CD1501D1F5CDC21D814F3A5084 :1014BA0021B7CACD143A5221B7C2D2143A7C21B705 :1014CA00CAD214F1F5CD1A18F1B7C9F53A5121B7B4 :1014DA00CAEB143A5221B7C2F0143A7C21B7CAF0C7 :1014EA0014F1F5CD1A18F1F5CDC21D814FCD0901C0 :1014FA00CD3001CD0F01CD1201C2F714F1CD0C09.00 -0.00 2 -0 -0.00 7/27/85 6/20/85 WL 2981 7 26730 6/27/85 119.00 -0.00 1 -0 -0.00 7/27/85 6/20/85 WL 2979 107 6/27/85 139.00 -0.00 1 -0 -0.00 7/27/85 6/21/85 WL 2978 282 5 WL 3546 236 4236 6/19/86 3414.00 -0.00 8 -0 -0.00 7/27/85 6/10/85 WL 2976 138 6/26/85 537.00 -0.00 4 -0 -0.00 7/27/85 6/10/85 WL 2980 246 6/27/85 625.00 -0.00 4 -0 -0.00 7/27%   /85 6/18/85 WL 3362 146 6/12/85 5290.00 -0.00 8 -0 -0.00 7/27/85 5/ 6/85 WL 3441 172 SHOW 6/ 1/85 996.60 -0.00 14 -0 -0.00 7/27/85 5/15/85 WL 3440 5 612-657 6/ 4/85 4386.15 -0.00 183611 6/21/85 -7.50 -0.00 1 -0 -0.00 7/29/85 6/21/85 BD 507 126 6/10/85 -29.20 -0.00 1 -0 -0.00 7/29/85 6/10/85 BD 508 2 485 6/10/85 -114.47 -0.00 1 -0 -0.00 7/29/85 6/10/85 BD  7/29/85 5/29/85 BD 2498 246 5870 6/ 5/85 220.00 -0.00 2 -0 -0.00 7/29/85 5/29/85 BD 2501 173 2659 6/ 7/85 129.00 -0.00 1 -0 -0.00 7/29/85 BD 2504 217 6/11/85 2850.00 -0.00 4 -0  6/17/85 445.00 -0.00 1 -0 -0.00 7/29/85 5/30/85 BD 2512 232 07039 6/13/85 139.00 -0.00 1 -0 -0.00 7/29/85 6/ 3/85 BD 2511 173 2698 6/14/85 387.00 -0.00 1 -0 -0.00 7/29/85 6/ 4/85 BD0 1 -0 -0.00 7/29/85 6/21/85 BB 609 306 2521 6/28/85 -1497.00 -0.00 2 -0 -0.00 7/29/85 6/28/85 BB 692 7 2373 6/21/85 -80.00 -0.00 1 -0 -0.00 7/29/85 6/21/85 BB 2492 5 612-654 6/  5/23/85 BB 2509 7 16106 6/13/85 199.00 -0.00 1 -0 -0.00 7/29/85 6/11/85 BB 2510 369 6/14/85 398.00 -0.00 1 -0 -0.00 7/29/85 5/30/85 BB 2514 232 6966 6/13/85 199.00 -0.00 1 -0  -0 -0.00 7/27/85 5/23/85 FH 3606 7 3415 6/28/85 -7.50 -0.00 1 -0 -0.00 7/28/85 6/28/85 FH 8190 7 66750 6/27/85 159.00 -0.00 1 -0 -0.00 7/29/85 6/20/85 BD 530 2 385 6/19/85  694 10 2489 6/26/85 -12.00 -0.00 1 -0 -0.00 7/30/85 6/26/85 BD 2460 146 6/12/85 2678.00 -0.00 6 -0 -0.00 7/29/85 5/ 6/85 BD 2461 368 6/12/85 258.00 -0.00 1 -0 -0.00 7/29/85 6/ -0.00 7/29/85 5/12/85 BD 2503 254 12980 6/10/85 1806.00 -0.00 2 -0 -0.00 7/29/85 5/17/85 BD 2508 2 14179 6/12/85 500.52 -0.00 2 -0 -0.00 7/29/85 6/ 6/85 BD 2534 2 14239 6/27/85 516 2573 232 07039 7/ 1/85 556.00 -0.00 2 -0 -0.00 7/29/85 6/ 3/85 BB 583 168 2402 6/21/85 -150.00 -0.00 1 -0 -0.00 7/29/85 6/21/85 BB 546 7 1408 6/ 1/85 -50.00 -0.00 1 -0 -0.00 4/85 796.00 -0.00 1 -0 -0.00 7/29/85 5/23/85 BB 2493 172 SHOW 6/ 1/85 299.40 -0.00 2 -0 -0.00 7/29/85 5/15/85 BB 2500 7 16106/15414 6/ 6/85 2195.00 -0.00 3 -0 -0.00 7/29/85 5/30/85 BB -0.00 7/29/85 4/ 8/85 BB 2517 283 3423 6/20/85 747.00 -0.00 1 -0 -0.00 7/29/85 6/ 5/85 BB 2518 382 1038 6/19/85 998.00 -0.00 1 -0 -0.00 7/29/85 5/13/85 BB 2519 7 16308 6/20/85 499.00 15.56 -0.00 1 -0 -0.00 7/29/85 6/19/85 BD 531 2 285 6/19/85 35.62 -0.00 1 -0 -0.00 7/29/85 6/19/85 BD 537 2 18 6/19/85 -119.53 -0.00 1 -0 -0.00 7/29/85 6/19/85 BD 544 173 015/85 BD 2494 177 6/ 5/85 903.00 -0.00 1 -0 -0.00 7/29/85 5/14/85 BD 2495 126 6/ 5/85 465.00 -0.00 1 -0 -0.00 7/29/85 5/29/85 BD 2497 2 14119 6/ 5/85 1376.43 -0.00 4 -0 -0.00 .00 -0.00 2 -0 -0.00 7/29/85 6/20/85 BD 2523 2 14205 6/20/85 1548.00 -0.00 3 -0 -0.00 7/29/85 6/12/85 BD 2516 254 13101 6/19/85 3870.00 -0.00 3 -0 -0.00 7/29/85 6/ 6/85 BD 2515 138 7/29/85 4/25/85 BB 585 168 2378 6/21/85 -50.00 -0.00 1 -0 -0.00 7/29/85 6/21/85 BB 584 168 2163 6/21/85 -25.00 -0.00 1 -0 -0.00 7/29/85 6/21/85 BB 587 168 2358 6/21/85 -25.00 -0.0 2502 347 6/10/85 498.00 -0.00 1 -0 -0.00 7/29/85 5/20/85 BB 2505 317 6/11/85 498.00 -0.00 1 -0 -0.00 7/29/85 5/20/85 BB 2507 7 34457 6/13/85 499.00 -0.00 1 -0 -0.00 7/29/85  -0.00 1 -0 -0.00 7/29/85 6/ 7/85 BB 2520 7 36299 6/20/85 278.00 -0.00 1 -0 -0.00 7/29/85 6/ 7/85 BB 2521 307 6/21/85 1497.00 -0.00 1 -0 -0.00 7/29/85 5/13/85 BB 2522 156 6/21&   18F :10150A00C93A5221B7CA19153A4F21B7CA5515CD4A :10151A0031194157414954494E4720494E49544986 :10152A00414C202243222028435243204D4F444518 :10153A0029204F52204E414B2028434845434B53C4 :10154A00554D204D4F4445290D0A00CDEB1106019A :10155A00CD7014FE15C8FE43C :10161A00213A5221B7C0324F21C93A5621B7C28B5B :10162A00163A4F21B7CA6416215D001146160608FC :10163A00CD6A19130603CD6A19CD3119202020204D :10164A00202020202020202020205452414E534682 :10165A0045525245440D0A0D0A003A5C00323E22B8 :10166A00215C00CDA1083A3E223210172A0021B7C2081ECD4F18C35D053A0301B7C8D9 :10173A003A4C21B7C24717CD9B17C36A173A4E21B5 :10174A00B7C25417CD9B17C36A173A6500FE00CA81 :10175A006217FE20C8C367173E20326500CD9B176B :10176A00CD2401FE343E5FDA76173E7FCD27013263 :10177A0046223A4E21B73E1DCA8C173 363 PS 2106 6/20/85 0.00 -0.00 1 -0 -0.00 7/29/85 6/ 4/85 BB 2528 314 6/21/85 499.00 -0.00 1 -0 -0.00 7/29/85 6/11/85 BB 2530 278 6/26/85 25.00 -0.00 1 -0 -0.00 7/29/85 6/24/0 1 -0 -0.00 7/30/85 6/30/85 WL 582 173 03611 6/21/85 -6.66 -0.00 1 -0 -0.00 7/30/85 6/21/85 WL 3497 4 2419 6/12/85 1136.00 -0.00 3 -0 -0.00 7/30/85 6/ 6/85 WL 3432 133 6/ 3/85 67 6/17/85 2215.00 -0.00 3 -0 -0.00 7/30/85 5/ 7/85 BN 1684 269 6/24/85 1567.00 -0.00 3 -0 -0.00 7/30/85 5/15/85 BN 1326 358 6/27/85 539.00 -0.00 1 -0 -0.00 7/30/85 5/ 2/85 BF 25A6C151DCAF511C319 :10156A005515CD31194352432072657175657374EF :10157A002072656365697665640D0A00AF3262217F :10158A00C93A0301B7C83A5521B7C29F153A47224B :10159A00E6CFC3AB153A5421B7C03A4722E6CFF695 :1015AA0020C32A013A4722F610C32A012A01001150 :1015BA000305C00216321119F :10167A007021060ECD6A193A3F22B7C2AE09C31EBF :10168A000A3EFF329621324A212F3215063A52215A :10169A00B7CAA5163A4F21B7CAC516CD31190D0AD0 :1016AA00414C4C205452414E534645525320434FCD :1016BA004D504C455445440D0A07003A4D21B7C2D6 :1016CA001B17CDA4C21B73E33 :10178A001EC021A00F2DC28F1725C28F17CD2A0187 :10179A00C93A6500FE203E1AC83A6500FE003E1AA4 :1017AA00C81165002100001A13FE20CAB117FE30C5 :1017BA00DAEC17FE3AD2EC17D630444D292909291A :1017CA00856FC2D017247BFE68C2B1177C2F577D64 :1017DA002F5F1321085 BB 2531 254 PS 2363 6/25/85 1996.00 -0.00 1 -0 -0.00 7/29/85 6/13/85 BB 2532 353 6/25/85 1613.00 -0.00 3 -0 -0.00 7/29/85 4/10/85 BB 2533 7 16106 6/27/85 499.00 -0.00 1 -0 -0. 0.00 -0.00 2 -0 -0.00 7/30/85 6/ 3/85 WL 3597 394 6/30/85 1107.00 -0.00 1 -0 -0.00 7/30/85 6/30/85 BN 731 353 6/25/85 949.00 -0.00 1 -0 -0.00 7/30/85 4/10/85 BN 2446 311 626 7 PS 2417 6/20/85 0.00 -0.00 1 -0 -0.00 7/30/85 5/30/85 BF 1961 339 5096 6/ 7/85 2735.00 -0.00 8 -0 -0.00 7/30/85 5/29/85 BF 1848 218 6/ 4/85 2728.00 -0.00 7 -0 -0.00 7/30/85 019226D1819227818192262183A03A1 :1015CA0001B7CA1E013A0A01322B013C320D01321F :1015DA0016013C3222013225013C322801C9115D33 :1015EA00001A324B21131AFE20CA0C16214C21066E :1015FA000BBEC204163600C3EF152305C2FB15C382 :10160A007E213A6221B7C21B163A4B21FE52C27E9431190D0A2B2B505245535320525B :1016DA00455455524E20544F20444953434F4E4E81 :1016EA004543542B2B070D0A000E01CD0500FE0DB4 :1016FA00C2CC16CD31190D0A2B2B444953434F4EF8 :10170A004E45435445442B2B0D0A00CD0E1BC35D99 :10171A0019CDAE153E433262213EFF3297213A532C :/85 199.00 -0.00 1 -0 -0.00 7/29/85 6/12/85 BB 2524 108 6073 6/21/85 836.00 -0.00 2 -0 -0.00 7/29/85 6/ 7/85 BB 2525 108 6074 6/21/85 1335.00 -0.00 3 -0 -0.00 7/29/85 6/ 7/85 BB 2527 00 7/29/85 6/20/85 BB 2535 145 PS 1909 6/28/85 998.00 -0.00 1 -0 -0.00 7/29/85 5/24/85 BG 1939 107 6/ 7/85 299.00 -0.00 1 -0 -0.00 7/30/85 5/28/85 WL 3596 394 6/30/85 2592.00 -0.0/26/85 2411.85 -0.00 4 -0 -0.00 7/30/85 5/12/85 BN 1914 107 6/21/85 949.00 -0.00 1 -0 -0.00 7/30/85 5/24/85 BN 2092 359 6/19/85 1507.00 -0.00 3 -0 -0.00 7/30/85 6/ 3/85 BN 1419 3 5/22/85 BF 2335 339 5142 6/21/85 2320.00 -0.00 8 -0 -0.00 7/30/85 6/11/85 BF 2487 172 6/24/85 15.00 -0.00 1 -0 -0.00 7/30/85 6/18/85 BF 2188 172 8041 6/10/85 870.00 -0.00 6 -0 &   -0.00 7/30/85 5/30/85 BF 2191 339 2157 6/14/85 3680.00 -0.00 9 -0 -0.00 7/30/85 6/ 4/85 BF 2496 2 14119 6/ 5/85 658.00 -0.00 2 -0 -0.00 7/30/85 5/29/85 BF 1811 249 6/ 4/85 834.00 9040 6/27/85 15.00 -0.00 1 -0 -0.00 7/30/85 6/17/85 BF 2538 218 1000064 6/27/85 2665.00 -0.00 7 -0 -0.00 7/30/85 6/19/85 BF 2566 339 5166 6/27/85 1300.00 -0.00 6 -0 -0.00 7/30/85 6/19/8 2 -0 -0.00 7/30/85 BO 2266 223 6/10/85 435.00 -0.00 3 -0 -0.00 7/30/85 6/10/85 BO 1863 173 2659 6/ 7/85 99.00 -0.00 1 -0 -0.00 7/30/85 5/23/85 BO 1989 288 6/ 5/85 5305.00 -7 6/21/85 2580.00 -0.00 2 -0 -0.00 7/30/85 6/ 3/85 BO 1798 307 1083 6/21/85 6813.00 -0.00 6 -0 -0.00 7/30/85 5/14/85 BO 1884 382 1038 6/19/85 1197.00 -0.00 1 -0 -0.00 7/30/85 5/13/85 B00 7/30/85 6/ 4/85 BO 2031 315 1277 6/12/85 420.00 -0.00 3 -0 -0.00 7/30/85 5/28/85 BO 2000 6 3305 6/11/85 4657.00 -0.00 6 -0 -0.00 7/30/85 5/30/85 BO 2133 6 6/ 6/85 304.00 -0.85 1548.00 -0.00 2 -0 -0.00 7/30/85 5/20/85 BO 1647 134 6/13/85 1220.00 -0.00 3 -0 -0.00 7/30/85 5/29/85 BO 1898 134 6/13/84 310.00 -0.00 1 -0 -0.00 7/30/85 5/28/85 BO 1467 185  -0.00 3 -0 -0.00 7/30/85 5/20/85 BF 1661 9 6/ 6/85 778.00 -0.00 8 -0 -0.00 7/30/85 5/20/85 BF 1709 314 1602 6/ 6/85 2125.00 -0.00 6 -0 -0.00 7/30/85 5/17/85 BF 1872 170 6/10/85 5 BF 2402 265 650-019-451 6/28/85 661.00 -0.00 4 -0 -0.00 7/30/85 6/13/85 BO 2048 240 6/12/85 93.00 -0.00 1 -0 -0.00 7/30/85 6/ 3/85 BO 529 173 MISC 6/20/85 -80.00 -0.00 1 -0 -0.00 8 -0 -0.00 7/30/85 5/28/85 BO 1648 359 6/ 4/85 1065.00 -0.00 2 -0 -0.00 7/30/85 5/17/85 BO 1752 180 6/ 4/85 3905.00 -0.00 10 -0 -0.00 7/30/85 5/20/85 BO 2417 7 6143/1476 6/20/8O 2328 362 70288 6/19/85 495.00 -0.00 1 -0 -0.00 7/30/85 6/ 7/85 BO 1409 146 6/12/85 990.00 -0.00 1 -0 -0.00 7/30/85 5/ 6/85 BO 1411 146 6/12/85 407.00 -0.00 2 -0 -0.00 7/30/8500 2 -0 -0.00 7/30/85 6/ 5/85 BO 1882 302 6/10/85 1512.00 -0.00 3 -0 -0.00 7/30/85 5/13/85 BO 2460 146 6/12/85 3668.00 -0.00 7 -0 -0.00 7/30/85 5/ 6/85 BO 1894 392 6/13/85 3829.00 6/13/85 674.00 -0.00 2 -0 -0.00 7/30/85 5/ 7/85 BO 2101 164 6/12/85 10.00 -0.00 2 -0 -0.00 7/30/85 6/ 4/85 BO 2501 138 6/26/85 186.00 -0.00 1 -0 -0.00 7/30/85 6/18/85 BO 2295  1404.00 -0.00 8 -0 -0.00 7/30/85 5/20/85 BF 2110 170 1802 6/10/85 80.00 -0.00 4 -0 -0.00 7/30/85 6/ 4/85 BF 2541 239 6/20/85 194.00 -0.00 4 -0 -0.00 7/30/85 6/11/85 BF 2436 124 0.00 7/30/85 6/20/83 BO 2015 2401 6/12/85 540.00 -0.00 2 -0 -0.00 7/30/85 5/28/85 BO 1787 389 6/12/85 933.00 -0.00 5 -0 -0.00 7/30/85 5/14/85 BO 1744 173 2659 6/ 7/85 2090.00 -0.005 483.00 -0.00 3 -0 -0.00 7/30/85 5/30/85 BO 1660 9 6/20/85 3098.00 -0.00 11 -0 -0.00 7/30/85 5/20/85 BO 2168 283 3423 6/20/85 1503.00 -0.00 4 -0 -0.00 7/30/85 6/ 5/85 BO 2089 30 5/ 6/85 BO 1984 122 6/21/85 1050.00 -0.00 1 -0 -0.00 7/30/85 5/30/85 BO 2528 368 6/20/85 69.00 -0.00 1 -0 -0.00 7/30/85 6/13/85 BO 2095 164 3144 6/12/85 491.00 -0.00 3 -0 -0. -0.00 7 -0 -0.00 7/30/85 5/13/85 BO 1176 380 5157 6/14/85 1032.00 -0.00 2 -0 -0.00 7/30/85 4/26/85 BO 1803 173 6/14/85 1155.00 -0.00 2 -0 -0.00 7/30/85 5/21/85 BO 1646 134 6/13/ 138 426 6/26/85 270.00 -0.00 1 -0 -0.00 7/30/85 6/10/85 BO 2554 10 13283 6/24/85 135.00 -0.00 1 -0 -0.00 7/30/85 6/19/85 BO 1782 318 6/ 6/85 2290.00 -0.00 5 -0 -0.00 7/30/85 5/22/'   85 BO 779 353 6/25/85 4689.00 -0.00 9 -0 -0.00 7/30/85 4/10/85 BO 1955 204 6/ 5/85 299.00 -0.00 1 -0 -0.00 7/30/85 5/29/85 BO 2465 287 1539 6/26/85 2862.00 -0.00 6 -0 -0.00 7/3 7 36116/1478 6/27/85 218.00 -0.00 2 -0 -0.00 7/30/85 5/30/85 BO 2419 7 15852/1507 6/27/85 59.00 -0.00 1 -0 -0.00 7/30/85 5/30/85 BO 1860 402 6/26/85 2391.00 -0.00 4 -0 -0.00 7/30/85 -0 -0.00 7/30/85 5/20/85 BO 2202 367 6/17/85 608.00 -0.00 2 -0 -0.00 7/30/85 5/13/85 BO 2103 239 6/ 7/85 240.00 -0.00 2 -0 -0.00 7/30/85 6/ 3/85 BO 2107 180 6/ 4/85 318.00 -0 8236 394 JUNE 6/30/85 5292.00 -0.00 1 -0 -0.00 7/31/85 FL 8237 394 JUNE 6/30/85 1971.00 -0.00 1 -0 -0.00 7/31/85 FL 3536 2 14 6/19/85 -784.57 -0.00 1 -0 -0.00 7/31/85 FL 355 7 3415 6/28/85 -7.50 -0.00 1 -0 -0.00 7/31/85 FL 3541 164 MAY 24 LTR 6/20/85 -225.00 -0.00 1 -0 -0.00 7/31/85 FL 3522 5 1637 6/10/85 -248.00 -0.00 1 -0 -0.00 7/31/85 FL 3523 6150D 6/10/85 -15.00 -0.00 1 -0 -0.00 7/31/85 FL 3514 265 650-096141D 6/10/85 -7.50 -0.00 1 -0 -0.00 7/31/85 FL 3538 3 FL7969 6/19/85 -105.00 -0.00 5 -0 -0.00 7/31/85 FL 3572 0/85 6/17/85 BO 1327 358 6/27/85 105.00 -0.00 1 -0 -0.00 8/ 1/85 5/ 2/85 BO 2425 7 26232/1477 6/27/85 85.00 -0.00 1 -0 -0.00 7/30/85 5/30/85 BO 2424 7 26154/1477 6/27/85 903.00  5/15/85 BO 1785 128 6/24/85 5741.00 -0.00 5 -0 -0.00 7/30/85 5/13/85 BO 2204 367 6/24/85 2622.00 -0.00 4 -0 -0.00 7/30/85 5/13/85 BO 1805 173 6/21/85 1056.00 -0.00 2 -0 -0.00 .00 1 -0 -0.00 7/30/85 6/ 4/85 BO 1795 166 0531-1028 6/ 4/85 4919.00 -0.00 8 -0 -0.00 7/30/85 5/20/85 BO 1947 6 8426 6/ 6/85 9117.00 -0.00 8 -0 -0.00 7/30/85 5/28/85 FL 2370 394 P.L.129 4 FL7834 6/28/85 -60.00 -0.00 1 -0 -0.00 7/31/85 FL 3558 164 FL5313 6/28/85 -300.00 -0.00 3 -0 -0.00 7/31/85 FL 3556 2 FL7906 6/28/85 -31.04 -0.00 2 -0 -0.00 7/31/85 FL 3 5 2432 6/10/84 -230.00 -0.00 1 -0 -0.00 7/31/85 FL 3579 8 6/20/85 -28.00 -0.00 1 -0 -0.00 7/31/85 FL 3520 2 285 6/10/85 -451.13 -0.00 1 -0 -0.00 7/31/85 FL 3521 294  2 385 6/20/85 -489.96 -0.00 1 -0 -0.00 7/31/85 FL 3545 164 2084 6/11/85 -109.00 -0.00 2 -0 -0.00 7/31/85 FL 3547 362 FL7571 6/11/85 -40.00 -0.00 1 -0 -0.00 7/31/85 FL 3549 22 -0.00 5 -0 -0.00 7/30/85 5/30/85 BO 2422 7 25484/1505 6/27/85 178.00 -0.00 1 -0 -0.00 7/30/85 5/30/85 BO 2426 7 66140/1481 6/27/85 483.00 -0.00 3 -0 -0.00 7/30/85 5/30/85 BO 2427  7/30/85 5/21/85 BO 1974 393 6/14/85 756.00 -0.00 4 -0 -0.00 7/30/85 5/14/85 BO 2332 239 6/13/85 85.00 -0.00 1 -0 -0.00 7/30/85 6/12/85 BO 1658 213 V1708 6/17/85 856.00 -0.00 6 370 6/12/85 85.50 -0.00 2 -0 -0.00 7/31/85 3/20/85 FL 2369 394 P.L. 12369 6/13/85 85.50 -0.00 2 -0 -0.00 7/31/85 3/20/95 FL 8235 394 JUNE 6/30/85 378.00 -0.00 1 -0 -0.00 7/31/85 FL 560 101 FL7702 6/28/85 -117.00 -0.00 2 -0 -0.00 7/31/85 FL 3527 173 MISC 6/20/85 -110.00 -0.00 1 -0 -0.00 7/31/85 FL 3614 318 6/28/85 -20.00 -0.00 1 -0 -0.00 7/31/85 FL 3603 5369 6/10/85 -872.00 -0.00 1 -0 -0.00 7/31/85 FL 3516 2 285 6/10/85 -44.00 -0.00 1 -0 -0.00 7/31/85 FL 3519 2 485 6/10/85 -864.49 -0.00 1 -0 -0.00 7/31/85 FL 3513 265 650-098 6/12/85 -208.00 -0.00 1 -0 -0.00 7/31/85 FL 3548 107 7845/7800 6/12/85 -45.00 -0.00 1 -0 -0.00 7/31/85 FL 3554 164 FL6886 6/12/85 -572.50 -0.00 3 -0 -0.00 7/31/85 FL 3553 4'    FL7627 6/12/85 -137.50 -0.00 2 -0 -0.00 7/31/85 FL 3501 4 2351 6/ 6/85 -2000.00 -0.00 3 -0 -0.00 7/31/85 FL 3502 168 6/10/85 -32.56 -0.00 1 -0 -0.00 7/31/85 FL 3506 126 683A00CDB8183E29C34218C5D5E55F0E02CD05BD :10184A0000E1D1C1C9F53E0DCD5C183E0ACD5C1848 :10185A00F1C9F5C5D5E54FCD0000E1D1C1F1C9C542 :10186A00D5E5CD0000E1D1C1B7C9C5D5E5CD0000A8 :10187A00E1D1C1C9FE61D8FE7BD0E65FC9F5C5D505 :10188A00E501F6FF11FFFF0913DA91180108 MVI B,8 ;..BELOW. 163A CD6A19 CALL MOVE 163D 13 INX D ;PUT FILE TYPE AFTER.. 163E 0603 MVI B,3 ;..SKIPPING ONE SPACE.. 1640 CD6A19 CALL MOVE ;..BELOW. 1643 CD3119 CALL ILPRT 1646 2020202020FTRNMSG DB ' 6A19 CALL MOVE 1681 3A3F22 LDA SENDFLG ;GOES TO EITHER SEND OR.. 1684 B7 ORA A ;..RECEIVE FILE, DEPENDING.. 1685 C2AE09 JNZ SENDFIL ;..UPON WHICH ROUTINE SET.. 1688 C31E0A JMP RCVFIL ;..THE FLAG IN MULTI-FILE MODE.  7925 193 6/ 4/85 510.00 -0.00 2 -0 -0.00 7/31/85 5/21/85 FL 8108 5 6748 6/20/85 807.50 -0.00 2 -0 -0.00 8/ 1/85 6/10/85 FL 8158 5 6752 6/25/85 5068.25 -0.00 5 -0 -0.00 8/ 1/ CPI 'Q' 192C C2CF18 JNZ CKQUIT 192F B7 ORA A 1930 C9 RET 1931 E3 ILPRT XTHL 1932 7E ILPLP MOV A,M 1933 B7 ORA A 1934 CA3E19 JZ ILPRET 1937 CD4218 CALL CTYPE 193A 23 /10/85 -5.84 -0.00 1 -0 -0.00 7/31/85 FL 3504 6 0980 6/10/85 -27.00 -0.00 1 -0 -0.00 7/31/85 FL 3581 173 03611 6/21/85 -8.33 -0.00 1 -0 -0.00 7/31/85 FL 8014 2401 6/12/85  ;sender will be told if rcvr is crc mode ; 161B 3A5221 endopt2 LDA VSEEFLG 161E B7 ORA A 161F C0 RNZ 1620 324F21 STA QFLG 1623 C9 RET 1624 3A5621 DONE LDA BA TRANSFERRED',CR,LF,CR,LF,0 ;13 SPACES 1664 3A5C00 NMSTRNS LDA FCB ;SAVE DRIVE NO. 1667 323E22 STA DISKNO 166A 215C00 LXI H,FCB ;BLANK OUT FILE CONTROL BLOCKS 166D CDA108 CALL INITFCBS 1670 3A3E22  1760.00 -0.00 9 -0 -0.00 7/31/85 5/28/85 FL 8013 240 6/12/85 1966.00 -0.00 11 -0 -0.00 7/31/85 5/29/85 FL 7929 5 612-654 6/ 4/85 6347.90 -0.00 13 -0 -0.00 7/31/85 5/23/85 FL 7928 285 6/13/85 FL 8136 5 6748 6/21/85 2854.75 -0.00 6 -0 -0.00 8/ 1/85 6/10/85 FL 8019 5 6/12/85 0.00 -0.00 1 -0 -0.00 8/ 1/85 5/13/85 FL 8101 5 6/19/85 8110.15 -0.00 12 -0 - INX H 193B C33219 JMP ILPLP 193E E3 ILPRET XTHL 193F C9 RET 1940 0E09 PRTMSG MVI C,PRINT 1942 C30500 JMP BDOS 1945 D1 ERXIT POP D 1946 CD4019 CALL PRTMSG 194993D01FFFF0319DAE31778B7D9 :1017EA0079C8CD45192B2B09494E56414C49440914 :1017FA00424155442052415445202B2B24216C0050 :10180A00115C000610CD6A19AF327C00326800C93B :10181A00FE0ACA4218FE0DCA4218FE09CA4218FE3A :10182A0020DA3318FE7FDA4218F53E28CD4218F145 :101TCHFLG 1627 B7 ORA A 1628 C28B16 JNZ DONETCC 162B 3A4F21 LDA QFLG 162E B7 ORA A 162F CA6416 JZ NMSTRNS 1632 215D00 LXI H,FCB+1 ;PUT FILE NAME IN.. 1635 114616 LXI D,FTRNMSG ;..SPACES IN MESSAGE.. 1638 06LDA DISKNO ;PUT DRIVE NUMBER BACK 1673 325C00 STA FCB 1676 216321 LXI H,RESTSN ;RESTORE SECTORE NUMBERS.. 1679 117021 LXI D,SECTNOB ;..FOR NEW FILE TRANSFER. 167C 060E MVI B,SECTNOE-SECTNOB ;ROUTINE ALSO DONE IN MENU. 167E CD18 100032 6/ 4/85 684.00 -0.00 1 -0 -0.00 7/31/85 5/20/85 FL 7927 180 6/ 4/85 555.00 -0.00 3 -0 -0.00 7/31/85 5/20/85 FL 7926 249 6/ 4/85 2121.00 -0.00 11 -0 -0.00 7/31/85 5/20/85 FL0.00 8/ 1/85 5/31/85 0 1 -0 -0.00 8/ 1/85 5/13/85 FL 8101 5 6/19/85 8110.15 -0.00 12 -0 - 6/12/85 0.00 -0.00 1 -0 -0.00 8/ 1/85 5/13/85 FL 8101 5 6/19/85 8110.15 -0.00 12 -0 - CD3119 CALL ILPRT 194C 0700 DB BELL,0 194E 3A5621 LDA BATCHFLG 1951 B7 ORA A 1952 C21B17 JNZ DONETCE 1955 3E51 MVI A,'Q' ;RESET QFLG 1957 324F21 STA QFLG 195A C3F511 JMP ABORT ;ABORT OTHER COMPUTER