;A=Atlanta CBBS 1-404-394-4220B=Chicago CBBS 1-312-545-8086C=Calamity Clif 1-312-234-9257D=Detroit CP/M* 1-313-588-7054E= Unv of Mn 376-5730F= G= H= I= J= K= L= M= N= O= P= Q= R= S=SOURCE/Rockford 398-6090T= U= V= W= X= Y= Z= !9""1"ͳ MODEM7 as of 06/01/83 Originally Written by Ward Christensen Revisions by Gary Blanch $ ͆>2!/2͸:!X>2 :!G:xC  M >2!:!ET%S Rr Dʳ :!d:] C>2!/2dͬͷ""!,"">2!,ʰ7 ʳdG:xʖʰ­:!ʰ:/2ð  dd:w#""G:x/ >::=dd> @2@2ó!,::w#::w#> :M P c xP6#}l&)>o,ͫ"ͫ+|„"!"!\" !!l:! Zdd ++File does not exist++ TYPE "R" to return to Modem TYPE "A" to re-enter name: 7AARmʉʰvʉl ++File transfer completed++  ++File transfer unsuccessful++  ++ Transfer cancelled ++ 6# 6 #6# Enter file name to be transferred - C/R to quit: !m!!ͤ!~͕,ʏ7#{ –   ++File transfer unsucc  ,7 G:x  :!5 >2":!ę = >B2!>:] ]PGd ͤ2!yͧ;R E >d :!Œ >2"ͭ җ >B2!:] Ý o ͬ:! :! File open, ready to recieve Rͤs jsͶ:! Awaiting name NAK Po>!"52 *"\ ""9 >7 !]~:!~y O #A >:!Qʦ >u:!ʙ Checksum error Po>: >!\:! Awaiting file name ͂  7!] :! Time out receiving filename V ʀ A w:!~>#}V :!yʀ !\:!w Checksum error ͂ w >Qg7>2!2" !+""K !\"ͤ :f¶ *"\ ""!"4ö !"5ª !+"":"A>@2"!"6!!N!! 6 !!F#G ~ #G ~  ""+#G ~ ' :"<2"#G ~ 9 ' 6 *""~ ` #S #~ ` ""!"p \ȇ!o ~£ #~+] !e~w#~w\!\l !u6B#6A#6Kl!l6\:\< 2h: N >2 !\  :\2 ! \ \ ! \ \! \ \<7‹ 2 =Ɓo&  ] 2h2|w#~w\!\l ~# x ɯ2!:! Awaiting #:!:!<2! :!c:!ia Ͷ++ Unable to receive block -- Aborting ++ $:!ʫ:!<++ Timeout ++ :!J<ڝWڝ/:!:!<++ Bad sector # in HDR <z2!>2!!ڝw,Q2!ڝK:!G:!m:!ʔSend # :!J>:!:!/>2!!~,±2!y3gG:!xJH RCD, NOT ACK :!<2! :! :!a7Can't send sector -- aborting $:!Timeout on ACK :!]:!,71"j>w> Routine cancelled >B2!:!<2!:!\<Files exists -- type 'Y' to erase: 7AY \ No file specified  \<Error - can't make file Directory must be full $\<|Can't open file$:!ˆ:!File open - extent length: :kJ>H\<Can't close file$:!=2!*!"!:!7#\)=8<* File read error *>$! y>>2!y2!!#"!*!!"!:!<2!:!O#\ž! s2!!#"!<* Error writing file *> $:xG:Q 7O:!:!:!:!-:!2:!2O 6 :!U:!oAwaiting initial NAK Qggo*"0";"%:: 2"<2 2<2%2(<2+]2! !! 6ÿ#!:!2!:!R:!+!] <* Transferred *> :\2"!\:"2\!!!:" r >2!2!/2:!n:!ʔ <* All transfers completed *> :! <* Press return to disconnect *>  › <* Disconnected *> ͠:! d:>6>>>@>>7:e( -> 2e^'4>_<>*:!>O:!>!-R%R!:e >4:e>4e! t0گ:ү0DM)) )o“${ht|/W}/_! =ڦxy<* Invaild baud rate *>$!l\2|2h    >(J>)_> > Oa{_S \0:!j<ɯ2!<* Multiple errors encountered *> Type Q to quit, R to retry: 7ARQa~# :!>Q2!g~#:ȯ2-(p!!~ڃ!!:͠ Waiting for dial tone >!d! <* No dial tone after 10 seconds *> 7 !.#ͧͰͧ ʹÐ> > > >$ #Enter number or library letter - type C/R when finished, CTRL-X cancels while dialing: !m:!!!A~N hA!.{c~o Yo:!_!!~z" ,7#ͯoQ*!ͯ>'$ʴ$¼´͠ 0:> O:'$$>!$>!$  >!ͯͯ$,7A !7ó>?*>!>*ͯ>]!!͠:- No answer after time-out. Redial? (Y/N/C): 7AN YCp/2-2ͯ(0p Connection established - Select options: ,%>!!\ͤ͸:]EMG:x8CTʪShRO:!h ++Bad Option++ n:m  Re-enter PRIMARY option and file name only: !m:m >2>2!/>2!:Enter New Baudrate: !e67 0:wO#!!!!!! >2 /2!: WRT - Write file to disk (from terminal mode) DEL - Erase present file (from terminal mode) RET - Return to terminal mode with no loss of data :DSC - Disconnect CAL - Dial number XPR - Toggle expert mode (Menu on/off) DIR - List directory (may specify drive) CPM - Exit to CP/M S - Send CP/M file R - Receive CP/M file T - Terminal mode (optional file name) E - Terminal mode with echo  DEFAULT DRIVE: A Command: !m!PCPMPDIRPRETU*"d:fPDSCҳPWRTPXPR5PDEL:ʝPCALڝ>2!ë:!!K?(: ͠ <* Disconnected *> (͜ :" ("ͫ>2!/2!"(:!(:" (*"h́͢>2!/2!"(:/2(F#J@7SRTE~ia#R>#c7#HկX 9ʸʸ, {G#4+~#"px͏#{#G~w+xF6 x͏{4{͏> ͏>͏{>#͏> ͏> ͏qG>#͏> ͏> ͏x{͏{>͏5{> ͏> ͏{> ͏> ͏F##> w#Q}[uaq{q_*͇*͛* O #^#6 I [  [    I [  [ #o  o 6# > B >B  > B >B w#B :Y _@w# . [ w#[ ~* #q  ͔ ~*ʐ #Ä ͔ 6?#” !!\ͤ!!:l2!:m D!R!m!2!!3!^!~#!~#!#! | :!<2!!@! NOT FOUND>? !!w#K!!m! _!:!y!@À!A2! DRIVE 6?#” !!\ͤ!!:l2!:mADOQRSVTmADOQRSVTB##<* Invalid option *>   | :!<2!!@! NOT FOUND>? !!w#K!!m! _!:!y!@À! <* Bad library number called *> $ ; COL: INTEGER; VAR HOURS: INTEGER; VAR MINUTES: INTEGER ); LABEL 100; VAR CH: CHAR; COUNT: INTEGER; ERROR_FLAG: BOOLEAN; I: INTEGER; SAVE_HOURS: INTEGER; SAVE_MINUTES: INTEGER; TIME_STRING: STRING[6]; (*****) PROCEDURE DISPLAY_TIME; BEGIN PUT_TEXT ( ROW, COL, TIME_STRING ); GOTO_R_C ( ROW, COL+COUNT-1 ); (*****) END; BEGIN SAVE_HOURS:= HOURS; SAVE_MINUTES:= MINUTES; FORMAT_REPEAT( HOURS, MINUTES, TIME_STRING ); COUNT:= 1; DISPLAY_TIME; REPEAT 100: REPEAT CH:= GET_KEY; ERROR ( RESET ); TEST_OPTION ( CH ); UNTIL NOT PROCESSED; TERM_CHAR:= CH; IF DONE THEN BEGIN FORMAT_REPEAT( SAVE_HOURS, SAVE_MINUTES, TIME_STRING ); DISPLAY_TIME; EXIT; END; IF CH = CHR($0D) THEN BEGIN IF TIME_STRING = '///://' THEN BEGIN HOURS:= -1; MINUTES:= -1; END ELSE BEGIN IF ( TIME_STRING[1] < '0' ) OR ( TIME_STRING[1] > '9' ) OR ( TIME_STRING[2] < '0' )