IMD 1.16: 8/06/2007 14:56:27 public domain software for the epson qx-10 disk #2                    RBBSUTL SYS< RIBBS SYSRIBBS SYSBYE SYSBBSLIST CMD BBSLIST DOC!"XMODEM SYS#QXBULLA SYS$%&'()*+,XMODEM DOC!-./BBS-USE DOC01SECRET CTL23456789ATXMODEMSYS:;<=>?@ABCHAT COMCATXMODEMDOCCDEFGHATXMODM2DOC~IJKLMNOPBBSLIST DBF0QRSSEND DOCSENDRECVDOCSEND MBSSEND SUBSEND COMBBSLIST FRMBBSMAINTCMDBBSSEARCCMD BOARDS LSTbXMODEM74MODCALLERS USERS COUNTERS MESSAGES RCPMSYS DOC CALLS ASMN+"6# x+:`i* ">"/##~>;+> 6*s#r w+͊1>2 u+#w+>36*s#rw+6*xDM"+ڍ+s#r#À+! æ+>2:*ã+6*x+Á*~#ʽ+#~+ҽ+~+x 6*s#rw+ɯ2,x_O:*+2,x_O6*9w#w+x,+r+s=,w>#w+Á*~7^#VE,E,!~ѧ7x1P*x1~7!~#fo~ʁ,7,#~+~w}D#wx#1]*KÄ,!9*?>":u,2g>2u:u,QXBULLB SYSTUVWXYZ[\RCPMDATA18 g]^_`abcBBSINSTLDOC-defCHGLIB COMghSUMMARY iDIALER BASjkSECURITYASM"lmnSECURSYSDOCKopqrsUSER-8/8ASMtPASSWORDBASuvSCRAMBL2ASM0wxySCRAMBLEDOC zPLINK MAC%{|}~PLINK65 DOC RECV COMSEND ASM6COUNT BAS PJ-,O:u,-!l{Ps",͖Q!-gQH-*fx-͸QP'-͌Q!l>P͍PH-@]T}_|H-)>-x1P*I&>4ͺ-K3y=d-e#x2#~+Œ-x-xGe#>.xʛ-e#>.xG ʩ->.x#~+>.>X6*s#r+}*W!-K^#V#~.    !> .!> .! > .!> .!> .O*yK !.KF͊1q-x2.H.u+w.#N+͊1q-ڱ.xn.#~+j..n.y. u+w!~#fo#~#w:.ʏ.6~+ž.~ ž.6 «.~«.63ó.ɀ @ PPPPPP #   ..~.+u+w#w+e#*#~6+/]*6#s#r>6###s#r#6@"=#w:uGf?/b!/####~#B/F#N#~#fo~#fox/ LU/##~>O͖,6#p#6 ####yKͶ,+w~39;5!/K~2>"@&0:/3-3>".͊1P*/ 00`i)9^#V!~`-y!bó%G<Nͤ& !<61!$>01!0! >0`2!<6! 7! 77<61!>0!"!"m=!<6!$<6!"*#"*#"1!$>0!7.ʹ,N!̓/!ͫ/*͹N!͓9%5"1* 8!C7>01!.0*͹N1!͓9!U%8>01!0*͹N!͓9%5"1*# 8>0!̀I*|/g}/o|ʧ 1!>0̀=!R@NG!hN1!0!̓/!ͫ/*͹N!͓9%5"1*# 8>0!̀I!7.ʹ,!-m=!<6!7.ʹ,!-m=!<6!7.ʹ,!-m=!$͗8g !<6p !<6!z7.ʹ,!-m=!<6!n7.ʹ,!-m=!<6!"1!Z>0!R@NG!hN!̓/!ͫ/*͹N!͓92?!U%86͜8 !7<61!>0!R@N!hN!" !̓/!ͫ/!"*4#" *# 8!7 <6m=* ͝N* #"  !<6m=* ͝N* #" !"7!7 <6m=* ͝N* #"  !<6m=* ͝N* #"  !<6m=* ͝N* #" * 8 <6m=* ͝N* #"  !<6m=* ͝N!̀I* *" *#"*#*)s#r*)1*s#r*#"̀=!r9"!*!́7|9!́7|9|8)?go)))))7*͆6*#"**z|}|Ҕ̀=*++ͬ7 * 8!ͬ77!O7! 77! 77&6*#"H&!!6*)͝N1&!O7>0!!͓934/!ï*$#"$*)#")*$͹N&!!6*)͝N1&!O7>0*+#"+*+|8)s*$#"$*)#")â!̀I!@N!hN!̀I!;M!K!K1!>0!͓9%5"!R@N;!AhN!̓/!!Aͫ/!R@N!AhN!̓/&!Aͫ/!@N!7!hN!"$!"-!"$!")1!>0*$͹N!I|²!!͓9j4!"-1!>0_!"-!]x8!!͓947|g}o|>* 8!?ͬ7hN!̀I!n;M!R@NG!hN!̓/4! ͫ/7!ͫ/!R@Nn!hN!̓/&!ͫ/!͹N4!77&6!͝N!]͗8*+ 876!͝N!̀I!"m=̀=1!S>0!@N!hN!̀I!;M!R@N;!AhN!̓/!!Aͫ/!"$!R@NE!hN!̓/&!ͫ/!")1!>0!ì*$͹N!I|!!O7!7&6*)͝N*$#"$*)#")1&!O7>0!I|*+R¨!!͓934/*+#"+*+|8)4*$43!!͓92%5"$%!̀I!KE!K1!/>0̀=!-1!$>01!$>0!$͜8qbḱ7<6m=!<6!9"m=V*|q*!='1!$>01!>01!e>01!E>01!">01!>01!>01!>0̀=1!$>01!$>0E'!́7<61!$>0!$͗8!7.ʹ,!-1!$>0!@N!hN!I|w*!$͜8_!̀I1!$>01!>01!$>0̀=! +!Z.1!>0$!̀I1!$>01!$>01!q>01!$>0̀=!r9|8)!́7<6!k<6!̀M1!$>0̀=1!V0!R@NG!h*͝N*͹N!͓92?!U%86*͝N!̀I1!F>0!R@N;!AhN!A"!̓/!Aͫ/* " !"!@N!hN!I|ʭ 1!->0!̀I!̀IE'!I|  !&<6m=* ͝N!̀I- ! +! Z.! r9|8)  !?O7 <61! >0m=* ͝N* #" *#"í * #" *# 8 <6m=* ͝N* #"  !<6m=* ͝N* #" !"7!7 <6m=* ͝N* #"  !<6m=* ͝N* #"  !<6m=* ͝N* #" * 8 <6m=* ͝N!̀I!$7O7! 77! 776̀=*|;1!>0̀=!7.ʹ,!-!r9|8)k1!>0;!R@N!7!hN!I|ڷʷ1!0!70!z>0!̀Ì=!̀I!"!e7.ʹ,!-bḱ7<6!a͗8!]<6!]͗8K!;7.ʹ,!-!$͗8+!7<6!͓9%5"*|K1!&>0̀=1! >0!R@N!hN!̓/!!ͫ/!"$!R@N!hN!̓/&!ͫ/!")1!>0*$͹N!I|!!͓9j4*$"$1!>0â!]x8!!͓947|g}o|?7!?O7! 77! 77&6*#"1&!?O7>0V&!!61&!O7>0*)͝N*-|xm=!͗1!/>0!!͓934/!*$#"$*-|/g}/o|ʧ*)#")*$͹N*-|m=!͗1!/>0&!!6*)͝N1&!?O7>0*+#"+*+|8)ڋ!!͓9%5"2!{*$#"$*-|/g}/o|1*)#")*$͹N*-|Vm=!͗1!/>0w&!!6*)͝N1&!?O7>0*+#"+*+*2z|}|*$#"$*-|/g}/o|ʯ*)#")Ð!̀I!@N!hN!̀I!;M;!K!;K1!}>0!@Nn!1!020!0,2!U#0,24+2|go|g}o|L1!>0̀=,24'2|go|g}o|ʃ1!>0!̀IO21!020!0,2!U#0O2!" !"!R@N!hN!" !̓/!ͫ/* ͹N!I|x!͓9%5":*#"*)*:s#r*:|2*:|8)2*+"x* ͹N!͓9%5*)1s#r*)1^#V* " * " !̀Ì=!!r9++"!*!́7!"͗8*+"*RʸÌ!*O7/<6̀=E' in line number Error number File not foun   d. occurred at line number:!Error number: 2Summary file built. HSUMMARY.$$$VBuilding summary file... qCOUNTERS.BAKUpdating counters... MESSAGES.BAKArchiving message $MESSAGS.$$$Purging message file... SUMMARY.BAKODeletion $SUMMARY.$$$Purging summary file...)Invalid msg #.:1>Message number to start (CR=1)?`YdyhRenumber messages?} exists.Archive file: .ARCMust be less then 8 characters.Today's date (MM/DD/YY) ?Files already purged. 9999SUF ==> prints the disk directory. %E ==> end the utility program.HD ==> display an ascii file-hB ==> build summary file from message file.Commands allowed are:TFDPEB Command? SYSOP/=============================================== RBBS Utility vers 2.2'Ck8<edexennnnnw$,@Thh|tq#49BNVS^' z m t    , , , , @ @ @ @ @ @ @ @ T h h | 0 6 E K W k p y                 &/4=0CDRDYDjD{Xl$' ' '4/484;HM\_\h\kpK "+7?HT f$ u8 {L ` t    x       5 < H ? Q ` m s( z( ( ( ( < P d d 8L`x2(/?Uku~(<PPxd[[[[ BASLIB #000000 5.30 - OWNED BY MICROSOFT, 1980 %.xʮO}!DM*"9*(##"9ê&>2%2%*^#V"%##^#V"% 2%! &!!""%!&"&6#6P>2&>2&>2&ͷ%P&ͺ%P&G&_>P"f`i"h!f^#V#N#F#fTP:uGw#TP!h~7w?##wy7O!l44!9"a&( !*'(&!*'&!f&*'!R"&!O"&(|&> b'6#s#r#=&>)*Y&Ϳ(!7)~<3)=3)#~#*))#ç=Syntax Error in DATRETURN without GOSU Type MismatcOut of DatIllegal Function CalOverfloOut of Memor Subscript Out of Rang Division By ZerOut of String SpacString Formula Too CompleRESUME without Erro2Field Overflo3Internal Erro4Bad File Numbe5File Not Foun6Bad File Mod7File Already Ope9Disk I/O Erro:File Already Exist=Disk Ful>Input Past En?Bad Record Numbe@Bad File NamCToo Many FileUnprintable Erro()&!*>+MMARYUpdating summary file.!;% )9999 0File empty.>MESSAGESIUpdating msg file]Updating counters qPassword?}Subject?ALLWho to (C/R for ALL)?Todays date (MM/DD/YY)?Message file name? Msg # will be 1Files must be purged before messages can be addedThis msg # will be 1Last caller was # F.JCOUNTERSURYActive # of msg's n*.*t++ END OF FILE ++ ++ Aborted ++I Filename? 2T ==> transfers a disk file to the message file.P ==> purge the message files"0DXl  $ w\/4;4A4J4S4\4_HkHtH}\\\\p   % 8 A J \ e n z   $ 8 L ` ` ` t t t t t      + 0 9 K P [ g p              ( () (2 (8 <A <S <Y Ph dr dx x x x x x x      -        # * 4 A F O V _ dd x x x x x    / > P _ x ~      D     _T    % , ; V@ >, G, gT lT xh |                * 1 : B G S w V _ h    0 D D D D D X l l l  ! 9 K Z c r {           4 4 4 H H H %\ .p 4 =  H ^ g n u           @$I$L8o8x8~2[&>2^&>2]&2`&!T&"m&!$\"c&>&2e&%<6#}''|''͡= STO5(E'Ϳ(*m&.. . ........;*{&|L':x&º'*v&|ʺ''(  s#r(  {)w#6"y&*a&*v&>2x&)?'!9N#F(~#~'~+'~#~'+^#V###'###'|(~#fo! (͡= Internal Error - No Line Number T&(~#ʡ(͡= at line'T(ÿ(>͈(͡= at address|=}=ÿ(> (T> (T~#*(T~#foN^!9"W&!(*W&("Y&!3&w>͙;|b'(}NR(+R`i"k&!=+"&!+"&ʙ+ ,+t+ʃ+$@O>*U*U*U*UÓ++@͝?*UÓ++@8>*U*U =+,Z+~#¢+x͙;Ó+(!>m'+͊;͙;?6\Kڴ+ ++"+G{,x+PX\KD,!}.Oz"y/, d, /,O{,yģ,\KD, /,{ >,,> >,>,D,D,ͣ,\K+"O, w,\Kw, O,,w, o,\Kw, w,*k&( 4:&ʝ,{,,6!}.͊;O ʝ,+~ ʑ,#6!}.ɷw#x,~&ʏ"N#",!9",",y2,*k&|,*&!-"{&A~#*}/T:&,~-{-   -$@ -+@"}/1-=-O>*U*U*U*UJ-͝?*UJ-8>*U*U*}/Tn-~#"}/,, -:&-,~-!"{&~,"†-#"~ʚ-ʚ-# ‰--" -#"}/x"ʵ- ʵ-+~ ʪ-y͙;J-͡=?Redo from Start *,;!-7.*,:,O,*,+~+. . . +w .&.++~#fo?6",!,5*,~26.#~#^#V͓=++;ER6':}.(*k&|y.!}.͊;͙;?6*&X4*"2> "> "!fXpXXJPs"ڂX!bXJP*}|*"ʝXu#ʾ"w!6R#6S#6#ÕYYYTY}YYT*&+~<1=1###~1*&1> ÔS0>,͔SW*&#^ ̃1}1+=}1:&=}1 ͔S+|15|/g}/o5!5G|55o& Gȯ|g}o5 6>6~+~?~$6+#16+ 16(s;y6~##++A<>T+V+^+l6+r+s͋<(?6~ͪ;y"6"6*6|b'}b' b'+<ګ6{*6ڳ6~#^#V`i#N#F T*6;6#N#fi7~#N#fiT;FO6G#~#f 9xb'ű9 y<28F~^9^9#~#foyTO #~#foxb9R9#A9b9!84 >928;;*8&~;o&~b'#^#V++;o&(~;;>K!999*9999c99\999:999_!94 :5*9"9~#N#F#M:': T:yx2: :+++6@#yw#xw+++6###!9~6^:s: :ͽ:*9#~#~ :(Y'!*9"9~#^#V#ں::TÀ:|¥:À:++~_w#~Ww#À:s:*9DM~#^#V#;::+z;+{;##{z~#q#p_:y ;x"9}w>#w##T=++6+699+'=>2 =|b=+})N#^=~#fo : =Q=!9"a&!f&4 ~T#b'!f&4!9"a&^#V#!f&~wM'!9"a&ɧ~(T#=•=ͧ=~(T#ç=G~#=#µ=++=0:=(T^,^#V!~#fog&*m~#foaG+>*U}/o|/g#"U|\>͐\+>!U~wɯ2UaGF>Z\>*U\>Ð\aGF>Y>>@~<&#a><&=!U>>!UU2># …>!UiX!Uf?V>>ڨ>>|}+!@qW.?]+6!U>ͲY2U!@$[!@qW!UqW~_#~W#~Oa^òZ!FïZb\?YYY][YY%Z>ZQZgZ][{ZZZ[7[A[Y[][][INCLUDpNBSéӗTUTϖASŘLEAҋALiLOS~INԤSNǥDB̦HROVVVONԖHAI΍OMMOr(}NRR! ~#fo"/! "/(|b'*/}o|g.R"/*/"/A<#s#r++s(G0+1(R0+1(]0+1(0+1(G0M1(R0M1(]0M1(Ͳ0M1(G00(R00(]00(Ͳ00Uh0Uh0"Uq0H~# i0x2>:&"10¡0A͊;<Y1~ʚ0͔S#Î0H1A~ʝ0 ĔS#ä0>2>:&"1F#~#fox0Y100~#͔S00;0>"ÔSG:&x0<,3H3N3,3H3N3Z3,3H3N3Z3i3͇3^#V#͓3"2*2i323i3^#3c3i3^#V#͍383"2~22"2(*2*2:2]T:2ÜT:23Ͳ3Z[[$[Ͳ3iXYXqWSVT~#fo^#3gT^#3tT3&)))(>!>!>!>!>!>^#V#!U}4>!>!>!>!>!>^#V#!UÄ4>I4>I4>I4>I4>I4>^#V#!Uã4>q4>q4>q4>q4>q4>)!Uã4È4 G6ʘ4ç4 G6ʻ4~#foý4##(Y(Ð\^#V#4\2&((4(o#~#foxTy7;6 #7(b'1;?7?7;;~#~#foT(|b'BK͉7PY(|b'BK z7 o_]7(zb'zʑ7 җ7_ҝ7o}`iͪ;;DM( 7~b'#~#fon&;(z7}1;~7s#7(b'(|b'!9>͙;2Jb!,`("U>48(U>.8(U>T2>>!8tTA>8gT~#P8x͙;>z8>z8>z8>z8>z8>ͱ8!+>Þ8>Þ8>Þ8>Þ8>Þ8>ͱ8ʭ8~#fo##GN8y8#~#fo~#fo8#8 8 y8y<.8)8);;4 ;DM:~# ;:YP+++"96@###{_zW+r+sɷf;*9|D;(\'9^#V+"9w#s#r+++r+s##!m;r;*={z*=?҈;}|~# Ž;yG1;xTG1;x#N#F& â;s;A<Ë<*=*=T;<;A<͋<###;<͡= during G.C. T&<͡= T&͡= Internal Error - String Space Corrup#N#F*9yxچ<*9yx҆<++`i+V+^T <##6+6+~6  >@++*9"9s#r+ͽ:*9#~_#~WҴ<(h'r+s##6"9###!9~#foÐ\*U*U1?"U`i"U!U^#V#N#F#!@ð[O^x{D^!U6$]wg>ͬ^h^j?:>Gw#j?e??!Uf?UaGUaG]?*U||?>ü?>:U2U:U>H@?:U???|/g}/o?!>H:U@@?"U>2>>aj? L}3>Y>)H>2=`h?~&|G-S@+S@+GG:A.@ee@E@GGl}@L}@q}@Qʎ@:>ʨ@>è@~%@#@!@dʨ@D¿@AGGrGGGڭA¿@_{_A'A@ >aG!?@aG ¿@AS@GG!?!?ÿ@   AGGÿ@8>O>aG:?>=aG>>oAT])))O |mA"US@yF>7ҏAt$>A:?͢AgAV>>y? ?V>͏>gA? ?>{ ҼA0_ò@A!UaGA:UAyA:UA:UA:U/A>Ḧ́BB6+͋?B6- >#60:>W:>کCʡCҍB͒F!=F :>_ OBx*OB{OBAqGGoBEoBDoB0OB,OB.rB+60{}B+:c&w{+p2>!=6 ?*U*U2=8CE~B:ҹB0ڹB #~ªB>DG¨B"U`i"U#~+ C-B0OxG C#~B`x/<~.8?">+ÈCCկaGXE:UXEF!Uf?> =E͊EaGmECO>sEF͕>EA[E'A͊EaGEt#>âEF͕>~E=60#èE·EE60#=óE{@OE">6.#60E#HE6.">#H 6,#aGIFy?!Fs?͏>͸>F> E/>|>#F>|>p#=F!U ?VF>>@?#?7G?E.?/{_#zW#yO++jF>##?p#\F>ØF=G>EN#F#*U/}o|gҫF"Up#=˜FEw1_cƤ~@zZ(}NRR!' ~;I ;I#~0I`iKI>O #~goPY!' ůwKK:%N7R=1R=oIѯ"R<7R!% ^#Vr+s(}xN!"H}NI PYºI!I`i>J!' ~FIKKkO(}NR!&I! ~+ng(}NR! n&*k&~R+QDM'~CI4N#V p7Jzw w+s#r#6#6DM:%bJ!" s#r#6çJ! {zVʟJDHw<J<7R!! {w:R´JK!! ~DH!) JCIJ R~#J*k&~YQ( ~K+~#5O ~#w#w~MK) p# MxN _(wKDHH<+R(!H6# NÉM(wK2H!HN!HNDHH+RO!EH  ~#cSyM~ M>.cS M:& W:&M> cScS`SH²M~*6?# NO!!4)N#4)N#4y">N7R><"H>2q&!Q"r&:o&<2o&*m&"H!N"m&("HIL*&|ʊN##n͈IyN.̓I*H(áN(2HO"HO(ýN(2HO"HOR<R=_!&~#foN##{O++N*&O"&q#p#s#r Q:RQ!Q!& >J~# xQDM͇Q.R|Q! w!( V6 TQzwͅQ.R|Q! ~!wQ! ^#V! s#rDMtQnQR}NRʧQR`i"k&!Q"t&Q\K(!>m'(|b',Q-:q&R*r&!3&"t&{1;f$%R!Q*t&Q |}!"k&>6>4>?>=>:>7>5>2>3>@>C>(o&m'(!"k&!}."}/WR:6.hR͡=?hRp͎SÜR:_S>\2_S‚RgRcS+ʖR~cSêR+cSªRcS`S!}.2_SíR͎SOnR:_SR>\cS2_Sy-SfS7 TS -S RhR-SfShRShRcS> cSECy B>2=%C|B CB"U`i"U#?#W4E:=SC]CaCaCE608?E+~0pC.8?ʢCaG>"w#6+C6-/</ ҕC:#p#w#6!=#z)DDEzE͒F{̰>=E2BCp#6!=#:>~ C*C+CGG-+_:c&{0!D#GG!D++wDC!D6%DEDF͕>SDA+6%>=EPCF>ѯD]?74Ey%AOzWO'ADErN vH Tʚ;@B''d #~: GG GG GG0?<=:>nG7-++GGHOʍGHʍG+͙GڢG?H#GèG(_'M!ͺGڸG}0?)))صoúGM!GG}H0? G? ))))صoGa{ ?aG:U:U>:=2=2=(_'(_' )}28<(69%(s) :8<o&z(n&z?Hz,z>89(}9$)Њ(,ɞɅÅ(SDES()@((|‡(|ʇ+~KKJ7>*k&T]% N#F+q#p###6 ,KKK:%N>DK>w+w!(J7?*k&' 6#67~4R#^#fk_ڔKN#~:ʘK++@4Ry@4R4RH #K~.KK7îK#¯K2H;z 4R4R> KK> KK(wKDHH<+R!HH> TwK:H!H:RH<%RH*H~R#N#F++; OʂLIʂLRR*H|‚L!"H}_N•LkO{N(RzwK ͧO"k&#H> T66KK~L<7RL!)/P)#0P))>P =P#=%P}_}la):RUP#x:R"O! "O!) "O!}o|gRڄPbk:OPRҙPPDM*O*OQ"OPYP}o|g*O#"OgPPDM*O*OQ"OPYïP2R*O! ~#foR>ÏRS>#ÖR(S6`S!}.xSêR ڪRx<>8Syq#cS ªR> cS͎SES ʪRíR:6.`SwRÿ((T>^cS@cS`S~ ‡S> cScS#xS3&$*& ʫS#~+<ʪS= ͔S~=T*&!&"&͔S"&> ͔S> ÔS:&=WT> C&> C&*S^#V#gTɷ!UT!U~TUTUTw#w#w#w#*+|T>UïT>UT ~#=³T!T#~ T TɅo$ɧGw#T{zɝ!ͩ!d2"   !R;!A͑!!A͚!R!!A-!3&!A<!B!-!N!"$!"-!"$!") !*$͈!͸|²!!!"-͑!͗_!"-!]!!ͱ7|g}o|>*!? l!?ͦ! )6#U$ZU/Vh^O4V!p^!Uy#,V+Vh^?p^W8^YMVWYV!U$ZʹV:Uh^:U/NͲYX2U:UYh^x/~ZVZ͋2a^͌ZO^zZ!U6$]g>ͬ^|\!>PZak8^Z(\Zh^!U~+>wh^͢\òZY^h^:UA^Z/<\h^]gͬ^!UZ~_#~W#~O]#4].^]G~_#~|DM!>))] = ]!U~7w?##wy7O*U*U"U"UajSX͈]^JS\E!U^/Ó^ Ғ^7>{_zW}o|g=‰^|g}oڻ^CZQî^ o-yOzW{_xGþ^U*UDM^#V#N#F#xyp^:U:U7|/G}/O!+"6# x+:`i* ">"/##~>;+> 6*s#r w+͊1>2 u+#w+>36*s#rw+6*xDM"+ڍ+s#r#À+! æ+>2:*ã+6*x+Á*~#ʽ+#~+ҽ+~+x 6*s#rw+ɯ2,x_O:*+2,x_O6*9w#w+x,+r+s=,w>#w+Á*~7^#VE,E,!~ѧ7x1P*x1~7!~#fo~ʁ,7,#~+~w}D#wx#1]*KÄ,!9*?>":u,2g>2u:u#..~.+u+w#w+e#*#~6+/]*6#s#r>6###s#r#6@"=#w:uGf?/b!/####~#B/F#N#~#fo~#fox/ LU/##~>O͖,6#p#6 ####yKͶ,+w~39;5!/K~2>"@&0:/3-3>".͊1P*/ 00`i)9^#V!~`-y0#~#fo##A:x03x>". U0^#V#ͩ+3> ".10#~͸/o&"f>2u./ͩ+3> "."0xGO>$6*H"0s#r# !M;N !:͏_!" f[/>2!"Z*:UNwy#Wh^U'Z!U$Z!U;Z͛Z!Z!U5W!U>F+N+=8W!ULW!U>q#p#=OW!UqW"UCW2WW*U$Z^:U^!UN#F\͛YqʮWGXYx —WŽWY!UͺYæWj0 TeB׳]h!I.k W8^YWWY!UqW͋2!Uq#~++w+qXh^DNn"~`35zr1{r1h!I$Zh^yO2UoX$Zh^:UVҁX/OõZ͢\'[Y^\h^ȯG\"Uy2UFo\\!D*U:UOd[U4]|[͌[g.*U:UOze[͌[g.*U:Ur[x<=[{_zWxG)yOHG]͢\ó[Y^D^h^\y+F+F+Fw`h|\gy[:UO|g}oxG-|[}[A]ElaO[!U~Gx \ƀ^w]w+ɷ]^O^x{D^!U6$]wgF\zE\ >ͬ^|^{>2UA]/P͍PH-@]T}_|H-)>-x1P*I&>4ͺ-K3y=d-e#x2#~+Œ-x-xGe#>.xʛ-e#>.xG ʩ->.x#~+>.>X6*s#r+}*W!-K^#V#~.    !> .!> .! > .!> .!> .O*yK !.KF͊1q-x2.H.u+w.#N+͊1q-ڱ.xn.#~+j..n.y. u+w!~#fo#~#w:.ʏ.6~+ž.~ ž.6 «.~«.63ó.ɀ @ PPPPPP H]o&"> 2]!"*#"*#"!:͏_!:͏_ !:͏_!"f'!"!:͏_f'!"!"!"! ͏_f'f'!:͏_!:b*R!"!:ʹw:!w!@ST!$V!$V!rp:!q`!l:q`!q`!h:q`͏_f'f'I f/f!"!4:͏_f'f'!:͏_f'!""f )!""!$͏_!:a%!:Ͳa!b|go|g}o|%'!9͏_f'!""f )!""!$͏_!:a%!:Ͳa!b|go|g}o|%!9a!a|g}o| !:͏   _F !9a%fR.IZ!:rXIZ!NX!l:NX!NX![!:NX!9NX!**X!-rX!9͏_f'!"0!9ʹw9!>w!ͷW2!>W!-x!2bx^"5*5#"7! *9-x2!Sb| ?go2!Sb| ?go|g}o| 2!͢`;͏_!rf'F *9#"9*9*7z| }|ҧ !"0'!9͏_f'!""f )!"">!$͏_>!:a9!q`!l:q`!q`!9q`!>q`͏_f''!e9͏_f'!""f )!""$!͢`!a9a%'!+9͏_f'&9!q`!l:q`!q`!l:q`!>q`A͏_!>"Dfg+*5A`f'*x!8͏_!"f'*-x!2bx^"O*O#`a͏_f'!rf'!"Q!"S!"U!"W!9ʹw8!w!"I!ͷW2!W!"*I-x!tr|!2bx^"Y*U#"U*U)*Ys#r*Y|ʖ*W| *Y"W*Y|8)*U+"U*I###-xf+A!Sb|$?goA!Sb|:?go|g}o|c!9aA!8Sb|ʖ*Q|!P8͏_f'!"Q*Y`a͏_!"f'*I-x!2bx^*U)is#r*U)i^#V*S"S*I"IÕ !rf'f''!E8͏_*|/g}/o|*]6!" f[/yOf'F!6͏_f&,ff'F!6͏_f&,ff'!6͏_f'*|^f!q6͏_f'*|wf!F6͏_f'*|ʐf!6͏_f'*|ʩf!5͏_f'*|f!5͏_f'*|f!5͏_f'*|ff'!Q5͏_f'!!5͏_f'*| ff'!4͏_f'!4͏_f'!4͏_f'*|Zff'f!"_f'!9ʹw8!w!4͏_!"f'!ͷW2!W*-x!2bx^"0*0#`a͏_f'!rf'fR.'!k4͏_f'!""f )!""$!:_f'f )!$bx^"l*l|go*l*_z|4}|go|g}o| !3͏_f'*l^͏_f''!3͏_*|/g}/o|ʏ'!q3q`'͏_'!m3q`'͏_f'f )$!:a *l^$!l:q`_ g!:ai3!gq`g͏_!O3͏_!"f'!9ʹw8!w!"I!ͷW2!W!"D*U^#"I*0#`a!gq`A͏_fg+*Ix*I#"IA!*͏_fg+*Ix*I#"I!l:q`!q`A͏_fg+*Ix*I#"IA!a͏_fg+*Ix*I#"IA!d͏_fg+*Ix*I#"I*_`aA͏_fg+*Ixx*I#"I*p#"p*p*nz|!}|A!G3͏_fg+*Ix!r*S*_"S*U#"U*0#*U)s#r*U)i*_s#rf'f'*O#"Off'*W`a3q`!2q`*O`aq`!2q`'͏_*|/g}/o|'!2q`'͏_'!8q`'͏_f'f )f'!$b| !"K!$bx^"K*K|8)0f'f*K*Oz|A}|l2!q`!h:q`͏_f'!:͏_Îf'f'!9ʹw 3!Aw!"I!ͷW2!?W!"r*r#"r*r*Uz|}|go*|g}o|*r)^#V"Y*K*YR>)*r)i^#V*I#"5*5#x*5`aA͏_fg+!x!rF!9͏_f&,;!l:͏_9!q`!l:q`!q`!9q`͏_!"f'!9ʹw8!<w!ͷW2!<W!-x!2bD\;x^"I*I`aA͏_!<"Dfg+!x*I#"I!l:q`!q`!l:q`!>q`A͏_fg+*Ix!r!8ʹw!Da:q`!w!Y!NX!8NX!rX!r!"f'!8͏_!"f'!9ʹw8!w!ͷW2!W*-x!2bx^"K*K`a!h:q`͏_f'!8͏_!"f'*-x!2b\]*]H\x^"M*M`a͏_2!'!8q`'͏_'!8q`'͏_f'!""f )!""$!:a7!$Sb"[fV*[|ʁ*[tfb@w,D#!*&,,,,!q`!9a$!7af,7!$q`!7q`!q`!h:q`͏_f'f'!:͏_f;!7a 7!q`͏_f'!:͏_f !:aV'!7͏_f'!""f )!""$! aV!7͏_f'f'f*|!a7͏_f'f'!G7͏_f'!=7͏_f'f'!7͏_f'!7͏_f'f'!6͏_f'!6͏_f'f'>2!6͏_f'>2:o&))))))))"]haa!e4͏_a!$͏_'!Z4͏_f'!""f )!""d!$͏_'!N4͏_f'!""f )!""g!$͏_'!04͏_f''!4͏_f'f'!"_*_R¬! 4͏_f' *_#"_*_`a!l:q`'͏_!"f'f )$!:a*_+"_ *_^$!l:q`_Ïf''!3͏_*|('!3͏_f'!""f )!""$!3af'f'*_"j!Ô*l`a!l:q`*l^q`͏_*| f'*l#"l*l*jz|}|_f' $!3a!3͏_f'f$!3a$!3a$!3a f''!3*I#"IA!G3͏_fg+*Ix!r!83͏_!"f'!9ʹw8!w!ͷW2!W*-x!2bD\;!Vxa2A`*x!'3͏_!"f'*-x!2bD\;!Vxa2A`*x!r!3͏_!"f'!9ʹw 3!Aw!A"D!ͷW2!AW*S#"I*0#`a!gq`A͏_fg+*Ix*I#"IA!*͏_fg+*Ix*I#"I!l:q`!q`A͏_fg+*Ix*I#"IA!a͏_fg+*Ix*I#"IA!d͏_fg+*Ix*I#"I*_`aA͏_fg+*Ix*I#"I*_"n! *p^A͏_fg+*I"Iã*Y*Kz|}|ږfs-*t|?*r)i^#V*I"Iã*I#"I*I-xf+*!A͏_*I#"I*I-xf+v!A͏_*I#"I*I-xf+a!A͏_*I#"I*I-xf+f#.d!A͏_*I#"I*I-x!2bx^"yf'*Y`a2q`!2q`!*q`!9q`!vq`͏_f'2!aq`!2q`!dq`͏_f'f'*I#"I*y"{!y*I-xf+!A͏_f'*|*I#"I*p#"p*p*{z|}|Jf'$!ͷ`!2a!rÎ*K#"K!"r!"I*K*Oz|}|?go*|/g}/o|g}o|£!r!u2͏_   f'f'*!:͏_v!:͏_ff'*W`ak2q`!2q`*O`aq`!O2q`'͏_f'!""f )!""f'!$b|}!"KÎ!$bx^"Kf($!8Sb"}*}|ڽʽ*}#$!`$͏_!"+!$b|8)f$!`!K2af$!`͏_$!͢`$͏_E2!$Sb"*|+f*K|8)=f*K*Oz|N}|y2!q`!h:q`͏_f'!:͏_f*|/g}/o|ʑf'f'!9ʹw8!w!"I!ͷW2!W*I-x!tr*|g}o|k!!2bx^"Y*Y|8)k!*K*YR>) 2͏_!"f'*I#"I*I-xf+!A͏_f'*|k!f'*O*Y}o|go*|g}o|k!*I#"Iøf'!1͏_f'f'f'!rff''!1͏_f'!""f )!""$!͢`!a9a"!9ʹw1!Aw!ͷW2!AW!-x!2bD\;x^"I!A"D*IR"!"I1!q`!l:q`!q`A͏_fg+*Ix!1͏_f'!1͏_!"f'f )$!:a"*I#"IA!$͏_!A"Dfg+*IxS"*I`aA͏_!A"Dfg+!x!rf'*`a{1q`!e1q`*`aq`!T1q`͏_f')1!)!""$!ga.%!0͏_f'f'!rf0!m3q`*Y`aq`A͏_fg+*Ix!r!0͏_f'!9ʹw 3!Aw!"I!ͷW2!AW!"r*r#"r*r*Uz|%}|&*r)^#V"Y*K*YR%>)%*r)i^#V*I"I×%*Y*KRR&0!m3q`*Y`aq`!m3q`!q`!8q`!q`A͏_!A"Dfg+*Ix*r)s#r!r!~0͏_f'!9ʹw8!w!ͷW2!W*-x!2bD\:!Vxa2A`*x!rf'!l0͏_f'f'f!r!W0͏_f'f'ff'!9ʹw9!>_!"f!:a*|g}o|.)3Z!DaNX$!:͏_!"!:aU)!:kV!͎V!i3Sb"*|~)$!͏_!:͏_â)*+͢`$͏_*#!`͏_!$b|°)f*"|$*!$b"! *$*!`b$!`b|8)?go)))))Da*$_*#"**z| *}|)!$b|8)ڬ*!0͏_f'$!=͢`$͏_3Z!$rX!/kV!͎V!͢`͏_!a9a!/a|g}o|ʬ*3Z!NX!:͏_ )!$b*"ffvZ͓]:*Zn,vZ͓]:*!"IZ vZ͓]:*!"KZ vZ͓ab!R`*`aq`!l:q`!Aq`͏_f'*|W-*+"*+"*|8),!r!/͏_f'f'f!"!"t*I-x2!/Sb|-!"!q`!9a-*I###-xf-*t|-*I##-xf-f2!Sb|-?go2!Sb|.?go|g}o|.!"t .!"tf*|O./!Aq`A͏_A!/q`A͏_!"f>== ====*I"Iøfs-*t|**I"Iø*I*#-x*|af+A!Sb|a*I"Iø*|/g}/o|*I####-xf+f#.*Y`ab!R`*Y`aq`!l:q`!Aq`͏_f'*O*Y}o|go*|g}o|k!*I"Iø*Y`a2q`!02q`͏_!"f'*|k!*I#"I*I-xf+A!$2q`͏_!"f'*|k!*I#"I*I-xf+!A͏_f'*|k!!2͏_!"f'*I#"I*I-xf+!A͏_f'*|k!!2͏_!"f'*I#"I*I-xf+f#.!A͏_f'*|k!!q`!h:q`͏_f'!1͏_f'f':o&))))))))"]h*]6yOf''!0͏_f'f )!$b|p#!"K|#!$bx^"K*K|8)ғ#f'f*K*Oz|#}|#2!q`!h:q`͏_f'!:͏_D#!0͏_f'!9ʹw8!w!"I!ͷW2!W!"D*I-x!tr|&!2bx^"Y*Y|8)&*K*YRG$>)X$*I"I $*Y*Kz|i$}|&fs-*t|/g}/o|&f+A!i3Sb"g!:͏_*|go!q`!9a|g}o*|g}o|$!".%*#A!`g͏_'!0͏_f'!""f w!ͷW!W!W2!<W!ͷW! W!-x!bx^"5*5#Ã'*9-x!7aw'f+!A͏_f'*|•'*9+"9*9|8)P'!rf'ff'!10͏_!:a'!:a|g}o|''!:͏_f'!:a'!'͏_'!:͏_!ͷ`!8a*|go|g}o|9(3Z!NX!͏_Â($S!l:q`b"*Rd(!8{b" *Ry(!"(3Z!rX!b*"!q`!9ao&|go|g}o|(IZ!NX*|go!ͷ`!8a|g}o|(IZ!:rX!:͏]:+!""Z vZ͓]:%+!"OZ9 vZ͓]::+!"0ZvZ͓]:O+!""ZYvZ͓]:d+!""Z͙Z*D++`Aq`͢`! Daq`! Daq`2A`f!2b++"2*!`!l:a+*+"*R+å+2*͢`A͏_A*!`!8a,A!l:q`A͏_f*|/g}/o"f*|/g}/o"f!:ʹw/!Fq`!w!"!tr*|g}o|n,!@S!͎Vf'E,!rf!"ff!"fff'!q`!9a!9ʹw8!<w!ͷW2!<W!-x!2bx^"*M"*#E-*-xf+*`2>2>2>2>2>2>2>2>2>2>2>2>2>62>2* }2>2 !"fyO///)/(/;*/END OF CALLERS./A:/y/Retype line (Y/N)?,0Input line too long - would be truncated to:#40Use ctl-K to abort, ctl-S to pause.Z0Message not found.o0Message killed.0Updating message count...000Updating message file...0 0 0Incorrect. 0Password ?0Scanning summary file...0Message #    to kill? 1***** End of connection ******(,1From EPSON AMERICA: thanks for calling, W1 typed by you.h1 typed by system - ~1Character count: 1Ok> 1Enter comments; to end, hit C/R.1From: 1A:COMMENTS1Want to leave any comments?1***** End of summary ***** 2Size: 2About:  2To: '2 From: 32 Date entered: H2FTSN2=R2 ) to start (C/R to end)?n2Msg # ( x2End of msg's.2+2 about 2To 2 was entered on date 2Msg #2There aren't that many msg's, 2 to retrieve (c/r to end)2 )2 -change is done under TPM-II using-$5For example, 'R;123' retrieves message # 123.9T5Commands may be strung together, separated by semicolons.-5Q--> Quick summary G--> Goodbye (signoff),5P--> Prompt (bel) togl X--> eXpert user mode*5T--> exit to TPM-II U--> list User file*6B--> retype Bulletins W--> retype welcome(I6E--> Enter message K--> Kill message,t6S--> Scan messages R--> Retrieve message6Functions supported:6INFO6BULLETIN6Entering TPM-II...6A>HELP6For general info, typeLERS 9 to disk...9Logging  9NEWCOM)9 3.9This checking is only done the first time you call.d9Yh9Did I misspell anything ? 9 from 9Hello *9Where (City,State) are you calling from ? 9A:USERS9R9Checking user file...9 - 9SYSOP9What is your LAST name ? :A:What is your FIRST name ? 17:(Prompting bell means system is ready for input).k:.o: s:Welcome back, :A:LASTCALR. :I:F:EPSON AMERICA RBBS:NOPASS:TWL: Vers 3.00 by T. Loker:UT`=C>9/  & / 4 : ? E N Y             g+>     ) / 8 &,PF= j p u              + C O T ] c h z                 $ - 9 F K Q V V *V 4V >V H\ Hb Hh Hn R R R \ \ \ f f f f p p z z z+t@cJUkty$$$P d%d.d3d<dAdJdOxWxZ_bbbhm!&,17@INTY_hqv$$$$ `88888888LL```(t-t3t8t>INS_<(<<< <PDPMPRPdPidrddxxx&,8LQZ3MSG # ( 3A:MESSAGES 3and msg file.*3active msg's, ;3next msg #, J3 9999R3Updating summary file, l3;p3:t3 (C/R for no change)3Enter new line3Was:3Line #?3S3E3C3Aborted3Q3L 3L,E,Q,C,S?33(L)ist, (E)dit, (Q)uit, (C)ontinue, (S)ave; Select? 4Msg full.4To edit,hit blank C/R.34To enter msg,type in lines. Q4Password?]4Subject?h4ALLn4Who to (C/R for ALL)?4Msg # will be +4or the TYPE command (simple ASCII listing).-4the XMODEM program (for intelligent transfer),4Software ex:7A>TYPE HOW2USE.DOC$7For info on software exchange, type:@7A>RIBBSJ7To re-enter RBBS, type:8d7Please remember to type BYE before hanging up the phone. 7+++INVALID+++ 7Password ? 7You've lost that privelege, 7*7', 7I don't understand '7%8BER?SKGWTUPXQL8?/8 (B,E,R,S,K,G,W,T,U,P,X,Q (or '?' if not known)H8Function?S8Please retrieve and kill the following message(s) left for you:8LOK 8A:SUMMARY8Next msg # will be 8You are caller # 8A:COUNTERS8Active # of msg's 8,8O 8A:CAL ()-./02<FPZdnx,688[/N@JT^*45hh r |  !*3<B'2GMV[agmv{I /  %&.&3&9& )3>&D&M&X:DDDDDDDNXX XF  b dR. N j jP lY l^ ld lv l l l v v v v v v v 8!8&8,8187LB`N`VtS`^ bp@@w,FD#*!'*&.,B,hB,F,8J       V\44$4*4/45H@HIHNHSH^pgplpqz    '/" ' ***8=@@@ENS[^gltw((((<<<<PPPPPPajox,,,,@@@@TTTThhhh|$-38JYby )00090>0GDNDdDiDrXyXXXllll %.3<BQXizTh|||| (-0E[`ilqv  \!    0  !D s-J"D ?X    *D <D FX OX TX ]l dl ml rl {        #.K        - 2 7 > J S X a f n !u ! ! ! !4!4!4!H!\!\!\! \!\!\!(#<#P#d#x##x#Nx#Sx#Yx#^x#dx#i#t#}##(3#####+$####### #(#:$=$R$h$m$v$y,$,$,$@$@$@$T$h$k!%h$|$$$ $$$*$$'$9$a$A$F$T$^$%o$o$|$$$$%%%0% 0% 0% 0% D% D%X$+m$+r$+$,$,$,$$,$$,$$,.%L,$8,$8,$8,$8,$8,%8,%8,%8,%8, %8,%%8,+%8,H%L,M%L,V%L,\%`,e%`,j%t,|%t,%t,%t,%,%,%,%,%,%,%,%,0&,6&,;&,D&,R&,X&,a&,f&,x&,&,&,&,&,&,&,&,&,&,&-&-&-&-&.&/&/&/'/%'/4'/='/I'0/P'0/Y'0/d'0/i'0/r'0/w'D/'l/'X/'l/'l/'/'/'/'2'2'3'3'3'3',3',3',3'@3$(@3-(@36(@3(|39(T3I(T3U(T3d(h3p(h3v(h3y(h3(3(3(3(3)3)3 )3 )3 )4")4.)47)4=)04H)04U)D4a)D4i)D4r)D4{)D4)l4~)X4)X4)l4)4x.*N}.*N.4N.4N.4N.4N.>N.>N.>N.>N.HN.HN.HN.HN.RN.RN/RN /RN"/\N./N=/NF/NX/N[/N[/N`/Ne/Nj/No/Nt/Oy/O~/O/O/O/O/O/O/O/O/O/O/$O/$O/.O[[[[ BASLIB #000000 5.30 - OWNED BY MICROSOFT, 1980 M*I"IøDM*"c*Q##"cN>2M2M*^#V"M##^#V"M 2M!?N!!""M!N"N6#6P>2N>2N>2NMÄNMÄN{N_*Y}o|go*|g}o|k!*I"Iø*Y͞2Ͱ!02Ͷ!"͹7^8^!9"NP !^OPO!* QG~~#foD!9"N!Q*NQ"N!;Q*NP!kQ~Input Past En?Bad Record Numbe@Bad File NamN| U*N!U"NA~#*W;~:N*U~UʯUg+>g+>+>+~@+@+@+@+@+@+@+@+@+@,@,rB,|B,B,B,B,B,B#,B&,ZF&,dF&,nF?,nFE,xFZ,xFf,xFk,xFt,Fw,F},F,F,F,F,F,BJ,LJ,VJ,VJ,VJ,VJ,`J,jJ,tJ,tJ,tJ--tJ2-tJW-J:-~JA-J]-Jf-Jk-Jp-Js-Jy-J-J-J-J-J-J-J-J-J-J-J-J-J.J.J .J+.K:.KI.KO. KV. N^. N%/Nc. Nl.*Np.*N^ON!N^O!R"N!O"NP|2O> O6#s#r#='O>2N>2N>2N2N!N"N!$\"N>&2N N.f6#}[O|[Og STOiPyOP*N.. . ........e*N|€O:NO*N|OOP  s#rP  {LQw#6"N*N*N>2NMQsO!9N#FP~#~&P~+,P~#~&P+^#V###P###P|8P~#fo!@Pg Internal Error - No Line Number ÈNP~#Pg at lineO͈PP>ͼP<ڡP͵P‹PͼP<ڡP0͜}͵PҝP}_|W!PG~~#fo>g at address|9g}9gP> ͜}> Ü}~#CToo Many FileUnprintable Erro*Q]N!#S>:SgNw>d|–OQ}Axʐ{\S{`i"N!qS"N!S"NS ,TʨSʷS͘ig*\*Z*X*VS͟ii*ZS͟iͬg*\*Z qS,ZT~#SxdS!Q!>áOTdd͒_tS TT"*TG{,x*TPXtxT!VOz"ycT ʘT cTO{,yTtxT cT{ rT,> rTrTxTxTTt/T"ʃT «TtګT ʃT,ʫT £TtګT ʫT*N( 4:NT{,T6!VdO T+~ T#6!Vɷw#ìT!&N#"T!9"T"Ty2T*'Â(!l:(&͍"*Rd(!D(" *Ry(!"(%(!A !`#*"!A(!9(o&|go|g}o|( !+(*|go!(!8'|g}o|Q}Axʐ{{! ~#fo"W! "WQ|–O*W}o|gڢ{"W*W"W͔e#s#r++sQ{X_YQ͆X_YQ͑X_YQQX_YQ{XÁYQ͆XÁYQ͑XÁYQXÁYQ{X/YQ͆X/YQ͑X/YQX/YZÜXVÜX"ZåXH~# Xx2wg:NVY&YXmkd<͍Y~X}#X|Ymk~X }#X>2wg:NVYF#~#fox&   Y̍YYY~#}YYe&Y>"}G:Nx&Yʰ}*N+~ }&Y>,}W*N#^ ̷YʱY+=ڱY:N=ʱYͰ}z{Y{_ûYQ|Z}AxY{`i"N++"N!Z"N! Z"N2N_Z!QÖOvsz}o|g-Z> }+|"Zð}!N"N!"N2N_Z!N"N!"N2N_Z!N~6#wP n&P ^#V]|+Q!Z#:NʊO*NDMP~#~Z~+Z~#~Z+^#V###íZ2N#|+@P:NʊO^#V2N^#V#"N!"N/\}:/\~:/\]*]#$*]݁́G~~#fo}}^#l]}^#l]}X]&)))P>Ú]>Ú]>Ú]>Ú]>Ú]>^#V#!Zç]ò] GU_]~#fo]##+QZ+Q^#V#Q]Q]Qz^|^|$K^#V]^#V#/^p2NQQP^Q~͇^}|ÖOQ~^Q͇^d^^:N^!DQ݁̓ë^:N^!HQ#:\2\:]^^:]^^|/g}/o̓:]^!]^U_^!!QÓO:]Q "a~ʖO#~#fon&eQz>a}̈́d~;as#1a!QÖOQ|–O!9>dabout Q"Z>ÇaQZ>ÁaQV>L~2wg>!Xa}mk>Xa}~#£axd>a>a>a>a>a>b!+>a>a>a>a>a>bb~#fo##GN0by0b#~#fo~#fo9b#/b b y9by<.Cb)Cb)ee)\bx–Oűgb y<2RbF~ڱbڱb#~#foyG~O #~#foxʵb¥b#”bõb!Rb4 ‘b2Rbee*Rb&~eo&~ʖO#^#V++eo&Q~<ʖÖ́d~#~#foG̈́dx#N#F& dd͔ee*of*qfZ~Cef=e͔ee###$eieg during G.C. ÈNieg ÈNg Internal Error - String Space Corrup#N#F*cyxe*cyxe++`i+V+^Z~^e##6+6+~6  >@++*!c"!cs#r+d*c#~_#~Wf!QÜOr+s##6"c###!!c~#fo+fZ~f<*c"c*c}o|g6@#s#r#6"c*qf*of"!c}w>#w##Z~Vf++6+6#cPcDzf>2sf|µf+})N#ұf~#fo :sf¤f!9"N!N4 ~G~#ÖO!N4!9"N^#V#!N~wځO!9"N:]f:\f!g#͵ph*Z||2wgmhajoi L}ͧggq>2Pg`hpi~&p-i+i+ͻpڮj.TjeiEjͻpliLiqiQj:wgj>j~%aj#rj!sjdjD3j|jͻppͻp!k3j_{_jj7j~gp!|hyip 3j|jiͻp!|h!i3j|jͻp3j̬ggphIh=pCh&h }[|–O}*N[<[\}[|–O}[|!\!*N#n&]+-.-ͤ\\\ͤ\\\ͤ\\\\ͤ\\\\ͤ\\\ͤ\\\ͤ\\\\ͤ\\\\\\^#V# ]"0\*0\\ê\\^#l]\\^#V#]ð\"2\~2/\"0\Q*2\*0\:goW*[|7g_:Z_+>(_|/g}/o1_!F_G|B_9_o& Gȯ|g}oI___>l_~+~?~w_+#҄_+ _Qd_~##++Ĕe>L~+V+^+ʿ_+r+seQ͒_~d1***"_"_*_|–O}ʖO ږO+<_{*_`~#^#V`i#N#F L~*_eA`#N#fih`~#N#fiL~eFOO`G#~#fo#~#foxL~yh`e6 #h`QږÖ́d͒`͒`ee~#~#foL~Q|–OBK`PYQ|–OBK ` o_ð`Qz–Oz` `_`o}`ideDML~6+ͻp͘igee4Passw#c&c)cS,cj/ct2ch5cL8cn;ch>ctAc(DcRGcoJcAMc)_!c4`c5*c"c~#N#F#ڠczc G~ccyx҅c cc+++6@#yw#xw+++6###!c~6ڱcc`cd*c#~#~`c!QÍO!*c"c~#^#V# dcG~c|cc++~_w#~Ww#cc*cDM~#^#V#jd*dd+zGe+{Ge##{z~#q#p_dy_dx_dDMd~#_ddYP+++"c6@###{_zW+r+sɷʹd*!c|—d!QÐOPc^#V+"!cw#s#r+++r+s##!dd*of{z*qf?d}|~# dyG̈́dxL~~͜}#= gg~͜}#gG~#7g#)g++Bg0:MgÜ}left for you:8LOK 8A:SUMMARY8Next msg # wpg*Z}/o|/g#"Z|gßg!\~wɯ2]pg̓g*Zgpgc>>ui~pN#gpNng!`g>!`V2g# g!`݁!`ht>>h>|}+!i͢h͋+6!\>&2U!iØ!i!`~_#~W#~OՇ&!Yp#օuhɇ<o&g*Z*\ͥh"Z`i"\!Z^#V#N#F#!i$Çx{Ҹ!^6͘wg> ܇h:wgGw#hhh!`hZpVgIhh~hghj͇h~hah{ 0k0_&jjk!\pJk:fKkyjk:^fk:\jk:^/jkòqkxk6+hk6-~g#60:zgW:wgmmlp!TgF :zg_ kx*k{kAqͻpkEkDk0k,k.k+60{k+:Nw{+p2zg!Tg6 ͇h*V*X2RgͬlE~Ml:-l0-l #~l>DGl"V`i"X#~+ʔl-kl0OxGҔl#~Rl`xE‰ly =l>2RgÙl|=lÁl=l"V`i"X͗h#Wͨn:RgllllGo60̬hno+~0l.Ĭhmp>"w#6+   m6-/</ m:#p#w#6!Tg#zҝm:n?ozop{$h=oͦkLmp#6!Sg#:xg~ Qm*Qm+emͻp-+_:N{0•m#ͻpҕm++wʋmRmʕm6%Anʹm]p hmmk+6%mhmhĨnm_xo2ono+oZo9m_yęjmjm{_xno2o&noy^oOoGOno1n*xg=oPBmͺgѯGnh7ĨnyęjOzWOjgnun/<O #~goPY!' ůwͿt:Mͅwʫ{=ʥ{=rѯÖ{<ʫ{!% ^#Vr+sQ}w!: u++@ʨ{y@ڨ{Ҩ{Hr #]u~.6uIu7"u##u2Trez ʨ{ڨ{> Iu=u> bu=uQtqHr<ʟ{!8rHr> L~t:Hr!8r®{Hr<™{8r*ir~ʍ{#N#F++e OuIuR{*kr|u!"kr}_Ax vx{Axœ{zt y"N#Hr> L~66Ϳt~Uv<ʫ{jv!)ңy)#äy))Ҳy ұy#=™y}_}la)ڮ{y#x®{"y! "y!) "y!}o|g{{ybk:y>z{{ z[zDM*y*y͒z"yPYZz}o|g*y#"yy[zDM*y*y͒z"yPY#z2z{*y! ~#fo{{s#rz:z{ʎz!z!& òs~# x“zDMzʢ{z! w!( V6 zzwzʢ{z! ~!z! ^#V! s#rDMz|gN*N }#~+<}=ܰ} ̇}̊} 0}4+~#<_}=ƒ} ʎ}pN :NG\}pNO}:Nx}<2N*N"}!}"N ʎ}wN*N654> }~=Ž}*N!N"N}"N> }> }:N=}> wN> wN*}^#V#}ɷ!Z}!V}Z}V}w#w#w#w#~>V#~>Z~ ~#='~!~#~ :~ :~Ʌo$ɧGw#P~{zpot#mhoMp hn=60#o+oZo60#='o{ Zo/>gҗo>gp#=Žo!V͔hogh>ʹh͗hp?Zo͢h/{_#zW#yO++oUh#͗hp#o> pp>ZoN#F#*Z/}o|gp"Zp#= pZow1_cƤ~@zZrN vH Tʚ;@B''d #~: ʻp ʻp ʻp0?<=:wgp7-++ͻpxqOqHq"kr}Ax8s PY.s!%s`i>Çs!' ~ĺrͿtxQ}Axʐ{!&Vs! ~+ngQ}Axʐ{! n&*N~ʊ{ʟzDM'~̷r4N#V pʫszw w+s#r#6#6DM:Ms!" s#r#6t! {zVtqw<t<ʫ{!! {w:z{(t͋t!! ~q!) ItͷrItÁ{~#Lt*N~z( ~vt+~#5O ~+~ʂt͈tXt7>*NT]% N#F+q#p###6  tͿt:Mͅw>¸t>w+w!(Vt7?*N' 6#67~ʨ{#^#fk_uN#~r!Iryw!QrywqHrʟ{O!q  ~#|yLw~ Iw>.| 6w:N W:New> |||Hr&w~*6?# }wO!!4w#4w#4y"²wʫ{><"ir>2N!{"N:N<2N*N"mr!x"NQ"krͽu*N|w##nrw.r*mrQxQ2or=y"pr=yQ1xQ2or>y"pr>yʐ{<ʐ{=_!N~#foex##{{x++Qx*N̈́x"Nq#p#s#4#5++###DM !N"rr~#foʽx+V+^##*kr{zډxBK^#V+*rrs#r! DMx*kr DMes#r# 6# xx !NT]~#foʐ{xxyx~z{{}Axʐ{{{`i"N!+{"NX{t!Q!>áOQ|–O,R{-:Nʐ{*N!gN"N{̈́df$%v{!o{*Na{|}!"N>6>4>?>=>:>7>5>2>3>@>C>!Qo&áO+Q!"N!V"W{:jV{g?{p}|:|>\2|{{|+ |~||+||||!V2|!|}O{:|7|>\|2|yʡ||7 | ʡ| [|{á||{y|{|> |>|ƒ|># |œ|6|!V|| |x<>ʬ|yq#| |> |}ʹ| |!|:jV|wPÜ}>^|@||~ |> ||#6#h͘gʣ܇Oʨ!!\y# +“܇?͌ͬc͌Zo!`͘-:]܇:g/N&@2U:V͍܇x/F+N+=¬!`!V>q#p#=À!V"~ͷͦ͒*~͘ʓ:]ʓ!fN#F|q   "GTRx Í!\.j0 TeB׳]h!I.k ͌ͬci͌Z!`[!]q#~++w+q„܇DNn"~`35zr1{r1h!I͘܇yO2f͘܇:]o/ |ԅ{>2]͵/))҆ =~!\~7w?##wy7O*Z*\"\"ZajSXʓJS\E!]ғ/!m9>2]92U>U>>Uͩ:U !M9ͩ!9!͔͔0( :U!͔͔0>5(>12O: ͩU>)=<<2͖Ā,Ͳ(ͺ2 !Q9͔:=2 !͔ y3yO˗1 y͔ͩJ!b*Uͩ>2}(͔ (:=2 !*JJy!*ͩ!}(͔(͉ ( #( ?(~ ?(02Jͩ!>(=<'wer Program, V1.34 Waiting for the phone to ring....... (ctrl-C to Abort) Can't run with FONT active. QX-10 Signing off @  ENTER THE LETTERS SMC AT PASSWORD Password: Illegal Password. Aborting...... QX-10 On Line @ [ ==>> Please Type "BYE" when done. Thanks.] 20:56:16 - 08/30/83 (Connection Number 00)Ringing....... Please TYPE 2 CR's >> Bad response from Hayes Smartmodem. AT V0 AT A AT X1 "zͨýw!95w###w+~+w#~w#øERASE ?"LISTING ALL BY SECTION..." USE BBSLIST INDEX BBSSECT REPORT FORM BBSLIST ? ENDDO &X% 1610,LOUSIANA BORDER,I-20 IN TEXAS,5.00Nb% 1785,VICKSBURG,I-20 IN LOUSIANA,0~l% 1965,ALABAMA BORDER,I-20 IN MISSISSIPPI,1v% 2100,BIRMINGHAM,I-20 IN ALABAMA,4.2 -1861PMS APPLE WOODLAND HILLS SFV 213783-8373LAACE BBS ATARI VAN NUYS SFV 213842-022Zo!`́y2f!\~~q+q=NsY+2( W~w+G@!\Dcͬ!Vw#i܇z}ͯ̓õͯ͋!YF#^#V#Ns͵}`~#G++NyVÛ!Zͬ>ʃ[ՇÇ!^6͘g> |Y!>ăakͬ͜܇!]~+>w܇&͇܇:]ʵ9/O)Û͇G܇ȯG|"Cy2EFo^g!D*Z:\O؄]4bg.*C:EOzلg.*Z:\)"ejSX))ch|>{_zW}o|g*"8"6x!6~w#NGZ{[J!]qx!]F#~怩Oõ 4fgo"Z"\Çs#r#q#pՇ͇͸Շ"Z`i"\*Z*\DM^#V#N#F#xy:]:\7|/G}/O!> 7>{_zW}o|g=|g}o/CZQ" o-yOzW{_xG2Z*\DM^#V#N#F#xy:]:\7|/G}/O!> 2\:]^^:]^^|/g}/o̓:]^!]^U_^!!QÓO:]goW*[|7g_:Z_+>(_|/g}/o1_! 2\}(͔ :\=2\ =!M>(=<0w#0wk>a{_Ͳ z =Ͳͺ(>2(~(͔#(ͩ:=2 !|921!( 5!h>%=x<ͩ>}|>,={<~(~#~#O:͋>U= >d`= z &1!&*. ͡*. ͡*.͡11ARIBBS SYSdF SMCXFER1XFER2 Auto ans*"*" *"*"* "*"!F"!:" !u"(y]!t~6((((ͦ͠2t(>_ !!# ABYE SYS=G<ûf~ͭ_is#}ease Type "BYE" when done. Thanks.] 20:56:16 - 08/30/83 (Connection Number 00)Ringing....... Please TYPE 2 CR's >> Bad response from Hayes Smartmodem. AT V0 AT A AT X1 "zͨýw!95w###w+~+w#~w#ø7BLUEBEARD'S BBSPIRATE BBSBURBANK SFV 213341-5962PIRATES DATA CTPIRATE BBSCANOGA PARK SFV 213829-1140COMPUTER CONSPRMAIL ORDERWEST LA WEST 213296-5927SOFTWAIRE CTR. RCP/M WEST LA WEST 213653-6398HOLLYWOOD RCP/MRCP/M HOLLYWOOD LA 213649-1489IBM-PC BBS IBM-PC CU    or you" ?"can find all the ones in a certain area, etc." ? USE BBSLIST INDEX BBSAREA, BBSTYPE, BBSSECT ?"OK, I have the list here now..." ? ?"The following fields ar Documentation for dBase ][ routines, database, and supporting files designed by David Bartholomew. (The dBase ][ program is copyrighted by Ashton-Tate, Culver City, CA). BBSLIST.DBF Database file of bulletin boards. BBSLIST.FRM Report format file. BBSLIST.CMD General "list everything" file. BBSSEARC.CMD Special search options. BBSMAINT.CMD Sorts and indexes the database after updating, deletions etc. To use these files, put them onto your dBase ][ data This program will let you know what fields are used, then ask you what field you want to search by. It then asks what 'string' you want to find in that field. The program then lists all records that contain the 'string' somewhere in the selected field. For example, if you wanted to find all the 'RCP/M' systems from the list, choose TYPE as the field, and RCP/M as the string. To list all numbers in the San Fernando Valley, the field is SECTION and the string is SFV. (See below glewood, Culver City etc. 714 Orange County, all 714 numbers. 805 Ventura County, all 805 numbers. SOUTH South Bay, Long Beach areas. Types of systems include the following: RCP/M Remote CP/M system. HDOS Heath system. ATARI Atari system. APPLE Apple system. PIRATE Pirate BBS. MATCHMAKER dating system. (some X-rated) I wish to update the list from time to time. So if any of these numbers get disconnected or you don't seem to get an answer for several weeks, lee available:" ?" A:C area code" ?" PHONE 7-digit number" ?" NAME name of system" ?" TYPE type of system" ?" CITY where number is located" ?" SECTION general area where located" ? ACCEPT "TA EXC 1BBS REDONDO BEACH SOUTH 213428-5206DRAGON'S LAIR PW=DRAGON LONG BEA 805 714990-6747BREA NET BREA 714 714220-0239DYM MATCHM disk, and invoke dBase ][. "SET DEFAULT TO d" where 'd' is the drive the data is on. Then "DO BBSMAINT" which will create several indexes and sort the database. This process takes about 2 minutes or so depending on how much is in the database. After that is done, it need not be done again until more numbers are added. To list out the whole contents of the database, just "DO BBSLIST". This will display the whole entire thing. For a special search, "DO BBSSEARC". for a list of some section names that I used in the database.) To find a bulletin board when you only remember part of the phone number, use PHONE as the field and put in just the sequence of digits you are sure of. All fields are 'C' type, not numeric, so this kind of searching is possible. Section names used include: SFV San Fernando Valley incl. Burbank. SGV San Gabriel Valley incl. Pasadena. LA Central LA Area EAST East LA County (Whittier etc.) WEST West LA, Int me know so they can be deleted from the list. Also, please supply any new numbers you get, along with complete information (system type, location etc.) to the attention of David Bartholomew, #81 Mog-ur's BBS at 213-366-1238, and it will be added into the list as it is updated. David Bartholomew, Van Nuys CA.    _QX-10 Bulletin Board Utility, Ver. 1.07 - 08/06/83 - 11:37:49(C) 1983 by Rising Star Ind.!]~R( S(O!N@E#~ (B ͪ !+/:l ͪ !uo!T-!Ë#~ (1B :l0=(4ͪ(/!~#(A ~(: !4"r:l0=(ͪ !.Ë!ll(0O!4"! ~ (!D"@(8!",2!1(ͱ(!1!{!!!COMSYSSUBASECRET CTL!*(#(~ a{_ z =GQX-10 Sysgen Utility, Ver. 5.20 - 05/11/83 - For TPM-II Ver. 2.40 1__> Z> ~Z#2u_:uOͥ!$' *:i  *k! "o2l2hf~ $(@(H( P( !iÜ( P > 2h!"q!l~ N4͊:h2m[qN:l=( v(=(N!m~0 y2i4!m4*oDM[q"o͒2t:t 8!iY( Ü<2t:mO͎:n(͚͖!2j!~#+#O~:yBN2k>2jAUTO! i:g!NiMY( N(=A89OyA2 yt $`!xint Disk ERROR. Retry? Type return to skip, "Y" to retry, or "N" to ABORT.SYSGEN function complete.Do another? (Y or N)REBOOTING TPM. Type return to proceed.You just altered the SYSTEM on A. ***** COLD Start TPM! ***** NOT STANDARD TPM Disk!Last address = 0000H Which Drive do you wish TPM to be placed on? Enter A,B,C or D (or RET to SKIP) > B1! ${ ͍M>DK}@|@>AA>`H>O>Fͽͽzͽͽ{<ͽ>ͽ>ͽ>#ͽ>ͽ4/@(z =ͮ!~@#~>ͽͽzͽ>ͽͮ:o(!540 4@(540511/04/82xKAãW_Q(O! 9+r+s !%9͜##Ĝ(!9s#r###q#p!%9^q#Vq#{(~#_OWGy(@͞<~#~y! Zapple QX-10 V4.20 <!#!S!ai >" )2G>(#~#O ACORNQAZCMC Sorry, this system will not receive any "." files on A: Drive. Can't send files to "A:" Drive. Aborting. Can't send files from "A:" Drive. Aborting. Illegal Password for Protected file. Aborting. File is protected from transfer. Aborting Illegal XMODEM Command. Must be "S", "SB", "R", or "RB" only. Xfer Password: Cripes There is no such file. (maybe on other drive?)4^H0$ and load address - ^H0$  œ2nͪ*o!Ki`!:g(!i:j:kMY( N([A8WOyA2 yt B`!i 2͎͖͊͒!!n6ͪ*o!Ki2g`!eiY!z:u :n(!i>t~# (z{!iw#Ɛ'@' `:j> MYN  SYSGEN [for QX-10 with TPM], Version 5.20 Get system? (A,B,C or D - RET to Skip) Source Disk ON A. Type return to proceed.Put system? (A,B,C or D - RET to Skip) Destination Disk ON B. Type return to proceed.Permane> ˏO G(yO@>GFOͱ<>!g͘( 8A0o~#fo<(g"IV0͘!͘= _͘&i{=))# :ɬgO> 2͘O(I y _ØK}=y<>>=s~͈ͣ8G 1q͈0<( !49r+s (,!59x( q#p# w#>8 >2(!"){!/96(6!91~͂(wO#+N~ͣ( _(s#}+>@    s ~ 0>.O͂1 F͂!v8<' !80( ~##͕(}x(|~N=͕~(v*o#~#G?o&9##p(~+ng~ͣxã!M9+e3 0y=(  #+͞#!͞ :gKy ,2 >% (G2y>o(W(y=(==(@(.o y<yG0(è͘O(I 3X#>O5MY!N#A<1*<xͣͣͱ͘!GͲ8 ))> =>) > !U} | > > > > o@h4 DyxG!ABCDEFH0L/MpPSIA B C D E FHLMOXYR!~8 y968\8ey= sT JMY WB. U6+!?)(((^(q(j(k˞˖˾͑V(6y0> >2CͺG 0py͖ͫ:2Ͱ̀2*>p9}8|8[P`h( K K y Oy82P2!4~P6#~<4֜ ( =(= (=M:<02Ͱkx (V (E(y U((F (ˎ˖(@ 0 .0=654321+987-* zxcvbnm,.asdfghjkl;' /qwertyuiop<>234567890-=\1 ZXCVBNM,.ASDFGHJKL:" ?QWERTYUIOP[]@#$%&*()_+^!  ,. :" ? #$%&*()+! Ϋɜ̲ {}`|~ ϵ˜ͳ Ö ͩ! > >RÌá×    s 1 a{ S 8͇!~(  (+}o y !" R{_(-! ~(>#~#fo* R8S Hy H>[ #ɪ> =>*<> =<<> > > !")"1"9>2(2028r:2k2!6>22͡>F2ɐ2ҜpDٮll(PxРΪ͡x=(!*A~ 66ɯA w!'!~ wwkette is Write Protected* Type RET (after removing tab) or CTRL-C to Abort > !b11 No System on the BOOT Diskette. Hit any key to re-try > !Ϳ=<# > =<8O> = =<<=~#T<> = <O ( O͟!a#rra#r 0a 0:8(2ր>2ɯ͈#|7{zR|ͣ}ͬ70? ? -͘ , 7? G(=(= ( W:`(O!`5#T]~#!~6#~(8(:a(ɷ>s18s>8>  {{!`2(~0 # G>,=x~#~>2>go"0:(=*}PR"k:<Y2ɯ2:=:O>Oo&,:J<̀!"kͽ!̓!=!O>L>8}8|8 ͽ>J9>88> 9y8:8*P"y>I}8|888(9>2i>K>8>D8>I82!O8G>Gyo0$~!8(N ~ >~(˾>yy8B >G> N(~w>"=~F!>2.(ͣ$|{8_ ͬM>DK}@|@>AA>`H>O>FA(>zy{<>>>#>W4/@(z =!~@#~0>z>:o(!540 4@(5405èWâL07/23/8300:59:33!Xy2!!yªOw>2 F:(y/(PF ͊2·ey7y"X(F(:2O!:· >22O 6A*u"u!X(:!@PyG:kOx( 88<<8nfDM!ŇO!q ~#fo! N#F+Ns#r!a (~#0GGIllegal Function CalBad filename in FCDisk allocation map baCan't Log in that Driv!1:O͊( @(( 8( *The Dis405y22xů20Nv(z0 >21V(9~21ȷ(  =9= y2/{8_>20~_"PAǷx(Ͳ>F>E :2O:0ȷ(y z ȯ~ :0 { :1 = :/ > > !Y~@#~n>V>f>~>J :2 > :2 z ͚A>2@kǷ(>d$= :@= => :2 ͚Ƿ:Y 00("$PkǷ(z == kǷ 0>24> :2 40523 :4= > :Yo(@D`MyK:P@:Q@>A:1=AxH>OH@>4@ z = =!Y5   40O 4@(5>40y5z x~2R"`e2ϷZ!R5 :ϷH{.N .:G~=ݶ"N( ӆۇ@@ |~:0n f!ۄo{ӄӄۄfۅgzӅӅۅfxӃӃۃfR ~=/gۆo:_ʤ(<*` (,> Ӈۇ N((ہۆ2_>ӆ~&Ӂ>0ӇN(G>pݶ#Ӈ= ۇ ۇ(ہ:_ӆ>>>'=<H(*>ӆ x ۇ<(H(ۆ ><= =͡>2-!"`! |ȷ(@Z|ȷ(Z!|ȷ(>2H>22A~f v(z>0>2A> á"M2!:A·=2O:A;=(;=(;y2%8*)))):A()}ox==T(͇2$S1:%2+*"':$ϱ2$w/2"[1H(N:Ϸ(!?5>2?͇ 2#2$2!"/"1G>'=<(!B1=x2":OG7/O:#ϡ2#ϯT :$ϡ 4H :#ϡ ):%O2#$ѷS/:%2-:!2#Tw:-!*/ :+!*1O:%ϑR:OG7O[M:O<= :"Ϸ*'nfv( :20!"@:$Ͻ[1K+!(p:%y2%Hx2% :$O:#ϱO:@ι(S/:+O2-ϯ2#$̷ =:A·(C) 1982_O &> >  02_(2<2<2<:=:!@~6#6A!"e@(G!a6e 55!5o~ѷ("e f g!(͔2͔ e" [*R8  u+͔2" ? !͍S, [SS ( o$ɯ!͍ͦ$Cͫ8GLO>#6?= ˏ!SYS!COM% | | og}7|}(7u(8?mȸo(l&͢!f5 #~#"Y2w 2S&2ZzAll files (Y/N)L777!8~8 b w4!ͦ~ !=G*Read error::LLOZs(9l&zS()|(+!ͅl(*Can't closH&+*No can d@O F!,͍=LS!,~Gw>G(!>( <= ~w2~zGFile exists:&"&PICP V2.07- 03/01/83>ͬo R7͍(rS< \ͫ: 0L͍SåC& !NCå!~ 6:> (   ͹2 [ !y ~ /G y 5 6 8(4 :K $ȷO[ ^[@O!~/w !~#w#6*:#w! *#6ͭO( O*#:w ͭد22T(( h!45( (8>~5<7:> (O~ 00 (F 'G x :+~ 0 ( y/G͘  #ͭٯ ((+x<=#~ͺ!4w 0  ­O[͘:!AODiskͭƐ'@'O!b:G=>( !G+wy{R[s#r #" ֯>ӆ<ӆۇP>ӆ!@~ P!(!4# ~2FV ^ ["!y~ 2 0 ~2#~2n f+"# i(,&V i(,}!G7" *++:G>0 <G[+"<#":!˷ #:#0~2 ~( >2>2!( k!80)>)R8#= ?>2y22͠!5 :28:Ϸ rޯǷ:3w ƷN!_~(!!l:Ox('~G:$8 :AG:@2#2$ϯ$2" There has been a FATAL disk error #1. @ (@/P (@_@w  @.@ d2@.7@ d2@.7208/03/83 - 23:52:00 - 1.41XXXXXX1 y2 @! q#A>2@1  :A >> ͍͢ͅ(ͫL;L:c! ~(5 # (~ #y70GAmbiguous:~# 0O! ~#foDIERASTYPSAVRENAMVERPROTECSPACTIMMASUSEEf/|5ՙqOcc!E0+~H( E8OC8LWz~#0 ??:`O!ͦ~ͫ( #6?$n} >22ѯS2G:0N :==:0 +x]˿x 0 > +:0>>!V> !,~z&͍088   $% L$% 22ͫ~ l&$n&Userͫ~ $^V!~7#8N#  (| +No spac Left >K +:2'd }0GЯ 2:=42<(:(=O2O:*?G* ~ݦ_x(7~( ^(#V+S+O* *+F)7:*o"+! K ~2*! ~2)*#}ݖ|ݞ"O}2VڷͤBw Dwnf#B0 DMy8 * #N~(#~G(͒F    E*~ w#~ wNF"w͝ۯ2Hl*|<#~  X* #~?  qwgy>K !/q*"0H *0"K*0"l*"|<}ʉ͉*(D~ ! :/=( *# :/ #~/O~?~?( =*v(  ~~Kͧ + t:<`06>͌͛P!^*K! ~ݦ(ݖ ! 6! ~/w! F6#Nwů#q+pV>Kͧ*"'Q t:<['HG(wO #?(wq(###wͥ͌͛ ͤ8x !6͒C+q~(#p! 6#~= >ͧ*pT]*+~G/O:*2*d*+#"+2*"+ͅ:?d:*O!)8 q y˾y t: : =2*2t y2":" 2">1:"2>22 : <(=*w:2!!:*-wOͽ*#<"#*%^ <"%"-*-7"yL˅}o><0= K ?   2 =2:!2 EK*BKCC$KgN/F0*[p(D ( (m(5ˁ@8@w: #*(08 0xGGG  y2 !#"!T"!: (."ALIOS V2.45- 08/23/83#XXXXXX222!͖B!"#:! *#""}2:!ÉE""*9/<:*xͧyͥzs#GͰx0w#K >9<*"3** W!S2C2W!~<6> ( <SYSCOM#2 *3DM͚5: "=2: ͚{5*3*}ЇO! K{"?"C>2: :!w#6E*%"K*ú:!O"E: ~w>2 XK!! ~_~#~W! ~/ng}p(  P;Y^cÀhöQÈÐF`ÁF i` n&ydO10o(>B:jO; !"!"2̀ !4~* ". : 7!h~ˆGQ2 >2!"2!"!".~OLt1Ͱ2O!=1:kĀ !!F6'x!!~#O !!!!X!"D)Cy2CF^  a>2lC"x *F![:#G )K"x=( =y=[!((Oy  :>r:<>)>8* yw > K! ݦ_(~/w! s! ͡y~++r:<> U* ͡r!4( 6@ 0f%*!"t:<"y#w (Y:<~K(! ݾ(4:< ! w#! 4r:< y͚ :< < WyX>0W:*!)8!6ր N!~(62*~*+| <?d! K :*w: 4! :)wX0W:*O>0!)y0 *~1zwy~(+(+GN(#F چ>PYnfR(x( (BKͤ86x22D . ˱D}Og#p#:2w#p"ym(#* >?w? mxx#6  ͒ 8 ! ɿ=_.:;<>,[]a{_!~(C~r! GNs(=ͅ!46 - >(́ͅ!46>K! r! s2 ,͡ t:<> W###^͌!4( > Ѻ8!k`X:* s#r#pK! V:! !! w#r#6ɯO<2< g>'=<>N0 ( :m2m TPM-II for QX-10 256K V2.40- 08/23/83 *Bulletin Board Version* O ! ! F#N#V`iO!H!B! N:&{$ABYE SYSABYE SYS[ Hard=A thru @] [Floppy=A and B] :k@2U<2a<2g!G1>!2     XMODEM.HLP (Help file for XMODEM transfers) XMODEM FILE TRANSFER INSTRUCTIONS ================================= ALL files for downloading are on the 'B' drive. Use the DIR command to list files and size: B>DIR - lists ALL files and size B>DIR filename.typ - lists individual files :The Software Needed at This End and Your End-- You must use MODEM.COM when downloading from this system. Some RCPM (Remote CP/M) systems allow you to TYPE all files and then to save whaM2, MODEM4, MODEM527, MODEM216, CMODEM.C, MODEM7, MODEM73, TRS-MODEM, APMODEM, MODEMH89, MBOOT3, etc.) which are available from the CP/M users SIG/M, or from many of the software exchange systems listed in RCPM38.LST file on drive A. TO SEND A FILE FROM THIS SYSTEM TO YOURS ---------------------------------------- Type: B>XMODEM S filename.typ You will see: XMODEM ver 4.6 (CRC capable) FILE OPEN (xxxxH) Sectors Send time x minutes, x seconds at 300 ba==========* * ALL FILES LISTED WITH A "Q" IN THE EXTENT ARE * * "SQUEEZED" FILES FOR FASTER TRANSFER. IF YOU * * DO NOT HAVE SQUEEZE AND UNSQUEEZE, THEY ARE ON * * THE B DRIVE (SQ-15.OBJ & USQ-15.OBJ) FILES * * THAT HAVE BEEN SQUEEZED MUST BE UNSQUEEZED * * BEFORE USE. * *********************************************************** NOTICE: AT 300 BAUD YOU CAN TRANSFER ABOUT 100K OF FILES IN Odoes not have to be same as the name of the file you are sending. But be careful not to try sending a filename that already exists on the A or B drives. This system's "XMODEM.COM" will abort the transfer and return to the CP/M command mode. ********************************************************* * IMPORTANT NOTE: * * Make sure there is enough free disk space on the * * drive -- use 'DIR', to check disk status. * ***********************it. Thank you, --Steve Sanders-- g a filename that alreadyl abort the transfer and return to the CP/M command mode. If you want to send a CP/M .COM file, you should use the CP/M filetype ".OBJ" when telling XMODEM the file name at this end. It naturally doesn't have to have the same name at your end. If you do send a CP/M .OBJ file, please also include some comments (documentation) about what it is, what it does, and how to do t you see on your screen to disk or print it out. Here, that will work only with very short ASCII files and a couple of vital longer files, like MBOOT.ASM. To TYPE out MBOOT.ASM use this command: B>TYPE MBOOT.ASM P Note: If you do not use the 'P' subcommand, the listing will stop at every page. You should have a copy of a program called MODEM.COM installed on your system. This would be the object code of one of the versions of Ward Christensen's MODEM.ASM (MODEM, MODEud Quickly initiate the "R" (receive) option of your MODEM program, be sure to follow "R" with the filename. TO CANCEL XMODEM TRANSFER SEND A CTRL-X *********************************************************** * IMPORTANT: XMODEM WILL NOT TRANSFER .COM FILES FROM * * THIS SYSTEM TO YOURS. ALL TRANSFERRABLE * * .COM FILES ARE NAMED .OBJ CHANGE THE * * FILENAME ON YOUR END. * *===============================================NE HOUR. PLEASE DO NOT STAY ON ANY LONGER THAN IS NECESSARY AS OTHERS WOULD LIKE ACCESS TO THE FILES AS WELL. TO SEND A FILE TO THIS SYSTEM: ----------------------------- Type "XMODEM R" filename.filetype, then go into your system's local mode and type "MODEM S" filename.file- type. For example, if you want to send a file called "MYPROG.ASM", this system's command line should look like this: A>XMODEM R MYPROG.ASM The name of the file that this system is to receive ********************************** Please do not attempt to send a CP/M .COM file. This system's "XMODEM.COM" program will abort the transfer and return to the CP/M command mode. If you want to send a CP/M .COM file, you should use the CP/M filetype ".OBJ" when telling XMODEM the file name at this end. It naturally doesn't have to have the same name at your end. If you do send a CP/M .OBJ file, please also include some comments (documentation) about what it is, what it does, and how to do      RBBS/RTPM (BULLETIN BOARD) The following is the on-screen presentation of HOW2USE.DOC to RBBS callers: This system has been set up to transfer files among RBBS users. The RBBS systems are intended for those who wish to share PUBLIC DOMAIN software, develop a communications system for private use, or to meet a fast growing group of new friends with a common in-  the [CTRL] [E] is used by the MODEM program for EXITing back to the caller's system. The [CTRL] [S] may be used to pause the output. Any key starts it again. To RETRIEVE a file FROM this RBBS: XMODEM S . The system will look for the file; if found it will print file size, transmission time and prepas system. You may transfer again, as many times as needed. To SEND a file TO this unit: XMODEM R . The system will respond that it is ready. Type a [CTRL] [E] to return to YOUR system. Then, evoke the MODEM program on your machine with: MODEM ST .  terest, personal computers. You may do any normal TPM type functions other than PROTECT and RENAME. The Zapple exit trap has also been disabled. The BREAK character, which is normally a [CTRL] [E] has been changed. The new BREAK character is [CTRL] [F]. This is used to abort a long directory listing or during a TYPE command, etc. This is becausere for transfer. Type a [CTRL] [E] to exit to YOUR operating system. Then, evoke the MODEM program on your machine with: MODEM RT . The file will be transferred. The "T" after the "R" means to return to the Terminal mode when done. Typing a [RETURN] or two should get you the prompts from thi The file will be transferred. The "T" after the "S" means to return to the Terminal mode when done. [RETURN] should get you prompting from this system. You may transfer as many times as needed. END  Then, evoke the MODEM program on your machine with: MODEM ST .    X }2g@ɻeYe :;wõI ͿeVersion for: EPSON QX-10 and Hayes Smartmodem 1200 +++>,=<!o$~2no@,Xh` 4% Gx1eInput Baud Rate: ko&6!ʆ0W WDM)) )O :e ++ Invalid baud rate -- try again ++ |!" *^#V#Rʶ##" –W>~#~-->,=y<ÿ 7 7Go&6 X`͸X<1 72>?B>E͸>BX>]EI:º No answer after time-out. Redial? (Y/N/C): ͸N #YʺC`/2FX!{@~ڬþ Connection established - Select options: 0>  A=Amrad 703-734-1387B=Ben Bronson 312-955-4493C=CBBS Pasadena 213-799-1632D=PMMI 703-379-0303E=Tech. CBBS 313-846-6127F=Ron Fowler 313-729-1905RG=Gasnet NASA 301-344-9156H=Dave Ha Y= Z= !9"lA1lA MODEM 7.98 - 01/11/83 n 32@>21@/2h@:]22@ ¦ 2s@ !F#~ µ ê x2{@|@$!-!:f@>2g@ >2g@1lA{@:2@G:x CqD2 #H5#Mp--2l@2m@:2@E >2l@? L* >2m@? T? SRk1 #:] S >21@/2h@v ͬwnAnA!B"t@21@2p@:f@2A>2g@Š >2g@:p@   S G± : ʱ >S :k@>2k@ :xS : xS :  :xS :ʮ :̈ʊ : : :"v@"x@p#"v@>2p@H*x@N#"x@+ *x@*v@}o|!B"v@"x@2p@>* 2i@ 2j@0B!B~ :i@w#~ :j@w#>*:e@B!: ʙ :h@ w#"t@ ™ >:Ù Ù :e@B*t@: : :=Š Memory save buffer full Ê !q: $ x-6#}l&)>oBknAk+|EnA!nA!\nA $!!A!l:|@  # ++File does not exist++ Type "R" to return to modem Type "A" to re-ente#>2@:q@2+>B2>@>G:] ]rP2ͻ]͡>2[@\͛:n@̹ĵD6>]G:2n@͕:>@Ž>2@Җ>B2>@G:] Wͬ:>@ File open, ready to receive :n@>>C:6@:n@ CRC in effect  Checksum in effect @&9͡WQW͝G:6@P Awaiting name NAK PS>!A5t*A\ $!"A{>7 y2A!]~:6@~ʘ͐ͪ˜#‡>:6@ĸQͪ>u:6@ Checksum error PS>|>!\:6@eh110!n`h300!,`h600!X`h120!`h240!` `h480!`h960!%c͋\re> !m~\”+6 #6 „#6AҔ!^څ!^^ uA1ʦ5ʦ0!^3ʵ4e Bad response from DC Hayes.AOA yO yT; 4u->T:zE7'69~# OuA^Å'03uy*e No response from DC Hayes.e On line.e No carrier detected.e Bad command.AT AT V1AT S10=30 V0 X1 rdy 313-846-6127I=Wayne Hammerly 301-953-3753J=RBBS Pasadena 213-356-1034K=David Kozinn 216-334-4604L=Program Store 202-337-4694M=Kelly Smith 805-527-9321N=SuperBrain Sys 617-862-0781O=R.L.Plouffe 703-524-2549P=K.Petersen 313-759-6569RQ=Cranford,NJ RBBS 201-272-1874R=Bill Earnest 215-398-3937S=SYSOP BBS (pw rq) 313-885-0506T=Roger Amidon (pw) 609-799-7598U=Frank Caperello 609-771-8133V=Bruce Ratoff 201-272-1037W= X= " :" :o@/2o@͸͸# ͸ :E :&2:$ʃ :%! :a :xS :1@ >c >2h@l  ** Memory buffer :h@ʜ open ** : closed ** ͸Sr"'03ͷ > S Ү *Kͷ ~# *  î  G: 7?7>2k@ '69:o@> Printer is on Printer is off *G:m@e :l@o xͺ >  :   Š -ʊ Gͺ :l@ʢ x*> Š : ʊ :l@ > Í :h@p#"t@> >: G :: =:o@:1@ *v@ !Br name: ͸AʘRʻ(Ho0Hʙ+ ++File transfer completed++ û ++File transfer unsuccessful++ û ++ Transfer cancelled ++ 6# 6 #6# Enter file name to be transferred - C/R TO QUIT: z@;øz@!AN<AA!͇~TN#5:ͷ U* o#> +z::Ê:O͕ Í!e:ʴ!f:l@ʴ:m@ʴ!L::{ú - ->2n@͕:>@ Awaiting file name -+7y2A!]ͪj:6@g Time out receiving filename ʯw:6@͐>#}7:A<2A ʣ~ ~ >.Ü:6@ĸyͪ!\:6@ Checksum error .>Sͪ7>2q@2A]!"Aʹ!\AN@2A!A6!{@N!|@ 6 !{@F#ʰ~ u#ʰ~ ʀ"A+#ʰ~ :A<2A#ʰ~ ʢÐ6 *AA~ #ü#~ "A!Ap \ȇ!o     ~ #~+] $!!e~w#~w\!\l $!!u6B#6A#6Kl!l6\:\<,2h:¶>2!\ 5:\2)!\ 5\!)\ 5\!\ 5\<72=Ɓo&* 5] 52h2|w#~w\!\l ~# x5>2[@2\@:6@y Awaiting # *Y@# () H)} ͪ%ͽPy7G:6@ʺx͸6 H recv'd, not SOH ͪҺ:n@>:r@>>C:[@<2[@ E:6@M @͝ ++ Unae":6@ʺ ++ CRC error ++@:6@ʺ ++ Checksum error ++ @W@>:6@ʉ Sending # *Y@ () H)>:Y@:Y@/>2d@#"!~,¨2d@yT"z{ ͤ3G:6@x͸6 H Recv'd, not ACK :[@<2[@= :6@M 7 Can't send sector -- Aborting $:6@ Timeout on ACK :6@1lAͪe>ͪr>  Routine cancelled >B2>@E*Y@#"Y@}:>@\< File exists -- Type 'Y' to erase: Y #͸\̓:8@:9@!:d@!̓,"Oͷ (*:6@S Awaiting initial NAK SͪCobbS:6@ʐ CRC request received 2n@::=@©:g@õ:<@:g@ E::g@E*"""""::(2F<2+2.<2=2@<2C]22@ >!3@ 2O#2f@-A->2f@6#1 #:9@26@:>@:6@ʵ !>w#\ !]>ʂ~ x#xʐj~ ʐ>.j ::=@© Transferred :\2@!\:@2\!K@X@ $!:@q Transfer completed :4@EEM %%%:@_"3*lA:~#$!z@!\N<:]EHLG:xQ!CT!Sʃ!Rh!:>@Ã! ++ Bad Option ++ É!:m Re-enter PRIMARY option and file name only: z@;-!:m !>2h@>21@>21@: Enter New Baudrate: !e6 "͸M0":"wO#"!"p"O*p"yO}o|gI"|g}!o5""p",","*p"T]*p"|>:1@ # ** There may be text in the memory buffer ** ** It will be lost unless NOL or WRT commands are used ** :O!:}+" " S can use the following subcommands: B - Bulk transfer using wildcards (e.g. *.*) Q - Quiet mode (no messages to console) T - Return to terminal mode after transfer V - View bytes transferred on console The single letter commands may also be used on the command line when the program is initially executed. 9:d) Additional Subcommands for PMMI Modem Modem control: O - Send or receive on Originate tone A - Send or receive oble to receive block - Aborting ++ $:6@N ++ Timeout ++ :[@&o ͸Tú:[@:r@:n@/2n@2:6@ ++ Switching to Checksum mode ++ ++ Sender may not be CRC capable ++ :\@7:6@ʺ :\@  ++ Framing error ++ B:\@ ++ Overrun error ++ B:\@? ++ Parity error ++ Bú:[@&o ø2r@ͪ%ͽWͪ%ͽ/ʟ:6@ʺ ++ Bad sector # in Hdr úz2X@>2d@#"!ͪ%ͽw,°:n@Q2d@ͪ%ͽ,:X@G:Y@Q@>\< Can't close file$:`@=2`@*^@"!"^@:]@7A\= ++ File read error ++$! y%>2]@y2`@!A"^@û*^@!"!"^@:`@<2`@:`@OA\…! Z2`@!A"^@ Error writing file $--!L:S ¸¸«X7:'82\@-,"O:7@:9@:d@ Press RETURN to disconnect   Disconnected t ͸>2r@2q@21@/2h@2p@!B"v@"x@::@ #͸v !l\$!2|2h ʫ ʫ ʫ ڜګ>(ͫ6 >)ë_> > Oa{_   | {0ͫ|6 }6 ?  H 0:>@V <>2[@ Multiple errors encountered. Type Q to quit, R to retry: ͸RQM ctrl-@~ ͫ#   >:>@E>Q26@b %%% Exiting MOD>"#:s@ !K@X@ $!!?@3@ $!>2/2q@R09 Single Letter Commands H - Display this information ? - Display current settings T - Terminal mode E - Terminal mode with echo L - Terminal mode with local echo For capturing text use T(or E or L) FILENAME.TYP and Start & Stop toggles described on subsequent screen. R - Receive file using Christensen Protocol S - Send file using Christensen Protocol Command is: R(or S) FILENAME.TYP R andn Answer tone D - Disconnect option Parity options: 1 - Set and check for odd parity 0 - Set and check for even parity Both ends must be capable of these options which are available only in S and R modes. The parity checking will be part of the file transfer protocol. Speed Options: After entering your primary and secondary options, you can set the modem speed by placing a "." after the options followed by the spee   d e.g. 110, 300. For example: SBO1T.600 will set the modem to run at 600 baud. 9 Three Letter Commands DIR - List directory and space free (may specify drive) BYE - Exit from this program ERA - Erase file (may specify drive) LOG - Change default drive/user (specify drive/user) and reset disks. e.g. LOG A0, LOG B (user unchanged) SPD - Set speed of file output in terminal mode 06* TIM - Set S mode time-to-send message : + TCC - Toggle Checksumcommands: :->  DEL - Delete memory buffer and file NOL - Return to terminal mode - no loss of data in buffer WRT - Write memory buffer to disk file 9 Local Commands while in Terminal Mode :Ͳ - Exit to command mode :N.:&Ͳ - Disconnect :$Ͳ - Send break :%Ͳ - Change baud rate :p.:Ͳ - Transmit logon :ʒ.:Ͳ - Toggle printer > :Ͳ - Start copy into buffer :Ͳ - Stop copy into buffer Start & Stop may be toggled as o::SPD3:TIM5:TCC96:TBR|6:TLC6:TLF47:TXOz7:X1:NUM29:i1:SETң8:NOLډ1:1@9:A25@l *t@v :WRT8:DELҳ8:1:DSC2:BYE$2:CAL1> 2~@1:|@!:;91-! 1R0 ++ Invalid Command ++ t << Disconnected >> î Goodbye... EB:@_"3*"2@B=:@_R0:1@'3:@ u2AA2@1 3G:@ ʷ2v4G:@ ʷ2v4OxG:@ ʷ2v4OxGx2@ Insert disk for drive :@A Hit return when readyR0s ɇ G5>0xo& 061 Use 0-8 to give baud rate for S mode time-to-send message, where 0=110, 1=300, 2=450, 3=600, 4=710, 5=1200, 6=2400, 7=4800, and 8=9600 Baud. Enter value: j4 125R0066 Rate for the S mode time-to-send message is set to -6 Modem speed is ?:G:: 1:/2M6R0d6 CRC mode set Checksum mode set : 1: /2 ͐6R0: ʮ6 Backspace is rub Backspace is backspace :1:/26R0 Use ::  7Ͳ before loca21@/2h@!nA!B"t@R0 ++ No File Open ++ R09 Library of Phone Numbers of Remote Systems !A͗9##$!͠9##$!͗9 ʩ9|9> > > >$ A͸͸R0F#9¿97 HIT any KEY to CONTINUE99R0:\>  > :9 Current Settings :M6:J:# 5͐6H76 Terminal mode file buffer is :1@ʄ: in active Unused portion of buffer is : bytes 8f844͸R0 G*t@7?>oxg :=:SRTEHL~;/CRC mode on receive : L+ TBR - Toggle backspace to rub conversion :ʯ+ TLC - Toggle 1) local command immediate 2) local command after : Ͳ : + TLF - Toggle send linefeed after carriage return :3, TXO - Toggle XOFF/XON testing in terminal mode file output :‹, NUM - List remote systems :ʃ, SET - Set communication ports > , CAL - Dial number DSC - Disconnect BYE - Disconnect and reboot The following are terminal text buffer ften as desired. A ":" at start of line indicates buffer is open. XOFF automatically used to stop input when writing full buffer to disk, XON sent to resume. :Ͳ - Transfer ASCII file to remote :: 0Ͳ - Send local control character to remote R0Ͳ - Next character will be used for local control Drive A 3ʃ0 , User &o ͸:1@«0: bytes of buffer free COMMAND (H for Help): z@;͸|@:BYE :LOG_2:DIRH2:ERA҅3:? 2͸ :@_:@_"3R0  ++ Terminal mode file open ++ ++ Use WRT or DEL before LOG command ++ R0z@!\N [0-9]: j4d424R0z@;:|@ 0 1 Terminal mode file output delay is 0.:5 seconds per character Additional delay after is 0.:5 secondl command Ͳ to send local command to remote : 1: /2 H7R0 Linefeed : d7 NOT sent after :1 Use XOFF testing? (Y/N): 7ڧ728 Use XON waiting after (Y/N): 772f8:R0/2 Therefore 8R0z@;:|@ ?GN>xY>1 XOFF testing ::8 NOT used in terminal mode file output XON :}8 NOT automatically tested after B8:1{@PR0:1@9:oA 9nAk>21@/2h@!nA!B"t@R0:1@9:oA 9*t@)Bc>;#:># ;7#;կ< ;_;_;ʕ;ʧ;; ";G#4+~#;px9<#";#G~w~;+xF6 ʅ;ʃ;";4";>9<> 9<>9<";>#9<> 9<> 9<;G>#9<> 9<> 99<5";> 9<> 9<";> 9<> 9 w#;'<< <>< > <>:l2>:m ̞>Ĭ>2>2>>=ͷ>~=~=#=$!$! . >2>>=:>ʁ=:><2≯ė>>2>Á= NO FILE:>>=_##~2>#~2>##^#V">*>#6>W+}G>z1>->i`:>W>)=R> Drive :>q><@2y> has  K bytes free | >? !>w#¥>!m> $!_!=:>ʁ=:><2≯ė>>2>Á File open: *b@uT( nññ ç.&Q)+*ÇAÀ ̓Y̓̓Version for Epson QX-10 and D.C.Hayes Smartmodem  ͒!R͒BYE {TCq2*242>!V"+!^"5!i"?>2O2R2q͉*!Rq_qq(!DATZ :2͉ããã ã>A2>2ë>2>>#=<!o$~2&:ı!B^#~ʷJ͕%B͠%B:ͷ& , ͷ&> ʹ%# .& - try #*B#"B%> ʹ%:w ͷ&͌n>]̀ >]Z͊n:B.& No answer. Redial? (Y/N/C): %͈%N,YC“>2B2̀ ͈%:Bʻ2Bû:BW.& CONNECTED:B.& - hit any key to stop the bell ͕%=͠% ̀ >ʹ%0ʹ%RZ{G)x,q0:0q> O:·&:(WTTʇ>ZT”>ZTʡ >ZÀ .& ++ Bad library number called ++ n͈%2B͌h,:n>Z0  DM)) )O 0EʠOʱNʷSʽTAB̓ +++ Invalid baud rate +++ |ʮ !"C *C^#V#Rʓ ##"C s  >~#~>>>#=y<͏̓ Additional SET options for QX-10 Parity: E - Even O - Odd N - None Stop bits: S - Single (1) T - Two (2) Data bits (word length): A - ASCII mode (7 data bits) B - Binary mode (8 data bits) These options may be placed either before or after the baud rate value in t I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W=  () Hex) Records Send time: :_!?^#V*b@͸?i` mins, !?:_~?????& secs at ? To cancel: ctrl-X  1`J3&! {/_z/W? !<=?}o|g>o!@:__  baud 110$300$450$600$710$1200$2400$4800$9600$ADORSVL01BADORSVL01BAABBB K bytes free | >? !>w#¥>!m> $!_!=:>ʁ=:><2≯ė>>2>Á File open: *b@no@,Xh` 4% 7 ,7 77 ~#O`͌R*NQ`y4~#O~͌p*NQ~y4: :ȯ2B2B!"B!B~3Ow#!B*û ! GTA"ͮ&]A"ͮ&TA @>$ͷA G.& Enter library letter or phone number, CTL-X quits while dialing or ringing: BQ)!B~#A~ ! "{~ʷ "Bpͮ2͊.& ++ NO DIAL TONE ++ n7::Tx! ~$gʹ%Gͷ&#͕%H͠%H> ʹ%:„Z] ̀ ̀ !̀ > ʹ%!"ҟ+++$ATH $:2!͌ҽATDT $͟~$~4ʹ%#͍͕%͠% ͷ&>GCErN Ó:P:B2B2B#͊z̀ Tʓ̀2̀ Ó.& ++ No ringback for Smartmodem ++͈%?>?]Z̀ T͕%ʤ͠%ʬ Š7%G(x̓Input Baud Rate and/or options: E͆Fo&6!c he SET command. Example: SET 300ETA (300 baud, even parity, two stop bits, 7 data bits) modem for 600 baud ͌҂  ͈% }0_.!~w+¯ © *(561-4718,,471979,,$xx,,$xxxxxxx,,,,,,xxxxxxxx,,$A= B= C= D= E= F= G= H=  X= Y= Z= !9"D1D.& MDM712 - (type M for Menu) }m,C:B!,1D:::BCb:O@%2B2B:BD%M!-R"S^T(E 2B(L2B(ͩ9,*"%"%"%"%":2Ck]2B  ʁ!B uOG>mxAp>2B6M#Yͩ9,:B‹2B:BDEMLTG:¬:ʰxC:Bʻö,xSR:B:m .&++ Enter primary option plus file name ++    ,.& ++ Bad option ++ ͍>:B7>B2Bã9:BDÈ:] V2B2BÈ !C!\C ͮ&CC!G"B>2B^:ď͕%L͠%Gª:ʪ:B>2B::':'>2BÈ::!%:%::"ʩ: :# :B/2B͈%͈%͈%L: :<:)nL:$T:&:BLU2BÈ2B:B.&Ready to send in the batch mode (Use RBT when ready to receive) t>2C:B >B2B>L#$:] z!!!dx#̈́ 2" >2B̈́ gͧr completed].& ++ FILE NAME ERROR ++ !B͒~V͕%P͠%#7 h:hʹ%:͖hʹ%4 : ͘ˆ:Û: O:Bͫ £!:!:B:B!&:{͍>͍>͕%͠%=&Awaiting name NAK d͒#>L#!C5D*C\ ͮ&"CK>L#7 y2C!]~L#:B~L"ڏe#W>L#:BĈ%Q">uL#.& ++ ERROR sending name ++ d͒#>L#L>L#!\.&Awaiting FILENAME ͪ7y2C!]B.&ON .&OFF ͷ&:B):BLxʹ%͛+> L:BG:Bʈ ͍ˆ>ʈG:rx rڈ҈xʹ%͛+:Bʆͷ&> ˆ:Bʈ͟ r:B*Bp#"B> ¶> ʹ%|!̿͟>4+!>2B*B!G wʹ%G+ #"B͟>4͌ #w#:B*Bp#"B:C@͟>4!z2~C:~CW!~ wʹ%G͛ #b"B!"B͟>4͵N#"Bͪ%:CS͵!"B"B*B*B|}::2C!?&DM͍> x7::B]̀ :B/.& Awaiting # *B#%.& (%.&H) }:BL# "ʚ5C557G:Bm:Bm2B/2BÐx&.&H received not SOH - ~"Ґ̈́ :B>ʯ:B>¯>C2B:B<2B Ó 1D%">!.& ++ RECEIVED FILE CANCELLED ++ ++ UNFINISHED FILE DELETED ++ $:BÐ>2B:B:.&++ Timeout ~:B{:B{:B{2B.&++ Switching to CHECKSUM mode ++ Ð*B&%.& ++ :B ғ >2B"W"/.&++ Bad header Íz2B>2B!"B!"w,2B:BQ":B>!\<.&File exists - erase? (Y/N): %Y,͈%\.&++ NO WILDCARDS ALLOWED FOR TEXT FILES ++ ,.&++ NO FILE SPECIFIED ++ ,\2By2B!G"B2"*B!ͬ&"B:B<2B:BOG\Z! "2B!G"B:B>L#$:2Bt:BG2CR>B2B$:] Xz!d ͛!:Bʅ.&File open - ready to receive͈%:B«.&CHECKSUM in effect .&CRC in effect :B̈%>C>2B"Ͱ" >2B"%">L#$!C!l.& File name to send? (RET to quit): BQ):B B!C&C.&Want to include time delays? (Y/N): %Nʆ2B͈%BCʽ=V&++ DISK READ ERROR ++$2”.& (in Terminal-mode now) ͟È.& [Transfe"-.& Time out receiving FILENAME ÀʨkwL>L##}ʀ:C<2C _~ Ĵ%~ >.ʹ%X:BĈ%yL#"ʨ!\.& ++ CHECKSUM error ++ ͪ̈́ >L#"¬Ó >2B2C!"C@!\C&G*:f*C\ ͮ&"C!C4!C5!"C:CA>@2C.& ** Memory buffer :BM.&open ** ;.&closed ** .& ** Memory buffer available ** ͈%͕ö,*HK*NQ͖ß*`ͲL͟~4G#ò:BTxô%"ô%͕%͠%G>Ä.&Printer buffer is :B]È̀È*B6}l&)>oG8:BʍCѷZ+|8L#%"V&++ DISK IS FULL, SAVING PARTIAL FILE ++$%">!.&++ Nothing to save, erasing the file ++ $>;ô%6# 6 #6#!C6!BN!B 6 !BF#<~ #<~ "zC+#<~ :C<2C#<~ .6 *zCC~ U#H#~ U"zC!Cp \( ~‘#~+] ͮ&!e~w#~w\!\l ͮ&!u6B#6A#6Kl!l6\:\<ñ>2B2B2B̈́ :C:BG:B_<“ "b,.&++ CRC error Í.&++ CHECKSUM error Í>2B:Bʕ.& Sending # *B%.& (%.&H) >L#:BL#:B/L#>2B!"B!~L#,·2ByL#*B|L#}L# "c G: :B: .&++ x &.&H .&NAK.& received not ACK - ~:B<2B V& ++ SEND-FILE CANCELLED ++$.& ++ TIMEOUT - no ACK - ~: :B͕%͠%1D"Җ >L#"ң > L#>B2B2B2B:BR.& ++ FILE CANCELLED ++ $*B#"B}!\ #~?F! xG̈́ !&͍%####7>͘,O:BD#:BI#:BI#S%:Bb#:Bg#:Bg#S%͘,O͖n#4.&Waiting ready signal ̈́ "ʓ Cʰ##’#Ó =&CRC request received >2B:B=&Got checksum request =&Name NAK received :B¤$:Bw$ !V$>w#$ !]V$>C$~ 9$#xQ$+$~ Q$>.+$.& .& Transferred :\2|C!\:|C2\!BB ͮ&͟:C²+̈́ .& [Transfer Completed] :B9:B%q2B2B2B2B2B:B$/2B2B!B~6Q,:B   ,:B,͈%È.& << DISCONNECTED >> h:e:eö,!l\ͮ&2|2h {% {% {% l%{%>({%&>){%_> ʹ%> ʹ%O͠%%ʹ%a{_ % |%{0{%|&}&& &0{%.&CTL-@ʹ%.&~;&{%#/&~O&:B~{%#>& Q&>ʹ%͈%>2B:B$Ó :C_:̀ ͜&:BĽ@:*D Ü&~#®&͟x4B!\&:=&H'#^#6 q'̓' 4' ' ƀo&:C#)=_@2,)2H).&Drive : k bytes free on drive : $*կ͠%% *ʤ)ʤ)))ʈ) _)G#4+~#*px*ʹ%#_)#G~w)+xF6 ))_)4_)>ʹ%> ʹ%>ʹ%_)>#ʹ%͈%U)G>#ʹ%͈%x_)ʹ%)_)>ʹ%5_)͈%_)͈%F##> w#$*~C*<*#-*#=*7#2h:B”*>2B!\C *:\2C!C\ *\*!C\ *\!C\ *\<7*2B=Ɓo&C *] *2h2|><+B!BB ͮ&!BB ͮ&2B2B/8ͷA.& Single Letter Commands ? - Display current settings M - Display the menu E - Terminal mode with echo L - Terminal mode with local echo T - Terminal mode For copying text to disk use T (E or L) FILENAME.TYP Start or Stop toggles described on subsequent screen. R - Receive TPM file using Christensen Protocol S - Send TPM file using Christensen Protocol COMMAND: R (or S) FILENAME.TYP R and Snds TPM - Exit from this program to TPM DIR - List directory and space free (may specify drive) ERA - Erase file (may specify drive) LOG - Change default drive/user no. (specify drive/user) and reset disks. e.g. LOG A0: or LOG B: (user # unchanged) SPD - Set file output speed in terminal mode =r2.&TIM - Select Baud rate for "time-to-send" msg. :ʨ2.&TCC - Toggle CRC/Checksum mode on receive :2.&TBR - Toggle backspace to rubout conversion :C3.&TLC - Toggle 1) local WRT - Write memory buffer to disk file ͇A.& Local Commands while in Terminal Mode : & - Send a break tone for 300 ms. :ʰ5:)& - Change baud rate >& - Exit to command mode :5:"& - Send log-on message :!& - Disconnect from the phone line :D6:#& - Toggle printer > ʹ%:&& - Start copy into buffer :$& - Stop copy into buffer Start & Stop may be toggled as often as desired. A ";" at start of line indicates buffe ̓' 4' ' ' q'̓' 4' ̓'#͗' ͗'6# > j'j' > j'j'w#j':'_@w# . 'w#Ã'~*ʧ'#™'ê'ͼ'~*ʸ'#¬'ͼ'6?#¼':A2,)2H)' B!\&!C:l2C:m (( ): 2CC<1(.&++ FILE NOT FOUND ++È((#H(**.& . C<ʈ(:C=2C̈%{(: 2CÂ(.& : 1(͏ ##~2P)#~2O)##^#V"M)*M)#ں(W+}(zµ(ñ(i`:P)()=(%2)Q&>? !Cw#(!mC *=~# x+.&File open: *B%.& (%.&H) records Send time: :_!+^#V*B6,i`%.& mins, !+:_~J,U,U,U,U,&%.& secs at +=&To cancel: use CTL-X  0`@J0(  !+:__ .& baud 110$300$450$600$710$1200$2400$4800$9600$19200${/_z/WA, !<=O,}o|g>o*B|>!E!yg)҈,>g>!o|,r$s%# r,*BO!E ~W$^"B:B,.& ** File still open, use DEL, DIR, WRT, E, L or T ** -2 can use the following subcommands: B - Bulk transfer using wildcards (e.g., *.*) D - Disconnect when done Q - Quiet mode (no messages to console) T - Return to terminal mode after transfer V - View bytes transferred on console X - When done, disconnect, go to TPM The single letter commands may also be used on the command line when the program is initially executed. ͏.& Three Letter Comma command immediate 2) local command after :'& :ʋ3.&TLF - Toggle LF after CR when sending disk file in "T" mode :3.&TXO - Toggle XOFF testing in terminal mode file output :!4:3.&NUM - List remote systems : !4.&SET - Set modem baud rate .&BYE - Disconnect, then return to TPM :Z4:q4.&CAL - Dial number .&DSC - Disconnect from the phone line The following are terminal text buffer commands: .&DEL - Delete memory buffer and file r is copying. XOFF automatically used to stop input when writing full buffer to disk, XON sent to resume. :%& - Transfer ASCII file to remote ::'7& - Send local control character to remote ,8& - Next character will be used for local control z͈%:BX8͌B.& Bytes of buffer free Aʹ%:o8&o%>>ʹ%>>ʹ%.&COMMAND: BQ):BX8 28:B:q<B+*TPMq&͈%+*LOGc:+*DIR9+*ERA :+*?A+*SPDV;+*TIMҫ<+*TCC=+*TBR>   +*TLC_>+*TLF>+*TXO$?:59:59+*NUM@: F9+*SETK@+*WRTҞ@+*DELq@+*BYE9+*DSC%:|9:ʎ9+*CALڎ9> 2BÚ9:B!B{Aڣ9;&Cõͩ9/8.&++ Invalid command ++ h:n:n.& <> q&2}C':}C_/8B!\&@%:] ʣ9\.&CRC .&CHECKSUM :ʣ9:/2$>/8:B>.&Backspace is rub .&Backspace is backspace :ʣ9:/2s>/8.&Use ::'ʡ>& before local command & to send local command to remote :ʣ9:/2>/8.&Linefeed :>.&NOT .&sent  Library of Phone Numbers of Remote Systems ! GTA## ͮ&]A## ͮ&TA fA9A> > > >$ G͈%͈%/8F#ʆA|A7.&HIT any KEY to CONTINUE͕%ʢA͠%·A͈%/8: ž> ʹ% > ʹ%AͷA.& Current Settings =:B$>n=.&Terminal mode file buffer is :B:B.&in.&active Unused portion of buffer is ͌B.& bytes s>>?@;͈%͈%͈%/8*B믓o|g%SRTELMABDLOQRSTVX01ABDLOQRSTVX01GGG4!9"1*""":ʙ:C?b CHAT 2.01 08/16/83 Remote conversation utility. Usage: when program is invoked, it rings the bell at operator's console, signaling that the remote user wishes to "converse." If the operator is available, you will be signaled to go ahead; if not, after 30 seconds the program returns to CP/M. A cntrl-Z will abort the alert sooner. qb CHAT Version 2.01 16 AUG 83b Will try to fetch operator, for 30 seconds. Use Cntrl-Z to ab Terminal mode file open ++ ++ Use WRT or DEL before LOG command ++ /8.&Delay between chars. (0-9): ͕%v;͠%ʹ%h<0 ң92.&Delay at end of line (0-9): ͕%ʯ;͠%ʹ%h<0 ң92 .& Char. delay (terminal file mode) is: :Gxo&%.&0 ms. per character Line delay (terminal file mode) is: : Go&%.&00 ms. per character /8.& :BAң9_:B /80š<:B0ڦ<&ң9_:/8>Ú<=£9.&Use 0-8 to give baud rate for 'S' mode time-to-send message, where 0=110, 1after CR for disk file in T-mode :ʣ9.&Use XOFF testing? (Y/N): ͧ?Q?2?.& Use XON waiting after (Y/N): ͧ?څ?2@:/8/2.&Therefore ?/8BQ):B ?GN>xY>ã9.&XOFF testing :?.&NOT .&used.& in terminal mode file output .&XON :'@.&NOT .&automatically tested after CR?: ʣ9Bw:/8Aͷ&Tͷ& ͷ&/8:B@:C @C2B2B!C!G"B/8:B@ͽ@2B2B!C!G"B/8:C C2B.&++ No File Open ++ /8ͷA.& ort alert sooner. Calling . b. ͈:=2 b Sorry, no operator available - Please leave your request on the RBBS. q> b!ҝ=Š͖͙qb Operator is available, enter CTL-K to exit CHAT Please go ahead: > ͙ q ?NN O͜:<2F?>x b > 2:=2b N͜#~cb Returning to TPM . . . *    RBBS/RTPM (BULLETIN BOARD) ATXMODEM DOCUMENTATION Here is how to send a file to a mainframe with different par- ity and data bits, using the Epson QX-10 and the Hayes Smart- modem. Credit belongs to Bruce Ratoff of Rising Star for reconfiging Modem 7.12 for the Epson to do this. To work, you need VALDOCS plus two programs on your data disk ATXMODEM.SYS and DEVAL.COM.  83915001.VAL If the story was written in October, November or December the month is represented by A, B, or C; i.e., 83A15001.VAL, Nov- ember, B and December, C. Again, the information is included in the VALDOCS index, at the right end of the title line. Write it down. O.K., now that you've done that, it's time to DEVAL the file. VALDOCS adds computer code to a file to enable screen dispd use the cursor to select DEVAL.COM. The DEVAL program will then display the following: Enter VALDOCS "X:FILENAME.EXT" A:> Type in B:83A10002.VAL, the non-VALDOCS index file name. Be sure to type in B: first. Hit RETURN. (If you make a mistake at this point, turn off your computer and RESTART.) Assuming everything went correctly, it should now say: Enter OUTPUT "X:FILENAMEch you will send to the mainframe. To send to the mainframe, you must now hit MENU again, choose MENU OF APPLICATIONS, pick the right drive, and then move the cursor to the ATXMODEM.SYS program. Type RETURN responding to the next question. Once the modem program appears you type: SET, [RETURN] The program prompt INPUT BAUD RATE: Type 300NSB (or1200NSB), [RETURN]. If you Write your file with VALDOCS in normal fashion. When you are completely done, store it and name it. You then will need to determine the non-indexed VALDOCS name for it. This name is based on the information shown to you in the index. It is a formula which is as follows: YearMonthDayStorynumber.VAL A typical VALDOCS index data file titled "Letter to Grandma" will be: lay of margins, BOLD and Italic, underlined and other characters. This data is garbage to non-Epson computers. You need to run the DEVAL program to prepare the file for other machines. To run DEVAL, hit the MENU key and choose "Run Specific Prog- ram." This choice only appears if you've told the computer in SETUP that your experience level is ADVANCED. Select the right drive. Follow the menu prompts, an.EXT" A:> Type in B:.DOC. Remember, the cannot be more than eight characters. The program takes several seconds to operate and will return you back to VALDOCS. You won't find it listed in the VALDOCS index, however, the data disk will now contain a new file. A DEVALed version of your file as a non-VALDOCS indexed file with the new name you assigned in DEVAL. It is that version whi need to send a "header" before and/or after the story, (containing control characters), you should then type TLC and [RETURN]. (Note: All the following instructions assume you do this.) The program should respond with: Local character after CTL-^ If it doesn't say this, type in TLC [RETURN] again and then it should. Your modem should be hooked up with your telephone line.     Type in CAL xxx-xxxx (with x's replaced by the number you are calling.) If you are calling out-of-state don't forget to add the area code and a 1 before it if that is necessary. Note: If you are using SPRINT or MCI, first type in the local phone number, then two commas, then your personal i.d., then another comma, then the number you are calling. AS an example: 561-4718,,12345,216-343-2143. ] and wait until you return to the command mode and try again. When you are in the terminal mode, it is time to change the parity and/or bit structure. Type [CTRL] [^]. Type [CTRL] [E]. This should bring you back to the command field. Type SET [RETURN]. Now, it's time to change the parity and bit structure. The formula is as follctions. NOTE: Instructions for this are on the last help screen for ATXMODEM. While on the command line, type M and go through the various instruction screens. If you need a header before your file, now is the time. First type in E [RETURN]. Type your header. You will see what you are typing on your screen, except the [CTRL] characters, but you cannot correct it so be sure it is accurat The program will then say, TIME DELAYS? (Y,N). Type N, unless you know that receiving mainframe needs them. Your file should then start appearing on your screen, line by line, as it is being sent to the mainframe. When it is finished, wait until you are back in terminal mode and if you need to type an end header, type it in now. Terminate the connection by flicking the ON/OFF switch on the  these instructions were originally written for journalists to send stories from their Epsons into newspaper mainframes. That may account for some confusion. Steve Stecklow 10/30/83  use will be even easier when parity-bit is made a part of the MAIL program in Valdocs. In addition, please note that Note: This is only reliable for 300 baud transmission. Normal Bell lines are required for 1200 baud. The modem should now dial the mainframe. If it's a good con- nection, your screen will show that you are in terminal mode. If it doesn't, hang up by typeing [CTRL] [^], that last char- acter is the uppermost key to the left on your keyboard. THERE IS NO NEED TO USE THE SHIFT KEY. Type [CTRL] [Xows: 300ETA = 300 baud rate, even parity, two stop bits and seven data bits. For odd parity, substitute O for E. If you want no parity, N for E. For one stop bit, substitute S for T. For eight data bits, substitute B for A. For example, 300OSA = 300 baud, odd parity, one stop bit and seven data bits. No spaces between the baud rate and parity bit instrue. When you are ready to start transmitting, type [CTRL] [^] and then [CTRL] [T]. The program should respond with: FILE TO SEND? Type in the new name of the file; the DEVALed .DOC that resulted form execution of the DEVAL.COM program. This will appear on your screen. If you make a mistake, you can correct it by backspacing. Type [RETURN]. modem. You can also type [CTRL] [^], then [CTRL] N to finish the transmission. To exit the modem program, go back to the command field using [CTRL] [^], then Control E. Type in TPM [RETURN]. That will bring you back to VALDOCS. Once you are used to this method, it is simple to use. Future use will be even easier when parity-bit is made a part of the MAIL program in Valdocs. In addition, please note that    ********************************************* ATXMODEM For the Epson QX-10 ********************************************* Here (at last!) is a public-domain telecommunications program that allows you to send a file to a remote computer, such as another microcomputer or a mainframe, with different parity and data bus redialing; ability to store incoming data; ability to return to VALDOCS; ability to upload and download; and much more.) (To dial a number, at ATXMODEM's prompt, type CAL xxx- xxxx (the number), and hit RETURN; to just see the library, type CAL, and hit RETURN.) (To put numbers into the library or to update them, use the CHGLIB.COM program, available on bulletin-board systems as a free-standing progto ATXMODEM.SYS and VALDOCS -- DEVAL.COM (available on most Epson-oriented bulletin-board systems as free-standing programs or within ATXMODEM.LBR). Both ATXMODEM.SYS and DEVAL.COM should be on the same disk you write your file on. First, write your file in VALDOCS in normal fashion. When you are completely done, hit Control O, choose the "left margin setting" option, enter a left margin of 2, esent the spaces between the left of your Epson screen and the start of each line. Experiment: if this is not a problem with your remote computer, then skip the margin change. In addition, you should not change your margin if you are sending the file to another QX-10.) You will then need to determine the non-indexed VALDOCS name for your file. This name is based on the information shown to you in the VALDOCS inits, using the Epson QX- 10 and the Hayes Smartmodem. Credit belongs to Bruce Ratoff, who reconfigured Modem 7.12 for the Epson to do this. (The features of Modem 7.12 -- all incorporated within ATXMODEM.SYS -- include, but are not limited to, automatic selection and dialing of a particular phone number from a library of up to 26 numbers that can include MCI or SPRINT-type prefixes; automatic continuoram or within ATXMODEM.LBR) (ATXMODEM, of course, may be used by Epson users as simply a Modem 7.12 program. For a full explanation of all of Modem 7.12 features, acquire MDM712.DOC, available on many CP/M bulletin boards.) Now, to use ATXMODEM's special ability to send to another computer with different parity and data bits from the Epson QX-10, you will need one other program in addition  and hit RETURN. Once margin has been reset, store the file and name it. (By resetting the margin to 2 -- the smallest margin VALDOCS will accept -- you may eliminate a problem in which your file, had you not reset the margin, would contain annoying blank spaces within each line when it arrives at the receiving computer. If you fail to reset the margin, the machine may transmit those blank spaces, which reprdex. It is drawn from a formula that is as follows: YearMonthDayStorynumber.VAL In other words, a typical VALDOCS text file entitled "Letter to Grandma" might be: 83915001.VAL. If the story was written in October, though, the month is represented by A (i.e. 83A15001.VAL. In November, B and December, C.) Again, the information is included in the VALDOCS index,    to the right of the name. When you figure it out, write it down. (To get the idea, while in VALDOCS, hit Control Q and then RETURN and you will see the files identified in this way.) O.K., now that you've done that, it's time to DEVAL the file. VALDOCS adds all sorts of computer code to a file that enables it to appear on the screen of your Epson with margins, top of page lines, "X: FILENAME.EXT" A:> Type in B:83A15001.VAL (or whatever your file name is). Be sure to type in the B: first (This tells DEVAL the file is on the B drive.) Hit RETURN. (If you make a mistake here, turn off the computer, begin again and run DEVAL once more.) Assuming everything went correctly, it should now say: Enter OUTPUT "X:FILENAME.EXT" A:> Type in B:FILE.DOC. You don't need to call send to the mainframe or other receiving computer. To send to the remote computer, you must now hit MENU again, choose MENU OF APPLICATIONS, pick the right drive, and then move the cursor to the ATXMODEM program. Again, hit RETURN and then RETURN once more in response to the next question. Once the ATXMODEM prompt appears, you must first type in SET and hit RETURN. The program will then say INPUT BAU computer's parity and data bit structure. More on this later in the documentation....) (IMPORTANT NOTE: If you are going to need to send in a "header" before and/or after the file that contains Control characters, read the next six paragraphs. Otherwise, ignore them.) (Note: A "header" may be required by some receiving computers so your file can be identified and steered to the correct storais, type in TLC and hit RETURN, and it should.) (Note: TLC means "toggle local command." By toggling this now, anything you type on your keyboard will immediately go to the remote -- receiving -- computer and not to your Epson.) (Note: Because you have toggled this as instructed above, to send a command to ATXMODEM on your Epson -- such as hitting Control E to get a local command line -- yoetc. This data is literally garbage to non-Epson computers. To remove it, you need to run the DEVAL program. One way to run DEVAL is to hit the MENU key and choose "MENU OF APPLICATIONS." Select the right drive and, when a list of programs appears, move the cursor to DEVAL. When the next question appears, just hit RETURN. The DEVAL program will then display the following: Enter VALDOCS  it FILE, but the filename must be eight characters or less. Hit RETURN. The program takes several seconds to operate (depending on the length of the file) and should eventually return you back to VALDOCS. Although you won't find it in your VALDOCS index, your disk should now contain a DEVALed version of your file as a non-indexed file under the new name you gave it. It is that version which you will D RATE: Type 300NSB (hit RETURN). If the mainframe can receive at 1200 baud, type 1200NSB (Here, in addition to setting your baud rate, you are setting ATXMODEM to agree with the parity and bit structure of the Epson QX-10. Which is: No parity, Single stop bit, and eight data bits. Later, once you make contact with the receiving computer, you will change this setting again to agree with the receiving ge area within the mainframe. Likewise, at the end of a file, a "footer" may be required to tell the receiving computer that a transmission is complete.) (Note: If a header or footer is required, you will probably find it useful to type TLC at this stage and hit RETURN.) (Note: The program should then respond with: Local character after CTL-^ If it doesn't say thu must now first precede the command with a CTL-^ That last character is the uppermost key to the left on your keyboard, right above the TAB key; THERE IS NO NEED TO USE THE SHIFT KEY WHEN HITTING IT.) (Note: Toggling TLC may prove useful to you if you need to type on your keyboard a long string of header characters or commands that are sent to the mainframe prior to the actual sending of the file itself. Had you     not chosen to set TLC as instructed above, every character would have had to be proceeded by a CTL-^ for it to be sent to the mainframe, which would be a tedious business indeed. Setting TLC as instructed simplifies this.) Now, the next step for everyone -- those concerned with "headers" and those who are not -- is to type in CAL xxx-xxxx (with x's replaced by the number you are calling) and hit RETURN. (YouEach comma causes the modem to pause one full second.) (Files sent via SPRINT or MCI-type systems transmit most reliably at the slower, 300 baud rate. Normal Bell lines may be needed for 1200 baud transmission over long distances.) The modem should now dial the remote computer. If it's a good connection, your screen should say that you are in terminal mode. If it doesn't, hang up by hitting ed for ATXMODEM.SYS and not the remote computer. Once back to the command line, there is no need to do this.) O.K. once you have made contact with the remote computer and are in the terminal mode, it is time to change the parity and/or bit structure (to make it agree with that of the receiving computer). Hit Control E. This should bring you back to the local ATXMODEM command field. Type SET for example, 300NSA = 300 baud, no parity, one stop bit and seven data bits. There shoud be no space between the baud rate and parity-bit instructions. (There are instructions for this on the last help screen of ATXMODEM. While on the comand line of the program, type M (return) and go through the various instruction screens.) (Note: If you need to type a header before your file, and you have previousEND?) Assuming you are not involved with toggling TLC or with headers, you should now be on the ATXMODEM command line. Type in T, and hit RETURN. Then hit Control T. The program should respond with: FILE TO SEND? Everyone -- those concerned with "headers" and those who are not -- should next type in the new name of the file given it in the DEVAL program, such as FILE.DOC. This will appear r modem must be hooked up with your telephone line, of course.) If you are calling out of your area code, don't forget to type in the area code and a 1 before it, if that is necessary. (If using SPRINT or MCI-type systems, first type in your local access number, then two commas, then your personal identification number, then another comma, then the number you are calling. Example: 555- 6789,,12345,202-555-1234.  Control X, then wait until you are back in the command state, and try again. (Note: A reminder for those who have set TLC -- You must precede the Control X with a Control- ^ (Once again, that last character is the uppermost key to the left of your keyboard; THERE IS NO NEED TO USE THE SHIFT KEY WHEN HITTING IT). While in the terminal mode, this key must be hit before each and every character or command intend and hit RETURN. Now, it's time to change the parity and bit structure. The formula -- to use one hypothetical example -- is as follows: 300ETA = 300 baud rate, even parity, two stop bits, and seven data bits. If you want odd parity, substitute O for E. If you want no parity, N for E. If you want one stop bit, substitute S for T. If you want eight data bits, substitute B for A. So,ly toggled TLC as instructed above, now is the time to send the header to the remote computer. First type in E on the command line and hit RETURN. Now type your header. You will see what you are typing on the screen, but you cannot correct it, so be sure it is accurate.) (Note: Then, when you are ready to start transmitting your file, hit Control ^ and then Control T. The program should respond with: FILE TO Son your screen, so if you make a mistake, you can correct it by backspacing. Hit RETURN. The program should then say, TIME DELAYS (Y,N). Type N (unless you know that the mainframe needs them). Your file should then start appearing on your screen, line by line, as it is being sent to the mainframe. When it is finished, wait a second 'til you are back in terminal mode. (Note: If you need to ty   pe an end header, type it in now.) To exit the ATXMODEM program, get back to the command field by hitting Control E to get a local command line. Type in BYE and hit return. The modem will then hang up and bring you back to VALDOCS. You can also hang up while in terminal mode by hitting Control N. After the program brings you back to the command line, type in TPM (return) to return to VALDOCS. ese instructions were originally written by and for journalists to send stories from their Epsons to a newspaper mainframe -- a mainframe known as ATEX, hence the name ATXMODEM for this program. Steve Stecklow Craig R. McCoy Philadelphia, PA 11/26/83 P.S. This documentation replaces an earlier set of instructions for ATXMODEM, also called ATXMODEM.DOC, dated 10/30/83.TS>A:CClPHONEClNAMEClTYPEC lCITYClSECTIONC m -2086ATARI BBS ATARI ORANGE 714 619256-3914BARSTOW RCP/M RCP/M BARSTOW NE 213699-0775BGGS TRS-80 WHITTIER EAST 213842-0227BLUEBEARD'S BBSPIRATE BBSBURBANK SFV 213390-5950BR'S BBS MAR VISTA WEST 714990-6747BREA NET BREA 714 213474-0270BUY-PHONE SHOPPING WEST LA WEST 213577-9947CBBS CBBS PASADENA SGV 714359-3189COMMNET-80 N FERNANDO SFV 213428-5206DRAGON'S LAIR PW=DRAGON LONG BEACH SOUTH 213783-2305DYM VAN NUYS SFV 714220-0239DYM MATCHMAKERLA PALMA 714 213842-3322DYM #1 MATCHMKINGBURBANK SFV 213390-3239DYM #19 MATCHMAKERMAR VISTA WEST 213764-8000DYM #28 JOKES SUN VALLEY SFV 213840-8252DYM #7 MATCHMAKINBURBANK SFV 213345-1047DYM #9 RESEDA SFV A final word: Just as with anything with computers, once you get the hang of it, this method isn't too bad. And allegedly it will be a lot easier in the near future when a way to alter the parity and bit structure may be made a part of the MAIL program in VALDOCS. Headers and footers that include control characters should also be easier to use in future versions of VALDOCS. In addition, please note that th******************************************** ATXMOD Steve Stecklow Craig R. McCoy Philadelphia, PA 11/26/83 P.S. This documentation replaces an earlier set of instructions for ATXMODEM, also called ATXMODEM.DOC, dated 10/30/83. 213459-6400ABBS APPLE SANTA MONICA WEST 213537-3378ACCESS ONE COMPTON SOUTH 714774-7860ANA-HUG RCP/M RCP/M ANAHEIM 714 213991-1604APPLE BYTE MAIL ORDERENCINO SFV 213546-3760APPLE CORE BBS APPLE REDONDO BEACH SOUTH 213221-7202APPLE EXPRESS APPLE LOS ANGELES LA 805498-2508ATARI ATARI THOUSAND OAKS 805 213542-9142ATARI BBS ATARI REDONDO BEACH SOUTH 714973 TRS-80 RIVERSIDE 714 213829-1140COMPUTER CONSPRMAIL ORDERWEST LA WEST 213371-8825COMPUTERLAND BBS LAWNDALE SOUTH 213367-7225COSMICOM #6 TRS-80 SAN FERNANDO SFV 805527-9321CP/M-NET RCP/M SIMI VALLEY 805 714841-3176DATA CHAT HDOS ORANGE CO. 714 213897-3012DATA CONNECTIONAPPLE SAN FERNANDO SFV 213998-7992DATA-MATE MATCHMAKINCANOGA PARK SFV 213368-8201DOWNEY OFFROAD TRS-80 SA 213842-9452DYM 25 MATCHMAKERBURBANK SFV 213208-8255FUTURE SHIELD GAMES WEST LA WEST 213541-2503GFRN DATA EXC 1BBS REDONDO BEACH SOUTH 213360-5053GRANADA ENG.GRPRCP/M SAN FERNANDO SFV 714534-1547GRFN DATA EXC 2 GARDEN GROVE 714 213591-7239GROUND STAR LONG BEACH SOUTH 213653-6398HOLLYWOOD RCP/MRCP/M HOLLYWOOD LA 213886-9221HW COMPUTERS ATARI NORTHRIDGE SFV 213990-5   973HW COMPUTERS ATARI SHERMAN OAKS SFV 213470-4161HW COMPUTERS ATARI WEST LA WEST 213649-1489IBM-PC BBS IBM-PC CULVER CITY WEST 213367-0324INTERACT TRS-80 SAN FERNANDO SFV 213926-9553INTERFACE AGE DATA EXC. CERRITOS EAST 213477-4605INTERFACE BBS WEST LA WEST 213276-4995KEYBOARD CONNEC BEVERLY HILLS WEST 213947-8128KLUGE COMPUTER WHITTIER EAST 213790-3014LA CANADA RCPLAND HILLS SFV 213642-3083OMEGA SYSTEMS INGLEWOOD WEST 213887-5329ONE STEP BEYONDAPPLE CANOGA PARK SFV 213516-7089PABBS 1 GARDENA SOUTH 213531-1057PABBS 2 COMPTON SOUTH 213799-1632PASADENA RCP/M RCP/M PASADENA SGV 213306-1172PAVLOV'S CAT RCP/M SANTA MONICA WEST 213334-7614PEOPLES MESSAGE COVINA SGV 805527-2219PETE MACK'S BBSRCP/M SIMI VALLEY 805 7SOFTWAIRE CTR. RCP/M WEST LA WEST 213473-2754SOFTWORX WEST LA WEST 213370-3293SOUTH BAY RCP/MRCP/M TORRANCE SOUTH 213366-2125TABBS ATARI SAN FERNANDO SFV 213445-7058TEMPLE CITY BBSRCP/M TEMPLE CITY SGV 213431-2274TKM'S BBS LONG BEACH SOUTH 805499-7177TRON APPLE THOUSAND OAKS 805 213996-1977TRS-80 COUNTRY TRS-80 RESEDA SFV 213516-9432TSC DOWNLOAD GQX-10 Sysgen Utility, Ver. 5.20 - 05/11/83 - For TPM-II Ver. 2.40 1__> Z> ~Z#2u_:uOͥ!$' *:i  *k! "o2l2hf~ $(@(H( P( !iÜ( P > 2h!"q!l~ N4͊:h2m[qN:l=( v(=(N!m~0 y2i4!m4*oDM[q"o͒2t:t 8!iY( Ü<2t:mO͎:n(͚͖!2j!~#+#O~:yBN2k>2jAUTO! i:g!NiMY( N(=A89OyA2 yt $`!xint Disk ERROR. Retry? Type return to skip, "Y" to retry, or "N" to ABORT.SYSGEN function complete.Do another? (Y or N)REBOOTING TPM. Type return to proceed.You just altered the SYSTEM on A. ***** COLD Start TPM! ***** NOT STANDARD TPM Disk!Last address = 0000H Which Drive do you wish TPM to be placed on? Enter A,B,C or D (or RET to SKIP) > B/MRCP/M LA CANADA SGV 213631-3186LA INTERCHANGE COMPTON SOUTH 213783-8373LAACE BBS ATARI VAN NUYS SFV 213388-5198MAGNETIC FANT. BBS LOS ANGELES LA 213368-4379MIDNITE MADNESSTRS-80 SAN FERNANDO SFV 213366-1238MOG-UR'S HBBS HDOS SAN FERNANDO SFV 213336-5535NETWORKS GAMES COVINA SGV 213881-6880NOVATION PW=CAT RESEDA SFV 213346-1849O.A.C. PMS APPLE WOOD 805928-3254PHREQUE-OUT SANTA MARIA 805 213932-8294PIRATE OF TRADEPIRATE BBSLOS ANGELES LA 213534-5013PIRATE'S CASTLEPIRATE BBSLOMITA LA 714675-7942PIRATES PLACE PIRATE BBSNEWPORT BEACH 714 213346-1861PMS APPLE WOODLAND HILLS SFV 805492-5472RCP/M RCP/M THOUSAND OAKS 805 213564-7636REBEL-80 LOS ANGELES LA 714599-2109SAN DIMAS RCP/MRCP/M SAN DIMAS 714 213296-592 GARDENA SOUTH 213906-1636XANADU RCP/M ENCINO SFV 213996-1977TRS-80 COUNTRY TRS-80 RESEDA SFV 213516-9432TSC DOWNLOAD GARDENA SOUTH 213906-1636XANADU RCP/M ENCINO SFV  714841-3176DATA CHAT HDOS ORANGE CO. 714 213897-3012DATA CONNECTIONAPPLE SAN FERNANDO SFV 213998-7992DATA-MATE MATCHMAKINCANOGA PARK SFV 213996-3267DATANET TECHNICAL RE œ2nͪ*o!Ki`!:g(!i:j:kMY( N([A8WOyA2 yt B`!i 2͎͖͊͒!!n6ͪ*o!Ki2g`!eiY!z:u :n(!i>t~# (z{!iw#Ɛ'@' `:j> MYN  SYSGEN [for QX-10 with TPM], Version 5.20 Get system? (A,B,C or D - RET to Skip) Source Disk ON A. Type return to proceed.Put system? (A,B,C or D - RET to Skip) Destination Disk ON B. Type return to proceed.Permane   1! ${ ͍M>DK}@|@>AA>`H>O>Fͽͽzͽͽ{<ͽ>ͽ>ͽ>#ͽ>ͽ4/@(z =ͮ!~@#~>ͽͽzͽ>ͽͮ:o(!540 4@(540511/04/82xKAãW_Q(O! 9+r+s !%9͜##Ĝ(!9s#r###q#p!%9^q#Vq#{(~#_OWGy(@͞<~#~y! Zapple QX-10 V4.20 <!#!S!ai >" )2G>(s ~ 0>.O͂1 F͂!v8<' !80( ~##͕(}x(|~N=͕~(v*o#~#G?o&9##p(~+ng~ͣxã!M9+e3 0y=(  #+͞#!͞ :gKy ,2 >% (G2y>o(W(y=(==(@(.o y<yG0(è͘O(I 3X#>O5MY!N#A<1*<xͣͣͱ͘!GͲ8 ))> =>) > !U} | > > > > o@h4 DyxG!ABCDEFH0L/MpPSIA B C D E FHLMOXYR!~8 y968\8ey= sT JMY WB. U6+!?)(((^(q(j(k˞˖˾͑V(6y0> >2CͺG 0py͖ͫ:2Ͱ̀2*>p9}8|8[P`h( K K y Oy82P2!4~P6#~<4֜ ( =(= (=M:<02Ͱkx (V (E(y U((F (ˎ˖(@ 0 .0=654321+987-* zxcvbnm,.asdfghjkl;' /qwertyuiop<>234567890-=\1 ZXCVBNM,.ASDFGHJKL:" ?QWERTYUIOP[]@#$%&*()_+^!  ,. :" ? #$%&*()+! Ϋɜ̲ {}`|~ ϵ˜ͳ Ö ͩ! > >RÌá×    s 1 a{ S 8͇!~(  (+}o y !" R{_(-! ~(>#~#fo* R8S Hy H>[ #ɪ> =>*<> =<<> > > !")"1"9>2(2028r:2k2!6>22͡>F2ɐ2ҜpDٮll(PxРΪ͡x=(!*A~ 66ɯA w!'!~ ww> ˏO G(yO@>GFOͱ<>!g͘( 8A0o~#fo<(g"IV0͘!͘= _͘&i{=))# :ɬgO> 2͘O(I y _ØK}=y<>>=s~͈ͣ8G 1q͈0<( !49r+s (,!59x( q#p# w#>8 >2(!"){!/96(6!91~͂(wO#+N~ͣ( _(s#}+>@))o͘x 88 y(8Ɛ'@'O =(=(Wd:`>:8(2ր>2ɯ͈#|7{zR|ͣ}ͬ70? ? -͘ , 7? G(=(= ( W:`(O!`5#T]~#!~6#~(8(:a(ɷ>s18s>8>  {{!`2(~0 # G>,=x~#~>2>go"0:(=*}PR"k:<Y2ɯ2:=:O>Oo&,:J<̀!"kͽ!̓!=!O>L>8}8|8 ͽ>J9>88> 9y8:8*P"y>I}8|888(9>2i>K>8>D8>I82!O8G>Gyo0$~!8(N ~ >~(˾>yy8B >G> N(~w>"=~F!>2.(ͣ$|{8_ ͬM>DK}@|@>AA>`H>O>FA(>zy{<>>>#>W4/@(z =!~@#~0>z>:o(!540 4@(5405èWâL07/23/8300:59:33!Xy2!!yªOw>2 F:(y/(PF ͊2·ey7y"X(F(:2O!:· >22O 6A*u"u!X(:!@PyG:kOx( 88<<8nfDM!ŇO!q ~#fo! N#F+Ns#r!a (~#0GGIllegal Function CalBad filename in FCDisk allocation map baCan't Log in that Driv!1:O͊( @(( 8( *The Dis   kette is Write Protected* Type RET (after removing tab) or CTRL-C to Abort > !b11 No System on the BOOT Diskette. Hit any key to re-try > !Ϳ=<# > =<8O> = =<<=~#T<> = <O ( O͟!a#rra#r 0a 040y5z x~2R"`e2ϷZ!R5 :ϷH{.N .:G~=ݶ"N( ӆۇ@@ |~:0n f!ۄo{ӄӄۄfۅgzӅӅۅfxӃӃۃfR ~=/gۆo:_ʤ(<*` (,> Ӈۇ N((ہۆ2_>ӆ~&Ӂ>0ӇN(G>pݶ#Ӈ= ۇ ۇ(ہ:_ӆ>>>'=<H(*>ӆ x ۇ<(H(ۆ ><= =͡>2-!"`! |ȷ(@Z|ȷ(Z!|ȷ(>2H>22A~f v(z>0>2A> á"M2!:A·=2O:A;=(;=(;y2%8*)))):A()}ox==T(͇2$S1:%2+*"':$ϱ2$w/2"[1H(N:Ϸ(!?5>2?͇ 2#2$2!"/"1G>'=<(!B1=x2":OG7/O:#ϡ2#ϯT :$ϡ 4H :#ϡ ):%O2#$ѷS/:%2-:!2#Tw:-!*/ :+!*1O:%ϑR:OG7O[M:O<= :"Ϸ*'nfv( :20!"@:$Ͻ[1K+!(p:%y2%Hx2% :$O:#ϱO:@ι(S/:+O2-ϯ2#$̷ =:A· (C) 1983_O &> >  02_(2<2<2<:=:!@~6#6A!"e@(G!a6e 55!5o~ѷ("e f g!(͔=͔ e" [*R8  u+͔=" ? !͍S, [SS ( o$ɯ!͍ͦ$Cͫ8GLO>#6?= ˏ!SYS!COM%g}7|}(7u(8?mȸ~( 2: )=&=You can't erase any files on Ao($&͢!f5 #~#"Y=W6=w2A 2ZzYou can't be serious! (Y/NL777!8~8 b w4!ͦ~ !=G  7*Read error:&$Sorry, you can't do thatQ&"&PICP V2.07B-07/31/83L=ͫ~ &Wn:0 }(d .& Userͫ~ W^V!~7#8N#  (| +No spac Left >K 405y22xů20Nv(z0 >21V(9~21ȷ(  =9= y2/{8_>20~_"PAǷx(Ͳ>F>E :2O:0ȷ(y z ȯ~ :0 { :1 = :/ > > !Y~@#~n>V>f>~>J :2 > :2 z ͚A>2@kǷ(>d$= :@= => :2 ͚Ƿ:Y 00("$PkǷ(z == kǷ 0>24> :2 40523 :4= > :Yo(@D`MyK:P@:Q@>A:1=AxH>OH@>4@ z = =!Y5b:G=>( !G+wy{R[s#r #" ֯>ӆ<ӆۇP>ӆ!@~ P!(!4# ~2FV ^ ["!y~ 2 0 ~2#~2n f+"# i(,&V i(,}!G7" *++:G>0 <G[+"<#":!˷ #:#0~2 ~( >2>2!( k!80)>)R8#= ?>2y22͠!5 :28:Ϸ rޯǷ:3w ƷN!_~(!!l:Ox('~G:$8 :AG:@2#2$ϯ$2" There has been a FATAL disk error #1. @ (@/P (@_@w  @.@ d2@.7@ d2@.7208/03/83 - 23:52:00 - 1.41SPECIAL1 y2 : 6d@!O q#A>2@1  :A >> ͍͢ͅ(ͫLFnL:œ! ~(5 # (~ #y70GAmbiguous:~# 0O! ~#foDIERASTYPVERSPACTIMUSEETԼ=դ9l՜֜!30+~H( 38OC8LWz~#0 ??:`O!ͦ~ͫ( #6?Wn} >22ѯA2G:0N :==:0+xK˿x 0 > +:0>>!V | | o+:2'**d* *}0GЯ 2:=g2<(:(=O2 (   ͹2 [ !y ~ /G y 5 6 8(4 :K $ȷO[ ^[@O!~/w !~#w#6*:#w! *#6ͭO( O*#:w ͭد22T(( h!45( (8>~5<7:> (O~ 00 (F 'G x :+~ 0 ( y/G͘  #ͭٯ ((+x<=#~ͺ!4w 0  ­O[͘:!AODiskͭƐ'@'O!E*~ w#~ wNF"w͝ۯ2Hl*|<#~  X* #~?  qwgy>K !/q*"0H *0"K*0"l*"|<}ʉ͉*(D~ ! :/=( *# :/ #~/O~?~?( =*v(  ~~Kͧ + t:<`06>͌͛P!^*K! ~ݦ(ݖ ! 6! ~/w! F6#Nwů#q+pV>Kͧ*"'Q t:<['HG(wO #?(wq(###wͥ͌͛ ͤ8x !6͒C+q~(#p! 6#~= >ͧ*pT]*+~G/O:*2*d*+#"+2*"+ͅ:?d:*O!)8 q y˾y t: : =2*2t y2":" 2">1:"2>22 : <(=*w:2!!:*-wOͽ*#<"#*%^ <"%"-*-7"yL˅}o><0= K ?   2 =2:!2 EK*BKCC$KgN/F0*[p(D ( (m(5ˁ@8@w: #*(08 0xGGG  y2 !#"!T"!: (."ALIOS V2.45- 08/23/83#XXXXXX222!͖B!"#:! *#""}2:!ÉE""*9/<:*xͧyͥzs#GͰx0w#K >9<*"3** W!S2C2W!~<6> ( <SYSCOM#2 *3DM͚5: "=2: ͚{5*3*}ЇO! K{"?"C>2: :!w#6E*%"K*ú:!O"E: ~w>2 XK!! ~_~#~W! ~/ng}p(  P;Y^cÀhöQÈÐF`ÁF i` n&ydO10o(>B:jO; !"!"2̀ !4~* ". : 7!h~ˆGQ2 >2!"2!"!".~OLt1Ͱ2O!=1:kĀ !!F6'x!!~#O !!!!X!"D)Cy2CF^  a>2lC"x *F![:#G )K"x=( =y=[!((Oy  :>N * *NFKT͘= F͘*5^#~{T :!Oͽ!"*<<"+*+NF^ VB8 KB}F( O ~O!@('*T͘ [͘T_NError Retry? (Y/N2 ! NpF>O:*?G* ~ݦ_x(7~( ^(#V+S+O* *+F)7:*o"+! K ~2*! ~2)*#}ݖ|ݞ"O}2VڷͤBw Dwnf#B0 DMy8 * #N~(#~G(͒Fr:<>)>8* yw > K! ݦ_(~/w! s! ͡y~++r:<> U* ͡r!4( 6@ 0f%*!"t:<"y#w (Y:<~K(! ݾ(4:< ! w#! 4r:< y͚ :< < WyX>0W:*!)8!6ր N!~(62*~*+| <?d! K :*w: 4! :)wX0W:*O>0!)y0 *~1zwy~(+(+GN(#F چ>PYnfR(x( (BKͤ86x22D . ˱D}Og#p#:2w#p"ym(#* >?w? mxx#6  ͒ 8 ! ɿ=_.:;<>,[]a{_!~(C~r! GNs(=ͅ!46 - >(́ͅ!46>K! r! s2 ,͡ t:<> W###^͌!4( > Ѻ8!k`X:* s#r#pK! V:! !! w#r#6ɯO<2< g>'=<>N0 ( :m2m TPM-II for QX-10 256K V2.40- 08/23/83 *Bulletin Board Version* O ! ! F#N#V`iO!H!B! N:&{$ABYE SYSABYE SYS[ Hard=A thru @] [Floppy=A and B] :k@2U<2a<2g!G1>!2    ============================================================== RCPMDATA.17A (This file is meant to accompany RCPMLIST.xxx, and is separate from it because it does not require frequent updates.) =============================================================== These are the rules and etiquette for using RCPM systems. Please read this file carefully to get the most from your long distance charges, and to respect the privacy of the SYSOPS who are giving generousn Z-80 or 8080 assembly language) can be converted to run on other machines quite easily. Systems dedicated to downloading programs for the PET, APPLE, TRS-80 and NORTHSTAR do exist, however. Ask experienced users in your area, or check through "other systems" listings on local CBBS's, ABBS's, FORUM-80's, etc. Such systems are often listed in files named OTHERSYS.xxx. 2. XMODEM is a modification of Ward Christensen's original MODEM program o available on many remote systems, to allow multiple file transfers, but it is a licensed program (i.e. NOT public domain), so it is only available to you if you buy it. Certain programs, such as PLINK and some versions of MODEM, can allow files to be "captured" without the benefits of handshaking or error checking. However, if you use such methods, you should bear in mind the following: 1. Errors occurring during the transfer will go undetected unless  3. You may not be able to transmit some files if they contain certain values, such as hex 1A, which indicates end of file. 3. Non-XMODEM program transfer systems are starting to appear: e.g., LICC's BBS on Long Island [at (516) 561-6590; 110-600+ baud; 24 hrs;no callback] has a few downloadable ASCII files but at present these must be captured like CBBS messages and then saved to disk without any error- checking protocol. John Wood, the sysop ly of their time and effort to provide this service. =============================================================== General Notes and Comments -------------------------- 1. The systems listed here only carry programs that will run under the CP/M operating system, most of them public domain software distributed by CPMUG or SIG/M, the two main CP/M users' groups. Some of the programs involved (especially those in BASIC, PASCAL and C but also a few idesigned to allow the transfer of files between the exchange system and yours. The exchange system needs the program, not you; you will probably be using one of the many versions of MODEM itself: e.g. MODEM2, MODEM221, MODEM 926, MODEM7, MODEM75, TRSMODEM, APMODEM, CMODEM, MBOOT3, etc. BSTAM and most of the other commercial terminal programs will not work properly with XMODEM's S or R file transfer modes which use the Christensen protocol. BSTAM is alsyou catch them (no handshaking/error checking) by visual means, or by transmitting 2 or more copies of the same file. You can then run COMPARE or DF against them until you get a pair that "agree". 2. You may not transfer .COM files. You may, however, use UNLOAD to create .HEX files from .COM files, and the .HEX files can be sent as in #1., above. The receiving end can then run Digital Research's LOAD to recreate the .COM file from the .HEX file received. of Santa Clara CBBS [at (408) 241-1956; 110-600+ baud; 24 hrs, no callback] has announced plans to implement late-night exchanges; whether these will use XMODEM is not yet clear. Chuck Forsberg's YAM (Yet Another Modem) program is written in BDS-C, and the source is available on several systems in RCPMLIST. 4. Some XMODEM systems also operate as real CBBS's, including those operated by Dick Mead and Steve Vinokouroff. Others, like Keith Pe   tersen's & CCCC's use a skeletal subprogram for handling messages called "MINICBBS". Their emphasis is on exchanging software, not bulletin board type information. Most RBBS systems focus on software, but there are variations. Note that you cannot transfer a .COM file to any of these systems; the xmodem program will not allow it. Some systems will automatically rename any incoming .COM files to .OBJ. In addition, some systems will not let you take .COM ograms used by almost all of the systems on RCPMLIST. You will need one of them if you are interested in starting your own RCPM/XMODEM system. CBBS & MINICBBS are assembly-language programs and cost $50. RBBS & related programs are in MBASIC and free but not quite as good as CBBS, and, of course, you'll need the MicroSoft BASIC compiler to use them ($250). Ask the sysop of this system for details, or read RBBS-USE.DOC, RBBSNSTL.DOC, or CBBSFORM.DOC. 6.ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssEdddBspiS)auoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooofffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffosesdddddddus  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  s  y the letter Q in the 2nd position of the filetype; for example, MODEM7.DQC must be run through USQ to produce the readable MODEM7.DOC file. Be sure you download USQ-15.OBJ and rename it at your end to USQ.COM so that you can "unsqueeze" the files you get. 8. All of the RCPM's will accept 300 baud. Many will accept 450 or 600 baud if you can push your "300" baud modem that fast. You can change baud rates during a session by running NEWBAUD on thtics are: 8 bits, no parity, 1 stop bit, 300 baud for initial log-in. 10. Some "300 baud" modems capable of greater than 300 baud: The Racal-Vadic 3451s (and the manual MODEMPHONES) have 600 baud capabilities (at ordinary 103 modem frequencies). The PMMI (Potomac Micro Magic Inc.) modem widely used on the S100 RCPM's is often run at 600 and even 710 baud. Two other brands of modem will run at 600: the IDS on-board S- 100 modem and Novation's newly announced RV  files from them. Most systems will also prevent you from taking any files which the SYSOP does not want to distribute. Many systems contain .OBJ files; these are really .COM files which you are allowed to download. By calling them .OBJ, the SYSOP can prevent them from being run on his system, but still make them available to you via the XMODEM program. 5. "CBBS", "MINICBBS", "RBBS" (and a variant, "MINIRBBS") are the user-logging/message-taking pr A few CBBS' and RBBS' have software exchange functions that require the use of a password. Some such systems are included in RCPMLIST. If you wish to be given a password, you can usually leave a message to the SYSOP (SyseaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaidSsosuuf t0ddddadCddddddddddddddddddddddddddhuJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJCpuf issssssssssssss om rhe USER command to move around on these large capacity disks effectively. You should also become familiar with the SQ and USQ programs. These compress files to 50-85% of their original size. Many such "squeezed" files will be seen on these RCPM systems because squeezing files allows more files to be placed online, and they transfer faster. See the file named SQ-BRIEF.DOC, or SQUEEZER.DOC. Squeezed files are identified be host system, resetting your rate, and then re-entering terminal mode and pressing a few returns until the host senses what your new baud rate is. Weekends or holidays seem to give better luck with pushing to higher speeds, but the quality of your modem is the biggest factor. Several systems now accept 1200 baud also. 9. You should set your modem into ORIGINATE mode, and run it at FULL DUPLEX while accessing these and most host systems. The normal characteris3451-lookalike "triple modem". Neither are yet used by an RCPM system. The other systems on RCPMLIST all run either D.C.Hayes or assorted brands of external modem. They usually do not send or receive faster than 300 baud. 11. Do not despise things that are free. It is a curious fact in the computer world that value bears almost no relation to price. Some of the best programs for personal computers are in the public domain. They often work better and    are better supported than software costing hundreds of dollars. And, in terms of documentation, commercial programs do not even come close. 12. And please, most of these systems operate from private home telephones... be courteous and call only during the posted operating hours. Note that system operating times are posted in LOCAL time, not necessarily in your time zone. Be sure to translate these times to your own before trying to call a remote system.  13. Many systems have time limits (usually 1 hour in prime time). You can make more effective use of your time by downloading the directory menus,...usually called DISKMENU.DOC. You can then hang up, print it off, mark the files you want, and then call back. Another effective way to use these systems is to run WHATSNEW on each disk as you log into it; this will list files newly added and deleted since a specified date. A separate copy of WHATSNEW is k practice with another CP/M user. 15. Be sure to look at the .DOC file or the first part of the .ASM file to learn the purpose or restrictions of a program before you bother to download it. If the filetype is AQM or DQC indicating the file is "squeezed", use TYPESQ to view it. 16. Be sure to type BYE before you log off to reset the system for the next caller. If you are hopelessly hung up in a loop, then just hang up and call back in thirty seconds cal commentary, heavy-breathing messages, and the like. Users are of all ages and persuasions, and restraint (or maturity) will be appreciated by all. If you know of anyone abusing a system, please discourage it, or report it to the SYSOP. This sort of abuse has resulted in the loss of several good RCPM systems, wider use of passworded systems, and other restrictive curtailments. 19. Most remote systems have far more files than are online at any one tim NOTE: If the system says a "call back" is needed, you must call the number, let the phone ring EXACTLY once only, hang up and redial. On your second call, the modem will answer on the first to third ring. If you get no answer after 3 rings, hang up and try again later. The purpose of all this is that the "call back" systems are using telephones that are also used for personal voice matters. Be sure to respect the generosity and the request of the SYSOPS.ept on EACH of the system's drives, so you'll have to execute WHATSNEW on each drive in order to see all of the new files. This can be easily done by just prefixing the drive name to the command. For example, to see what's new on a 3 drive system, type: A:WHATSNEW B:WHATSNEW C:WHATSNEW 14. It would be a good idea to practice file transferring with someone in the local calling area of yours before going to a distant RCPM. If you do not have a local RCPM, or so; the systems will automatically reset after they sense that the remote caller has hung up the phone. 17. If you discover a problem with the host system, report it by leaving a message on that bulletin board, or by contacting the SYSOP. He may never know if someone does not tell him. This is an easy way to repay for the use of that system, and it will be appreciated by the SYSOP. 18. Do NOT use these systems for commercial messages, ethnic jokes, politie. Most will accept requests on their bulletin boards to leave certain files online for you for a specified interval of time, and on a certain disk and user #. If you don't see it, look for a .DOC file indicating that the SYSOP offers such help. ================================================================ .DOter world that value bears almost no restems, and other restrictive curtailments. 19. Most remote systems have far more files than are online at any one tim    RBBS/RTPM (BULLETIN BOARD) INSTALLATION This method can be used to install a standard RBBS, however the TPM II/VALDOCS system should work with little conflict. If you are using this as a standard RBBS, evoke QXBULLA.SYS and use that to SYSGEN the RBBS System on to the LEFT Floppy diskette drive. If you are planning to use a HARD DISK, place it on both the LEFT floppy diskette and A: Drive of the hard es at user level A100: before you set up any other files on the A: Drive. This will make search for the Bulletin Board files much faster. NOTE: BYE.SYS MUST BE ON BOTH A0: AND A100:! The system accesses the BYE.SYS on A0:, the caller uses BYE.SYS at A100:. Set up of the A: Drive diskette should be done in the follow- ing sequence to achieve the best access time: Drive Install A100: BYE.S, CRCK.COM, and HOW2USE.DOC. or HELP. During LOGON the system will refer to HOW2USE.DOC You can make up your own HELP., and CHAT.COM can be an added enhancement for callers to alert the SYSOP that they want to chat. A254: BULLETIN. and INFO. These are system bulletins for callers to read when they access the RBBS. Neither BULLETIN or INFO a TPM System has a modified PIOS module to COLD START with BYE. SYS rather than INITIAL.INI. The B: Drive system has modified the ICP module to prevent execution of certain commands. Be sure that you are using a full RS232 modem cable. BYE.SYS performs direct interrogation of the carrier detect line and a 3 wire cable is insufficient. Anytime the system is RESET, BYE.SYS executes and initializes the Smartmodto be executed on a warm boot. BYE.SYS then "chains" to RIBBS.SYS using the TPM chain function. RIBBS.SYS now takes control of the system. Upon EXIT to TPM, RIBBS.SYS performs the warm boot and the active ICP is on B:. This is the special bulletin board modified version. The user exits to what appears to be A0:, but is actually A100:. Users may not access any other User Levels on A:. When BYE is typed, a signoff me disk. Evoke QXBULLB and sysgen to B: Drive (either the RIGHT floppy disk or the hard disk B: Drive, not both). This version of bulletin board places all files accessible by callers on A100:, the ONLY User level callers can have access to on the A: Drive. This allows having a normal system setup, with all of your popular files located on A0:, where they can not be accessed by a caller. Place the Bulletin Board filSYS A0: BYE.SYS, SECRET.CTL, and RUBBSTL.SYS protect all at level <6> RUBBSTL.SYS is for the SYSOPerator's use for purges and archiving of message files and is not necessary to operate an RBBS. There is a limit of 200 message records and this program is good house keeping. A100: RIBBS.SYS, XMODEM.SYS, BELL.SYS, LIST.SYS, SD.SYS, DSTAT.SYre necessary for operation. Alterations to BULLETIN or INFO files can be performed by the SYSOP. Files generated by RIBBS; COUNTERS, SUMMARIES files that contain all messages and history of the users, are also located at this level. This RBBS system uses both the A: and B: drives and looks for TPM system tracks with modifications on BOTH DRIVES. A: Drive em and "Waiting for phone to ring...." displays on monitor screen. If the message begins scrolling, the modem is either not properly plugged in or not turned "ON". When the phone rings, the BYE program receives and tests the initial password, then switches the "BOOT" drive to B: Drive. The switch is located in the PIOS, at location PIOS+6AH. This is 0E86AH in the current version of the system. That causes the modified ICP ssage is sent, the system re- initializes to wait for another call. If the carrier is lost during operation, an automatic chain to BYE.SYS is made. NOTE that there are currently no time-outs in this system. It is possible to have someone not hang up, which leaves the system unaccessable or "BUSY". Anytime the system is waiting for a telephone inquiry, SYSOP may enter a [CTRL] [C] and control will be returned to normal     keyboard operation. At that time PIOS is temporarily patched so the full TPM-II operation is available. To set it back up as a Bulletin Board, just type BYE. The SYSOP has extra privleges not available to other callers. Type [CTRL] [C] to exit to TPM. Evoke RIBBS F and log on as SYSOP;TWL. If you respond to the "Function" prompt with [%], you can print out a list of callers. If, however your printer is attached and "(1 2- !\W J2w !l{ J2 J!]~ ;5!m~ U5~# L! P6#zaW <|T5{ <ʎs5͚þ! "' W *' "' à! |2/ ") ~A#:/ 5") :O ~B*) y:W*) # ~C! q6: 0LU4YFN0p4DoHʆIʚPRʏVBWʌ LL2- !c 6#¡W <º 5͚I*) : G~~# > _> >>2>2L:- ; 4YʌNAA  CHGLIB v1.6 - change Dial Library of MDM7xx series Original version - Jan 1982 by Tony Ribeiro Automatic version - July 1983 by Dennis Recla$ Syntax is : CHGLIB input.COM output.COM Both filenames must be specified and must be unique $ Unable to open Source File$ Output File Already Exists$ No Directory Space$ Clearing file space, $loading file... $ CHGLIB done, rebooting$ Dial Library not file V V* View specified entry on console V? View entire library W W Write new COM file to disk "*" signifies one letter, A - Z, which corresponds to the library entry you wish to work with $ ++ Syntax Error ++ $ Aborting insert mode, no changes made$ Description$1-xxx-xxx-xxxx - Exactly $ Characters $ Disk Full$ Writing File...$ File Written to Disk$ Open error on ead $ No changes made to library$ Do you want to save neON" during operation, logons are printed as they occur.  it back up as a Bulletin Board, just type BYE. The SYSOP has extra privleges not available to other callers. Type [CTRL] [C] to exit to TPM. Evoke RIBBS F and log on as SYSOP;TWL. If you respond to the "Function" prompt with [%], you can print out a list of callers. If, however your printer is attached and ">  !3 : 2- I4 }20 j##? : G> O : 0j :0 >::2 G: ¶3 w#Ò LA[?*) |U}U &o < |3{0^Ɛ'@'* ]!)y*) "+  { <§L! "' { { x 5=*' í{  5*' 8}l&) found in the first 4k Bytes$ Found dial Library at $ Library spacing is $ bytes $ Does Library look okay? $ elete, elp, nsert,

rint, ead, iew, rite $ ++ Command Summary ++ Cmd Syntax Description ----- -------- ------------- D D* Delete specified entry from library H H Display this screen I I* Insert new text for specified entry P P Print full library on printer R R Re-Read library from sourcew File (Y/N)? $H, (Absolute address) $$ file to disk "*" signifies one letter, A - Z, which corresponds to the library entry you wish to work with $ ++ Syntax Error ++ $ Aborting insert mode, no changes made$ Description$1-xxx-xxx-xxxx - Exactly $ Characters $ Disk Full$ Writing File...$ File Written to Disk$ Open error on ead $ No changes made to library$ Do you want to save ne   s Smartmodem. Credit belongs to Bruce Ratoff of Rising Star who reconfigured Modem 7.12 for the Epson to do this. To make it work, you will need (for the time being) two programs in addition to VALDOCS -- ATXMODEM.SYS and DEVAL.COM. They should be on the same disk you write your file on. First, write your file in VALDOCS in normal fashion. When you are com10 ' * * * D I A L E R * * * USES THE HAYES SMARTMODEM AS AN AUTO-DIALER 20 ' WRITTEN BY: R. L. WILCOX 920 N. WASHINGTON OWOSSO, MI 48867 30 ' DATE WRITTEN: 21 JAN 82 LAST REVISION: 28 JAN 82 40 ' LANGUAGE: MBASIC REV. 4.51 SYSTEM: CP/M 50 CLEAR 1000 60 DIM N$(20,1) 70 ' MACHINE DEPENDANT VARIABLES =========================== 80 CS=12 'CLEAR SCREEN BYTE 90 KS=16 'KYBD STATUS PORT 100 KD=17 'KYBD DATA PORT 110 KR=1 'DATA READY BIT 120 KX=0 'VALUE TO XOR WI250 READ N$(N,1) 260 N=N+1:GOTO230 270 N=N-1 280 ' SET FOR TONE DIALING ==================== 290 D$="ATT"+CHR$(13):GOSUB 880 300 ' NUMBER MENU =========== 310 PRINTCL$; 320 PRINT,"HAYES SMARTMODEM DIALER" 330 PRINT:PRINT"LAST NUMBER: "NA$" - "NU$ 340 PRINT:FOR I=1 TO N 350 PRINTI;N$(I,0)TAB(25)N$(I,1) 360 NEXT 370 PRINT" I INPUT FROM KEYBOARD"; 380 PRINTTAB(25);"H HANG-UP" 390 PRINT" A AUTO RE-DIAL"; 400 PRINT TAB(25);"R REPEAT LAST NUMBER" 410 PRINT " Q QUIT";TAB(25)"S GO TO SYS=========== 560 IF AFLAG THEN 600 570 PRINT"PRESS SPACEBAR TO DIAL: "; 580 WAIT KS,KR,KX:J=INP(KD)AND127 590 IF J<>ASC(" ") THEN RETURN 600 D$="ATD"+N$(SE,1)+";"+CHR$(13) 610 NA$=N$(SE,0):NU$=N$(SE,1) 620 GOSUB 880 630 IF NOT AFLAG THEN RETURN 640 PRINT"PRESS 'C' TO HANG-UP AND CANCEL AUTO RE-DIAL" 650 PRINT"PRESS 'S' TO GO TO SYSTEM W/O HANGING UP." 660 T1=T1+1:PRINT" TRY #"T1;CHR$(13); 670 GOSUB 760 680 FOR J=1 TO RT 690 FOR I=1 TO 70 700 C9=INP(KD)AND 127 710 IF C9=ASC("C") THEN 750 7TH (0 IF WAITING FOR BIT=1) 130 MS=18 'MODEM STATUS PORT 140 MD=19 'MODEM DATA PORT 150 MR=2 'READY TO SEND BIT 160 MX=0 'VALUE TO XOR WITH 170 CL$=CHR$(CS)+STRING$(20,0)' CLEAR SCREEN + NULLS 180 ' PROGRAM VARIABLES ================= 190 RT=25 'DELAY IN SECONDS BEFORE RE-DIALING NUMBER IN AUTO MODE 200 DT=35 'DELAY IN SECONDS BEFORE HANGING UP IN AUTO MODE 210 ' READ NUMBERS FROM DATA STATEMENTS ================================= 220 N=1 230 READ N$(N,0) 240 IF N$(N,0)="*" THEN 270 TEM (CP/M)" 420 PRINT:LINEINPUT"SELECTION: ";SE$ 430 AFLAG=0:T1=0 440 IF SE$="I" THEN GOSUB 850:GOTO 520 450 IF SE$="H" THEN D$="ATH0"+CHR$(13):GOSUB 620:GOTO 310 460 IF SE$="A" THEN AFLAG=-1:SE$="R" 470 IF SE$="R" THEN SE=0:N$(SE,0)=NA$:N$(SE,1)=NU$:GOTO520 480 IF SE$="Q" THEN CLEAR 200:END 490 IF SE$="S" THEN SYSTEM 500 SE=VAL(SE$) 510 IF SE<1 OR SE>N THEN 310 520 IF LEN(N$(SE,1))=0 THEN 310 530 PRINT:PRINTN$(SE,0)TAB(25)N$(SE,1):PRINT 540 GOSUB 550:GOTO 310 550 ' DIAL SUBROUTINE ====20 NEXT I,J 730 GOTO 660 740 ' HANG UP ======= 750 D$="ATH"+CHR$(13):GOSUB 880:RETURN 760 ' RE-DIAL, HANGUP AFTER DT SEC. ============================= 770 D$="ATD"+NU$+CHR$(13):GOSUB 880 780 FOR J=1 TO DT 790 FOR I=1 TO 70 800 C9=INP(KD)AND 127 810 IF C9=ASC("C") THEN 840 820 IF C9=ASC("S") THEN SYSTEM 830 NEXT I,J 840 GOSUB 740:RETURN 850 ' GET NUMBER FROM KYBD ==================== 860 SE=0:N$(SE,0)="NR. FROM KYBD.":LINEINPUT"NUMBER TO DIAL: ";N$(SE,1) 870 RETURN 880 '     SEND D$ TO MODEM ================ 890 FOR I=1 TO LEN(D$) 900 WAIT MS,MR,MX 910 OUT MD,ASC(MID$(D$,I,1)) 920 NEXT 930 RETURN 940 ' DATA STATEMENTS =============== 950 ' DATA FORMAT: "LINE # DATA NAME,NUMBER" LAST DATA STMT MUST BE: "LINE # DATA *.*" 960 ' WHERE "LINE #" IS REPLACED BY THE ACTUAL LINE NUMBER, "NAME" AND "NUMBER" ARE REPLACED BY THE ACTUAL DIRECTORY INFORMATION. 970 DATA GANCSOS,"120,313-653-8313" 980 DATA POLICE,723-8291 990 DATA KMART P; ; SECURITY4.ASM (revised 08/06/82) ; by Keith Petersen and Bob Mathias ; ;THIS PROGRAM RUNS UP IN HIGH RAM. IT GETS THERE ;BY BEING MOVED THERE WHEN 'MINICBBS' IS TYPED. ; ;THE PROGRAM IN HI RAM DOES THE FOLLOWING: ; ;LOADS AND EXECUTES FILE 'RIBBS.EXE' FROM USER 15 ;ON DRIVE B: ; ;------------------------------------------------ ;CHANGE THE FOLLOWING EQUATE TO AN AREA IN YOUR ;HI MEMORY WHERE THIS PROGRAM MAY PATCH ITSELF IN. ; DEST EQU 0C500H ;RUNNING LOCATION OF CODE ; ;------------D OF SOURCE CODE MVLP LDAX D ;GET BYTE DCX H ;BUMP POINTERS MOV M,A ;NEW HOME DCX D DCX B ;BUMP BYTE COUNT MOV A,B ;CHECK IF ZERO ORA C JNZ MVLP ;IF NOT, DO SOME MORE PCHL ;JUMP TO "START" ; SOURCE EQU $ ;BOUNDARY MEMORY MARKER ; OFFSET EQU DEST-SOURCE ;RELOC AMOUNT ;-----------------------------------------------; ; THE FOLLOWING CODE GETS MOVED ; ; TO HI RAM LOCATED AT "DEST", ; ; WHERE IT IS EXECUTED. ; ;-----------------------------------------------; ;XXXXXXXXXXXXX ; START EQU $+OFFSET LXI SP,STACK ;SET UP LOCAL STACK POINTER ; ;SET USER NUMBER TO 15 ; MVI E,15 ;E = USER 15 MVI C,SGUSR CALL BDOS ; ;SAVE PAGE 0 TO RESTORE BEFORE JUMPING TO LOADED PROGRAM ; LXI H,BASE+5CH LXI D,PAGSAV MVI B,100H-5CH CALL MOVE ; ;LOAD AND EXECUTE FILE ; LXI H,FILENAM ;SOURCE LXI D,FCB ;DESTINATION MVI B,13 ;LENGTH CALL MOVE ;MOVE THE NAME ; ;SET DMA ADDR TO 80H LXI D,BASE+80H MVI C,STDMA CALL BDOS ; ;OPEN THE FILE ; LXI D,FCB READLP ;LOOP ; ;GOT RETURN CODE ON READ, SEE IF ERROR OR EOF ; EOF: EQU $+OFFSET POP D ;DELETE STACKED BUFFER ADDR ; ;A HAS RETURN CODE FROM READ DCR A ;EOF? JZ RSDMA ;YES, EXIT ; ;READ ERROR - EXIT WITH MSG ; BYERR: EQU $+OFFSET CALL ERXIT ;PRINT: DB CR,LF,'++DISK READ ERROR++',CR,LF,'$' ; ;EXIT WITH ERROR MESSAGE ; ERXIT: EQU $+OFFSET POP D MVI C,9 CALL BDOS XRA A STA BASE+4 ;SET DRIVE A:, USER 0 JMP BASE ; ;RESET DMA ADDRESS TO NORMAL ; RSDMA: EQU $+OFFSET HARMACY,743-5656 1000 DATA BETTY WALKER,"120,616-536-2466" 1010 DATA KEN NIXON,723-4038 1020 DATA BOB BACHMAN,"120,323-2981" 1030 DATA K. PETERSEN,"120,313-759-6569" 1040 DATA DEARBORN CPM BBS(NOT RB),"120,313-846-6127" 1050 DATA ASAP,"120,800-421-7701" 1060 DATA *,* N,"120,313-759-6569" 1040 DATA DEARBORN CPM BBS(NOT RB),"120,313-846-6127" 1050 DATA ASAP,"120,800-421-77ACED BY THE ACTUAL DIRECTORY INFORMATION. 970 DATA GANCSOS,"120,313-653-8313" 980 DATA POLICE,723-8291 990 DATA KMART P------------------------------------ ; BASE SET 0 ALTCPM EQU 0 ;PUT 1 HERE FOR ALTERNATE CPM IF ALTCPM BASE SET 4200H ENDIF PRINT EQU 9 OPEN EQU 15 STDMA EQU 26 SGUSR EQU 32 ;SET/GET USER FUNCTION BDOS EQU BASE+5 FCB EQU BASE+5CH FCBEXT EQU FCB+12 FCBRNO EQU FCB+32 ; CR EQU 0DH LF EQU 0AH ; ORG BASE+100H ; ;MOVE THE PROGRAM UP TO HI RAM AND JUMP TO IT. ; MOVEUP LXI B,PEND-START+1 ;NUMBER OF BYTES TO MOVE LXI H,DEST+PEND-START+1 ;END OF MOVED CODE LXI D,SOURCE+PEND-START ;ENXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ;XX C A U T I O N : IF MODIFYING ANYTHING XX ;XX IN THIS PROGRAM FROM HERE ON: XX ;XX A-L-L LABELS MUST BE OF THE FORM: XX ;XX label EQU $+OFFSET XX ;XX IN ORDER THAT THE RELOCATION TO HI RAM XX ;XX WORK SUCCESSFULLY. FORGETTING TO XX ;XX SPECIFY '$+OFFSET' WILL CAUSE THE PRO- XX ;XX GRAM TO JMP INTO WHATEVER IS CURRENTLY XX ;XX IN LOW MEMORY, WITH UNPREDICTABLE XX ;XX RESULTS. BE CAREFUL.... XX ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX MVI C,OPEN CALL BDOS ; ;DID IT EXIST? ; INR A ;A=> 0 MEANS "NO" JZ BYERR ;NO FILE, EXIT ERROR MSG ; OPENOK: EQU $+OFFSET LXI D,BASE+100H ;POINT TO TPA ; READLP: EQU $+OFFSET PUSH D ;SAVE BUFFER ADDRESS PUSH B PUSH H MVI C,STDMA CALL BDOS ; ;READ A SECTOR ; LXI D,FCB MVI C,20 ;READ CALL BDOS POP H POP B ORA A ;OK? JNZ EOF ;NOT OK, MUST BE EOF POP D ;GET DMA ADDR LXI H,80H ;LENGTH OF 1 SECT. DAD D ;CALC NEXT BUFF ADDR XCHG ;PUT IT BACK IN DE JMP  LXI D,BASE+80H MVI C,STDMA CALL BDOS ; ; RESTORE PAGE 0 ; LXI H,PAGSAV LXI D,BASE+5CH MVI B,100H-5CH CALL MOVE ; ;LEAVE WARM BOOT ADDRESS ON STACK, THEN EXECUTE RIBBS ; LXI H,0 PUSH H JMP BASE+100H ;EXECUTE MINICBBS ; ;MOVE (HL) TO (DE), LENGTH IN (B) ; MOVE: EQU $+OFFSET MOV A,M ;GET A BYTE STAX D ;PUT AT NEW HOME INX D ;BUMP POINTERS INX H DCR B ;DEC BYTE COUNT JNZ MOVE ;IF MORE, DO IT RET ;IF NOT,RETURN ; FILENAM EQU $+OFFSET DB 3,'RIBBS EXE',0 ;F   ILENAME GOES HERE^^^^^^^^^^^ ;DRIVE NAME HERE^ ^EXTENT NR. ; PEND EQU $+OFFSET ;END OF RELOCATED CODE ; DS 40 STACK EQU $+OFFSET ;LOCAL STACK ; PAGSAV EQU STACK+1 ;ADDRESS OF PAGE 0 SAVE AREA END  TO (DE), LENGTH IN (B) ; MOVE: EQU $+OFFSET MOV A,M ;GET A BYTE STAX D ;PUT AT NEW HOME INX D ;BUMP POINTERS INX H DCR B ;DEC BYTE COUNT JNZ MOVE ;IF MORE, DO IT RET ;IF NOT,RETURN ; FILENAM EQU $+OFFSET DB 3,'RIBBS EXE',0 ;FSECURSYS.DOC as of 7/10/81 Doesn't it really burn you when some jerk logs into your remote CP/M system (that you've spent hundreds of hours and thousands of dollars to put on-line for public use) and promptly tries to steal you blind and crash or ruin your system? In the (almost) 2 years that Technical CBBS has been on line, I've compiled a user log about 6 feet high (no kidding, 5 boxes of 3000 sheets each) that probably has at least one example of every possib.COM files that you leave on-line (And also any other files that get loaded into the TPA and executed, like MINICBBS.OBJ). If you have any password files (like the PWDS file used by RBBS), CRCK those too. For obvious reasons, don't leave the CRCK file on-line. (CRCK.ASM is a program that produces a cyclic-redundancy- check value for any specified files.) 2. Use MDIR.COM frequently to see what goodies the jerk may have left you in certain us a remote user to find .SYS files. Most directory programs, and also WHATSNEW allow anybody to list .SYS files by just typing an extra character or two. The best thing to do is remove the .SYS list options altogether. (A quick fix is to DDT the .COM file and change the character to a control character like ^C which can't be entered into the command buffer.) 4. Keep a hard-copy log of all remote input to the system. Although a lole thing that a system crasher can try to steal or screw- up. I've been keeping a list of the "top-10" solutions that I've found since TCBBS has been in operation, which might be of some use to new SYSOP's. There is nothing amazing in the file, it's mostly just common sense, but it is very easy to forget these ideas. I know that from many painful experiences. SYSOP'S, here are some things you can do to stop a potential system crasher: 1. Keep a CRCK file for ALL of the er areas. Note; however, that MDIR.COM will NOT find files that are "hidden" in the "user areas" above 20H! The best way to see everything on the disk is to use the MAP (M) function of DU.COM. It will show EVERYTHING on the disk, even the remains of any erased files. I routinely Map the disks on TCBBS and SYSOP CBBS and have, on occasion, found special files and other no-no's on both. 3. Don't leave any .COM files on the system that can allow g won't actually make your system more secure, it will give you an opportunity to see how anybody "gets in", and will, hopefully, insure that the same break-in procedure can't be used twice. Installing a log is really easier than it sounds, since it only requires printing the stuff typed by the remote user, not the stuff typed by the system. An inexpensive (i.e. cheap) printer is perfect, since you don't need letter-quality type to see who's been screwi   ng up your $3000-and-up computer system. Many BYE programs (like BYE69.ASM) already include the option for a hard-copy log. 5. Of course, you should also change the CP/M commands. Again, the best thing is to REMOVE commands like ERA and SAVE, but if you're not that ambitious, or if you think you can't do without them, just change them as usual, with SYSGEN and DDT. Try to pick new commands that aren't easy to guess, although it's ive out ASM.COM, because it can't make a .COM file, but to leave LOAD.COM or L80.COM out is to invite a remote user to download his favorite debugger to see what he can do. BASIC.COM and DDT.COM are also bad news, since both could allow a remote user to make changes in memory. Even a compiler can be left safely on-line, as long as its associated loader program is not available. Also, don't leave out any files that would allow a remote user ton A: user 1! Digital Research doesn't think of this as a bug, because in an unmodified CP/M system, a disk select error will cause a PERMANENT BDOS error. The problem arises when the user changes his BIOS to allow a warm-boot on a disk select error, instead of a permanent BDOS error. CP/M doesn't reset the user/drive byte properly. That's the reason for the strange results. This problem can be fixed in your BIOS by properlyas, so their use is a bit restricted. Most BYE programs have a MAXUSER equate that will keep remote users out of any area greater than a preset value, so they can also protect you to a certain extent from an illegal drive select. 8. You can protect licensed or private software by keeping it in an unaccessible user area, and using a short loader program like Keith Petersen's SECURITY.ASM. This really works, and makes the SYSOP feel good whams on your system, put it in a user area that can't be accessed remotely (or at least a non-public area) and rename it to a .OBJ file. Then even if someone gets into the user area with the program, he can't run it (.OBJ). 10. Don't leave your system or CP/M passwords anywhere on the system. Use TAG.COM to make sure that someone can't XMODEM your BYE.COM program and other goodies. Don't leave a SYSGEN image (CPM56.COM) laying around either, since it cmpossible to guarantee that no one will be able to figure them out in time. (I have a listing from TCBBS log where some idiot spent about 8 hours trying to find one of the commands.) If you want to eliminate a command, you can embed a control character into the command word and make it impossible to use. 6. Don't leave any .COM files out that would allow a remote user to examine or modify memory, or to load a .HEX file. It is perfectly safe to leao send a .COM file over to your system. XMODEM.COM checks for .COM files and won't allow them, but many other programs, like MODEM.COM and BSTAM, will allow ANY file to be sent or received. Once a system crasher has a way to download a .COM file to your system, all is lost. 7. In CP/M 2.x, an illegal drive request might also change the current user area! In other words, a remote caller who is logged into A: user 0 could type "Q:" and end up  handling a SELDSK error, but if you don't have the source for your BIOS, you could be in trouble. Another way to protect yourself against this problem is to keep "private" stuff in user 5 or 16-32. Strangely enough, all other user areas can be entered with an illegal drive code. Putting things in user 5 will make them pretty safe, and, of course, putting things in user areas 16-32 will make them even safer, but the CCP can't get YOU into those areen he sees in the LOG that some BOZO who thinks he has just successfully stolen MINICBBS has actually just stolen a short loader program. 9. Probably the biggest security problem is INCREDIBLE STUPIDITY. It is rumored that some SYSOP's have actually done really dumb things like leave PIP.COM or MODEM.COM or FORMAT.COM (shiver...) out in a public user area! If you absolutely have to leave one of these (potentially) nasty little progrould be downloaded and DDT'ed to find the system commands. Also, don't leave your system PW's on another system in a private message to a friend thinking that his message system is private, because it probably isn't. I'm not being paranoid, everybody REALLY IS trying to break into my system... Some of these things may seem like a pain in the neck, but the more prevention you do, the less you have to worry about the 1 jerk in a thousand callers who w   ants to mis-use your system. NO SYSTEM is absolutely secure, but with these suggestions you should be able to run a system that is almost absolutely secure, which isn't really that bad. Good luck, Dave Hardy Sysop, TECHNICAL CBBS (313) 846-6127 Sysop, SYSOP CBBS (313) 885-0506 P.S. Please pass any additions or corrections on to me at one of the above systems. -thanks COROLLARIES: 11. Watch out for booby-trapped .COM files! If someone s file so well that it could only be found with a great deal of difficulty. In addition, an unknown .COM file might also have many other terrible hidden functions (See BANZAI.ASM for some ideas) that could even destroy other files on the system's disks, so be careful. -Dave Hardy (as suggested by Ron Fowler) u for public use that don't have the source with them. A good programmer could hide a secret function in a .COM; ; USER.ASM vers. 1.2 ; by Ron Fowler ; Westland, Mich. ; ; ; revised 8/7/80 ; ; (FOR USE WITH CP/M-2.x ONLY) ; This program is used to restrict access ; to the higher user areas while leaving ; the lower user areas public. The high- ; est available public user area is de- ; fined by "MAXUSER". ; ;08/07/80 CORRECTED TO MAINTAIN REQUESTED ; USER NUMBER EVEN AFTER WARM BOOT. ; AND TO ALLOW NUMBERS HIGHER THAN ; 9. By Keith Petersen, W8SDZ. ; ;08/07/80 Replaced RAL i MVI E,0 NUMLUP: MOV A,M ;GET CHARACTER INX H ;BUMP CHAR POINTER SUI '0' ;REMOVE ASCII BIAS JC NUMDONE CPI 10 ;CHECK IF PAST 9 JNC NUMDONE ;ANY INVALID CHAR ENDS NUMBER MOV D,A MOV A,E ;GET ACCUMULATED NUMBER ADD A ;TIMES TWO ADD A ;TIMES FOUR ADD E ;TIMES FIVE ADD A ;TIMES TEN ADD D ;PLUS NEW DIGIT MOV E,A ;SAVE ACCUMULATION JMP NUMLUP ;LOOP BACK FOR NEXT CHAR ; NUMDONE: MOV A,E ;GET ACCUMULATED NUMBER ORA A ;BELOW ZERO OR ABOVE 127? JM HUH ;INVALID CHARACTER ENTEREDends down an .OBJ file suggesting that you leave it out on your system, be sure to check that file for any hidden functions that may allow someone to break into your system later. One way to prevent this would be to only leave out .COM files that you have assembled from SOURCE files. In any case, be suspicious of any files left you for public use that don't have the source with them. A good programmer could hide a secret function in a .COMnstructions with RLC to ; eliminate drive select error caused by ; rotating carry bit into accumulator. ; By Dave Hardy and Bruce Levison ; ;08/08/80 Modified for improved response time ; by calling the setusr function after ; modifying the drive byte at loc 4, ; bypassing the need to warm boot ; By Ron Fowler ; ; DFCB EQU 5CH MAXUSER EQU 9 ;for example SETUSR EQU 32 ;set user in bdos DRIVE EQU 4 BDOS EQU 5 ; ORG 100H ; LXI H,DFCB+1 ;POINT TO ORIGINATING USER # IN CMD LINE  CPI MAXUSER+1 JNC HUH ;RESTRICT ACCESS RLC ! RLC ! RLC ! RLC ;MOVE TO UPPER NIBBLE MOV B,A ;SAVE REQUESTED USER NUMBER LDA DRIVE ;GET CURRENT USER/DRIVE ANI 0FH ;STRIP OFF OLD USER NUMBER ORA B ;GET NEW USER NUMBER STA DRIVE ;SET NEW USER NUMBER MVI C,SETUSR ;SET THE USER FOR NOW JMP BDOS ;SET IT AND EXIT ; HUH: LXI D,MSG MVI C,9 ;PRINT STRING FUNCTION JMP BDOS ;PRINT & EXIT ; MSG: DB 'Only USER 0-' DB MAXUSER+30H DB ' available.$' ; END le are saved, and a JMP xxxx 1130 ' instruction to the patch is put over them. 1140 ' 1150 ' 3 - When the patch is run and the user has supplied a correct 1160 ' password, the patch replaces the original first 3 bytes of the 1170 ' .COM file in memory, and jumps to it. 1180 ' 1190 ' This program will work with all .COM files. 1200 '------------------------------------------------------------------ 1210 ' 1220 ' This is a machine language relocatable patch that gets put 1230 ' beyond t   he last record of the program. It is Z80 code; don't 1240 ' run this program with an 8080 processor! 1250 ' 1260 DATA 18,0c 1270 DATA 3e,e1,32,10,00,3e,e5,32,11,00,3e,c9,32,12,00,cd,10,00,11,e5,ff,19 1280 DATA e5,0e,06,1e,2a,cd,05,00,e1,0e,00,22,10,00,46,23,5e,c5,e5,0e,06,1e 1290 DATA ff,cd,05,00,b7,28,f6,e1,c1,fe,0d,28,09,e6,5f,be,20,01,0c,23,10,e4 1300 DATA 3e,08,b9,c0,2a,10,00,2b,2b,2b,11,00,01,06,03,7e,12,23,13,10,fa,0e 1310 DATA 06,1e,08,cd,05,00,c3,00,01 1320 ' 1330 DEFSNG A 1340 DEFINT B-Z) 1460 R$=SPACE$(111)::RESTORE:FOR O=1 TO 2:READ H$:MID$(R$,O,1)=FNHX$:NEXT O 1470 C$=FB$+CHR$(LEN(B$))+C$ 1480 FOR O=3 TO 14:MID$(R$,O,1)=MID$(C$,O-2,1):NEXT O 1490 FOR O=15 TO 111:READ H$:MID$(R$,O,1)=FNHX$:NEXT O 1500 MID$(R$,82,1)=CHR$(LEN(B$)) 1510 ' 1520 ' Read file until EOF to find last page 1530 ' 1540 AD=&H100 1550 R=1 1560 ' 1570 GET 1,R:IF EOF(1) THEN 1630 1580 R=R+1:AD=AD+128:GOTO 1570 1590 ' 1600 ' AD now points to the address where the routine will be placed. 1610 ' Write the ; SCRAMBLE.ASM ver 2.0 ; ;SCRAMBLE is a program to scramble CP/M files ;using an 8 byte password. ; ;03/14/79 Originally written by Ward Crhistensen ; ;07/13/81 Moved stack init to beginning so default ; stack not used. Added fix to write routine ; for proper operation under CP/M 2.x. Expanded ; Macros so program may be assembled with ASM. ; By Keith Petersen, W8SDZ ; MONTH EQU 7 ;LAST.. DAY EQU 13 ;..MODIFICATION.. YEAR EQU 81 ;..DATE ; ;Scrambling is done in place, i.e. th SHLD STACK LXI SP,STACK ; ;Print sign-on message CALL START DB 'SCRAMBLE.COM as of ' DB '0'+MONTH/10 DB '0'+MONTH MOD 10,'/' DB '0'+DAY/10 DB '0'+DAY MOD 10,'/' DB '0'+YEAR/10 DB '0'+YEAR MOD 10 DB 0DH,0AH,'$' ; START POP D ;GET ID MVI C,PRINT CALL BDOS ;PRINT ID ; ;Start of program execution ; ;Scramble awhile to mix up the seed MVI H,0 ;GET 256 #'S ; MIXUP CALL PSEURAN ;GET A # DCR H ;MORE? JNZ MIXUP ;LOOP IF SO ; ;See that the password is 8 characters LDA FC 1350 CLOSE 1:PRINT 1360 LINE INPUT "Name of .COM file to recieve password: ";A$:IF A$="" THEN END 1370 IF INSTR(A$,".")=0 THEN A$=A$+".COM" 1380 OPEN"I",1,A$:CLOSE 1:OPEN"R",1,A$,128:FIELD 1,3 AS FR$:FIELD 1,128 AS FWR$:GET 1,1:FB$=FR$ 1390 LINE INPUT " Enter password (up to 8 characters): ";B$:IF B$="" THEN 1350 1400 IF LEN(B$)>8 THEN 1390 1410 C$=" ":LSET C$=B$ 1420 ' 1430 ' Assemble machine language routine, first 3 bytes, and password into R$ 1440 ' 1450 DEF FNHX$=CHR$(VAL("&H"+H$)relocatable routine after the last page. 1620 ' 1630 LSET FWR$=R$:PUT 1,R 1640 ' 1650 ' Now, update the first 3 bytes on the first page to a JMP into the 1660 ' the patch. 1670 ' 1680 GET 1,1:LSET FR$=CHR$(&HC3)+CHR$(AD-FIX(AD/256)*256)+CHR$(FIX(AD/256)) 1690 PUT 1,1:CLOSE 1 1700 PRINT:PRINT "Done":GOTO 1350 T 1,1:LSET FR$=CHR$(&HC3)+CHR$(AD-FIX(AD/256)*256)+CHR$(FIX(AD/1580 R=R+1:AD=AD+128:GOTO 1570 1590 ' 1600 ' AD now points to the address where the routine will be placed. 1610 ' Write the e file is ;modified on top of itself. The same password ;used to scramble the file is used to unscramble ;it, using the exact same command. This is because ;the scrambling code is exclusive-ORed with the ;data file, and two same exclusive ORs result ;in the original value being returned. ; ;Command format: ; ; SCRAMBLE filename.type PASSWORD ; ;Where PASSWORD is any 8 character string which ;is allowable as a file name (i.e. no '.', etc). ; ORG 100H ; ;Init local stack LXI H,0 DAD SPB2+8 CPI ' ' JNZ PWIS8 CALL ERXIT DB '++ PASSWORD NOT 8 BYTES ++$' ; ;Save the password ; PWIS8 LXI H,FCB2+1 ;POINT TO PASSWORD LXI D,PASSWD ;OUR PASSWORD AREA LXI B,8 ;8 CHARS CALL MOVER ;MOVE IT ; ;Password is 8 bytes, now make sure no character ;is repeated more than 2 times LXI H,PASSWD MVI B,8 ;8 CHARS TO TEST ; DUPTEST CALL CKDUP ;ABORTS IF 3 = CHARS INX H ;TO NEXT CHAR DCR B JNZ DUPTEST ; ;See that the input file exists PUSH B PUSH D PUSH H MVI C,OPEN LX   I D,FCB CALL BDOS POP H POP D POP B INR A ;OK? JNZ SCRAMLP ;YES, SCRAMBLE IT CALL ERXIT DB '++NO SUCH FILE++$' ; ;Read the file, scramble a sector, re-write it. ; SCRAMLP CALL RDSECT ;READ A SECTOR JC FINISH ;EXIT LOOP IF EOF CALL SCRAMBL ;SCRAMBLE IT CALL BACKUP ;RE-POSITION FOR WRITE CALL WRSECT ;RE-WRITE THE SECTOR JMP SCRAMLP ;LOOP UNTIL EOF ; ;All done - on a "normal" CP/M system we wouldn't ;have to do anything because we re-wrote in place. ;However, for systems whichRY SHOWS EOF RZ ;RET, CARRY SET CALL ERXIT DB '++ READ ERROR - FILE MAY BE ' DB 'DESTROYED ++$' ; ;Scramble the sector ; SCRAMBL LXI H,80H ;POINT TO SECTOR ; SCRLP CALL PSEURAN ;GET PSEUDO RANDOM # XRA M ;SCRAMBLE MOV M,A INR L ;MORE IN SECTOR? JNZ SCRLP RET ; ;Backup the file pointer for the re-write ; BACKUP LDA FCBRNO ;GET SECTOR # DCR A ;BACK UP STA FCBRNO RP ;RETURN IF OK ; ;We backed up into previous extent, will have ;to re-open it (this only works for 16k exten POP D POP B ORA A RZ CALL ERXIT DB '++ WRITE ERROR - FILE CLOBBERED ++$' ; ;Get a Pseudo-Random 8 bit number using the password ;as a seed ; ; For speed, this routine does no register ; PUSHes and POPs, however HL aren't used. ; PSEURAN MVI C,4 ;GRAB EVERY 4TH PSEU. # ; PSEULP0 MVI B,8 ;SHIFT THRU 8 BYTES LXI D,PASSWD ORA A ;CLEAR INITIAL CARRY ; PSEULP1 LDAX D ;GET A CHAR RAR ;SHIFT STAX D INX D DCR B JNZ PSEULP1 ;Exclusive-OR the last few bits into the first one P STA DUPCHAR ;SAVE FOR PRINT CALL ERXIT DB '++ NO CHARACTER MAY APPEAR MORE ' DB 'THAN TWICE IN THE PASSWORD. ',0DH,0AH DB '''' DUPCHAR DB $-$,''' DOES IN YOURS ++$' ; CKNDUP INX D POP PSW ;GET COUNT DCR A JNZ CKDLP RET ;OK, NOT 3 DUP ; ;Move subroutines ; MOVER MOV A,M STAX D INX H INX D DCX B MOV A,B ORA C JNZ MOVER RET ; ;Exit with error message ; MSGEXIT EQU $ ;EXIT W/"INFORMATIONAL" MSG ERXIT POP D ;GET MSG MVI C,PRINT CALL BDOS ; ;Exit, restoring SCRAMBLE is a command used to encode a CP/M file. The format of the command is: SCRAMBLE filename.type password where "password" is an 8 character password made of characters perissible in a file name (i.e. no ".", etc). To obtain a good "initial seed" for the scrambling process, no character in the password may appear more than twice. The requested file is scrambled, and re-written in place. To un-scramble the file, the IDENTICAL command is issued, i.e. SCRAMBLE filename.type password. This use sector deblocking ;we must explicitly close the file in order to flush ;the memory-resident disk buffers. ; FINISH PUSH B PUSH D PUSH H MVI C,CLOSE LXI D,FCB CALL BDOS POP H POP D POP B INR A ;THIS BETTER WORK.. JNZ EXIT DB '++ CLOSE ERROR - FILE LEFT IN ' DB 'UNKNOWN CONDITION ++$' ; ;Sector read routine ; RDSECT PUSH B PUSH D PUSH H MVI C,READ LXI D,FCB CALL BDOS POP H POP D POP B ORA A RZ ;ALL OK ; ;Read error or EOF ; CPI 1 ;EOF? STC ;CARt ;size systems). ; LDA FCBEXT ;GET EXTENT DCR A ;BACK UP 1 STA FCBEXT PUSH B PUSH D PUSH H MVI C,OPEN ;RE-OPEN LXI D,FCB CALL BDOS POP H POP D POP B INR A JNZ OPEN2OK CALL ERXIT DB '++ RE-OPENING EXTENT FAILED',0DH,0AH DB '++ FILE IS CLOBBERED $' ; OPEN2OK MVI A,7FH ;GET HI SECTOR STA FCBRNO RET ; ;Write back the sector ; WRSECT LDA FCB+14 ANI 1FH ;RESET S2 FLAG FOR CP/M 2.x STA FCB+14 PUSH B PUSH D PUSH H MVI C,WRITE LXI D,FCB CALL BDOS POP HDCX D ;BACK UP TO LAST RAR RAR ;SHIFT A FEW MORE XCHG XRA M RRC ;SHIFT LO BIT INTO HI ANI 80H ;ISOLATE SINGLE BIT LXI H,PASSWD ;GET FIRST BYTE ORA M ;'OR' IN THE BIT MOV M,A ;MOVE IT BACK XCHG ;RESTORE HL DCR C JNZ PSEULP0 ;LOOP IF MORE PASSES RET ; ;Routine to check for duplicate chars in password ; CKDUP MVI C,3 ;DUP CHAR COUNTER LXI D,PASSWD MVI A,8 ;CHAR COUNT ; CKDLP PUSH PSW ;SAVE COUNT LDAX D ;GET CHAR CMP M ;DUP? JNZ CKNDUP DCR C ;COUNT DUPS JNZ CKNDUstack and return ; EXIT LHLD STACK SPHL RET ;TO CCP ; PASSWD DS 8 ;PASSWORD KEPT HERE DS 40H ;STACK AREA STACK DS 2 ; ;BDOS equates ; RDCON EQU 1 WRCON EQU 2 PRINT EQU 9 CONST EQU 11 OPEN EQU 15 CLOSE EQU 16 SRCHF EQU 17 SRCHN EQU 18 ERASE EQU 19 READ EQU 20 WRITE EQU 21 MAKE EQU 22 REN EQU 23 STDMA EQU 26 BDOS EQU 5 FCB EQU 5CH FCB2 EQU 6CH FCBEXT EQU FCB+12 FCBRNO EQU FCB+32 ; END  is because SCRAMBLE does an "exclusive-or" type modification to the file, and doing two identical exclusive-or's to data result in the same data being retuned. I feel a scrambled file is quite secure. Given that a file was scrambled and the password forgotten, I know of no way to determine what the original file was. Even a file which is all binary-0's, is sufficiently scrambled to defy finding out what the password or original data was. ...But I assume no responsibility for the "security" o   f files scrambled with SCRAMBLE as I am not a "student of cryptology". Note also, that if an attempt is made to unscramble a scrambled file, using the WRONG password, then the file is technically "double scrambled" and SCRAMBLE would then have to be executed TWICE, once with the original password, and once with the erroniously-used password. Because of the exclusive or-ing process, either password may be used either time. 03/11/79 Ward Christensen ;\RM65,SSA,SSB,HY,BF,CMD,DS TITLE 'PLINK.ASM[70160,306] 21:49 23-May-81' PAGE 65 ; PLINK.ASM ; (latest version OCT 18 1980) ; ; PLINK - SUPPORT COMMUNICATIONS LINK WITH CYBER ; ;PLINK IS A CP/M TRANSIENT COMMAND WHICH ALLOWS THE USER TO ;ESTABLISH A COMMUNICATIONS LINK WITH A REMOTE COMPUTER ; ; ORIGINAL BY L.E. HUGHES EDCAM JULY, 1977 ; ; This version by Keith Petersen, W8SDZ. ; WITH HEATH EQUATES ADDED BY TOM JORGENSON ; ; TRS-80 MODEL 1 mods by Steve VinokLL WORK WITH D.C.Hayes 80-103A ; OR MICROMODEM 100 AT PORT 90H ; ;PLINK CURRENTLY SUPPORTS TWO WAY TRANSFER OF TEXT FILES ;BETWEEN THE CP/M DISK AND THE REMOTE COMPUTER. THE FOLLOWING ;CONTROL CODES MAY BE INITIATED FROM THE CONSOLE KEYBOARD: ; ; **************************************************** ; * COMMANDS: * ; * * ; * CONTROL E EXIT PLINK TO CP/M WARM BOOT * ; * CONTROL T TRANSMIT ASCII FILE TO MODEM. * ; * ASKS FOR DRIVE AND FILENAME.TYP * ; * CONTROL C************************** ; ; ;CONDITIONAL ASSEMBLY SWITCHES <<-- SET FOR YOUR SYSTEM ; TUART SET 0 ;CROMEMCO TUART I/O BOARD PMMI EQU 0 ;PUT A 1 HERE IF YOU HAVE A PMMI DCH EQU 1 ;PUT A 1 HERE IF YOU HAVE A D.C.HAYES TRS1 EQU 0 ;PUT A 1 HERE IF YOU HAVE TRS80-MOD1 TRSPT EQU 0 ;PUT 1 HERE IF YOU HAVE TRS80-MOD2 ;USING PICKLES & TROUT CP/M 2.X H84 EQU 0 ;PUT 1 HERE IF YOU HAVE H8/H8-4 IF H84 TUART SET 1 ENDIF ; INIT$REQUIRED EQU 1 ;PUT 1 HERE IF INITIALIZATION NEEDED ; IF TRS1 OR PMM CALLS ; OFFSET BY -3 THAT IS ADD 3 TO ALL CALLS ; SETSIO EQU 30H ;SET UP Z80 SIO SIOTST EQU 33H ;READ SIO STATUS SIOINP EQU 36H ;INPUT A CHAR SIOOUT EQU 39H ;OUTPUT A CHAR ; ;DEFAULT FCB AND FIELD DEFINITIONS ; FCB EQU BASE+5CH FN EQU 1 ;FILE NAME FIELD (REL) FT EQU 9 ;FILE TYPE FIELD (REL) EX EQU 12 ;FILE EXTENT FIELD (REL) NR EQU 32 ;NEXT RECORD FIELD (REL) DBUF EQU BASE+80H ;DEFAULT DISK BUFFER ADDRESS ; ;ASCII CONTROL CHARACTERS ; CR EQU 0DH ;CARRIAGE RETURN LF EQU 0AH ;LINE FEED uroff, Vanc CBBS ; Optional Triger characters by Steve Vinokuroff ; TRS-80 mods by Dennis Breckenridge, Burnaby CBBS ; D.C.Hayes mods by Bruce Ratoff, Iselin NJ Remote CP/M ; ;This program currently supports the following modems ; or computers via conditional assembly. ; ; 1. PMMI modem ; 2. ANY serial i/o board (TUART INCLUDED) ; 3. TRS-80 model 1 ; 4. TRS-80 model 2 ; 5. HEATH H8 WITH 8251 UART AT PORT 330Q ; 6. D.C.Hayes 80-103A or Micromodem 100 ; ; ;-->NOTE: IF ASSEMBLED AS WRITTEN WI ABORT FILE SEND TO MODEM * ; * CONTROL Y SAVE INCOMING ASCII IN RAM BUFFER * ; * FOR LATER TRANSFER TO DISK * ; * CONTROL Q WRITE RAM BUFFER TO DISK - ASKS * ; * FOR DRIVE AND FILENAME.TYP * ; * DELETE BACKSPACE WHEN IN COMMAND MODE * ; * ASKING FOR FILENAME * ; * CONTROL U ABORT CURRENT LINE WHEN IN COMMAND * ; * MODE ASKING FOR FILENAME * ; * * ; * (NOTE: ALL OTHER CONTROL CODES ARE PASSED TO * ; * MODEM OUTPUT) * ; **************************I OR TUART OR DCH PORT EQU 1 ENDIF ; IF TRSPT PORT EQU 0 ;STILL NEED THE SWITCH ENDIF ; ; ; ;BDOS ENTRY POINT AND FUNCTION CODES ; IF NOT TRS1 BASE SET 0 ;STANDARD CPM ENDIF ; IF TRS1 OR H84 BASE SET 4200H ;TRS-80 MODEL 1 CP/M BASE ADDRESS ENDIF ; BDOS EQU BASE+5 RESDSK EQU 13 ;RESET DISK SYSTEM OFFC EQU 15 ;OPEN FILE CFFC EQU 16 ;CLOSE FILE DFFC EQU 19 ;DELETE FILE RRFC EQU 20 ;READ RECORD WRFC EQU 21 ;WRITE RECORD MFFC EQU 22 ;MAKE FILE ; ; TRS80 PICKLES AND TROUT SIODEL EQU 7FH ;DELETE (RUBOUT) BELL EQU 07H ;BELL SIGNAL TAB EQU 09H ;HORIZONTAL TAB XON EQU 11H ;X-ON CHARACTER NULL EQU 00H ;NULL CHAR ; ;THE FOLLOWING "TRIGER" EQUATE IS SET TO "LF" (LINEFEED) ;BY DEFAULT. AN OPTIONAL TRIGER CHAR MAY BE PASSED VIA FCB1 ; ; IE: PLINK B WILL SET TRIGER TO "BELL" ; ;THE FOLLOWING OPTIONS ARE ALLOWED ; ; 1. B = BELL 07H ; 2. X = XON 11H ; 3. U = UPLOAD NO TRIGER CHECK AT ALL ;ANY OTHER ASCII CHARACTER MAY BE PASSED THROUGH FCB1 ; ; TRIGER EQU LF ;DEFAUL   T VALUE ; ; ;WARNING CHARACTER FOR LOW MEMORY ; WRNSIG EQU BELL ;IF YOU HAVE ONE, PUT 'BELL' HERE ;...ELSE PUT '*' HERE. ; ;MODEM I/O PORT ADDRESSES ; IF PMMI MODD EQU 0C1H ;MODEM DATA PORT MODS EQU 0C0H ;MODEM STATUS PORT MODINIT EQU 29H ;INITIALIZE BYTE ORIGINATE, ;7 DATA, EVEN PARITY, 1 STOP ENDIF ; IF DCH MODD EQU 90H ;MODEM DATA PORT MODS EQU 91H ;MODEM STATUS PORT MODINIT EQU 05H ;7 DATA, EVEN PARITY, 1 STOP ENDIF ; IF TRS1 MODD EQU 0EBH ;TRS80 MOD 1 RS232 DATA PORT MOD1 RS232 BUFFER READY MRDA EQU 80H ;MODEM RECEIVE DATA AVAIL. MXOR EQU 0C0H ENDIF ; IF TUART ;<<--OR ANY OTHER SERIAL I/O MTBE EQU 20H ;<<--MODIFY FOR YOURS MRDA EQU 1H ;<<--MODIFY FOR YOURS MXOR EQU 21H ;<<--MODIFY FOR YOURS ENDIF ; ; **MAIN PROGRAM** ; ORG BASE+100H ; LINK: LXI SP,STACK+64 ;CREATE LOCAL STACK LHLD BASE+1 ;POINT TO CP/M JMP TABLE LXI D,3 ;GET READY TO ADD 3 DAD D ;POINT TO CON STATUS JMP SHLD CITCAL+1 ;MODIFY CALL ADRS DAD D ;POINT TO CON IN JMP SHLD RCCALR C/R TO NULL STA OVERL2+1 ;AND SEND LINEFEEDS AS WELL JMP SKP ; SKP EQU $ IF H84 MVI A,80H; SET DLAB BIT IN 8250 UART OUT 0DBH; 8250 AT PORT D8H (330Q) NOP ! NOP ! NOP NOP ! NOP MVI A,01H; MSB OF BAUD RATE DIVISOR OUT 0D9H; ...TO UART NOP ! NOP ! NOP NOP ! NOP MVI A,80H; LSB OF BAUD RATE DIVISOR OUT 0D8H; ...TO UART NOP ! NOP ! NOP NOP ! NOP MVI A,03H; 8 BITS, 1 STOP BIT, NO PARITY, DLAB RESET OUT 0DBH; ...TO UART NOP ! NOP ! NOP NOP ! NOP MVI A,0; RESET CONTROL RESIO FUNCTIONS MVI H,'S'-40H ;CONTROL S (X-ON) RET ;TROUGH SETUP PROG INITR: NOP ;DO IT TO IT ENDIF ; IF TRS1 ;INIT FOR TRS80 MOD1 RS232 OUT 0E8H ;RESET RS232 IN 0E9H ;READ THE SWITCHES ANI 0F8H ORI 5 OUT 0EAH ;SET DSR AND CTS MVI A,55H ;300 BAUD OUT 0E9H ENDIF ; ; IF PORT IN MODD ;CLEAR MODEM UART READ BUFFERS IN MODD ENDIF ; CONT: XRA A ;CLEAR CHAR BUFFERS STA INCH STA OUTCH STA FLAG ;CLEAR TEXT SAVE FLAG LXI H,TBUF ;SET PTR TO TBUF SHLD PTR;THEN CLEAR OUTPUT CHAR BUFFER STA OUTCH LINK5: CALL MITEST ;JUMP IF NO DATA FROM MODEM JZ LINK6 CALL RMC2 ;ELSE READ MODEM DATA CALL SAVE ;SAVE CHAR IN TEXT BUFFER IF FLAG ON ORI 80H ;SET DATA VALID BIT STA OUTCH ;STORE IN OUTPUT CHAR BUFFER LINK6: CALL MOTEST ;JUMP IF MODEM XMIT BUFFER BUSY JZ LINK7 LDA INCH ;JUMP IF NO DATA FOR MODEM ORA A JP LINK7 ANI 7FH ;DISCARD VALID DATA BIT ; IF PORT OUT MODD ;OUTPUT CHAR TO MODEM ENDIF ; IF TRSPT PUSH B ;STORE REGISTERS PU MODS EQU 0EAH ; AND THE RS232 STATUS PORT ENDIF ; IF TUART MODD EQU 0D8H ;<<--MODIFY FOR YOURS MODS EQU 0DDH ;<<--MODIFY FOR YOURS ENDIF ; ;MODEM STATUS PORT BIT DEFINITIONS ; IF PMMI MTBE EQU 01H ;MODEM TRANS. BUFFER READY FLAG MRDA EQU 02H ;MODEM RECEIVE DATA AVAIL. FLAG MXOR EQU 03H ;MASK TO MAKE MTBE AND MRDA "LOW TRUE" ENDIF ; IF DCH MTBE EQU 02H ;MODEM TRANS. BUFFER READY FLAG MRDA EQU 01H ;MODEM RECEIVE DATA AVAIL. FLAG MXOR EQU 03H ENDIF ; IF TRS1 MTBE EQU 40H ;TRS80 +1 ;MODIFY CALL ADRS DAD D ;POINT TO CON OUT JMP SHLD WCCAL+1 ;MODIFY CALL ADRS LDA FCB+1 ;SEE IF OPTIONAL TRIGER CHAR CPI 20H ;BLANK.. ? JZ SKP ;..BLANK SO USE DEFAULT "LF" CPI 'B' ;BELL WANTED JZ TRGBEL CPI 'X' ;XON WANTED JZ TRGXON CPI 'U' ;UPLOADING NO CHECKING FOR TRIGER JZ TRGUPL ; SETTRG: STA OVERLY+1 ;STORE THE CHARACTER AS IS THEN JMP SKP ; TRGBEL: MVI A,BELL JMP SETTRG ; TRGXON: MVI A,XON JMP SETTRG ; TRGUPL: XRA A ;ZERO OUT JUMP STA OVERL1+1 ;CHANGE CHECK FOGISTER OUT 0DCH; ...TO UART JMP CONT ENDIF IF INIT$REQUIRED AND NOT H84 OR PMMI AND NOT H84 MVI A,MODINIT OUT MODS ;INITIALIZE MODEM PORT ENDIF ; IF TUART MVI A,80H ;DSR ON BIT 7 PARL PORT B OUT 54H ENDIF ; IF TRSPT ;MUST SET UP SERIAL CHANNEL RESET: LXI H,INITR ;STORE RETURN ADDRESS PUSH H LHLD 1 LXI D,SETSIO ;SIO SETUP ROUTINE DAD D PUSH H ;STORE ON STACK MVI C,00H ;NO PARITY CHAN-A MVI D,0E6H ;8 bits ,1 STOP MVI E,3 ;300 BAUD MVI L,00H ;DISABLE EXT/ACK  LXI H,0 ;SIZE = 0 SHLD SIZE LXI H,LINKMS ;PRINT SIGN-ON MESSAGE CALL WCS ; ; MAIN LOOP ; LINK3: CALL CITEST ;JUMP IF NO DATA FROM CONSOLE JZ LINK4 CALL RCC ;ELSE READ CONSOLE DATA CPI 20H CC PCC ;CALL PCC IF CONTROL CHAR JC LINK4 ;JUMP IF PCC HANDLED CHAR ORI 80H ;ELSE SET VALID DATA BIT STA INCH ;AND STORE IN INPUT CHAR BUFFER LINK4: LDA OUTCH ;JUMP IF NO DATA FOR CONSOLE ORA A JP LINK5 ANI 7FH ;ELSE DISCARD VALID DATA BIT CALL WCC ;SEND CHAR TO CONSOLE XRA A SH H PUSH D CALL WMC ;SEND CHAR POP D POP H POP B ENDIF ; XRA A ;...THEN CLEAR INPUT CHAR BUFFER STA INCH LINK7: JMP LINK3 ;END OF MAIN LOOP ; LINKMS: DB CR,LF,'PLINK as of 18-OCT-80' DB CR,LF,LF,'READY',CR,LF,LF,0 ; ; PCC - PROCESS CONTROL CHARACTER ; PCC: CPI 'E'-40H ;JUMP OUT IF CTRL E JNZ PCC1 PUSH H LXI H,AYS ;PRINT 'ARE YOU SURE' CALL WCS POP H CALL RCC ;GET ANSWER CALL WCC ;ECHO IT ANI 5FH ;MAKE UPPER CASE CPI 'Y' ;YES? JZ PCCEX ;EXIT CALL WCCR ;C   RLF STC ;TELL LINK TO IGNORE THIS CHARACTER ; IF TRSPT POP PSW ;GOBBLE UP CALL ADDRESS JMP RESET ;RE-INITIALIZE SIO ENDIF ; IF PORT RET ENDIF ; PCC1: CPI 'T'-40H ;JUMP IF NOT CONTROL-T JNZ PCC2 CALL STF ;TRANSMIT TEXT FILE TO MODEM STC ;TELL LINK TO IGNORE THIS CHARACTER RET ; PCC2: CPI 'Y'-40H ;JUMP IF NOT CONTROL-Y JNZ PCC3 MVI A,1 ;TURN ON TEXT SAVE FLAG STA FLAG LXI H,PCCMR ;PRINT 'SAVING INCOMING TEXT IN MEMORY' CALL WCS STC ;TELL LINK TO IGNORE THIS D" TO DISCONNECT',0 ENDIF ; ; * NEXT THREE LINES OFFENSIVE TO MICROSOFT ASSEMBLER ; IF NOT PMMI OR NOT DCH ;DISMS: DB CR,LF,'+++ EXIT TO CP/M +++',CR,LF,0 ; ENDIF ; *************************************************** ; PCCMR: DB CR,LF,'SAVING INCOMING TEXT IN MEMORY',CR,LF,0 ; ; STF - SEND TEXT FILE (TO MODEM) ; STF: CALL GFN ;GET NAME OF DISK FILE TO SEND JC STF6 ;JUMP IF FILE NAME ERROR CALL OPEN ;TRY TO OPEN SPECIFIED FILE CPI 255 ;JUMP IF FILE NOT FOUND JZ STF7 STF1: CALL R CPI 'C'-40H ;CONTROL C ABORTS IT JZ STF8 STF3A: CALL MITEST ;WAIT FOR NEXT MODEM KHARACTER JZ STF3 CALL RMC2 ;CHECK MODEM FOR TRIGGER CHAR. OVERLY: CPI TRIGER JNZ STF3 CALL WCCR ;SEND CRLF TO CONSOLE STF4: DCR C ;LOOP THRU REST OF DBUF JNZ STF2 JMP STF1 ;GO GET NEXT RECORD FROM DISK ; STF5: LXI H,STFSM ;PRINT 'FILE SEND COMPLETE' CALL WCS RET ; STF6: LXI H,STFS1 ;PRINT 'FILE NAME ERROR' CALL WCS RET ; STF7: LXI H,STFS2 ;PRINT 'FILE NOT FOUND' CALL WCS RET ; STMP IF NOT CONTROL CHAR. CPI CR ;ALLOW CR TO BE SAVED JZ SAVE2 CPI LF ;ALLOW LF TO BE SAVED JZ SAVE2 CPI TAB ;ALLOW TAB TO BE SAVED JZ SAVE2 RET ;IGNORE ALL OTHER CONTROL CHARS. ; SAVE2: PUSH H LHLD SIZE ;SIZE = SIZE + 1 INX H SHLD SIZE LHLD PTR MOV M,A INX H SHLD PTR PUSH PSW LDA BASE+7 ;GET SYSTEM SIZE SUI 1 ;SO WE DONT CRASH CP/M CMP H ;ARE WE OUT OF ROOM? JZ SAVEAB ;YES, ABORT SUI 4 ;LEAVE SOME ROOM (1K) CMP H MVI A,WRNSIG ;SIGNAL CONSOLE RUNNING OUT OF SP CALL BDOS CALL GFN ;GET FILE NAME JC WTB6 ;JUMP IF FILE NAME ERROR CALL DELT ;DELETE OLD FILE, IF ANY CALL MAKE ;MAKE NEW FILE LHLD SIZE ;DE = TBUF SIZE XCHG LXI H,DBUF ;TOP OF STACK POINTS TO DBUF PUSH H LXI H,TBUF ;HL POINTS TO TBUF WTB1: MVI C,128 ;DISK BUFFER SIZE WTB2: MOV A,M ;FETCH NEXT BYTE OF TBUF INX H XTHL MOV M,A ;STORE IN DBUF INX H XTHL DCX D ;SIZE = SIZE - 1 MOV A,D ;EXIT LOOP IF SIZE = 0 ORA E JZ WTB3 DCR C ;LOOP UNTIL DBUF FULL JNZ WTB2 CACHARACTER RET ; PCC3: CPI 'Q'-40H ;JUMP IF NOT CONTROL-Q JNZ PCC4 XRA A ;TURN OFF TEXT SAVE FLAG STA FLAG CALL WTB ;WRITE TEXT BUFFER TO DISK STC RET ; PCC4: STC ;LET LINK HANDLE ALL OTHER CONT. CODES CMC RET ; PCCEX: LXI H,DISMS ;PRINT 'MODEM NOT DISCONNECTED' CALL WCS JMP BASE ;EXIT TO WARM BOOT ; AYS: DB CR,LF,'EXIT TO CP/M - ARE YOU SURE (Y OR N)?',0 IF PMMI OR DCH DISMS: DB CR,LF,'++DON''T FORGET - THE MODEM ' DB 'IS NOT DISCONNECTED++',CR,LF DB 'USE "MODEM EAD ;READ NEXT RECORD INTO DBUF CPI 1 ;JUMP IF END-OF-FILE JZ STF5 LXI H,DBUF ;POINT TO DISK BUFFER MVI C,128 STF2: MOV A,M ;FETCH NEXT CHAR FROM DBUF INX H CPI 'Z'-40H ;JUMP IF END-OF-FILE CHARACTER JZ STF5 OVERL2: CPI LF ;IGNORE LINE FEEDS JZ STF4 CALL WMC ;WRITE CHARACTER TO MODEM CALL WCC ;WRITE CHARACTER TO CONSOLE OVERL1: CPI CR ;JUMP IF NOT CARRIAGE RETURN JNZ STF4 STF3: CALL CITEST ;CHECK CONSOLE DATA READY JZ STF3A ;NO DATA THERE CALL RCC ;GET CONSOLE CHARACTERF8: LXI H,STFSA ;PRINT 'FILE SEND ABORTED' CALL WCS RET ; STFSM: DB 'FILE SEND COMPLETE',CR,LF,0 STFS1: DB 'FILE NAME ERROR',CR,LF,0 STFS2: DB 'FILE NOT FOUND',CR,LF,0 STFSA: DB CR,LF,'FILE SEND ABORTED',CR,LF,0 ; ; SAVE - SAVE CHAR IN TEXT BUFFER IF FLAG ON ; ; ENTRY CONDITIONS ; A - CHARACTER TO SAVE ; SAVE: PUSH PSW LDA FLAG ORA A JNZ SAVE1 POP PSW RET ; SAVE1: POP PSW CPI DEL ;RUBOUT (DEL) ? RZ ;YES, IGNORE IT CPI 20H ;TEST FOR CONTROL CHARACTERS JNC SAVE2 ;JUACE CC WCC POP PSW POP H RET ; ; SAVEAB - RAN OUT OF ROOM, ISSUE MESSAGE AND FLOW ; THROUGH TO DISK SAVE ROUTINE ; SAVEND: DB BELL,CR,LF,'ABORTING - NO ROOM LEFT',0 ; SAVEAB: LXI SP,STACK+64 ;REINITIALIZE STACK LXI H,SAVEND ;PRINT 'ABORTING - NO ROOM LEFT' CALL WCS LXI H,LINK ;SET UP RETURN ADDRESS PUSH H ;LEAVE IT ON THE STACK ; ; WTB - WRITE TEXT BUFFER TO DISK ; WTB: LHLD SIZE ;JUMP IF TEXT BUFFER EMPTY MOV A,L ORA H JZ WTB5 MVI C,RESDSK ;RESET IN CASE READ-ONLYLL WRITE ;WRITE FULL DBUF TO DISK XTHL ;TOP OF STACK POINTS TO DBUF LXI H,DBUF XTHL JMP WTB1 ;LOOP UNTIL END OF TBUF ; WTB3: POP H ;HL POINTS TO CURRENT PLACE IN DBUF WTB4: MVI M,'Z'-40H ;STORE EOF CODE INX H DCR C ;LOOP THRU REST OF DBUF JNZ WTB4 CALL WRITE ;WRITE LAST SECTOR TO DISK CALL CLOSE ;CLEAN UP ACT AND GO HOME LXI H,TBUF ;CLEAR TEXT BUFFER SHLD PTR LXI H,0 SHLD SIZE LXI H,WTBSM ;PRINT 'BUFFER SAVED ON DISK' CALL WCS RET ; WTB5: LXI H,WTBS1 ;PRINT 'TE   XT BUFFER EMPTY' CALL WCS RET ; WTB6: LXI H,WTBS2 ;PRINT 'FILE NAME ERROR' CALL WCS RET ; WTBSM: DB CR,LF,'BUFFER SAVED ON DISK',CR,LF DB 'MEMORY SAVE CANCELLED',CR,LF,0 WTBS1: DB 'TEXT BUFFER EMPTY',CR,LF,0 WTBS2: DB 'FILE NAME ERROR',CR,LF,0 ; ; WCS - WRITE CONSOLE STRING ; ; ; ENTRY CONDITIONS ; HL - POINTS TO STRING (TERM BY ZERO BYTE) ; WCS: MOV A,M INX H ORA A RZ CALL WCC JMP WCS ; ; WCCR - WRITE CONSOLE CARRIAGE RETURN (AND LINE FEED) ; WCCR: MVI A,CR CJUMP IF NOT DEL JNZ RCS2 INR B ;IGNORE DEL IF IBUF ALREADY EMPTY DCR B JZ RCS1 DCX H ;ELSE DISCARD LAST CHAR MOV A,M ;ECHO DISCARDED CHAR TO CONSOLE CALL WCC DCR B ;DECREMENT COUNT JMP RCS1 ; AND LOOP ; RCS2: CPI 'U'-40H ;JUMP IF NOT CONTROL U JNZ RCS3 CALL WCCR ;ELSE ABORT CURRENT LINE JMP RCS ; AND START OVER ; RCS3: CALL WCC ;ECHO CHAR TO CONSOLE MOV M,A ;STORE CHAR IN IBUF INR B ;INCREMENT COUNT CPI CR ;JUMP IF CARRIAGE RETURN JZ RCS4 INX H ;ELSE ADVANCE PNDIF ; IF TRSPT WMC: PUSH H PUSH D PUSH PSW WMCL: CALL MOTEST ;TEST STATUS JZ WMCL ;LOOP TILL TX EMPTY POP PSW ;RESTORE CHAR ANI 7FH ;STRIP PARITY PUSH B ;STORE B MOV C,A ;PUT CHAR INTO C MVI B,00H ;CHANNEL A LXI H,WMCRE ;STORE RETURN ADDRESS PUSH H LHLD 1 ;GET BASE ADDRESS LXI D,SIOOUT DAD D PCHL ;JUMP TO IT WMCRE: POP B ;RESTORE IT POP D POP H RET ENDIF ; ; RMC - READ MODEM CHARACTER ; ; EXIT CONDITIONS: ; A - CHARACTER READ ; ; IF PORT RMC: IN MODLE ANI 5FH ;MAKE UPPER CASE SUI 'A'-1 JC GFN ;REQUIRE ALPHABETIC JZ GFN CPI 17 ;ALLOW 16 DRIVES (AS IN CP/M 2.X) JNC GFN STA FCB GFNB: LXI H,GFNS1 ;PRINT 'FILENAME? ' CALL WCS CALL RCS ;READ RESPONSE INTO IBUF LXI H,FCB+FN ;BLANK FILL FN AND FT FIELDS MVI C,11 GFN1: MVI M,' ' INX H DCR C JNZ GFN1 LXI H,IBUF ;POINT TO INPUT BUFFER LXI D,FCB+FN ;SCAN OFF FN FIELD MVI C,9 GFN2: MOV A,M ;FETCH NEXT CHAR FROM IBUF INX H CPI 61H ;IF LC, CONVERT TO UC JC GFN2A SUIFAR JNZ GFN4 JMP GFN6 ;ELSE TAKE ERROR EXIT ; GFN5: XRA A STA FCB+EX ;SET EXTENT NUMBER TO ZERO STA FCB+NR ;SET RECORD NUMBER TO ZERO STC ;CLEAR ERROR FLAG AND RETURN CMC RET ; GFN6: STC ;SET ERROR FLAG AND RETURN RET ; GFNSD: DB CR,LF,'WHICH DRIVE? ',0 GFNS1: DB CR,LF,'FILENAME? ',0 ; ; OPEN - OPEN DISK FILE ; OPEN: PUSH H PUSH D PUSH B LXI D,FCB MVI C,OFFC CALL BDOS POP B POP D POP H RET ; ; READ - READ RECORD FROM DISK FILE ; READ: PUSH H ALL WCC MVI A,LF ; ; WCC - WRITE CONSOLE CHARACTER ; ; ENTRY CONDITIONS: ; A - CHARACTER TO WRITE ; WCC: PUSH PSW PUSH B PUSH D PUSH H MOV C,A ;GET CHARACTER FOR CBIOS WCCAL: CALL $-$ ;MODIFIED BY INIT. POP H POP D POP B POP PSW RET ; ; RCS - READ CONSOLE STRING (WITH ECHO) ; ; EXIT CONDITIONS ; B - NUMBER OF CHARACTERS READ (<255) ; HL - POINTS TO LAST CHAR STORED (CR) ; RCS: LXI H,IBUF MVI B,0 RCS1: CALL RCC ;READ NEXT CHAR FROM CONSOLE CPI DEL ;OINTER JMP RCS1 ; AND LOOP ; RCS4: MVI A,LF ;ISSUE LINE FEED AND RETURN CALL WCC RET ; ; RCC - READ CONSOLE CHARACTER ; ; EXIT CONDITIONS ; A - CHARACTER READ ; RCC: PUSH B PUSH D PUSH H RCCAL: CALL $-$ ;MODIFIED BY INI\. POP H POP D POP B RET ; ; WMC - WRITE MODEM CHARACTER ; ; ENTRY CONDITIONS ; A - CHARACTER TO WRITE ; ; IF PORT WMC: PUSH PSW WMCL: IN MODS XRI MXOR ANI MTBE JNZ WMCL POP PSW ANI 7FH ;STRIP PARITY BIT OUT MODD RET ES XRI MXOR ANI MRDA JNZ RMC RMC2: IN MODD ANI 7FH RET ENDIF ; IF TRSPT RMC: CALL MITEST ;CHAR AVAILABLE JZ RMC ;LOOP IF NOT READY RMC2: PUSH B ;STORE B PUSH D PUSH H MVI B,00H ;CHANNEL A LXI H,RMCRE ;RETURN ADDRESS PUSH H LHLD 1 LXI D,SIOINP DAD D PCHL RMCRE: POP H POP D POP B ANI 7FH ;STRIP PARITY RET ENDIF ; ; ; GFN - GET FILE NAME ; GFN: LXI H,GFNSD ;PRINT 'WHICH DRIVE?' CALL WCS CALL RCC ;GET ANSWER FROM CONSOLE CALL WCC ;ECHO IT TO CONSO 20H GFN2A: CPI CR ;JUMP IF END OF LINE JZ GFN5 CPI '.' ;JUMP IF END OF NAME JZ GFN3 STAX D ;ELSE STORE CHAR IN FN FIELD INX D DCR C ;LOOP IF 8 OR LESS CHARS SO FAR JNZ GFN2 JMP GFN6 ;ELSE TAKE ERROR EXIT ; GFN3: LXI D,FCB+FT ;SCAN OFF FT FIELD MVI C,4 GFN4: MOV A,M ;FETCH NEXT CHAR FROM IBUF INX H CPI 61H ;IF LC, CONVERT TO UC JC GFN4A SUI 20H GFN4A: CPI CR ;JUMP IF END OF LINE JZ GFN5 STAX D ;ELSE STORE CHAR IN FT FIELD INX D DCR C ;LOOP IF 3 OR LESS CHARS SO PUSH D PUSH B LXI D,FCB MVI C,RRFC CALL BDOS POP B POP D POP H RET ; ; CLOSE - CLOSE DISK FILE ; CLOSE: PUSH H PUSH D PUSH B LXI D,FCB MVI C,CFFC CALL BDOS POP B POP D POP H RET ; ; DELT - DELETE DISK FILE ; DELT: PUSH H PUSH D PUSH B LXI D,FCB MVI C,DFFC CALL BDOS POP B POP D POP H RET ; ; WRITE - WRITE RECORD TO DISK ; WRITE: PUSH H PUSH D PUSH B LXI D,FCB MVI C,WRFC CALL BDOS POP B POP D POP H RET ; ; MA   KE - MAKE NEW DISK FILE ; MAKE: PUSH H PUSH D PUSH B LXI D,FCB MVI C,MFFC CALL BDOS POP B POP D POP H RET ; ; CITEST - CHECK CONSOLE INPUT STATUS ; CITEST: PUSH B PUSH D PUSH H CITCAL: CALL $-$ ;MODIFIED BY INIT. ORA A ;SET ZERO FLAG POP H POP D POP B RET ;ZERO FLAG CARRIES ANSWER ; ; MITEST - CHECK MODEM INPUT STATUS ; IF PORT MITEST: IN MODS ;GET MODEM UART STATUS XRI MXOR ;INVERT HIGH-TRUE BITS ANI MRDA ;ANY DATA AVAILABLE? MVI A,0 JNZ MITST1 CMA MOTST1: ORA A ;SET ZERO FLAG IF READY RET ENDIF ; IF TRSPT MOTEST: PUSH B PUSH H PUSH D MVI B,00 ;CHANNEL A LXI H,MOTSTR PUSH H LHLD 1 LXI D,SIOTST DAD D PCHL MOTSTR: ANI 02 ;BUFFER EMPTY POP D POP H POP B RET ENDIF ; ; DATA AREA ; INCH: DS 1 ;INPUT CHAR BUFFER (TO CYBER) OUTCH: DS 1 ;OUTPUT CHAR BUFFER (FROM CIBER) STACK: DS 80 ;LOCAL STACK IBUF: DS 256 ;INPUT BUFFER ; ; TEXT BUFFER ; FLAG: DS 1 ;TEXT SAVE FLAG PTR: DS 2 ;TEXT BUFFER POINTER SIZE:  PLINK65.DOC PLINK is a CP/M transient command which allows the user to communicate with a remote computer that is not running a special program. It allows the user to selectively copy received text into memory and to later write the text onto a CP/M disk file. It also allows text to be transmitted from a disk file to the remote computer a line at a time, suppressing the line feeds and waiting for a trigger character such as a line feed from the remote computer before sending the next line of ART at port 330q 6. D.C. Hayes 80-103A or Micromodem 100 7. MITS 2SI/O board, ports 10h &11h = console, 12h & 13h = modem 8. Intel SBC or National BLC multi-bus boards using 8251 USART Originally written by L.E. Hughes (EDCAM) in July, 1977. Many modifications have been made since this time, as shown in the following summary. Fixes/updates (in reverse order to minimize reading time): June 26, 1981. Added message when exiting if last buffer was not saved. Ted Shapin. June 14, 1981, by K MITST1: ORA A RET ;ZERO FLAG CARRIES ANSWER ENDIF ; ; IF TRSPT ; MITEST: PUSH B PUSH H PUSH D MVI B,00 ;CHANNEL A LXI H,MITSTR PUSH H LHLD 1 LXI D,SIOTST DAD D PCHL MITSTR: POP D POP H ANI 01 ;TX EMPTY POP B RET ;ZERO FLAG HOLDS THE ANSWER ENDIF ; ; MOTEST - CHECK MODEM OUTPUT STATUS ; ; IF PORT MOTEST: IN MODS ;GET MODEM UART STATUS XRI MXOR ;INVERT HIGH-TRUE BITS ANI MTBE ;UART READY FOR CHARACTER? MVI A,0 JNZ MOTST1 ;ZERO FLAG CARRIES ANSWER CMADS 2 ;TEXT BUFFER SIZE TBUF EQU $ ;START OF TEXT BUFFER ; END LINK XT SAVE FLAG PTR: DS 2 ;TEXT BUFFER POINTER SIZE: I H,MOTSTR PUSH H LHLD 1 LXI D,SIOTST DAD D PCHL MOTSTR: ANI 02 ;BUFFER EMPTY POP D POP H POP B RET ENDIF ; ; DATA AREA ; INCH: DS 1 ;INPUT CHAR BUFFER (TO CYBER) OUTCH: DS 1 ;OUTPUT CHAR BUFFER (FROM CIBER) STACK: DS 80 ;LOCAL STACK IBUF: DS 256 ;INPUT BUFFER ; ; TEXT BUFFER ; FLAG: DS 1 ;TEXT SAVE FLAG PTR: DS 2 ;TEXT BUFFER POINTER SIZE: text. Optionally the trigger character may be a BELL code, an X-ON, or text may be sent without pause including line feeds after the carriage return. Note that none of these options work for sending to a DEC which uses an X-OFF, X-ON protocol when it gets more input than it can handle. This program currently supports the following modems or computers via conditional assembly: 1. PMMI modem 2. Any serial I/O board (TUART included) 3. TRS-80 model 1 4. TRS-80 model 2 5. Heath H8 with 8251 Ueith Petersen, W8SDZ. Changed port equate to 'equ' instead of 'set'. ASM doesn't like 'set' when later conditionals are based on a label defined that way. June 7, 1981, by Tom Jorgenson (CP-MIG). Changed CP/M origin from being via SETs to referenced to BASE, added TRUE/FALSE rather than numeric values (for readability), changed ^Q function to ^W (write) because some systems (notably Micronet) use ^S/^Q to suspend/resume output, changed page 0 references in TRS routines to use BASE equate pro   perly, changed PORT equates to default to TRUE, reinserted Heath equates, and cleaned up code in several places. June 7, 1981, by Keith Petersen, W8SDZ. Fixed problem with equates which prevented assembly by 'ASM' when TUART option was selected. June 6, 1981, by Keith Petersen, W8SDZ. Added version number, cleaned up file. May 12, 1981, by T. Shapin. Added code for 8251 USART on Intel SBC or National BLC multibus board with modified CP/M origin. Added prompt to signon. Added toggle to of file to remote system. Control-Y Switches between saving and ignoring incoming ASCII data in RAM buffer, for later transfer to disk. Control-Q Writes RAM buffer to disk, and asks for drive and filename.typ. Del (delete) Backspace when in command mode (e.g. ^T or ^Q). Control-U Aborts current line when in command mode. (Note: all other control codes are passed to modem output, and may be interpreted by the remote system as various control !9"1AVv>̈́v !] 2h\2JO>̈́2h2|!] >̈́vʽ‚]ýʕ>̈́!\>ʵ>̈́>̈́l\&*~#> > _vw#vy>̈́ >!m~#$aD$vɁOʅ RECEIVE version 2.0 - FILE RECEPTION UTILITY FEB 16, 1982 copyright 1982, Mycroft Labs; TITLE 'SEND - SEND CP/M FILE OVER SERIAL LINK' ; AUTHOR: LAWRENCE E. HUGHES, MYCROFT LABS ; DATE: JUNE 6, 1980 ; PORT LOCATIONS AND STATUS BITS FOR COMMUNICATIONS PORT ; NOTE: SEE ROUTINES INIT, RACL AND WACL AT END OF PROGRAM ; PORTS FOR SIERRA DATA SCIENCES SBC-100 SIOB DATA EQU ??H ;SERIAL PORT DATA STAT EQU ??H ;SERIAL PORT STATUS RDA EQU ??H ;READ DATA AVAIL. FLAG TBE EQU ??H ;TRANS. BUFFER EMPTY FLAG ; DEVICE INDEPENDENT EQUATES BDOS EQU 0005H ;BDOS ENTRY POINT WCCFC EQU ^Y to save or ignore incoming text. Added ^C abort on file name response. (for earlier update info, see PLINK65.ASM). PLINK currently supports two way transfer of text files between the CP/M disk and the remote computer. The following control codes may be initiated from the console keyboard: Control-E Exit PLINK to CP/M "warm-boot". Control-T Transmit ASCII file to remote system, asks for drive (A, B, etc.) and filename.typ. Control-C Aborts transmition  functions.) When sending to another computer, PLINK waits for a trigger response after sending each line before it will send the next. The following "trigger" equate is set to "lf" (linefeed) by default. An optional trigger char may be passed via fcb1 ie: PLINK B will set trigger to "bell" The following options are allowed: 1. B = bell 07h 2. X = xon 11h 3. U = upload no trigger check at all and send line feeds any other ascii character may be passed through fcb1.  inc. FOR KAYPRO-II SERIAL PORT - 9600 BAUD $**** NO DISK SPACE! **** $**** TRANSMISSION ABORTED **** $**** UNKNOWN MESSAGE TYPE! **** $**** CHECKSUM ERROR! **** $**** WRITE ERROR! **** $NOW RECEIVING. . . . $ DONE $vy>̈́ >!m~#$aD$vɁOʅ RECEIVE version 2.0 - FILE RECEPTION UTILITY FEB 16, 1982 copyright 1982, Mycroft Labs02 ;WRITE CONSOLE CHARACTER WCBFC EQU 09 ;WRITE CONSOLE BUFFER OPNFC EQU 15 ;OPEN FILE CLSFC EQU 16 ;CLOSE FILE SRFFC EQU 17 ;SEARCH FIRST SRNFC EQU 18 ;SEARCH NEXT RSRFC EQU 20 ;READ SEQUENTIAL RECORD SFCB EQU 005CH ;SYSTEM FILE CONTROL BLOCK FN EQU 01 ;FILE NAME FIELD FT EQU 09 ;FILE TYPE FIELD EX EQU 12 ;EXTENT NUMBER FIELD NR EQU 32 ;NEXT RECORD FIELD DBUF EQU 0080H ;SYSTEM DISK BUFFER SOH EQU 01H ;START OF HEADER STX EQU 02H ;START OF TEXT EOT EQU 04H ;END OF TRA   NSMISSION ENQ EQU 05H ;ENQUIRE ACK EQU 06H ;ACKNOWLEDGE BEL EQU 07H ;BELL LF EQU 0AH ;LINE FEED CR EQU 0DH ;CARRIAGE RETURN NAK EQU 15H ;NEGATIVE ACKNOWLEDGE ETB EQU 17H ;END OF TRANSMISSION BLOCK CAN EQU 18H ;CANCEL EOS EQU '$' ;END OF STRING ORG 100H SEND: LXI H,0 ;SAVE SYSTEM SP DAD SP SHLD OLDSP LXI SP,STACK+64 LXI D,MSG0 ;PRINT HEADING CALL WASC CALL INIT ;INITIALIZE LINK PORT LXI D,SFCB ;POINT TO AFN CALL GETFL ;GET FILE LIST LDA FLCNT ;JUMP IF AT LEA CALL OPEN XRA A ;REWIND FILE STA SFCB+NR MVI A,SOH ;SEND SOH CALL WACL LXI H,SFCB+1 ;FWA OF FILENAME MVI B,11 ;FILENAME LENGTH CALL SMSG ;SEND FILENAME JC SEND8 ;ABORT ON ERROR LXI D,MSG6 ;PRINT 'NOW SENDING' CALL WASC LXI H,SFCB+1 ;PRINT FILENAME MVI B,11 CALL PMSG CALL WEOLC SEND6: LXI D,SFCB ;READ NEXT RECORD CALL READ ORA A ;JUMP IF OK JZ SEND3 CPI 1 ;JUMP IF EOF JZ SEND7 LXI D,MSG2 ;PRINT 'FILE READ ERROR' CALL WASC MVI A,CAN ;ABORT OTHER END TO DOS SPHL RET GETFL: LXI H,FLIST ;FLPTR = FWA OF FILELIST SHLD FLPTR XRA A ;FLCNT = 0 STA FLCNT PUSH D GETFL1: CALL SRCHF ;SEARCH FOR FIRST OCCURANCE CPI 255 ;JUMP IF NONE FOUND JZ GETFL3 GETFL2: ANI 03H ;DE = DBUG + 32 * (A AND 3) ADD A ADD A ADD A ADD A ADD A MOV L,A MVI H,0 LXI D,DBUF DAD D XCHG LHLD FLPTR ;HL = FILE LIST PTR XCHG MVI B,16 ;B = # OF BYTES TO MOVE CALL MOVE XCHG SHLD FLPTR ;UPDATE FILELIST POINTER LXI H,FLCNT ;INCREMENT FI PUSH B MVI C,SRFFC CALL BDOS POP B POP D POP H RET SRCHN: PUSH H PUSH D PUSH B MVI C,SRNFC CALL BDOS POP B POP D POP H RET SMSG: MVI C,0 ;CLEAR CHECKSUM PUSH H ;SAVE FWA OF MESSAGE PUSH B ;SAVE MESSAGE LENGTH SMSG1: MOV A,M ;FETCH NEXT CHAR INX H CALL WACL ;SEND IT DCR B ;DECREMENT COUNT JNZ SMSG1 ;LOOP UNTIL ZERO XRA A ;SEND CHECKSUM SUB C CALL WACL CALL RACL ;AWAIT RESPONSE CPI ACK ;JUMP IF ACK JZ SMSG4 CPI NAK ;JUMP IF NOT NAK  POP B POP D POP H RET READ: PUSH H PUSH D PUSH B MVI C,RSRFC CALL BDOS POP B POP D POP H RET ; FOLLOWING DEVICE DEPENDENT CODE IS FOR ; SIERRA DATA SCIENCES SBC-100 SIO-B (Z80-DART) ; change the following to match your computer - this is for ; Z80 sio or dart ; INIT - ROUTINE TO INITIALIZE COMMUNICATIONS PORT INIT: MVI A,47H OUT 89H MVI A,0DH ;9600 BAUD OUT 89H ;TO CTC CHANNEL 1 INITP: LXI H,INITS INIT1: MOV A,M INX H CPI '$' JZ GBBL NOP!NOST ONE FOUND ORA A JNZ SEND0 LXI D,MSG1 ;PRINT 'FILE(S) NOT FOUND' CALL WASC SEND0: LHLD FLPTR ;HL = PTR TO NEXT NAME LXI D,SFCB ;DE = DESTINATION ADDR MVI B,16 ;# OF BYTES TO MOVE CALL MOVE SHLD FLPTR ;UPDATE FILE LIST PTR SEND2: IN STAT ;AWAIT ACK FROM RECEIVER ANI RDA JNZ SEND2A MVI A,ENQ ;SEND ANOTHER ENQ CALL WACL JMP SEND2 SEND2A: IN DATA ;DISCARD ACK LDA FLCNT ;EXIT IF FILELIST COUNT = 0 ORA A JZ SENDX SEND1: XRA A ;OPEN FILE STA SFCB+EX LXI D,SFCB CALL WACL JMP SENDX ;EXIT SEND3: MVI A,STX ;SEND STX CALL WACL LXI H,DBUF ;SEND RECORD MVI B,128 ;RECORD LENGTH CALL SMSG ;SEND MESSAGE JC SEND8 ;ABORT ON ERROR JMP SEND6 SEND7: MVI A,ETB ;SEND ETB CALL WACL LXI D,SFCB ;CLOSE FILE CALL CLOSE LXI H,FLCNT ;DECREMENT FILELIST COUNT DCR M JMP SEND0 ;LOOP JMP SENDX SEND8: LXI D,MSG7 ;PRINT 'ABORTED' CALL WASC SENDX: MVI A,EOT ;SEND EOT CALL WACL LXI D,MSG5 ;PRINT 'ALL FILES SENT' CALL WASC LHLD OLDSP ;EXIT LELIST COUNT INR M POP D PUSH D CALL SRCHN ;SEARCH FOR NEXT OCCURANCE CPI 255 ;LOOP IF ANOTHER FOUND JNZ GETFL2 GETFL3: POP D LXI H,FLIST ;RESET FILELIST POINTER SHLD FLPTR RET PMSG: MOV A,M INX H CALL WACC DCR B JNZ PMSG RET WEOLC: MVI A,CR CALL WACC MVI A,LF JMP WACC WACC: PUSH H PUSH D PUSH B MOV E,A MVI C,WCCFC CALL BDOS POP B POP D POP H RET MOVE: MOV A,M INX H STAX D INX D DCR B JNZ MOVE RET SRCHF: PUSH H PUSH D  JNZ SMSG2 POP B ;RESTORE FWA AND COUNT POP H JMP SMSG ;SEND IT AGAIN SMSG2: CPI CAN ;JUMP IF CAN JZ SMSG3 LXI D,MSG3 ;PRINT 'UNKNOWN CODE' CALL WASC SMSG3: POP B ;ERROR EXIT POP H STC RET SMSG4: POP B ;NORMAL EXIT POP H STC CMC RET WASC: PUSH H PUSH D PUSH B MVI C,WCBFC CALL BDOS POP B POP D POP H RET OPEN: PUSH H PUSH D PUSH B MVI C,OPNFC CALL BDOS POP B POP D POP H RET CLOSE: PUSH H PUSH D PUSH B MVI C,CLSFC CALL BDOS P OUT STAT JMP INIT1 INITS: DB 4,68,3,193,5,234,1,4,'$' GBBL: IN DATA IN DATA IN DATA RET ; RACL - READ ASCII CHAR FROM LINK (DO NOT STRIP BIT 7) RACL: IN STAT ANI RDA JZ RACL IN DATA RET ; WACL - WRITE ASCII CHAR TO LINK WACL: PUSSS D 0E WESESESE FAPISSSSSS SSISSSSSSSSSSSSSSSSSSSSSSSSSSSSSSUAP: M D 0ES E E WSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSPR A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A    A A A ; IB BSht 1982, Mycroft labs inc.',CR,LF,LF DB ' (put your computer name here) ' DB ' SIO-B - 9600 BAUD',19H,CR,LF,LF,LF,EOS MSG1: DB '**** FILE(S) NOT FOUND ****',CR,LF,EOS MSG2: DB '**** FILE READ ERROR! ****',CR,LF,EOS MSG3: DB '**** UNKNOWN RESPONSE ****',CR,LF,EOS MSG5: DB CR,LF,LF,' DONE',CR,LF,BEL,EOS MSG6: DB 'NOW SENDING . . . ',EOS MSG7: DB '**** ABORTED ****',CR,LF,BEL,EOS OLDSP: DS 2 ;SYSTEM SP STACK: DS 64 ;LOCAL STACK FLCNT: DS 1 ;FILE LIST COUNT FLPTR: DS Documentation for SEND.SUB and SEND.MBS (version 1.1) ----- This program set is for uploading ASCII files to either the message section of an RBBS, or sending programs to an RBBS that does not use XMODEM or similar programs. It can also save time (and money) if you put notices on any long-distance services. ----- SEND.MBS is a BASIC routine that allows you to produce messages for upload to an RBBS before you call, and then upload them automatically. ----- SEND.SUB is a sample SUBMIThanges will have to be made in the SEND.MBS file. If you don't have 'READY.COM' , you can interrupt a SUBMIT routine by hitting return as the program is sending a command line. ----- The *.COM files should be on your system disk; they have to be on the same disk as the message or program you are trying to upload. ----- To use: 1. Create message(s) and/or program(s) with any text editor, and save them with .MSG extent --->NOTE: You must produce an ASCII file. 2. Exit text editor back message, repeat steps 4-8. To exit the routine, repeat 4-5, but type "N" at the READY prompt. ----- DISCLAIMERS There are time delays built into SEND.MBS that may need to be adjusted to your computer. Please be aware that this program is only intended for message text, and performs no error checking. ----- ADDENDUM: The program now asks a "Delay for slow RBBS (1-20)?" before it will send a file. This input can be any integer, but 20 seems to be the largest (slowest) needed. With the d2 ;FILE LIST POINTER FLIST: DS 16*64 ;FILE LIST END SEND6 SEND7: MVI A,ETB ;SEND ETB CALL WACL LXI D,SFCB ;CLOSE FI* UNKNOWN RESPONSE ****',CR,LF,EOS MSG5: DB CR,LF,LF,' DONE',CR,LF,BEL,EOS MSG6: DB 'NOW SENDING . . . ',EOS MSG7: DB '**** ABORTED ****',CR,LF,BEL,EOS OLDSP: DS 2 ;SYSTEM SP STACK: DS 64 ;LOCAL STACK FLCNT: DS 1 ;FILE LIST COUNT FLPTR: DS  listing. To use this file, you must have the following -- SUBMIT.COM (batch processing utility) MODEM.COM (MODEM7 or similar will do) READY.COM (prompt command) MBASIC.COM (or similar language) SEND.MBS SEND.SUB Using the SUBMIT utility with the SEND.SUB file will allow you to go back and forth from the MODEM program to the SEND.MBS program. Every time you exit to CP/M, SUBMIT types the next command line for you. If a language other than M-BASIC is used, cto CP/M 3. Type SUBMIT SEND 4. Make connection with RBBS. 5. Go through the steps of entering a message, but stop when the RBBS gives the prompt to enter the first line. 6. Exit MODEM program back to CP/M 7. At the READY prompt, type "Y" 8. Answer the prompts in the BASIC program for file name, prompt string (from RBBS), and delay (0 = fastest, 20 = slowest) 9. When the SUBMIT returns to MODEM, go through final routines to "send" or "save" the message. ----- >> To send another elay set at 20, messages are typed at about 95 WPM; with the delay set to 0, 165 WPM. As stated earlier, the timing delay will have to be adjusted to each computer. y intended for message text, and performs no error checking. ----- ADDENDUM: The program now asks a "Delay for slow RBBS (1-20)?" before it will send a file. This input can be any integer, but 20 seems to be the largest (slowest) needed. With the d   Mycroft Labs SEND/RECV Utilities v2.0 The SEND and RECV programs included on this disk are useful for transferring files between two CP/M systems with incompatible disk formats, over a communications line. To use them, type in the RECV program on the new system, using ED. Comments may be ignored at this time. Modify the port addresses, and the routines INIT, RACL and WACL as necessary. Assemble using ASM or MAC, then load using LOAD. NOTE; The SEND.COM and RECV.COM are already patched for your Kake the same changes in it, assemble and load it. The SEND program can then be sent over as well, and modified for the communications port in use. Now files can be transferred in either direction. To use these programs, execute RECV (no parameters) on the system which is to receive the new files, and then execute SEND on the system from which the files are to be sent. The argument of the SEND command may be a single file name, or an ambiguous file name (e.g. *.ASM). Files will be sent with chec. r minimum transfer time. Note that these programs are the property of Mycroft Labs, and have been released to Microsoft Inc. for inclusion on their Apple CP/M disk. They are not to be sold or included in a hardware or software package without the express permission of Mycroft Labs. For permission, contact Larry Hughes at (904) 385-2708, P.O. Box 6045, Tallahassee FL 32301aypro-II serial port at 9600 baud. They even set the baud rate for you. If you want to use them to send to another cp/m computer, you'll have to know enough assembly language to patch the SEND.ASM and RECV.ASM files and assemble them and make them work on the other computer. You'll also have to make a cable to connect the Kaypro's serial port to the other computer and get the handshaking working. At this point, it is possible to send the full, documented source of the RECV program over, mksums and automatic re-transmission, if needed, one sector at a time. Use the highest baud rate your hardware is capable of for minimum transfer time. Note that these programs are the property of Mycroft Labs, and have been released to Microsoft Inc. for inclusion on their Apple CP/M disk. They are not to be sold or included in a hardware or software package without the express permission of Mycroft Labs. For permission, contact Larry Hughes at (904) 385-2708, P.O. Box 6045, Tallahassee FL 32301   10 CLEAR 20 DEFINT A-Z 30 PRINT CHR$(26) 40 FILES "A:*.MSG" 50 PRINT:PRINT 60 LINE INPUT "Which file? ";B$ 70 INPUT "Delay for slow RBBS (1-20)";S 80 OPEN "I",#1,B$ 90 IF EOF(1) THEN 230 100 LINE INPUT#1,B$ 110 FOR J=1 TO LEN(B$) 120 FOR D=1 TO (20+S) 130 NEXT D 140 X=ASC(MID$(B$,J)) 150 OUT 4,X 160 PRINT CHR$(X); 170 NEXT J 180 OUT 4,13 190 PRINT CHR$(13) 200 FOR X=1 TO (1000+(30*S)) 210 NEXT X 220 GOTO 90 230 PRINT CHR$(7) 240 SYSTEM EXT J 180 OUT 4,13 190 PRINT CHR$(13) 200 : sample submit file for batch processing : delete lines beginning with ":" after : you become familiar with the program MODEM : the next line invokes the 'ready' prompt READY : next line loads 'send.mbs' program MBASIC SEND.MBS : next line restarts routine. type "n" at 'ready' to exit SUBMIT SEND !9"51w͕\:w&͕*x\<"xC>4:w2h\͡2|>!] ] ͕!] %\͹ʘʫ͕>>!]{>\ͭ!w5& ͕>͕*5!z"x2wEo&*x<"x!w4Q!z"x~#/> /> /_~#<~#aʐ]ʌ͕77? >!~#$D$O  SEND V2.0 - FILE TRANSMISSION UTILITY (c) 1982, Mycroft Labs inc. FOR KAYPRO-II SERIAL PORT 9600 BAUD $**** FILE(S) NOT FOUND **** $**** FILE READ ERROR **** $**** UNKNOWN RESPONSE **** $ DONE $NOW SENDING . . . $**** ABORTED **** $ʌ͕77? >!~#$D$O    M=1,L=66,W=80 Y Los Angeles Area Bulletin Board Systems n n 4,A:C AREA CODE 8,PHONE PHONE 15,NAME SYSTEM NAME 10,TYPE SYSTEM TYPE 15,CITY CITY 10,SECTION LOCATION  EAST 213477-4605INTERFACE BBS WEST LA WEST 213276-4995KEYBOARD CONNEC BEVERLY HILLS WEST 213947-8128KLUGE COMPUTER WHITTIER EAST 213631-3186LA INTERCHANGE COMPTON SOUTH 213783-8373LAACE BBS ATARI VAN NUYS SFV 213388-5* BBSMAINT command file USE ERASE USE BBSLIST ? "Sorting...this will take a moment" ? " --- Please do not interrupt! ---" ? COPY TO BBS USE BBS SORT ON NAME TO BBSLIST USE BBSLIST ? "BBSLIST has now been sorted by name." ? "Indexing BBSLIST to various indexes...please wait..." ? ? "Indexing SECTION..." INDEX ON SECTION TO BBSSECT ? ? "Indexing TYPE..." INDEX ON TYPE TO BBSTYPE ? ? "Indexing NAME..." INDEX ON NAME TO BBSNAME ? ? "Indexing Area Code..." INDEX ON A:C TO BBSAREA ? ? 8MAGNETIC FANT. BBS LOS ANGELES LA 213371-8825COMPUTERLAND BBS LAWNDALE SOU"Indexing CITY..." INDEX ON CITY TO BBSCITY ? ?"Indexing PHONE... " INDEX ON PHONE TO BBSPHONE ? ?"Indexing completed!" ? USE USE BBSLIST ? "I'm now using the database file BBSLIST" ENDDO HONE SHOPPING WEST LA WEST 213799-1632PASADENA RCP/M RCP/M PASADENA SGV 213577-9947CBBS CBBS PASADENA SGV 213541-2503GFRN DATA EXC 1BBS REDONDO BEACH SOUTH 213428-5206DRAGON'S LAIR PW=DRAGON LONG BEACH SOUTH 213388-519TA EXC 1BBS REDONDO BEACH SOUTH 213428-5206DRAGON'S LAIR PW=DRAGON LONG BEA 805 714990-6747BREA NET BREA 714 714220-0239DYM MATCHMAPPLE CORE BBS APPLE REDONDO BEACH SOUTH 805498-2508ATARI ATARI THOUSAND OAKS 805 213542-9142ATARI BBS ATARI REDONDO BEACH SOUTH 213699-0775BGGS TR   S-80 WHITTIER EAST 213842T ? ? "Indexing BBSLIST to various indexes...please wait..." ? ? "Indexing SECTION..." INDEX ON SECTION TO BBSSECT ? ? "Indexing TYPE..." INDEX ON TYPE TO BBSTYPE ? ? "Indexing NAME..." INDEX ON NAME TO BBSNAME ? ? "Indexing Area Code..." INDEX ON A:C TO BBSAREA ? ? "Indexing CITY..." INDEX ON CITY TO BBSCITY ? ?"Indexing PHONE... " INDEX ON PHONE TO BBSPHONE ? ?"Indexing completed!" ? USE USE BBSLIST INDEX BBSSECT,BBSTYPE,BBSNAME,BBSAREA,BB* BBS SEARCH USE ERASE ?"This program will let you search for a" ?"particular type of BBS system, or you" ?"can find all the ones in a certain area, etc." ? USE BBSLIST INDEX BBSNAME ?"OK, I have the list here now..." ? ?"The following fields are available:" ?" A:C area code" ?" PHONE 7-digit number" ?" NAME name of system" ?" TYPE type of system" ?" CITY where number is located" ?" SECTION general area where located" ? ?"RememS APPLE RE SOUTH 213531-1057PABBS 2  THOU >>> Remote CP/M Software Exchange Systems List # 43 <<< >>> 11/20/83 revision by Kim Levitt <<< A summary of all operating Remote CP/M software exchange systems which use Christensen protocol, (XMODEM), for file transfers and are available to the general public for the exchange of public domain software. ---------------------------------------------------------------------- SPECIA̠ NOTICŠ T SYSOPS Pleas infor Kim Ju o Stev o an change ber, I already have them sorted by name" ? ACCEPT "Name of FIELD to list? " TO FIELD ? ?"And what do you want to look for" ?"in this field (&FIELD) ? " ACCEPT "search for: " TO SEARCH ? ?"I will look by &FIELD for entries that contain" ?"the string '&SEARCH'..." REPORT FORM BBSLIST FOR "&SEARCH" $ &FIELD ?"That's all of them." ?"To do this again, DO BBSSEARCH" ENDDO  SAN FERNANDO SFV 213346-1849O.A.C. PMS i you syste t avoi bein remove fro th list whic i verifie periodically I you syste i n longe functioning pleas hav frien mode messag s yor system can be deleted. ---------------------------------------------------------------------- ========= Send update information to: Kim Levitt - HOLLYWOOD RCPM/MBBS - (213) 653-6398 [Leave msg on MBBS and/or upload file using XMODEM.] or Jud Newell - TORONTO RCP/    M SYSTEMS - (416) 232-0442 (416) 232-0269, (416) 231-1262 [Leave comments on exiting system.] or Steve Sanders - TAMPA BAY BANDIT BOARD RCP/M - (813) 937-3608 [Leave msg on RBBS and/or upload file using XMODEM.] (See file NEW-SYS.OPS on most RCP/M Systems for required information.) ========= CODE KEY: Unless otherwise indicated, all systems are up 24 Hours a day, seven days a week with no callback. (Hours lisof list for more information) ========= NORTHEAST [Maine] Programmer's Anonymous RCP/M ...................... (207) 839-2337 SW Ralph Trynor; (3B;180K); Osborne Software; (Gorham) [Massachusetts] Andover Cnode ..................................... (617) 470-2548 SW Layne DuBose; (1-7;18M); All C User's Group volumes on-line, plus best of CPMUG. Also some Osborne, RS M100, 8088/8086 software; (Andover) Milford RCPM/CBBS ................................. (617) 478-4164 W HowaBBS ................................... (617) 966-0416 W Jim Devoid; (no answer when in use); (3;180K); Heath H8 system [New Hampshire] Nashua, NH RCP/M & C-80 BBS ....................... (603) 888-4488 MSW Steve Peterfreund; (134B;1.9M); DEC, Communications, Ham, C; (So. New Hampshire) [New York] C U R A RCP/M .................................... (212) 625-5931 MSW Brian Callahan; (3B;10M); Kaypro, Osborne, Zram, Softbox; (Fort Greene, Brooklyn) Remote CP/M Facility of DolgeviP Fri-8A Sat); (3;180K); (Long Island) Johnson City, NY SJBBS ............................ (607) 797-6416 SW Charles; Eves, etc.; (3;2M); (Upstate NY) Rochester RBBS..................................... (716) 323-1214 IMSW Arnie McGall; (3BV;2.4M) (Update NY) Bearsville Town SJBBS ............................. (914) 679-6559 W Hank Szyszka; (1-7;4M); (Upstate NY) Woodstock RCP/M RBBS .............................. (914) 679-8734 W John Doak; (134B;2.8M); (answers after 3rd ring), Ham radlt Jung, Charlie Schnepf, Harry Barley; (34B;10M); (Baltimore) St. Mary's College RCP/M .......................... (301) 863-7165 W Thomas Loker; (3B;10M); Special interest in educational progs; (St. Mary's City) Mid-Atlantic Kaypro Users Exchange ................ (301) 865-5025 SW Mike Barrett; (3;200K); RCP/M for MAKUE of MD; Special interest in Kaypro; (Mt Airy) Microcomputer Electronic Information Exchange ..... (301) 948-5718 MSW John Junod, Lynne Rosenthal; (3;64K); (Gaithersburted after sysop name(s), all times listed are local time.) (Callback systems are indicated with a "cb" directly before the system phone number.) Alternate Long Distance Services: (shown after phone number) I=ITT / M=MCI / S=Sprint / W=Western Union Baud Rates: (shown after sysop name(s) or hours) (PMMI=1-7) 1=110 / 3=300 / 4=450 / 6=600 / 7=710 B=Bell 212A 1200 / V=Vadic 1200 Disk Capacity: (total disk space shown after baud rates) K=Kilobytes / M=Megabytes (See notes at end rd Moulton, Jr.; (3B;180K); system is Osborne 1; (down?) Milford S-100 User's System ....................... (617) 478-6062 W Howard Moulton, Jr.; (no answer when in use); (3B;1.1M); access password = "PDBIN" (must be upper case only); IMSAI S-100 w/Z80; (Apparently down due to malicious mischief, need confirmation.) SuperBrain RCPM ................................... (617) 862-0781 IMSW Paul Kelly; M-F 7P-7A, wknd 24 hrs; (3BV;300K); Superbrain CP/M programs; (Lexington) Bellingham Rlle, NY ......... cb (315) 429-8185 W Peter A. Polansky; (346B;500K); 8086, 68000; (Upstate NY) KUG of Central NY RBBS-RCP/M ...................... (315) 468-2887 SW Ben Silverstein; (3B;10M); Kaypro 10 on-line; K-Net System #16; Special interest in Kaypro-related programs.; (Syracuse) (Down temporarily due to hard disk failure, should be up soon.) LION RCP/M (Long Island Osborne Network) .......... (516) 472-3111 IMSW Lenny Jacobs; (up MON and FRI nights ONLY: 9P Mon-7A Tues and 8io software. CPMUG, RCPM library available. [Quebec, Canada] Montreal RCP/M..................................... (514) 481-6329 Pierre Benard; M-F 6P-8A, wknd 24 hrs; (3;1.M) [Rhode Island] Providence RCP/M ............................... cb (401) 751-5025 MSW Mark Rippe; 10A Sat-10P Sun; (3;1.2M) (Down temporarily due to modem failure, should be up by 12/83.) ============ EAST CENTRAL [Maryland] BHEC RBBS/RCPM .................................... (301) 661-2175 IMSW Wag) [New Jersey] CP/M-Net (tm) East (The Second!) .................. (201) 249-0691 IMSW (Sysop anonymous); (3B;20M); (Piscataway, NJ) RIBBS of Cranford, New Jersey ..................... (201) 272-1874 MSW Bruce Ratoff; (1-7,B on request;3M); bulletin board of SIG/M, (Special Interest Group/Microcomputers, ACGNJ) KUGNJ1 RBBS Atlantic Highlands, NJ ................ (201) 291-8319 MSW George Frankle; (3B;400K,(10M soon)); RBBS of Kaypro User Group of New Jersey; (Password="KUGNJ1"); (!   Atlantic Highlands, NJ) Flanders, NJ RCPM ................................. (201) 584-9227 W Ken Stritzel; (3B,1-7 on request;26M) The C-Line ........................................ (201) 625-1797 SW David Fiedler; M-F 8P-9A, wknd 24 hrs; (1-7;2M); UNIX/UNIX-like systems, C software; (Northwest NJ) Paul Bogdanovich's RBBS ........................... (201) 747-7301 SW Paul Bogdanovich; M-F 6P-11P, wknd 8A-11P; (1-7;1M) [Pennsylvania] Allentown RBBS/RCPM System ........................t databases. Daily change on B; (Chicago) Palatine RCPM ..................................... (312) 359-8080 IMSW Tim Cannon; (3B;4.8M); Disks on B, C & D are changed daily; (Chicago area) Xerox Midwest RCPM/RBBS ........................... (312) 384-0013 IMSW David Lowy; (12A-6P, other hrs no answer if in use); (3B;980K); Mainly for Xerox PC users, but all welcome. Password required for system access; (Xerox 820-II system); (Chicago) Prairie View RCP/M ..................................................... (316) 682-9093 SW George Winters; (8P Fri-11P Sun); (3B;300K); member of FOG OPEK (Osborne Portable Enthusiasts of Kansas) chapter. Mission, KA RCPM .................................. (913) 362-9583 SW Bill Parrott; (3B;7M); Heath/DG Super 89 system Ft. Leavenworth RBBS .............................. (913) 682-3328 W Greg Bridgewater; (3;1M); Running TRS-80 with Omikron; (this is the Pickerington, OH. RBBS in a temporary new location, will return to Ohio e and hardware; (Detroit area) Southfield, MI, RBBS/RCPM ......................... (313) 559-5326 IMSW Howard Booker; (3;2.7M); BDS C programs, doc. files. Royal Oak CP/M ................................. cb (313) 759-6569 IMSW Keith Petersen; (1-7,B on request;10M); (Detroit area) Technical CBBS .................................... (313) 846-6127 IMSW Dave Hardy; (1-7;3M); RCPM sysops desiring access to passworded RCPM Clearing House system should leave msg on TCBBS; (Detroit) [Mi.8M) Columbus CBBS ..................................... (614) 272-2227 IMSW John Walpole; (1-7;300K); BDS-C programs [Wisconsin] Beer City BBS ..................................... (414) 355-8839 IMSW Jim Miller, Mike Wesolowski and Tim Winslow; (1-7;5M,16M); Running on three seperate systems. Call system for individual board times. Heath, Osborne, TRS80 Software; (Milwaukee) Fort Fone File Folder ............................. (414) 563-9932 W Al Jewer, Shawn Everson, Ron Fowler;  (215) 398-3937 IMSW Bill Earnest; (1-7BV;10M); bulletin board of the Lehigh Valley Computer Club State College, PA. CUG-NODE ....................... (814) 238-4857 W Joe Shannon; (3;3M) [Virginia] OxGate-007 Grafton VA ............................. (804) 898-7493 SW Dave Holmes; (3;200K); CP/M, TRS-80 & Apple software; (Tidewater) ======= MIDWEST [Illinois] Logan Square RCPM ................................. (312) 252-2136 IMSW Earl Bockenfeld; (1-7;1M); Special interes..... (312) 537-7888 IMSW Don Castella; 6P-8A Mon-Fri, 24 hrs wknd; (1-6B;3.6M) Heath H89 3 sets of disks changed daily (Chicago area) AIMS, Hinsdale, Ill ............................... (312) 789-0499 IMSW Mark Pulver; (1-7;10M); (Chicago area) [Indiana] Bloomington RCPM/RBBS ............................. (812) 334-0609 IMSW Bob Jacobs; (3B;2M); (four carriage returns to bring up sys); current public domain software, amateur radio (satellite). [Kansas] Wichita RBBS/RCPM .......(at old # (614) 837-3269) in December '83.) AlphaNet RCP/M RBBS ............................... (913) 843-4259 MW Larry Miller; 6P-9A daily; (3;700K); B drive changes daily; (Lawrence) [Michigan] Schooner Cove (Ypsilanti) RCP/M ................... (313) 483-0070 SW Michael Wesley; (3;644K); B: changed daily, sysop will mount any disk on request. (Ann Arbor-Detroit area) MINICBBS/Sorcerer's Apprentice Group .............. (313) 535-9186 IMSW Bob Hageman; (1-7;500K); Sorcerer softwarnnesota] TCRCP/M Twin Cities RCP/M ......................... (612) 333-5947 IMSW Larry Linde; (3B;5M); RBBS written in 'C'; (5 Mhz Big Board); (Minneapolis) [Ohio] Dayton RCPM/RBBS .................................. (513) 256-7227 SW Dave Robling; (1-7;1M); (Dayton) West Carrolton RCP/M .............................. (513) 435-5201 SW Rich Malafa, Bob Drake; (1-7;11M); (Dayton) Cincinnatti RBBS .................................. (513) 489-0149 SW Henry Deutsch; 6P-6A daily; (1-7;1(1-7;20M); (Ft. Atkinson) ===== SOUTH [Alabama] NACS/UAH RBBS/RCPM ............................. cb (205) 895-6749 W Don Wilkes; (1-7;700K); (Huntsville) [Florida] Astronomer's RBBS & RCPM .......................... (305) 268-8576 W Chuck Cole; (no answer when in use); (3B;492K); Astronomy & science special interests: CFAS, AAVSO, ISRG, IAPPP, SERAL, and CANDL; (will have 2.4MB on-line soon); (Titusville) Winter Park, Florida RCPM/RBBS .................... (305) 671-2330 IMSW !    Larry Snyder; (3B;3.5M); CP/M, ZDOS, CP/M-86, C, dBase II, and communications; (H89 w/Magnolia CP/M); (S. of Orlando) Hackers BBS and RCP/M ............................. (305) 676-3573 W Alex Soya; (3B;15M); new releases of CPMUG and SIG/M software; Information exchange re: hardware problems & fixes, especially S-100 machines; CPM86 and CPM68K software; (will have 20MB disk soon); (Melbourne) CCPB-RCP/M Computer Club of the Palm Beaches ..... (305) 967-0344 SW Mark Fay; (system SW Charlie Hoffman; (3B;2.4M); CP/M programs. Interest in 'C'; RCP/M for the Tampa Bay CP/M User's Group Tampa Bay Bandit Board RCP/M ...................... (813) 937-3608 IMW Steve Sanders; (3B;10M); Interests: Kaypro, communications. Now supports 1200 baud on a Kaypro 10; RCP/M for the Tampa Bay Kaypro User's Group, (TBKUG); DEC VAX and PDP software avail. >>> THIS SYSTEM IS ALSO A COLLECTION POINT FOR UPDATES TO THIS LIST. PLEASE SEND THE INFO. AS A FILE AND/OR MESSAGE TO SYSg systems; (Baton Rouge) ========== CALIFORNIA [Northern California] OxGate-005 Fresno Micro Fone ...................... (209) 227-2083 IMSW Bob Robesky; M-F 7P-7A, wknd 24 hrs; (3BV;22M); Standard and new CP/M 80/86, MP/M 8-16, 'C', dBASE II, etc. San Jose DataTech Node 007 / Piconet Node 003 ..... (408) 238-9621 IMSW Al Mehr; (3B;20M); ZCPR2, CP/MUG, SIG/M software Oxgate-002 RCP/M Milpitas ......................... (408) 263-2588 IMSW Mel Cruts; (system hrs may be erratic due toascal. Special software for sysops on A10; leave name and system phone #. Access to A10 will be granted after verification of Sysop status. OxGate-dBASE II RCP/M Campbell, Ca. ............... (408) 378-8733 IMSW Roger D. Brown; (3B;4M); dBASE II is available on this system to demonstrate software from independent software developers. System will soon be converting from OxGate to a BBS written in dBASE II. (San Jose area) Skyhouse Systems .................................. (408)  for more information; (south SF bay area) CrosNest II (DataTech Node 014) ................... (415) 341-9336 IMSW Wilbur H. Smith; (3;2.8M); (Box 962, San Mateo, Ca. 94403) CDOS, CP/M hardware/software tipes/bulletins/educational utilities and communications software (SF Bay area) RBBS of Marin County .............................. (415) 383-0473 IMSW Jim Ayers; M-F 5P-8:30A, wknd 24 hrs; (1-7;10M); Now up with 10 meg drives A:-E:, user areas 1-2 w/ SIGM and CP/MUG pgms; (SF bay I: TU & TH 9P-12P; SU 12A-12P); (1-7;1.8M); Interest in libraries of recent and classic CP/M software. Jim Flora; (system II: M, W & F 9P-12P); (1-7;1.2M); Interest in ASCII printer graphics, CB80, and general CP/M software; (NOTE: Phone answered voice other hours.) (West Palm Beach) Tampa Technical RCP/M ............................. (813) 254-4637 IMSW Scott Holtzman; (3B;7M); Special interest UNIX and 'C'; (Tampa) Tampa RCP/M ....................................... (813) 831-7276 IMOP. [Georgia] Atlanta RCP/M ..................................... (404) 627-7127 IMSW Jim Altman; (3;1.8M); Interest in 'C' Acropolis BBS/RCPM ................................ (912) 929-8728 SW Tony Stanley; (3B;10M); Kaypro, Heath/Zenith, CPMUG and SIG/M software; member of Kaypro network; BBS for local Kaypro and Heath/Zenith user groups; (Warner Robins, GA) [Louisiana] Redstick RCPM ..................................... (504) 275-7846 IMSW Ken Shutt; (3;1.6M); CP/M+, Operatin heat); (1-7;12M); (south SF bay area) PicoNet #4 Wizard's Keep RBBS-RCP/M ............... (408) 281-7059 IMSW Rick Hobbs; (3;20M); Will answer technical questions on Osborne 1; (San Jose) OxGate-001 Monte Sereno, CA ....................... (408) 354-5934 IMSW Chuck Metz & Paul Traina; (3B;20M); (San Jose area) POTPOURRI BBS & RCP/M Oxgate-012, San Jose, CA .... (408) 378-7474 IMSW Wayne Masters; (3B;20M); Engineering Applications, Compilers, Assemblers, disassemblers & free JRT P578-6185 IMSW Kirk De Haan; (no answer when in use); (3B;30M); Will help with TELEVIDEO systems; (San Jose) Oracle-003: "BAYLIST" System ................... cb (408) 730-8733 IMSW Eric Sarti; (3;256k); Bay Area BBS List HQ, many programs are available by request; (south SF bay area) Oracle-001: Network Headquarters .................. (408) 732-9190 IMSW Ed Svoboda; (3;11M); Apple and Std CPM. This system distributes the Oracle BBS software, written by the SYSOP. Leave a message area) Rich & Famous RCP/M ............................... (415) 552-9968 IMSW Stephen Price, Ralph Nishimi; (3;760K); games, communications; RCPM sysops desiring access to special SYSOPS-only BBS should leave a msg on this system with your system's name, sysop name, hours of operation, phone number and desired password. Sysop will verify with msg on your system; (San Francisco) DataTech Network Headquarters System .............. (415) 595-0541 IMSW Edward Huang; (3BV;1M); (Box 290,"    San Carlos, CA 94070) Hub of DataTech Network. Heath/Zenith/TRS-80, utilities and communications software. (SF Bay Area) Palo Alto RCP/M ................................... (415) 949-2563 IMSW Jim McMurry; (M-F 8A-11P, wknd 24 hrs); (3B;382K (10M soon)); Kaypro II system; member of Kaypro network. Napa Valley RBBS/RCPM ............................. (707) 257-6502 W Dave Austin; (1-7;1.2M); Features: Apple, Atari, Compupro, Morrows, Osborne, TRS, CP/M software; interest in BDS/Azt(213) 306-1172 IMSW "Pavlov's Cat", (Harris Boldt Edelman); (3B;366K); a magazine for the Real Programmer whose defenses are down; often abused by the locals. Now supporting 1200 baud (212A). (Venice) Granada Engineering Group RCP/M ................... (213) 360-5053 IMSW Webber Hall; (3;1M); (Granada Hills) The MOG-UR'S HBBS ................................. (213) 366-1238 IMSW Tom Tcimpidis; (3B;19M); 11 different boards, varied interests. Database use welcome to all systems, op7-9947 IMSW Rich Berg; (1-73BV;3.98M); Note: system power off until modem carrier lock. (does not recognize CR's for 15 secs after lock, while system auto boots), Heath H89; (LA area) Hollywood RCPM/MBBS ............................... (213) 653-6398 IMSW Kim Levitt; (no answer if in use); (3B;382K); running new Micro Bulletin Board System (tm) software (MBBS); (Los Angeles) >>> THIS SYSTEM IS ALSO A COLLECTION POINT FOR UPDATES TO THIS LIST. PLEASE SEND THE INFO. AS A FILE AND/awthorne RBBS .................................... (213) 973-2374 IMSW Mike Haefner; (3B;370K?); IBM-PC based system; (LA area) Barstow RCP/M ..................................... (619) 256-3914 W Bill Wood; (34BV;5.5M); H89 system. (does not see CR's for 8 secs after carrier detect, while system auto boots) San Diego RCPM .................................... (619) 273-4354 IMSW Brian Kantor; (3BV;2.4M); (San Diego) G.F.R.N. Data Exchange (RBBS) Garden Grove ........ (714) 534-1547 SW (36B;34M); (baud rate set at log on or with NEWBAUD); active bulletin board; Now has 34MB, 15 drives A:-H:, most software in subdirectories, use MOUNT to access them. Most of SIG/M on-line. Drive H: has 16-bit software. Simi RCP/M ........................................ (805) 527-2219 SW Pete Mack; (M-F 7P-7A, wknd 24 hrs); (3-6,B;20M); General interest programs plus special interest in 'C'; Also interested in 88/86 PC software; (Simi Valley) Gil Berry's Simi RBBS ................ec C, dBase II, Ham Radio; (Napa) Fairfield RBBS/RCPM ............................... (707) 422-7256 W Mark Bournival; (3(1200 soon);3M); CPMUG & SIG/M, general CP/M software; (Northstar w/ 8" drives); (Sacramento area) [Southern California] Los Angeles RCP/M ................................. (213) 296-5927 IMSW Bob McCown; (1-7;2.5M); System features catalog of the latest CP/M, Apple, Atari, TRS-80 and IBM PC software; (west LA) PatVac ............................................ erating systems and users; (San Fernando valley, LA area) Temple City RBBS/RCPM ............................. (213) 445-7058 IMSW Al Krug; M-F 7P-10P, wknd 10A-10P (24 hours at times with new system); (3B; 10M); Now using KAYPRO 10; ZCPR2 files on Drive C, Will set up KAYPRO area on Drive B. G.F.R.N. Data Exchange (RBBS) ..................... (213) 541-2503 IMSW Skip Hansen; (3BV;2.4M); ham radio-related pgms; (Palos Verdes) Pasadena RBBS ..................................... (213) 57OR MESSAGE TO SYSOP. La Canada RCPM/RBBS ............................... (213) 790-3014 IMSW Chris Hays; (no answer if in use; allow 4 rings for autoboot); (3B;1.3M); electronics, communications software; (LA area) Pasadena CBBS ..................................... (213) 799-1632 IMSW Dick Mead; (1-7;8.3M); (LA area) Glendale RBBS/RTPM ................................ (213) 957-5195 IMSW Larry Davis; (M-F 7P-7A, wknd 24 hrs); (3;752K); TPM, CP/M software for Epson QX-10; (LA area) H Doug Laing; (3BV;5M); amateur radio, Apple/CPM; (Garden Grove) San Dimas RBBS/RCPM ............................... (714) 599-2109 MSW Stu Anthony; M-F 8A-7P, wknd 24 hrs, (try anytime); (3B;964K); Xerox 820-II AnaHug RCPM/CBBS .................................. (714) 774-7860 IMSW Bob Mathias, John Secor; (3B;10M); hobby computing, ham, electronics hobbyists; Now has 300/1200 212A baud; (Anaheim) Thousand Oaks Technical RCP/M (RIOS) .............. (805) 492-5472 MSW Trevor Marshall; ............. (805) 527-8668 SW Gil Berry; (no answer if in use); (3;270K); Apple ][ system; engineering, robotics, science, music; (Simi Valley) SIMIAPPLE/RCPM .................................... (805) 584-6054 W John Damico; M-F 7P-11P, wknd 24 hrs; (3;6M); interest in modem, rcpm and amateur radio software; (Simi Valley) LOBO MAX-80 RBBS .................................. (805) 964-6626 W Tom Marazita; 24hrs (more or less); (3B;2.4M); MAXIMUL (Max-80 User's League) software, CP"   /MUG, SIG/M, dBase, PASCAL, 'C'; (Goleta) ========= SOUTHWEST [Colorado] Boulder, Colorado RCPM ............................ (303) 499-9169 MSW Jack Riley; daily 12P-6A, hard disk up 7P-12A Wed, Sun; Keyword-based bulletin board, high-level language software, graphics, numerical analysis & UNIX info,MX-80 graphics, typesetting; (1-7BV;32M) Pinecliffe RMP/M RBBS ............................. (303) 642-3034 MSW Craig Baker; Irregular hrs, 24 hrs. soon, (try anytime); (3B;1co] Mesilla Valley RCP/M .............................. (505) 522-8856 MSW Phil Cary; (34B;10M); special interest in CB80; (Las Cruces) [Texas] Metroplex RCP/M ................................... (214) 739-1935 IMSW Steve Holtzclaw; (3B;26M+); SIG/M-CPMUG software; drive D: is changed daily with new releases; (Dallas) Dallas RCP/M CBBS ................................. (214) 931-8274 IMSW Dave Crane; M-F 6P-8A, wknd/holidays 24 hrs; (3B;2.4M); pgms for and discussions of applicatio......... (403) 454-6093 Dave McCrady; (no answer when in use); (3BV;3.8M) [British Columbia, Canada] Frog Hollow CBBS/RCPM ............................. (604) 937-0906 David Bowerman; (1-7;1.2M); (Vancouver) [Montana] Helena Valley RBBS/RCPM ........................... (406) 443-2768 W Marion Thompson; (no answer when in use); (3B;1.2M); Photo- typesetting service, special interest in S-100; (Helena) [Oregon] Chuck Forsberg's RCPM ............................. (503) 621-3193 SW ............ (206) 621-8665 W George Blat, Wayne Campeau, Jim Mitchell; (3B;34M); SMUG RCPM/RBBS .................................... (509) 927-0367 W Bruce Jorgens, David Schmidt; (3B;26.5M); Spokane Microcomputer Users' Group; Interest: Kaypro, Osborne, 'C', dBase II and CP/M 68K software; (Spokane); (NOTE: Phone # will change 11/28/83.) ====== HAWAII [Hawaii] HAWAII RCP/M RBBS ................................. (808) 442-8406 S George Sofaly; (3B;800K); (Honolulu); (New number on a pre-registration and/or fee basis. CP-MIG ............... on MicroNet, type 'R CP-MIG' or 'GO PCS-47' Dave Kozinn, Tom Jorgenson, Charlie Strom arranging to have MN carry much new CPMUG and SIG/M software, plus a newsletter and a CP/M-oriented CBBS. COMPUSERVE users have full access to CP-MIG. Toronto Ontario RCP/M Systems ... (416) 232-0442 232-0269 231-1262 M Jud Newell; (3BV;46M); allow limited access without registra- tion; (three systems available); (Toronto, Ontario,6M); Login by using "LOGIN" program. On-line databases on such topics as nuclear power, Retrieval system, MP/M-II mods, interest in active discussions; (Pinecliffe) Denver CUG-NODE ................................... (303) 781-4937 MSW ? Sysop; (1-7;1M) Lakewood RCPM/RBBS ................................ (303) 985-1108 MSW Gary Shaffstall; (3B;38.4M); (300 baud restricted-send SASE to P.O. Box 28146, Sta 16, Lakewood, CO 80228 with up to 6 char password); (Denver area) [New Mexin of micros to science & engineering, especially earth sciences. El Paso RCPM/CBBS ................................. (915) 598-1668 MSW Sigi Kluger; (1 hour time limit during "prime time"); (3B;10M); Interest in N* and latest releases; (Now has 10 MB hard disk.) [Utah] Northern Utah CP/M Users Group RBBS (NURBBS) ...... (801) 776-5024 MSW Brett Berg; (346BV;3M); Big Board II, CPMUG library; (Roy, UT) ========= NORTHWEST [Alberta, Canada] Edmonton RCPM ............................ Chuck Forsberg; (3BV;??K) Beaverton, Oregon RCPM ............................ (503) 641-7276 SW Dave Morgan; (1-7;26M); Special Interest in Computer Art [Washington] Olympia RCPM ...................................... (206) 357-7400 W Tim Linehan; (3B;18M); Interest in 'C', database pgms, & string manipulation; Most CUG software on-line. Yelm RBBS & CP/M ............................... cb (206) 458-3086 W Dave Stanhope; (1-7;250K); (Olympia) Northwest Computer Society RCP/M ......, now 24 hrs & 1200 baud capable) ======== OVERSEAS [Australia] SOFTWARE TOOLS RCPM .................... 61-2-997-1018 (Australia) Bill Bolton; (300 baud CCITT V21 standard;4.8M); (Sydney) MICOM CBBS ............................. 61-3-762-5088 (Australia) Peter Jetson; (300 baud CCITT V21 standard;500K); (Melbourne) =================== PRIVATE/FEE SYSTEMS The following systems have a password requirement and may charge an annual or timed fee. Access to these systems is available Canada) >>> THESE SYSTEMS ALSO A COLLECTION POINT FOR UPDATES TO THIS LIST. PLEASE SEND THE INFO. AS A COMMENT ON LEAVING SYSTEM. SEE ALSO NEW-SYS.OPS FOR INFORMATION ON OBTAINING SYSOP ACCESS. Arlington RCPM/DBBS of Virginia ................... (703) 536-3769 IMSW Eliot Ramey; M-F 10P-3P, wknd random; (1-7;800K); (Washington DC area); (Minimum $5.00 subscription fee.) ARC-Net(tm) (formerly Anchorage RCPM) ............. (907) 349-7996 Rodger Ellis; (3B;15M); By paid subscription. #   Limited to 100 members. Several memberships still vacant. Call (907) 349-6882 for rates, further info. Or write ARC-Net, 740 W. 71st Ave., Anchorage, AK 99502 for membership application. Effective 12/83 ====== NOTES: 1. Call-back systems are those where a computer and real people share the same telephone line. To contact the people, just dial & let the phone ring until you get an answer. To contact the computer: (1) dial, (2) let the phone ring once, (3) hang up just before thea program exchange system is accessible by an alternative long-distance service should be considered when planning to modem over long programs. Charges on ITT Longer Distance, MCI, Sprint and Western Union Metrofone are 50-60% of Ma Bell's regular long distance rates. (Note, however, that you might sometimes have trouble going 1200 baud.) Using the new SPRINT "Universal Service" (avail. in certain areas only), you can call anywhere in U.S., (including Alaska, Hawaii, Puern for exact details when logging on. 5. All times listed are local time, please observe operating hours for systems with scheduled availability. service available now.) Western Union METROPHONE service will call anywhere in the continental United States, (not Alaska, Hawaii, PR or VI). 4. Total on-line disk capacity is shown for reference. Check the system documentatioThis is a simple modification to xmodem 7.4 that allows the sysop to set the maximun file transmission time. (useful when an RCPM system has very large .LBR files and users who try to download the entire .LBR rather than its members) part 1 ------------------------------------------------------------------------ ; ;======================================================================= ; ; Incidental equates ; NOCOMS: EQU TRUE ;TRUE, NO .COM FILES SENT NOLBS: EQU TRUE ;TRUE, NO .??# FILE 2nd ring, & (4) re-dial. 2. Note that the 212A/Vadic 1200 baud modems may not be compatable with yours. Some of the above systems are using Vadic 3451 Triple modems, compatable with both Bell and Vadic Standard. Sign on the first time at 300 baud to determine the system capabilities. Note also that PMMI's can sometimes be used over 300 baud with 1200 baud systems. PMMI baud rates are: 110, 300, 450, 600, 710 and are indicated above as "1-7". 3. Whether to Rico and the Virgin Islands). Cities on Sprint network are cheaper, but non-network cities can be called at a rate cheaper than Ma Bell. (Numbers shown with an "S" indicates number is on SPRINT network.) (MCI and ITT also have similar service available now.) Western Union METROPHONE service will call anywhere in the continental United States, (not Alaska, Hawaii, PR or VI). 4. Total on-line disk capacity is shown for reference. Check the system documentatioS SENT NOCOMR: EQU TRUE ;TRUE, CHANGE .COM TO .OBJ ON RECEIVE ;---> maxmin: equ 50 ;maximum transmission time allowed ;set to 0 if not wanted ;---> ; MHZ: EQU 6 ;CLOCK SPEED, USE INTEGER (2,4,5,8, ETC.) ------------------------------------------------------------------------------- - - part 2 ------------------------------------------------------------------------ OPENOK4: CALL DECOUT ;PRINT DECIMAL NUMBER OF RECORDS CALL ILPRT ; IF SHOWHEX ;IF TRU#   E SHOWS BOTH DECIMAL AND HEX DB ' (',0 CALL DHXOUT CALL ILPRT DB 'H)' ENDIF ; DB ' records',CR,LF DB 'Send time: ',0 CALL SPEED ;GET SPEED INDICATOR LXI D,0 MOV E,A ;SET UP FOR TABLE ACCESS LXI H,BTABLE ;POINT TO BAUD FACTOR TABLE DAD D ;INDEX TO PROPER FACTOR MOV A,M ;FACTOR IN 'A' LHLD RCNT ;GET NUMBER OF RECORDS CALL DIVHLA ;DIVIDE HL BY VALUE IN A (RECORDS/MIN) PUSH H ; IF LOGCAL SHLD PGSIZE ENDIF ; MVI H,0 ;---> if maxmin mov a,l sta minute ;ZERO THE 'D' REGISTER CALL SPEED ;GET SPEED INDICATOR ADD A ;INDEX INTO THE BAUD RATE TABLE ADD A MOV E,A ;NOW HAVE THE INDEX FACTOR IN 'DE' DAD D ;ADD TO 'HL' XCHG ;PUT ADDRESS IN 'DE' REGS. MVI C,PRINT ;SHOW THE BAUD CALL BDOS CALL ILPRT DB ' baud',CR,LF,0 ; ;---> if maxmin lda minute ; get minute counter cpi maxmin ; compare to max time jz openok5 ; if equal to max jnc overtm ; if exceeded max openok5: ;---> endif ;maxmin CALL ILPRT DB 'To cancel: use CTL DB 0 ;SETS TO 'C' IF CHECKSUM REQUESTED CRCVAL: DB 0,0 ;CURRENT CRC VALUE -------------------------------------------------------------------------------  part 3 ------------------------------------------------------------------------ ; ; Temporary storage area ; ;---> minute: db 0 ;---> MEMFCB: DB ' ' ;LIBRARY NAME (16 BYTES REQUIRED) CONONL: DB 0 ;CTYPE CONSOLE-ONLY FLAG CRCFLG:in.) Assuming everything went correctly, it should now say: Enter OUTPUT "X:FILENAME.EXT" A:> Type in B:FILE.DOC You don't need to call it FILE, but it must be eight characters or less. Hit RETURN. The program takes several seconds to operate, and will return you back to VALDOCS. Although you won't find it in your VALDOCS index, your disk should now contendif ;maxmin ;---> CALL DECOUT ;PRINT DECIMAL NUMBER OF MINUTES CALL ILPRT DB ' mins, ',0 LXI H,RECTBL ;POINT TO DIVISORS FOR SECONDS CALC. LXI D,0 CALL SPEED ;GET SPEED INDICATOR MOV E,A DAD D ;INDEX INTO TABLE MOV A,M ;GET MULTIPLIER POP H ;GET REMAINDER CALL MULHA ;MULTIPLY 'H' BY 'A' CALL SHFTHL CALL SHFTHL CALL SHFTHL CALL SHFTHL MVI H,0 CALL DECOUT ;PRINT THE SECONDS PORTION CALL ILPRT DB ' secs at ',0 LXI H,SPTBL ;START OF BAUD RATE SPEEDS MVI D,0 -X',CR,LF,0 RET ; ;---> if maxmin overtm: call erxit db '++ Send time exceeds maximum allowed ++',13,10 db '++ XMODEM ABORTED ++',13,10,'$' ;---> endif ;maxmin ------------------------------------------------------------------------------- - - part 3 ------------------------------------------------------------------------ ; ; Temporary storage area ; ;---> minute: db 0 ;---> MEMFCB: DB ' ' ;LIBRARY NAME (16 BYTES REQUIRED) CONONL: DB 0 ;CTYPE CONSOLE-ONLY FLAG CRCFLG:$   rol ^ (that last character is the uppermost key to the left on your keyboard--THERE IS NO NEED TO USE THE SHIFT KEY), then Control X, wait until your back in the command state, and try again. O.K., once you are in the terminal mode, it is time to change he parity and/or bit structure. Hit Control ^ (again, that last character is the uppermost key to the left on me. When it is finished, wait a second 'til you are back in terminal mode, and, if you need to type an end header, type it in now. I then suggest hanging up by flicking the back switch on your modem. You can also type Control ^ then Control N and it will do it, too. To exit the modem program, get back to the command field by hitting Control ^ then Control E. Now 4;9t5;70t0;1 F1;0 F$   STARTING A RCP/M -- PROGRAMS AND INFO FILES REQUIRED ===================================================== Required system files: 1. BYE Remote console program This is the main program that allows your computer to be operated by a modem caller. The most current version being BY2+ (AKA BYEII), this incorporates various 'patch' files to accomodate most computer/modem combinations 2. RBBS or CBBS message program This is the program the modem caller is dropped into aft- Most often replaced by one of the Super Directory type programs (SD-50,60,61,etc) TYPE - Replaced with TYPE15,17, or 20 to allow the viewing of 'squeezed' files as well as standard ASCII files. NOTE: BE SURE THE TYPE REPLACEMENT PROGRAMS ARE NOT CAPABLE OF TYPING OUT $SYS FILES TO INSURE THAT INVISIBLE FILES STAY THAT WAY. LDIR - To allow viewing of member files in a .LBR file. LTYPE - To allow TYPEing of internal .LBR doc files Also note tha XMODEM - To allow transfer of files between systems. The most recent being XMODEM75a, which allows transfer of member files from .LBR files CHAT - To communicate (type) between user and system operator USER - Actually USRPW37 which allows you to limit the access of user areas to the incoming caller by password 6. Removal of CP/M built-in commands The built-in commands should all be removed from your system disk to insure the integriord all activity from the console input and save to a disk file. Easy way to find out how the twit wiped your system out. ZCMD or ZCPR2 - CCP replacements programs allowing various commands and custom operation of a cp/m 2.2 system to be specified by the user. All in all, you must have an unlimited patience for stupidity both on your part and the part of the callers using your system. It is impossible to write a er viewing the welcome text file of the BYE program. Again there are various types of programs available. The most common being the public domain series of RBBSxx. There is also available commercial packages like CBBS. 3. System security documentation A document describing the steps necessary to insure your system's security from outside tampering (twits). See the file called SECURSYS.DQC 4. Transient programs to replace removed built-in commands DIR t certain TYPE replacement programs such as TYPE2040 and TYPE2080 will only type out 40 or 80 lines and then abort. This feature will stop some people from turning your system into a library. However if you wish for non-cp/m users to be able to download via TYPE then you must use a program like TYPE15. TYPE15 allows the displaying of ASCII (sq'd or reg) to the console without pausing between screens (important if downloading by saving screen output). 5. Special transient command programs ty of your files. The ERA, REN, DIR, TYPE, SAVE, (JUMP, GO, GET, LIST if ZCPR) are all very dangerous if left intact. Use DU (disk utility) to go in and change them from your system tracks. 7. Various security programs and uses USRPW37 - To limit the callers access to given user areas SECURITY - Allows the RBBS and other system files to be called from inaccessible user areas I/OCAP11 - This is a high ram resident program that will recdocument that would completely prepare you to operate a remote system. This and others will give you some much needed help, but the experience comes with actual operation of a system. Dealing with the public on the level of tele-computing can be a real experience to say the least. Be prepared for the worst at all times and when it doesn't happen rejoice!! Steve Sanders (System Operator) Tampa Bay Bandit Board RCP/M (813) 937-3608  rec%   ter in BYE program ; ORG 0100H ;for standard CP/M, change if you have ALTCPM ; ; Check for /R option on command - request to reset counters LXI H,FCB+1 ;Look for option MOV A,M CPI '/' ;Is it there? JNZ TELL ;Jump if not there ; Option is there, so check to see if it's valid INX H ;Point to option character MOV A,M CPI 'R' ;See if it's the right character JNZ TELL ;Jump if no ; Proper option given, so reset counters XRA A ;Reset counters to 0 STA OLDUSR STA NEWUSR RET ;Rett digit of number RRC RRC RRC RRC ADI '0' ;Make it ASCII MOV E,A MVI C,CONOUT CALL BDOS ;Print it via BDOS CONOUT function POP PSW ;Get second digit of number ANI 0FH ADI '0' ;Make it ASCII MOV E,A MVI C,CONOUT JMP BDOS ;Print it, too ; NATMP DB ' attempted log-ins',CR,LF,'$' NCALL DB ' successful log-ins',CR,LF,'$' ; END OUT JMP BDOS ;Print the number in A as 2 ASCII characters on the screen ; HXNUM PUSH PSW ;Save the character for second part ANI 0F0H ;Get firs100 '------------------------------------------------------------------------ 110 ' COUNT.BAS 120 ' by 130 ' Wayne M. Hammerly 140 ' Laurel RCPM/SBBS 150 ' (301) 953-3753 160 ' May 25, 1982 170 ' 180 ' COUNT.BAS is a utility for use by Sysops running OXGATE, RBBS, or my 190 ' SBBS. I like to keep a daily record of the systeASCII carriage return LF EQU 0AH ;ASCII linefeed BDOS EQU 5 ;CP/M BDOS jump address CONOUT EQU 2 ;CP/M BDOS CONSOLE OUTPUT function PRNSTR EQU 9 ;CP/M BDOS PRINT STRING function FCB EQU 5CH ;CP/M FUNCTION CONTROL BLOCK address ; ; You'll have to get the addresses of OLDUSR and NEWUSR from your ; version of the BYE program (from a .PRN file or a .SYM file). ; Then, plug them in here... OLDUSR EQU 0E6F4H ;Address of LOG-IN attempts counter in BYE program NEWUSR EQU 0E6F5H ;Address of LOG-IN counurn to CP/M ; ; Tell how many calls and attempts TELL LDA OLDUSR ;Get number of log-in attempts CALL HXNUM ;Print it LXI D,NATMP ;Print message telling what it is MVI C,PRNSTR CALL BDOS ; LDA NEWUSR ;Get number of log-ins CALL HXNUM ;Print it LXI D,NCALL ;Print message telling what it is MVI C,PRNSTR CALL BDOS RET ;Return to CP/M ; ; Subroutine to print the number in A as 2 ASCII characters on the screen ; HXNUM PUSH PSW ;Save the character for second part ANI 0F0H ;Get firsm's use, and have 200 ' gotten tired of jotting down the contents of 'COUNTERS' before I go 210 ' to bed each night. This program (assumed to run on a utility disk in 220 ' the B drive) looks at COUNTERS (on A) and puts the three values plus 230 ' the date in a file on the B drive called "COUNT.ARC". This way I can 240 ' easily see the daily activity and trends. For those who want to get 250 ' even more involved and chart the system useage, this would be a good 260 ' start. I pass the torc%   h. 270 ' 280 ' Please pass on any improvements or suggetions to my system at the 290 ' above number. I'd be interested to see what people come up with. 300 ' Wayne M. Hammerly 310 ' 320 PRINT 330 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 340 PRINT " COUNT version 1.1" 350 PRINT " Wayne M. Hammerly" 360 PRINT "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 370 PRINT 380 ' 390 '------------------------- get date from lastcalr ----------------------- 400 ' 410 ' note-> this is set up for SBBS & OXGATE. Those running RBBS will 420 ' have to change this routine to fit the format of your LASTCALR 430 ' file. The only variable wanted is the date (DATE$). 440 ' 450 OPEN "I",1,"A:LASTCALR" 460 INPUT #1,N$,O$,TON$,LM$,UP$,MF$,DATE$:CLOSE 470 PRINT DATE$:PRINT "Counting....." 480 ' 490 '------------------------- get count from counters -----&   &   '   '