-BAMDUA 037YDISK76 COMbFILEFINDCOM;MAKETINICOMAkGMAKETINIDOCW8REV2 TOU4ROFFGUIDDOCdROFFTOURCOMXTTOUR20 COMY}TOURGUIDDOC{#WSENV COM;OQWSENV DOC0XCCP COM!XCCP DOCcXCCP HLPeXCCPNO^YCOM XCCPRCPMDOC8v -BAMDUA.037 Thi librar dis contain serie o program tha makeu TOU Versio 2.0 too t hel collec an organiz thoughts Thi "Documen Heirarach Editor contain tex formattin progra tha i quit powerful I format tex file b usin "dot command embedde i th tex itself Th tex processin program "NROFF" formatte fo us wit har-cop printer an terminals an "TROFF" photographi typesettin formatter ar base o th ROF formattin program. A externa progra tha temporaril replace you computer' Consol Comman Processo (CCP wit additiona function i als containe o thi dis alon wit severa usefu utilit programs. -BAMDUA .037 4 -You'r readin i now. DISK76 .COM 4k -Fil manipulatio progra simila t NSWP Pressin an ke no use b th progra redisplay th men o th screen FILEFIND.COM 2k -Versio 11. o progra th wil searc al drive an use area t locat th requeste filename(s startin a A00 Typin th comman nam wit n argumen wil displa smal hel screen TOUR20 .COM 26k -Documen Heirarch Edito -Outlinin too t hel collec an organiz thoughts too fo writin adgenda and/o plannin presentations. TOURGUID.DOC 48 <-- Documentatio fo abov - REA M ! MAKETINI.COM 14 -Initializatio progra fo TOU program. MAKETINI.DOC 4 -Documentatio fo abov - REA M ! ROFFTOUR.COM 20k -Enhance versio o ROFF tex formatte base o th progra describe i th boo "SOFTWAR TOOLS b Kerniga an Plauger ROFFGUID.DO 14 <-- Documentatio fo abov - REA M ! REV .TO 8 -Revie note o TOU Versio 2. writte b BAMDU member. WSENV .COM 10k -Progra t addres envelope o prin label usin th addres informatio containe i WS/N file. WSENV .DOC 2 <-- Documentatio fo abov - REA M ! XCCP .COM 4k -Externa CC progra whic provide additiona function no provide i th "stock CP/ CCP (Use ca retur t CP/M' CC b enterin th ^ command) XCCP .DOC 14k<-- Documentatio fo abov - REA M ! XCC .HL 2 -Tabl o th command availabl unde XCCP. XCCPNO^Y.COM 4 -SYSOPS - Enhance CC RCP/ mad easy! XCCPRCPM.DOC 4 <-- Documentatio fo abov - REA M ! ;C Copyright (c) 1983 by Frank Gaude' All Rights Reserved!9"1`22:\a=2Y͸:] :e !j] 42h2|/2\<_2 ++ NO FILE FOUND ++ --> Command (l or x): ͼXLog-in drive/user: :'2_I> 2]2e!"x a!|z 2':}:}0}:ҙ0k:~:i0i6ҙ&2'}>G:~:y0ҙx2': advances cursor -- B backs up !"%=ƀo&:\w*% 46 #"%\1͜0͜: #~͜#’>.͜~͜#¢~2#"% : :u6ͼ  B66Cʼ DʝFzJLMʊ Pʫ R;SeT`UJVQ Wʴ X͸*%"%]:<2>2u2M*%~*6 ~*%~*6*>2M2~2>͜(#(*I"!"I:o*k/o::M*x"x*x}o|g"x͛> 2Lwk:*x͛:LG> ͜>(͜wk)2u2*%*#e]͕!"%]*% eO͕*# "% <- *%"%ftorage remaining on drive: I ͸:Y)(elete? (Y/N): ͼY)(< ++ NO FILE FOUND ++)*%"%*#e 4"#e*%e2 ++ List Empty ++ú*% 4ename file to: z !6# !{N#i&6 ڼ .ʯw#‰ .Ÿ!  .w#´!?! G>w# :2( !)4!4?(<2  ++ FILE ALREADY EXISTS ++  )*%! 4<) cancels, turns up one line, other keys page screen. >22N>ú 2N>ú 2N>2(!4?(< ++ UNABLE TO OPEN FILE ++)2H()!~)_:O:N=  )# { :<2د2 [more...]    >2ʼʼ! "%>*#"%ʸ *%*#eʭ *%Ð 2v/2wW2w!"(!4?2H !)4(<  ++ UNABLE TO OPEN SOURCE ++):v| Copy to drive/user: :\G:(y :'G:y  ++ Drives or User Areas must be different ++)I:\2:'_:w <  ---> Copy exists, erase? (Y/N): ͼY :_<  ++ Destination Directory Full ++)!D 44:v> ̜ͫ ---> Copying file . 2:_!"*"*(ʢ =  ++ SOURCE READ ERROR ++)*~ #§ *"*#"*eh >2:'_*"*|3 +"*"  ++ COPY DISK FULL ++2v):V g>!o r$s%# *O! ~W$^":_**e[ ---> Copy CRC verified :w/2vÚ  ++ Error on CRC compare ++~͜#~€E> ͜> _> ͜> ͜´a{_!{Fxʼ#~w6 #  ʼ [! #7*,:;<=>?*%( ~#46#A2 :__ z{|g}ok ځ |w{0͜ ecee<2\@2a##~2#~2##^#V" }0:\=_.!~w+ *E*#$W+}5zi`:E)=@wk bytes free on drive : ??????????? 10 FILEFIND ver 11.0 Type CTRL-C to abort :]  Usage: FILEFIND You must specify the file(s) you want to find. Ambiguous file names may be used. Example: FILEFIND MODEM.DOC FILEFIND *.ASM :222+G>+>22>2*""!"2O}:<22\:_  ʫ« +++ ABORTED \::û:<2G:x:2 :e: +++ FILE NOT FOUND *":2O:222Fo&)))))! ~::@ o>0x >10>:„>.”:=ʰ2>2>2> > > > _~#~6!9s#r!9^#V!;2!9^#Vͱ5 !!.9s#r!W!!!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r!2!.9~#fo#s#r!M!.9~#fo#s#r!`!.9~#fo#s#r!v!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r!!.9~#fo#s#r! !.9~#fo#s#r!<!o!(!9͜;!9 !,9s#r! %!!,9^#V!.9~#fo C!,9^#V!.9^#V!;If you are using one of the terminals listed below, enter the number in front of its name, otherwise simply push the return key. %d Adm 3a %d Dec VT52 %d Dec VT100 or H19 in ANSI mode %d Dec VT100 with adv. vid %d Hazeltine 1500 or 1520 %d Hazeltine 1510 %d H19 in Heath Mode %d Hewlett-Packard 2621 %d Micro Bee %d Microterm Act IV or Act V %d SOROC 120 %d Super Bee %d Televideo 912 or 920 %d Televideo 925 or 950 %d Any terminal where control L clears the screen %d Any terminal where control Z clears the screen Enter terminal type number :: Enter a number between 1 and %d. ! 9^#Vá!;!9s#r!J!9s#r!\!9s#r!v!9s#r!!9s#r!!9s#r!!9s#r!!9s#r!!9s#r!!9s#r!!9s#r!!9s#r!&!9s#r!4!9s#r!D!9s#r!S!9s#r!!^#V#1?M[iw!n!b*!9s#rz*!9^#V!p!9^#V!9^#V!s!:!!; <<< >>>  ; <<< >>> HJ ;    ;      ; ~ ~ ~ ; <<< >>>  ; p q E ; &dD &d@ HJ ; dP d@ E ; <<< >>> ; <<< >>> * ; _1 _0 HJ ; j k * ; G4 G0 * ; <<< >>> ; <<< >>> TOURINI.INIw%s The TOURINI.INI file has been created. Happy TOURing! Couldn't open TOURINI.INI on your disk. Please fix the problen and run this program again. !!9s#r! 9^#V~ ! 9^#V~l ! 9^#V^-l ! 9^#V^l l ! 9~#fo#s#r' ! 9^#V~ ! 9^#V^l !!9s#r! 9^#V^!!9s#r! 9~#fo#s#r^- !9^#V! ͸!9^#V^!9s#rî  !9~# !9^#V !!E ! ! ! !& !b  This program cannot make a TOUR initilization file for you because your terminal type is not in the list. You may, however, be able to make one yourself. The file MAKETINI.DOC contains the file format of the TOURINI.INI file. In any event, you CAN use TOUR. See MAKETINI.DOC for details. !9^!Aʑ !9^!Z ± !9^!aʵ !9^!z ʵ !!!9^#V"1! 9! 9^#V!  !*1s!9^#V*1#"1+s!͸!L9N#F!N9~#fo#s#r+^!F9s#rzQ!F9^#V!%@!!9s!!D9s#r! !B9s#r!!@9s#r!N9^#V^!F9s#r!-ʯ !!D9s#r!N9~#fo#s#r+^!F9s#r!F9^#V!0 !0!B9s#r!!>9s#r!N9~#fo#s#r+^!F9s#r!0/ !F9^#V!9 / !>9^#V! ͸!F9~#fo!>9s#r !F9^#V!.ʤ !!@9s#r!N9~#fo#s#r+^!F9s#r!0ʤ !F9^#V!9 ʤ !@9^#V! ͸!F9~#fo!@9s#rJ !F9^#V!l !N9~#fo#s#r+^!F9s#r!:9!R9~#fos#rK.^.N!F9^#V!d+!:9!R9~#fo##s#r++^#Vͻ1^.N!:9!R9~#fo##s#r++^#Vͭ1^.!F9^#V !:9K.6.̓1ʬ!9! !>9K.ͬ.q.R!9!49s#r!-!69~#fo+s#rs!9! !>9K.q.R!9!49s#r3!:9K.1!49s#r,!89s#rK!:9K.1!F9s#r!F9^#V!9!69s#rs3?dYsc!9!49~#fo!89s#r!89^#V!@9~#fo;n!@9^#V!89s#r!D9~#ʩ!>9~#fo+s#r#!89~#fo;ʩ!B9^#V`ix!!69s#r!69~#fo#s#r!49^#V~!69^#V!@9~#fo:!49~#fo#s#r+^`i÷!D9~#=!>9~#fo+s#r#!89~#fo;=! `iN!F9^#V`i ! 9N#F`iͻ1q.! 9K.͉.1011^!9~#fo+s#rs!9`iͻ1͝.K./^.ͼ.^!9^#V|g}o|/g}/o^#V#DM!99`i|z21e:1}~}} |!}| !}|2}|?>o&zo&|L}|>o&|o&z21e:1||p/g}/o#z~/W{/_~DM!>21))ґ#}o|gҩ :1=21‰}:1=21‰}DM!>)) =}}/o|/g#}| |g}o{_||7g}o{_) }}o|gN#F# N#F#z5{9##^#VBK^#Vz_#yY###G#xT#~#fo}|>?o&}|>o&{_|g}o‰|g}o~# xž!91~#µ!|ɧ!5"1! 9! 9^#V! !9^#V"1! 9! 9^#V! *1! 9^#V͑!5DM`i~X`i DM5fU!4! 9^#V#^!+!9s#r! 9^#V^[!9~#ʑ!Ô!! 9^#V ! s!ʵ!n!9~#!!! 9^#V ! s!!n!9~#!!! 9^#V ! s!/!!D.q.! ^i*!9n!"6!?rwaQ!! s!! s#r!`is#r! s#r! s#r`i! 9^#VBK!5ͼ!9s#r!!9^#V! !9^#V`i#DM+sê!`is!9^#V!`i! 9~#fo!! 9^#V! 9^#V!9s#r! 9~#fo+s#r!;ʁ!9^#VͼDMʁ`i!9~#fo#s#r+s`i .!!9^#Vs`iʳ!9^#V! 9~#foʳ!! 9^#V! 9N#F/͸!9s#r`i~#fo+s#r!? !9^#V!9N#F`i~E!5`i#DM+^͑B!!5! ͑!9N#F`i~ʍ! 9^#V`i#DM+^͑ʊ!_!!9N#F!PY͸DM`i ! 9^#V! ~!! 9^#V~! 9^#V/DM! 9^#V/!9s#r!!!9^#V!PY! 9N#F! ^#V`i^#Vf! ^!͸c!!`in&͸s`i~#‰! ^#V! ^#V! ^#!9s#r! !9~#!!`in&s!! ^#V`is#r!9~#fo! s#r`i~#fo#s#r+^!͸!)5! 9^#V~!9N#F! 9^#V~:V!! 9^#V`í~:{!`i! 9N#F! ^#V`i^#Vfʳ!9^#V!͸ʹ!9^#V`i~#fo#s#r+s!͸!! 9^#Vʹ!5DM`i5t`i DM! 9N#F!!9s#r`i~ʢ! ^!͸Y!ʹ!9s#r! ^!!9~#fos#r! ^!͸ʢ*5! ^#Vs#r! ^#V"5!! s!9^#V! 9N#F! ^!͸)! ^#V`i^#V!9s#r!9^#V! ^#V! ^_')!`in&s!! 9^#V!b!`in&͸s!`is#r! s#r!`i~#s! ^#V!ʬ!!9! ^_'! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&s! 9^#V`i~#fo#s#r+s!͸! 9N#F! ^#V!1`i! s#r*5|Q*5!9s#r*5^#V"5x! ^#V͜!9s#rzx!! s#r"!`in&s!9^#V! s#r*1|·!"1"1*1DM!9^#V*1"1PYt`i"1!*1*1u*1*1͸!9s#r!9^#V*1"1`i*/%ͩ9ͩ*1DM*1o&ͩWo&ͩ*1*+++*1DM*1!9N#F#^#Vkb6#> 6 #=‚>6#=‹ : >¾ A[ү@ûa{`w# .w#{o|g w#!!|a{ !9^#V*1!9}|**1"1|!!!!52S,!:o&͸52s!K"1!52DM!"2*2:8`i^! –`i^! ʞ`i#DMz`i^z8`i^!>!!9s#r`i^!<!!9s#r`i#DM^! `i^! `i!9s#r`i#DM~A`i^! /`i^! >!`i#DM+sA !9^#V!!9~#s!!9^#V!9s#rÌ!!9^#V !9s#r!9^#V!!L!,!9^#V!3-!n!3-!,!!_'! p5`i*2#"2+)1s#r`i#DM~5`i^! #`i^! 2!`i#DM+s5m!1*2pCan't open file for redirection: !9~#ʊ!-,%A:$$$.SUB!"6!!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:! 9^#V!! 9^#V !5! 9s#r!!9s#rA ! 9~#fos#r!9~#fo#s#r!9^#V! :k ! 9^#V!^#V!u !"6!!6DMÅ `iDM`i~#ʦ !9^#V`i^#V͏,ʦ } ! ^#V!9s#r!9^#V!͸#!9s#r!9^#V!͸ !9^#V^! 9^#Vsz !"6!!9^#V!͸6!!9^#V#^! 9^#V#sz6!!"6!! ^#V! 9^#V!s#r!9^#V##^! 9^#V##s!9^#V###^! 9^#V###s!! 9^#V!s#r! 9^#V!9^#V!9^#V!9^#V!9^#V!^#V! 9!:!!!9^#V!9^#V!: "!9^#V! ;"!"6!!9^#V)))5DM! ^#V! ^#V!9s#r!! s! s! s`is!! s#r!9^#V!2DMÀ"`i&DM`i3tʛ"!% ^zʥ"x"!"6!! 9^#Vo"!"6!! 9^#V!͸"!6!6#! 9^#V!͸#!6#!"6!=#! 9^#V!͸=#!"6!!!! s#r!# s!$ s`i!9^#V!s#r! 9^#V!͸#!% s!͸ʗ#!#!9^#V!s#rê#!#!9^#V!s#r!!! 9^#V!%s!!9N#F!6!!% s!!9^#V!:$!9^#V! ;$!"6!!9^#V)))5DM! 9^#V! 9^#V! ^#V`i^)3^#V!DM!9^#V!9s#r!9^#V!$~$!9^#V!$^!DM!9~#fouʲ$!9^#VBK!9^#V! 9^#V͓%$!!9^#V`í!9s#rz;%!9^#V!9^#V`i! 9^#V+!9s#rz;%!9^#V!9~#foPY!9^#V!PYDM`i!9~#fotʊ%!9^#V`i!9^#V`i! 9^#V͓%ʊ%`i!9^#V!9N#F!!6!!6"6|%!! 9^#V!$ ^!!9^#VS,!$ ^! 9~#fo͸!$ sz&`i!~#fo#s#r!:3o&|¢&!}23!}23}23!3! 6! !6:3o&p&!}23!! :3o&#}233#s! :3o&#}233#s!"4:3o&DM! 9~#fo;&! 9^#VBK*43!9^#VS,`i*4"4`i:3o&}23`i! 9N#F!!9s#r '!9~#fo#s#r!9^#V!9~#fo:V'! 9^#V6`i#DM+s!V''!9^#V!9^#V!:„'!9^#V! ;ʎ'!"6!!9^#V)))5DM! 9^#V! 9^#V! ^#V! ^)4^#V!DM!9^#V!9s#r!9^#V!$~F(!9^#V!$^!DM!9~#fou((!9^#VBK!9^#V! 9^#V )F(!!9^#V`í!9s#rzʱ(!9^#V!9^#V`i! 9^#V+!9s#rzʱ(!9^#V!9~#foPY!9^#V!PYDM`i!9~#fot)!9^#V`i!9^#V`i! 9^#V ))`i!9^#V!9N#F!!6!!6"6D)*6_)!"6!!!s,k)*6|k)!! 9^#V! 9^#V!$ ^!S,!"6"6|ʣ)!!$ ^! 9~#fo͸!$ sz)`i!~#fo#s#r!!9N#F!!9s#r*!9~#fo#s#r!9^#V!9~#fo:`*`i#DM+^!9s#r!9^#V! H*! !9^#V6!9^#V!9^#V6)!9^#V!9^#V!:¥*!9^#V! ;¥*!9^#V)))5^z³*!"6D.!9^#V)))5^#VBK!9^#VT+!6*!"6D.!#6!!$ s! 9!! ^#Vͭ16.̀/q.!$ ^ͻ1͉./͝.K./^.g+!"6D.?*+C+F+!!# s! 9K.6.̓1ʢ+!!! s#r!$ s!"6D.! 9K.1͸!$ s! 9K.6.ͮ/1!! s#r! 9K.ͩ!+ͩ"*1!"1*1",*1!4,#4*1+"1}+o&"6*1!9!.9^#Vo!9!6! 9F+N+V+^+~+ngxq,w# d,!9^#V#N#F#nxʍ,s# Â,!9^#V#~#foxʳ,¸,ʳ,# ß,!,!}!}!9^#V#~#fox,~,# ,!9~#fo-#,}!9^#V#^#V#N#Fß,!9^#V#^#V#N#F,!9^#V#~#fox,~T-# E-,!9^#V#^#V#N#FE-!9^#V#n~ʇ-ʍ-#z-!|!9^#V#nʩ-#à-xʇ- +~©-Í-!9~ - - --!9~A-[-!}!9~a-{-!!9~0-:--!9~a.{. o&!9~A1.[1. o&!*5O.!*5w#w#w#w*5~#~#~#~"4*5V+^+V+^*4"4*5s#r#s#r*4*5*5"5"5*5>w#².*5~}1#.r1=ɯ<*5*5###......+.*5*5#/*5*5#(/*5*5#=/*5*5#R/*5*5#g/*5~/w#w/*5~?G*5^#V#~#fo))Ҝ/#”/DM*5s#r#q#p*5~?W*5###~/~w+//7~w+//~#/Oï.*55/y25*55/:525d05*5w# 0:5.*55/y25*55/d0 5*5w#S0:5.! 5w#j0> 25!5~w#{0O 5!5#0y«0!54!55u0!550!5~w#¸0O 5!5#0y«0ß0 5!5#0*55~#0*5 5~# 1!5w#1> 25!5~w#(1S15!5#<1S1G1!55"1*55w#b1.}1!.r1!<.}1r1.}1}1r1.r1}1.r1r1}1*5s#r#6#6*5s#r#z16#6*5^#V0123456789abcdefL6Y$&&'))455555555555F6k" 1. Foramt of the TOURINI.INI file The TOURINI.INI file contains six lines. Each line contains a specific piece of information which TOUR will use when controlling you terminal. If the MAKETINI.COM program does not know how to create a TOURINI.INI file for your terminal, you may create this file yourself with either a text editor, or, if your hands are steady, with the standard CP/M PIP program. The format of this file is line 1 : line 2 : line 3 : line 4 : line 5 : line 6 : 2. A few notes: Your file must contain six lines; its okay to enter blank lines. The default command limiter is a semicolon. If your terminal does not support character highlighing, such as reverse video or underlining, enter <<< for start highlight and >>> for end highlight. If you terminal uses a control Z to clear the screen, select option 16 in the MAKETINI.COM program. (You'll just have to live with the results.) TOUR cannot properly control a terminal that uses control Z for any other purpose. The terminal initialization sequence is written to your terminal before any other other control characters. Use it to change you terminal mode if required. If your terminal has a "set scrolling region" command, enter the sequence to scroll lines 2 through 24 in the initialization sequence line. The terminal reset sequence is written just before you exit TOUR. Use it, if required, to set your terminal back to its normal mode. If you set a scrolling region, reset it to the entire screen. No sequence may be more than 16 characters. Your file MUST contain six lines; its okay to enter blank lines. 3. When all else fails ... You can use TOUR version 2.0 no matter what kind of terminal you use. If you have no idea how to set up your terminal, try options 15 and 16 of the MAKETINI.COM program. If your terminal will not clear its screen with either one, make a TOURINI.INI file with your text editor that has 1) a semicolon on the first line, 2) <<< on the second line, 3) >>> on the third line, and 4) three more totaly blank lines. command, enter the sequence to s.. Sentence corrected over rev.tou. .h1 Notes on TOUR a Document Hierarchy Editor .h2 B Le McKusick 12 May 1985 Le McKusick 192 McGe Ave #1 Berkeley Ca 94703 (415 84-9053 Note o TOU Versio 2. Documen Hierarch Editor TOU i a outlin program A outlinin tool TOU i offere a though organizer too fo writin agendas plannin presentations an designin softwar i structure o to dow manner A outlin i prepare wit TOUR firs b enterin NE t clea th tex buffe (al command i TOU execut afte yo pres RETURN) Then Appen permit th use t ente separat outlin lines eac lin endin wit RETURN Then wit lin number an command Cut Paste Up Down Nex an Bac th user' structur i adde t mak a orderl an ordere outline "? comman cause TOU t lis al 2 comman words. TOU i hal wa towar bein usefu outliner TOU succeed a differen an usefu metho o writin wit computer TOU ha problems mos o thes problem ar du t th primitiv displa routine Th idea i TOU ar reall interesting TOUR' creato develope a understandin o to dow thinkin an hi progra make th Morro proces word i differen manne tha an o th commo programs Fo myself TOU ha raise puzzle ho d actuall think Thi revie fo instance wa writte withou a outlin despit th presenc o TOU o disk I i habi wit Newwor o i writin fo m botto-u though process? TOU give m eyestrai becaus i redraw th displa scree afte ever command TOU show excitin ide waitin fo bette implementation Ever tim ru TOUR thin abou ho t revis o fi th eyebal grindin frustratio whe i redraw th display. TOU i use supporte freeware Thoug copyrighted autho Edwar L Taycher permit user t distribut copie i n fe i collected Th autho invite suppor donation fro satisfie users Her ar us note t eas you wa thoug th program TOU i distribute a 96 byt librar file M cop cam a TOUR1.LBR publi domai librar unpacke lik NUL o L i require t ope an unsqueez th si files. tour.co th read t ru tou program 26K. tourguid.dq tutoria an referenc o TOUR 2 pages. maketini.dq about initializatio files pages. maketini.co make termina initializatio file 14K rofftour.co UNI styl tex formatte print outlines 20K. rofftour.do list do command an comman line fo printin outlines pages Wil no prin i Wordsta documen mode. Fo th impatient TOUR.CO run o Morro righ ou o th LB file Thes clue wil serv fo taste "? get th comman list "; separate strin o commands Mos command ac o th outlin lin calle th curren index Al item ar numbere b a absolut inde a " M" zer (fo to level) the integer separate b blanks fo th Nt line fo th Mt subline Mos command operat o th curren ite o th spac abov o belo it. Th TOU progra read termina initializatio fil t caus th correc contro signal t b sen fo causin displa highlighting Thi fil i name TOURINI.INI Thi fil i create b runnin MAKETIN an selectin termina nam fro menu Morro MD-6 an MD-7 terminal ar no amon th liste terminals Fo nic displa o Morro MD-6 terminals ru MAKETINI an selec "TV-91 optio #13" MAKETIN make termina initializatio fil name TOURINI.INI Then alte th TOURINI.IN fil wit Wordsta o Newword usin no-documen mod t chang th 2n an 3r line a follows Th change switc di revers displa command fo th MD-6 terminal. TV-912(#13 MD-6 alts Lin function Comman delimiter. ^[ ^[G Highlight Morro di-rev. ^[ ^[G Norma scree reset. ^[ ^[ Clr scree hom cursor. Blan required. Blan required. Th TOU progra se ha ROFFTOU progra fo printin outlines ROFFTOU i lo lik Unix' NROF an ther ar severa convention tha ma see cumbersom t CP/ users Suppos yo mak a outlin wit TOU name WORK.RNO I yo vie thi fil yo wil se man line startin wit dot suc a ".hl an ".s +" Thes ar do commands bu the hav differen meaning fro Wordsta o Newwor do commands ROFFTOU use thes do command t se indentation lin spac an outlin numbering. ROFFTOU recognize se o fiv do command t contro th printin o outlines Unfortunately thes command hav defaul valu causin doubl o tripl spac printing Fo singl space outlines plac thes fiv commands eac o line a th to o you WORK.RN file .d 0 .d 0 d 0 .d 5 .d 0. Thes fiv do command ca b inserte jus lik tex introductio whil runnin TOU b usin th INTr command Eac comman shoul g o lin alone eac lin begin wit do "." eac lin end b pressin RETURN. sixt hand do comman i ".i N wher i th colum numbe yo wis t hav a th lef margin O m M-20 printer lik t prin i th cente o th plate an .i 4 cause printin a positio 40 ROFFTOU doe no sen ou printe initializatio string a Newwor does ROFFTOU use comman lin outpu redirection typica featur o Uni bu strang t CP/M I th fil yo wis t prin i calle WORK.RNO her ar thre comman strings. ROFFTOU WORK.RN Print th file ") required. ROFFTOU WORK.RN Formatte fil appear o console. ROFFTOU WORK.RN +>OUTFIL Fil appear o consol an als i writte ou a fil name "OUTFILE" TOUR documen hierarcy editor copyrigh 1985 b Edwar L Taychert Cana Tow Computing P.O Bo 191 Palmyra N 14522 Reviewe b Le McKusick phon unti pm (415 84- 9053. . ROFFTOUR 1. Introduction This document describes additional functionality added to ROFF to support the TOUR (c) Program. No changes to the existing functionality of ROFF have been made. The changes made support decimalization. Decimalization is the automatic numbering of heading and subheading labels in a document. Some formatting control for headings has also been included. 2. Extension to the Roff program 2.1 Specifying heading labels You may label sections of a document by using a heading label directive. Heading labels are entered by using the new .hl command. The command which labeled this section was .hl Specifying heading labels When the document is run-off'ed ROFF will automatically number heading labels in sequence. This feature allows you to move section of document around without worrying about renumbering sections. TOUR (c) is ideal for this purpose. 2.2 Specifying sub-headings If you are working on a more complicated document, you may wish to place numbered headings within headings. Using this feature, sub-headings are also automatically numbered. The same .hl command is used to specify sub-headings. Sub-headings, however, are bracketed by "set level" commands. The set level commands are .sl + to begin a series of sub-headings and .sl - to end a series of sub-headings. Headings may be nested 8 deep with the new version of ROFF. For example .hl Top Level Label One .sl + .hl One-One .hl One-Two .sl - .hl Top Level Label Two .sl + .hl Two-one .sl + . 1 . ROFFTOUR .hl Two-one-one .hl Two-one-two .sl - .hl Two-two .sl - .hl Top Level Label Three Any number of lines of text may follow a .hl command. Text does not normally follow a .sl + command, but it may follow a .sl - command. (It would function as a section summary.) 2.3 Page formating for heading labels Five additional commands help control the look of your document when you use heading labels. In the (lazy) spirit of ROFF's ".M" commands, five ".D" commands have been added. They are .d1 .d2 .d3 .d4 .d5 Note that .d4 and .d5 can be used to create "hanging titles". WARNING The indent feature makes internal use of ROFF's .in command. If you use the .in command within your document, you should take care to use it in relative mode (with "+"'s and "-"'s) rather than absolute mode. 2.4 Periods in the first column By placing two periods in a row, ROFF now allows you to place a period in the first column. The first period is stripped by ROFF, all successive periods will be output. For example, ..I want a period in the first column would appear after processing .I want a period in the first column 3. Roff Command Reference May 7, 1981 ROFF This version of ROFF, based on the formatter in Kernighan and Plauger's book SOFTWARE TOOLS, is written in BDS C, and employs the directed i/o functions that go along with that package. Well, half of the directed I/O anyway - it doesn't use redirected input because I wanted to be able to format more than one file at a run. Please ignore any "odd" comments to myself in ROFF1.C and ROFF2.C; . 2 . ROFFTOUR I tried to find them all but there may be a few extra silly remarks around. For more details on the directed I/O (NDIO in our version) see NDIO.C Sample calls: A>roff filename1 filename2 filename3 +} this would send the formatted version of these three files to the console and to the printer A>roff filename1 +}]>filename1 this would format filename1 and send it to the printer, console, robot-typewriter, and back to filename1. For more details on using the directed I/O, see NDIO.C Using ROFF, you can make nice printouts of a file, with as little or as much help from the program as you want, depending on the commands. There are default values for all parameters, so if you don't put any commands in at all, your file will come out with filled, right-justified lines. The default line-length is 80 characters; the default page-length is 66 lines per page. "Filled lines" means that as many input words as possible are packed onto a line before it is printed; "non-filled" lines go through the formatter w/o rearrangement. "Right-justified" simply means that spaces are added between words to make all the right margins line up nicely. To set a parameter, use the appropriate commands below. All commands have the form of a period followed by two letters. A command line should have nothing on it but the command and its arguments (if any); any text would be lost. A command argument can be either ABSOLUTE or RELATIVE : .in 5 sets the indent value to 5 spaces .in +5 sets the indent value to the CURRENT value plus 5 .ls -1 sets the line spacing value to the current value minus one Also, all commands have a minimum and maximum value that will weed out any odd command settings (like setting the line spacing to zero, for example. It won't let you do that, but it could be changed if you REALLY have a burning desire to do so). Some commands cause a "break", which is noted in the table below. Before such a command goes into effect, the current line of text is put out, whether it is completely filled or not. (this is . 3 . ROFFTOUR what happens at the end of a paragraph, for example.) A line beginning with spaces or a tab will cause a break, and will be indented by that many spaces (or tabs) regardless of the indent value at that time (this is a "temporary indent", which can also be set explicitly). An all blank line also causes a break. If you find that seem to have some lines that are indented strangely, and it's not obvious WHY, look at which commands are causing a break, and which aren't. For instance: .fi .ti 0 this is a line of text .in 8 <- blank line more text for the machine to play with At first glance it seems obvious that the line "this is a line of text" will be indented zero spaces, but it won't - it will be indented 8. The indent command does NOT cause a break (although the .ti does) so it will not cause the line to be put out before setting the indent value to 8. Then, when the blank line is encountered, it will cause a break - and "this is a line of text" will be indented incorrectly. *********************** Table of Commands ***************************** Command Break? Default Function ------- ------ ------- --------- .bp n yes n = +1 begin page numbered n .br yes cause a break .ce n yes n = 1 center next n lines .fi yes start filling lines .fo string no empty sets footer to string .he string no empty sets header to string .in n no n = 0 sets indent value to n .ls n no n = 1 sets line spacing to n .m1 no n = 2 sets topmost margin to n .m2 no n = 2 sets 2nd top margin to n lines .m3 no n = 2 1st bottom margin to n lines .m4 no n = 2 bottom-most margin to n lines .nf yes stop filling lines .pl n no n = 66 sets page length to n .rm n no n = 80 sets right margin to n . 4 . ROFFTOUR .sp n yes n = 1 space down n lines .ti n yes n = 0 sets temporary indent of n .ul n no n = 1 underline next n lines ---------------------------------------------------------------------- Here's what the page parameters look like: _ _________________________________________________ | | top margin - (includes header) | | |-----------------------------------------------| | | top margin 2 | | |-----------------------------------------------| P | : : | A | :<-indent : | G | : : | E | :lots and lots of silly text and: | L | :other garbage. Get the picture?: | E | :This is a temp. indentation: | N | : : | G | : right margin -> : | T | : : | H | : : | | |-----------------------------------------------| | | margin 3 | | |-----------------------------------------------| | | margin 4 - (includes footer) | - ------------------------------------------------- To change the default for any parameter, simply alter ROFFGLOB recompile ROFF1.c and ROFF2.c, and re-clink them with NDIO.CRL (you can use DIO.CRL, but it doesn't have all the features of NDIO ) ************************************************************ A Few Extra Comments on Some of the Commands: ************************************************************ If you want to center lots of lines, but don't want to count them, do something like this: .ce 1000 lots and lots of words to be centered .ce 0 -------------------------------------- To underline a few words on a line: . 5 . ROFFTOUR .fi .ul Some of the words in .ul this sentence are .ul underlined WOULD PRODUCE: Some of the words in this sentence are underlined. ---- ---- ----------- (obviously you don't have to turn the fill on and off if it's already on ) ------------------------------------ A new paragrah may be caused by using the temporary indent command, like .ti +5 or by simply beginning the paragraph with a tab, as you would if you were just typing. ------------------------------------ Headers and Footers. A page number can be incorporated into any header or footer by putting a "#" in the title where you want the number to go: .he This is a witty header title for page # Each time this is printed at the top of a page, the current page number will be substituted for the "#". ------------------------------------ If you want to send the output to a file, and don't want the page breaks in there ( that's what I did for this ) set margins 1-4 to zero. 4. I/O redirection 6 MAY 81 :: NDIOC.PAK distributed with ROFF.COM 25 Jan 85 :: Edited to form DIO.DOC by Ed Taychert To activate redirection: Four special arguments may be given on the command line to the generated COM file... >foo causes "putchar" to place characters into the file named "foo" instead of to the console. . 6 . ROFFTOUR +foo like >foo except that the characters are ALSO sent to the console. ,+,< or | and the corresponding filename.) You can send the output to more than one thing at once, like so: A>ROFFTOUR infile +)}]>outfile 5. Use and Limitations The extensions made to ROFF are paterned after DSR, a registered trademark of Digital Equipment Corporation. DSR is one of Digital's runoff programs. ROFFTOUR supports only a subset of DSR's decimalization commands. In the future, ROFFTOUR will be enhanced to recognise more of the DSR commands. To guarantee upward compatability with furture versions of ROFFTOUR, do not use numbers as the first charaters of a heading label. For example: .hl 4 Things to Remember will cause future problems, while .hl Four Things to Remember will always work. . 7  } send to printer ] send to robo*K͞+PL['+FÎr ͖ 8{ Ăw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o#z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!`*"!"!Y">2>2>22!"!"!@"!" ʞ!F#x±~#±!b2r~# "2r+}|~#G:rx"2r+w# +6#!6#2w2x*s!>r<o&F=-` r'~h6!+`W?_!~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77!a{   `OE!y6$ -7rBo&))T])))!yV5:=b#:=#:$=2#v+:<"(">6͋5:&=͋5#*&=|"M1Ϳ5#>6͋5:&=͋5>#͋5>6͋5:'=͋5#*&="<(#>͋5:&=͋5>s͋5>@2=#R1Ϳ5#(,#:==2=)(@#>s͋5#͘(Y#X1:>͋5:&=͋5c1Ϳ5#f1Ϳ52=#(—#>͋5:&=͋5>{͋5c1Ϳ5#(#:$=µ#>}͋5c1Ú#:$=;-͘(#>&͋5͋5f2Ú#:$=$v+è":=$,v+2#:$=>$$>͋5v+>͋5>@2$=2#*="<1Ϳ5:=2="<|s$}d$[2Ϳ5z$g$[3Ϳ5>G>)͋5$#͞*D)͏,Ͷ,v++4ʱ$.ü52ùH5;6 Á6+á DË4!_9DM! ~#fo! ͡!H !ͤ!ͧ!"X! ~#fo+|!V !ͤͪ! ^#Vr+s! ^#Vr+s!< ! ^#Vr+s~#fo`iͭ`i! !ͤ`in}-‰! n}D‰!"X+! `iͰ#|°`i! !ͤ+ͳ! ! Ͷ| ! n}.! n}.! ͹ ! n}. ! ͼ ! ͹ó*X *wZ}( !Ϳ`i! !ͤ+!9 Version 5.1 USAGE: roff file1 more than one file OK Now processing <%s> can not open <%s> Done processing <%s> 5!"X!"X!"X!P"X!"X!"X!"X!"X!B"X!"X!"X!"X!"X!"X!"X!"X*X*X*X"X!"uZ>2wZ!"sZ! !X ! !IY !"Y*Y)Yw#w!"Y!"Y!"Y!"Y!"Y ü &ü5~0öD!9DM! ~#foͤ `is#r*X| `i~#fo!!ͧ `i~#fo#| ! ~#fo!!ͧ ! ! ~#foͪ ! s#r*X|] ! n&! ~#fo!!ͧ *X|r !#!ͧ `i~#fo>„ >ʿ >  > >œ > >¨ > >´ > > >: > >h > >ʕ > > > > > >> >I>  >y> >ʦ>, >>8 >>D >>P >> \ > >h >A> t >ʉ>€ >>Œ >>˜ >;>¤ >h>° >ʕ>¼ >ͭ !"Xͭ !"Xͭ !!!! n&! ~#fo!XͰ ͭ *X!!! n&! ~#fo!XͰ *X+!!! n&! ~#fo!XͰ !!!P! n&! ~#fo!XͰ !!!! n&! ~#fo!XͰ !!!! n&! ~#fo!XͰ !!!! n&! ~#fo!XͰ !!!! n&! ~#fo!XͰ ͭ !!!! n&! ~#fo!XͰ !!!! n&! ~#fo!XͰ ͭ !Y! ~#foͳ !Ͷ ͭ !Ͷ ͭ !Ͷ !X! ~#foͳ !IY! ~#foͳ !!!! n&! ~#fo!XͰ *X͹ *XU!͹ !!y*X#! n&! ~#fo!XͰ *X"X!*X*X*X*X#!B! n&! ~#fo!XͰ *X*X*X"X!!!! n&! ~#fo!YͰ !!!! n&! ~#fo!YͰ !!!! n&! ~#fo!YͰ !!!! n&! ~#fo!YͰ !!!! n&! ~#fo!YͰ !9 COMAND %dUNKNOWN COMMAND: <%s> get_val returned arg_val=%d, arg_typ= %c ,~7!9DM! ~#fo#n&)`is! ~#fo##n&)! s`in}F{! n}I{!`in}F•! n}O•!`in}T¯! n}I¯!`in}B! n}P!`in}B! n}R!`in}C! n}E!`in}H! n}E!`in}H1! n}L1!`in}IK! n}NK!`in}Le! n}Se!`in}N! n}F! `in}P™! n}L™! `in}R³! n}M³! `in}S! n}P! `in}S! n}L! ~#fon}-!!`in}U! n}L! `in}C7! n}M7!`in}M„! n}1Q!! n}2b!! n}3s!! n}4„!`in}D! n}1ž!! n}2¯!! n}3!! n}4!! n}5!!!95gö77!w9DM! ~#fo! `i6#6`i~#fo! n} g`i~#fo! n} g`i~#fo! n} g`i^#Vr+s"`i~#fo! ! ~#fo`i~#fo! ns! ~#fon}+ʯ! ~#fon}-»`i^#Vr+s! ~#fon&|!`i~#fo! !9ü5å8!9DM*X|!!wZ!l!!wZ`is#rzU`i~#fowZ6 `i~#fo#wZ6!wZ!"uZ>2wZc!9 brk: OUTBUF=<%s>Ê8 9ü5!9DM! ~#fo¼! ~#fo! ~#fos#r+! n}+! ~#fo~#fo! ~#fos#r+! n}-! ~#fo~#fo! ~#fos#r+! ~#fo! ~#fos#r! ~#fo! ~#fo! ~#fo~#fós#r! ~#fo! ~#fo! ~#fo~#fö́s#r*X|ʠ! ~#fo~#fo!!͇ SET *param = %dü5D|!9DM! ~#fo>>>>l>>*X|!!͹*Yͼ*Y)Y~#fo|/*Y|>*X*Y"X*Y)Y^#Vr+s!YͿ*Yͼ*X*Y"X*X|ʁ!$!͹*Y!-!͹*Y|ʭ*Yͼ*X*Y"X*Y#"Y)Yw#w*X|!F!͹*Y|!O!͹*X*Y"X*Y+"Y!9Doing DNDoing DDToo many decimal levels Doing DUToo few decimal levels m5!s9DM! ~#fo`ij! w#w! ~#fo`in} ! ~#fo`in} ! ~#fo`in} ! ^#Vr+sÎ! w#w! ~#fo! ~#fo! ~#fo`ins{! ^#Vr+s! ^#Vr+s"!9@ü5)R) !o9DM*X|g! ~#fo!8!.! ~#fo! ~#fon&|g}os! ~#fon} ʴ! ~#fon} ʴ! ~#fon} ! ~#fo1! ~#fo! s#r! s#r! ~#fon}ʴ! ~#fo! ~#fon&|g}os*Xғ*X+"X! ~#fon} F! ~#fon} F! ~#fon} g! ^#Vr+s! ^#Vr+snsÐ! ^#Vr+s! ^#Vr+sn&|g}osñ! ^#Vr+s! ^#Vr+sns*X! ~#fo4! ~#fo7*X+"X,! ~#fon} *X| ! ~#fo7,`i! ~#fo:+|,`i= /!9 TEXT:<%s>Yü5"x#8$!9DM*X|ʅ*X! ~#fo!!GJ*X*XҘ*X|£M*X#*X! ~#foSP*X! ~#fo"X*X|*X!"!G*X*XV SPACE %d line(s), LINENO= %d LINENO = %d<ü55g!w9DM*X|c! ~#fo!V!3`iw#w! ~#fo`i~#fon} ʽ! ~#fo`i~#fon} ʽ! ~#fo`i~#fon} ʽ`i^#Vr+si! ~#fo! 6`i~#fo! 9`i~#fo! n}'`i~#fo! n}"`i^#Vr+s`i~#fo! ! ~#fo6*X|J! ~#fo!q!3M!9 GETTL command line= <%s> title = <%s>×ü5">$ý$x#8$!9DM*X|ʾ! ~#fo!\!͂*X|*X*Xͅ*X*X͈! ~#fo͋!"X*X*X*X+͎͑*X*X"X*X|?*X*X!f!͂*X*XP͔S!9 PUT<%s> LINENO=%d, LSVAL=%dËü5ç%5!g9DM*X|ʲ! ~#fo!!! w#w! ! s#r! ~#fo*Yd! ! ! ~#fo)Y~#fo͂! s#r`iw#w`i~#fo! ~#foG! ^#Vr+s`i~#fo! ns`i^#Vr+s! ^#Vr+s6.! ^#Vr+s*Y|w! ^#Vr+s! ^#Vr+s6 ! ~#fo! ~#foͅ! ͈!9In putdechd<%s> !9DM`iw#w! ~#fo`i~#fon&|g}o  `i^#Vr+s! ~#fo`i~#fon&|g}o 8 `i~#fo"X! ~#fo`i~#fon&|g}o t *X"X`i^#Vr+s8 ! w#w! ~#fo! ~#fo! ~#fo`i~#fon&|g}os{ ! ^#Vr+s`i^#Vr+s| !9 ü5gç*å88$+09!h9DM*X|!! ~#fo!"! ! ~#fo ! ~#fo ! ~#fo ! s#r*X|h!! ~#fo!"! *X*X*X! s#r!wZ ! s#r! ~#fo! ~#fo#! s#r*X|!! ~#fo! ~#fo! ~#fo! ~#fo!"! ! ~#fo!! ~#fo S"!! ~#fo ! ~#fo#! s#r*uZ! ~#fo!wZ ! ~#fo!wZ !"!wZ *X|ʌ"!wZ!"! *uZ#"uZÖ"!9 wrdbuf = <%s> wid = %d new_out_width=%d, outw=%d, wid=%d, line_len=%d PUTWRD:OUTBUF=<%s> #x#T'ü5*X"X*X#"X*X:#*X+#*X!X#*X#*X*X#"X*X|i#*X!m#!# LINENO=%dÁ#ü52!9DM*X|ʨ#! ~#fo!#!{#`iw#w`i~#fo! ~#fo#*X|#!!~#! ~#`i^#Vr+sî##!9 SKIP %d line(s)$x#T'*X $*X:$*X!IY $*X+ $G$ü52!9DM*X|n$! ~#fo!$!A$`iw#w`i~#fo! ~#foҞ$! D$`i^#Vr+st$!9 INDENT %d spaces(s)$'Ò9>$2!9DM*X|%! ! ! ~#fo$! ~#fo$*X*X$`iw#w! ~#fo`i~#fon}l%! ~#fo`i~#fon&|g}o|X%!_$`%! $`i^#Vr+s%! $! $*X|‹%*X+"XÛ%! ~#fo$Þ%!9ð%9å8!9DM! ~#foͪ%`is#r! ~#fo6! w#w! ^#Vr+s`i~#fo ! s#r! ~#fo! ~#fo! ~#fo0s`i~#fo `is#r`i~#fo|V&! ~#fo! ~#fo%! ~#fo|&! ~#fo! ~#foқ&! ^#Vr+s! ~#fo! ~#fo6-! w#w! ~#fo! ~#fo;'! ~#fo! ~#fon! s#6! ~#fo! ~#fo! ~#fo! ~#fons! ~#fo! ~#fo! ~#fos! ^#Vr+s! ^#Vr+sã&! ~#foͭ%K'! 9]'U(2!9DM`iw#w! ~#fo`i~#fon}'! ~#fo`i~#fon}#¯'!! ~#foW''! ~#fo`i~#fon&Z'`i^#Vr+sk''!9!9DM`iw#w! ~#fo`i~#fon}I(! ~#fo`i~#fon! n}=(! ~#fo`i~#fo! ns`i^#Vr+s'L(!9^(ç%2!9DM! ! ! ~#foX(! s#r! ~#fo#`is#r`i~#fo! ~#foڿ(! [(`i^#Vr+sÕ(`iw#w`i~#fo! ~#fo(`i~#fo! n&[(`i^#Vr+s((!9) 9å8!9DM!*X*X*X! ~#fo ) )"Xd)g'9ü5å8!9DM! ~#foU)! ! ! ~#foX)! ~#fo!s*! ~#fo[)! s#rz@**X|)! ~#fo!w*!^)! ~#foa)! s#r! ! ! ~#foX)`iw#w`i~#fo! ~#fo@*! ~#fo`i~#fo6 `i^#Vr+s **X|_*! ~#fo!*!^)! ~#foj*!9%s after sscanf out = <%s> getwrd will return %dí*å8!9DM! ~#foͪ*! s#r! ~#fo! ~#fo+`is#r`i~#fon} +`i~#fon} +`i~#fon} +`i^#Vr+s6*!93+ü5ç*å88!9DM*X|n+! ~#fo! ~#fo! ~#fo!-!'+! ~#foҐ+! ~#foړ+-*sZ|͝"sZ! ~#fo+! s#r! ~#fo*+! ~#fo-++`is#r`i~#fo! ~#fo!0+! s#r! ~#fo! ~#fo#6*X|?,! ~#fo`i~#fo! ~#fo*sZ!.!'+`i~#fo! ~#fo-! ~#fo! ~#fo! ~#fo`i~#fons*X|ʽ,! ~#fo`i~#fo! ~#fo! ~#fon&!8.!'+! ~#fo`i~#fon} ¬-*sZ|,! ~#fo+! ~#fo#! s#r-! ~#fo! ~#fo! s#r! ~#fo! ~#fo! s#r! ~#fo+! s#r*X|t-! ~#fo! ~#fo!H.!'+! ~#foҬ-! ~#fo! ^#Vr+s6 ! ^#Vr+st-`i^#Vr+s! ^#Vr+s?,*X|-! ~#fo!_.!'+-!9 spread:line=<%s>, nextra=%d, no_words=%d DIR=%d, nholes=%d, i=%d, j=%d[%c i=%d j=%d] nblanks=%d, nextra=%d after spreading, line is: <%s>Ô.;6ü5ùH:5×:!9DM*s*s*s! ~#fo͐ ~#fo)* s#r! 6#6`i6#6͐͐ ~#fow2w} /w2! w#w! ~#fo͐)~#fo! ^#Vr+sn}<^/|$0+ʬ0)0}0]0>1S2! ~#fo͐)~#fo͐n}‚/51*! ~#fo͐)~#fo͐͂.#|/! ~#fo͐)~#fo͐!2!ͅ.͈.*6!2! ~#fo͐)~#fo͋.|!0*n&|g}osâ1*4! ~#fo͐)~#fo͐* s#r! ~#fo͐)~#fo͐n}ʩ0! ~#fo͐)!2s#r! ~#fo͐)* s#r1*n&|g}os/*n&|g}os/*n&|g}os/*n&|g}os/! ~#fo͐)~#fo͐n}E1!2!ͅ.͈.! ~#fo͐)~#fo͐*͎.*!2͑.#|š1!2!2!ͅ.͈.*4w}*2͐! s#r͐͐ ~#fo2! ~#fo͐)! ~#fo͐#)~#fos#r! ^#Vr+s÷1͐ ^#Vr+s`i^#Vr+s* ^#Vr+sP2͐ ͐s#r! ~#fo͐ ~#fo)w#wk2͐+|`2â1! ^#Vr+s`i^#Vr+s.!9Can't open %s 3:ü5ùHüH!9DMw&|g}o|e3! n} :3*! 2*! n&2#|e3!Y4!22w}ʂ3w&|g}o|3! 2|ʢ3!2+++|¢32! n} º3! !2! n&!2w&|g}o|4! n&!2! n} 4! !2w&|g}o|-4! n&!2w&|g}o|W4! n&!x4!2File output error; disk full? sending ROBO <%c> ã4,6s#rzk6!͐##w#w͐~#foÊ6ÃAqB!9DM`i6#6͐ ! s#r͐ ̈́6! s#r!6͐#|6!u7! ^#Vr+s͐s{ 7͐͐ #7͐++n} 7! ^#Vr+s6 L7`i^#Vr+szL7͐ ̈́6! s#rzL7͐6͐h7͐ ͇͐6͐6͐ u7!9Ä7B!9DM! n&́7|ʫ7! n&ð7! n&!9DM! n&0ͯ7! n&9ͯ7ö7!9DM`iw#w! 6#6͐ n! s{ 8! n} ,8! ^#Vr+s8! n}-K8! 6#6! ^#Vr+s! ^#Vr+sn! s7|ʌ8͐ ?! nѯg`is#rK8͐͐?Ü8!9!9DM`iw#w! ^#Vr+sn}8`i^#Vr+só8͐8!9!9DM͐͐9͐9͐!9DM͐͐(9͐,9͐!9DM͐`is#r͐n}Z9! ^#Vr+sB9! ^#Vr+s͐ns! ^#Vr+sn}Z9͐É9!9Ø92!9DM͐n}9! ^#Vr+sn&͕9à9!9DM͐|9͐9͐9C!9DM! ͐9!9DM`iw#w! ~#fo͐n! ~#fo͐n}b:! ~#fo`i^#Vr+sn}_:!Î::! ~#fo͐n! ~#fo͐nѯgWÎ:!9Ý:I!9DM͚͐͐:s#rz:!͐͐s#r͐##6#6͐~#fo:2üHJ!9DM͐+|;! n&:͐++|9;! n&!:͐+++|X;! n&!:͐++++|;! n} };! !:! n&!:͐##^#Vr+sz;͐^#Vr+s! ns&!͐͐~#fo:;!͐##6#6͐͐s#r͐^#Vr+s! ns&2! ^#Vr+s! 4͐n}0Y>! 4͐n&Ͱ=}v>! ͳ=y>!! s#r! ^#Vr+sn`is{.>! ͳ=! s#r! 4! ^#Vr+sn`is`in&Ͷ=}D>U)?X2?O;?Cʁ?Sʲ?@͐~#fo|)?! ^#Vr+s6-͐͐~#fos#r! ^#Vr+s! 6 A?! 6A?! 6! ~#fo! n&! ^#Vr+s~#fo! ͭ=ѯgs#r*@! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s*@! n}?! 6#6! ^#Vr+s~#fo! s#r͐n}*@͐|*@! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s?͐6! ! s#r! n}@! ^#Vr+s!ҁ@! ^#Vr+s! n}x@!0{@! sF@͐! ^#Vr+sns{ʪ@! ^#Vr+sÁ@! n}@! ^#Vr+s!@! ^#Vr+s6 ô@@! ^#Vr+s`insA! ^#Vr+s`ins=͐6!9A:!9DM! ^#Vr+sn`is{tA`in} UA͐! A͐`in&A#|qA!zA'A!zA!9ÏA*KüH_K!9DM͐|¦A͆AhB͐+++|½A!͉AhB͐##^#Vr+szA͐^#Vr+sn&hB!͐͐~#fo͌A`is#r!$B͐##^#Vr+shB͐##͐?+s#r͐͐s#r͐^#Vr+sn&hB!9wBK!9DM͐|–B! n&tB͐ڶB͐##~#fo»B!͐^#Vr+s! ns͐##^#Vr+s!!9DM! n&aͯC! n&zͯ(CAGtG~7úGK!9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{!F͐n}ŠC! n&+F! n&C|ʞC]C! n}%C! n! CC! n&+FC! ^#Vr+sF! 6#6! 6 `i6! ^#Vr+sn! s{* D`i4! ^#Vr+sn! s! n&C}XNDOWDD`DUʆDSECʥEE! 6ÆD! 6ÆD! C-†D! 6#6! ^#Vr+s! w#w! n&! C"C#|µD! n&+F! n&! ^#Vr+sn&"C! s{E͐ ! nѯg?! nѯg! s#rõD! ^#Vr+sE! C͐ ~#fo! s#r! ^#Vr+sn! s{ʃE! n͐n}cE! ^#Vr+sÃE`in}€E! ^#Vr+s! ns+E`in}¢E! 4͐6! ^#Vr+s]C`in}E͐n&! ^#Vr+s~#fo%C! 4! ^#Vr+s]C! n&+F`in}F! ^#Vr+s~#fo͐ ͐?s#r! 4]C! n&+F!9:F4F!9DM͐͐ ҊF͐^#Vr+s͐ wF͐0F͐7s!&F͐ ͐͐ ͉͐7F`is͐ ͐͐ )͐7F`in&#&F!9Fö7!9DM`iw#w͐~#fon&F}1G͐ ?͐^#Vr+snѯg`is#rF͐8G!9!9DM! n} ͝pG! n} ͝pG! n} ͝zGAG!9DM͐~#fon`iswG|ʩG͐^#Vr+sÂG`in&ñG!9GPH~7ö7!9DM! n&G! sͽG|G! n&s&H! n&G}!H! n&s&H!! n! n&+EH!NH! n&YHÊHB!9DM! n&SH|ͣ†H! n&VH|ͣ!9DM! n&AͯڵH! n&Zͯ 7:O*o` !\&!7*!I&*!I&I!, !\&!TELk7OIKü5ùH7*^#V#zWI+V+^+bI*FI!I!IILIBroken pipe 7,2q*&:q):I=I=r:qo&IHÎI7*I\!*I7:)~:,"s!"u*|*uiJ*~#@J"*s*uiJ#"u*+"-J#7*|DM**͹JڝJ> +uL#~cL##WLa{ !pL!*w#‹L:**ʢL*!ѷ! , FNxg>GoyL$!ÄBCu!"g!X)!9D!"g!"f!"f!!f]!!g]!!ag]!!rg]!!g]!;}2f!}2g!"f! !E!9s#rzʻ!|v!9^#V!! 9Gv!9^}2f!9^#V!!agGv!ags !9^#V!!gGv!gs !9^#V!!fGv!fs !9^#V!!rgGʝ!rgs !9^#V!!gGʝ!gs Ý!!f]!!g]!!ag]!9^#VK:fo&|»!;}2f!Qf! I!Qf!I I!Qf!z I!Qf! I!9^#V!C!,)!X)9!9^#V!ͶC9!9^#V##^#Vͫ-X) !Qf!rg I*gͶCʅ*fͶCd !"f !N!Qf! IÕ!Qf! Ir,!9*f!9s#rz³Õ!9^#V!9s#rz*gͶC*fͶC  !"fóIEqpTOURINI.INIr>>><<<-- TOUR 2.0 -- Document Hierarchy Editor -- -- User Supported Software -- $30 suggested -- Copyright 1985 -- Ed Taychert, PO box 191, Palmyra, NY, 14522 All rights reserved Usage: TOUR *-*-*-*-* C!49~##!!49^#V^zG!49^#V^! ͶCWͼ!49^#V= !49^#V^! ͶC!49^#V͸!49s#r!9!69^#V !9s#rzD!9*º!49^#V4 *fC8*f͋#!9s#r!9~# !9^#V!^#V*f+Cͼ!9^#V!,)!49^#V4 !,)!49^#V4 ͼ!9^#V!49^#V͟ !49s#r!49^#V͚w!49^#V4 ͼ!49^#V= index is too large'1' is the largest index you may enterCwM !Qf!9^#V I` !Qf!> I!;f!! 9G!9s#rz!!9^#V^!NͶC6!9^#V^!nͶC:!! (Y/n) :: CwM !Qf!9^#V I` !Qf! I!;f!! 9G!9s#rz–!!9^#V^!YͶC¾!9^#V^!yͶC!! (N/y) :: C!9^#V!*!Qf͡E!;f!!9^#VG !! 9^#V^! ͶC!!! 9^#V%d :: C! 9^#Vs !9s#rM !Qf! 9^#V I` !9~#ʉ!Qf! I! !9^#VsÖ!Qf! I :: Cw!!9s#r!9^#V!! 9G !9~#fo#s#r!C! !!9s#r!9^#V!9 IîContinue? C*g|& !f!Qf͡EC!C!9~#P !:go&|ʛ !9^#V~z !9~#fo#s#r[ :go&! 9^#Vs!}2g!9^#V!C! 9~#² !! 9^#V!9s#r!9^#V~ !9^#V^:fo&C !9~#fo#s#r !9^#V^z !}2gD ! !9^#Vs!9~#fo#s#r^}2g!!9^#Vs! 9^#VC!ag!Qf͡EC!g!Qf͡EC!9^#V~ !9^#V^! ͶCʰ !! 9^#Vs!9^#V!9~#fo#s#rx !C!9^#V*f#*f C!9^#V!9^#V!s#r! 9~# ! ,)!!9^#V!ͶCʝ ! 9^#V!~#S !9^#V!9^#V!^#V##s#r! 9^#V!^#V!9^#V!s#r!9^#V!9^#V!s#r!!9^#V##s#rF !9^#V+!9^#V "!9s#rz ! ,)!!9^#V!^#V!9s#r!9^#V!9^#V!s#r!9^#V!9^#V##s#r!9^#V!9^#V!s#r!9~#F !9^#V!9^#V##s#r! 9^#V!9^#Vs#r!9^#V!^#V ! 9^#V"f!9^#V"f!"g!can't insert node because system error: bad ownercan't insertC!9~# !9^#V!~#fo#s#r!9^#V!^#V!9s#r C!!9^#Vs#r! 9^#V~)! 9^#V~q ! 9^#V^_q ! 9^#V^ :q ! 9~#fo#s#r, ! 9^#V^z)! 9^#V^ :)! 9^#V^!!9s#r! 9~#fo#s#r^_ !9^#V! nD! 9^#V^!9s#rë ! 9^#V~#fo#s#r!9^#V!9^#V^#V)!9~#fos#r ! 9^#V~#;!! 9^#VC*g|`!I`!!"g!X)*g|ʃ!*g5!{$"g|Ÿ! ,)!!"h*g"f"f!"f"g!-!f]!"g!"f!Contents haven't been saved, okay to continue?Contents can't execute new: system errorwork.rnoCu!9~#!9^#V^z!9^#V{$!9s#rzr!!9^#V !1!9*f#!9s#rz!9^#V{$!9s#rz!!9^#V !Ç!Enter headings, (push return at beginning of line to stop) Cu*f|)!28ͶC|;!!9~#ʉ!9^#V^zʉ!9^#V{$!9s#rzr!!9^#V*f*f !1!9*f!9s#rz!9^#V{$!9s#rz!!9^#V*f*f !!Enter heading CC*f*f "!9s#rz-!B,)!!9^#V"f!"f!can't pointC!!9s#r*f~#q!t!!9s#r!9^#V!9!!*fͪ%! 9¥!!9^#V!ͶC*f ~#*f~#!9^#V!C!!!Qf!  I!continue? ... plus text C!!9s#r*f|S!!9*h!*fͪ%! 9!*f*f "!9s#rzy!,)!!!9*h!! 9^#Vͪ%! 9!can't list subtrees because C*f"f*f"g!X)C*f"f*g"f!X)*gͶC C*gͶC!!"g!C!A1!;f!!9GPush the return keyC*g|q!Iq!!Qf!g I͓PContents haven't been saved, okay to continue?C!)ͶC!!C!*f*f "5!,)!*f*f "*f+"f#!can't delete C8;!q,)!!*f*f "5/*f*f "m*f+"f#!can't cutC8’!,)!81!9s#rzʆ!9^#V*f*f can't pasteC*f! 9s#r*g"f*h!9s#r*f!9s#r!"h!"f!7!9s#r! 9^#V"f!9^#V"h!9^#V"f!9^#VC*fC_!cY!!"f*fdid you mean index of 1? C!!9s#r!!9!!*fͪ%! 9!C*f#*f "!9s#rz!9^#V"f!"f!*f~#%*f^#V"f*f^#V"f*f#*f ""*f#"f+!ô!1,)!end of contents C*f+*f "!9s#rzʣ!9^#V"f!9^#V͋#!9s#rzŒ!Ü!9^#V!^#V#"f!*f~#*f^#V"f*f^#V"fG!,)!end of contents Cq*f*f "!9s#rz! ,)!!"g!9^#V^! ͶC9!9^#V^zb!!1! 9*fV!! 9!9s#r!9^#V! ^#V^!9s#r!9^#V^!9s#r!9^#V!9~#foC!9^#V!9^#V! ^#V]!9^#V͈1! 9s#rz!9^#V! ^#V@! 9^#V!9^#V! s#r!can't change becauseEnter a new heading label C*f~#c!y,)!,)!*f! 9^#V this heading hasn't any sub-headingscan't enter summary becauseC*f ! 9^#VCw!9^#V^! C&!9^#V^z&!9^#V͈1!9^#VG2"!%!!1!9^#V^#V!9s#r!9!9~#fo#s#rʖ!9͈1!9^#VG2!9s#rz“!,)!F!Enter text (Push return at beginning of line to stop) can't add more text because C!!9s#r! 9~#,! 9^#V^#V! 9s#r!9~#fo#s#r!9^#VC! 9~#P!,)!!9~#~! 9^#V0C{!,)!! 9~#Œ!! 9^#V!^#V!9s#r!9~#!9^#V!^#V!9s#r!9^#V!9^#V5!9^#V!9s#rá! 9^#V!^#V ! 9^#V!^#V!9s#r! 9^#V!~#B! 9^#V##^#V!9^#V!^#V##s#r! 9^#V##~#~! 9^#V~#{!9^#V!9^#V^#V!s#rÛ!9^#V!9^#V##^#V!s#r!9~#! 9^#V! ^#VK! 9^#V!^#VK! 9^#V@!"g!can't remove entrycan't complete operationC!9~#J!9^#V!~#fo+s#r!9^#V!^#V!9s#rC!9~#[!9^#V^#VK!9^#V##~#ʍ!9^#V##^#V@!9^#V@C! 9^#V^z³!! 9^#V͸!9s#r! 9^#V#^C_!9s! 9^#V^C_9!9^!eͶC)! 9^#V##^C_wͶC)!9^#VD!9^#Vͯ!9^#VB!9^#V6!9^!nͶCʈ! 9^#V##^C_tͶCʈ!9^#Vͻ!9^#V!9^!yͶCʸ!"f!9^#V|!!9^#V9,!9^#Vͱ!9^#V{!9^!eͶC!9^#V!9^#V!9^!hͶC&!9^#V!9^#V$*g|?!!"f !9^#VN!9^#Vͫ-!9^#V!4!9^!xͶCʌ!9^#VU!"f !9^#V!"f !9^#V0 !9^!cͶC!9^#V!9^!uͶC ! 9^#V##^C_mͶC !9^#V=!"f !9^#V!"f !9^#V}D?aCb6c deohiPl3nprUstuv#wb!,)! 9^#V,)! does not contain a commandC!9^#V~!9^#V^! C!9~#fo#s#r+ý!9^#V~' !9^#V^! ͶC' !9~#fo#s#r+!9^#VC!Qf! I!Qf! I!Qf! I!Qf! ! I!Qf!3! I!Qf!U! I!Valid commands are listed below. The minimum required entries are shown in capitalized letters. NEW Top DElete Append Up Cut Insert Paste Write Read Entire List Down TYpe ? Subtree View Next SCreen INTro SUMmary CHange EXit Back Cw!!9s!9!9^#V8£!!!!!9E!9s#rz!!!,)!!Qf!9^#V͞!9^#VK!rcan't open file for readingC! 9~#$"!",)!! 9^#V!~#\"!'#,)! 9^#V! ^#V,)!<#,)!! 9^#V!^#V!9s#r! 9^#V!Cʍ"!N#,)!!9^#V!^#V! 9~#foC"!9^#V!^#V!9s#r!9~#"!b#,)! 9^#V! ^#V,)!p#,)!Í"!9^#V because of system error: bad owner pointer has no sub-headings because heading because index is 0 is too large because the sub-index of C! 9~#¦#!($,)!! 9^#V!^#V!9s#r!9~##!T$,)! 9^#V! ^#V,)!i$,)!!9~#$!9^#V!~#$!9^#V!^#V!9s#r#!9^#V because of system error: bad owner pointer has no sub-headings because heading C!W?!9s#rz¡$!d%,)!! 9^#V͈1!9^#V! s#rz$!%,)!9^#V@!!!9^#V! s#r!!9^#V!s#r!!9^#V!s#r!!9^#Vs#r!!9^#V!s#r!!9^#V##s#r!!9^#V!s#r!9^#Vcan't initialize another entry because out of memorycan't save titleC!9~#½%!!9^#V!~#%!9^#V! ~#%!9^#V!~#%!%!!9s#r!9^#V^#V*fͶC,&!9^#V!^#V*fͶCB&!9^#V*fͶCB&!E&!!9s#r!9^#V!9^#V!9^#V!9^#V! ^#V!9^#V!^#V!9^#Vͩ'! 9›&!!9^#V!ͶC&!9^#V!!Qf!9^#V! ^#VW3!9&!!9~#&!9^#V!9~#foCf'!9^#V!^#V!9s#r!9~#f'!!9^#V!9^#V!9^#V#!9^#Vͪ%! 9N'!!9^#V!^#V!9s#r'!9^#V!ͶCʥ'!9^#V!!Qf!9^#V!^#VW3!9¥'!!C!(!9s#r!9^#V^#V!ͶC'!)'!!!9^#Vs#r! 9^#V))! 9s#r!!9^#V!9~#fos!Qf!9^#V I! !9^#V!9~#fos!9~#K(!EN(!.!9^#V!$)!Qf͡E!9!9~#u(M !9^#Vs !9s#r!Qf!9^#V I!9~#ʧ(` !Qf!*) I!9~#(! !9^#Vs!9^#V~#fo#s#r! continue?%d%c C*gCW)!9^#V*g#"g+)gs#rC!9^#V!ͶCv)!"g)!9^#V!ͶCʏ)!"g)!9~#)*g+"gC)!Qf*g)g^#V IÙ)!"g!Qf!) I C*f|)!n*,)!*f~#*!*,)!!!9s#r%*!9~#fo#s#r+!9^#V! 9~#foCj**f~#O*!*,)!*f^#V"f*f^#V"f*! System failure, currrent is null can't go up because you are already at topyou are at topC!9^#V^#V!9s#r!9~#*!,,)!!9^#V!ͶC&+!9^#V##~#&+!"f!!9^#V##~#D+*g!9s#rO+*f!9s#r!9^#V##~#e+!h+!!9s#rÄ+!9~#fo#s#r+!9^#V!9~#foC+!9^#V)!9~#fo^#V!9^#V "!9s#rz+!',,)!s+!9^#V"f!9^#V^#V)!9~#fo^#V"f!current location used as defaultcan't point thereC*f*gͶCS,!c,,)*g"f!"f!already at topC*f|‹,!R-,)!*f!9s#r!!9s#r!9^#V!Cʽ,!-,)!!9^#V!^#V!9~#fo#s#r+)! 9s#r!9^#V^#V!9s#rz¡,!9~#5-!9~#fo+s#r)!9^#V!-!Qf͡E,*f ^#V!-!Qf͡E!INTERNAL ERROR ,current is NULLLIMIT TOO SMALL: Can't print index %d. %sCo*f|-!/,)!!f! 9]!9!9^#V8-!!/! 9E!9s#rz.!/,)!!9!f]*f!9s#r*f!9s#r*fCK.*f+"f#*f !9s#r!9^#V!! 9GB/!9^!.ͶC/!90.h/!9͈1!9^#VG2!9s#rzº.h//*f!9s#r/*f !9s#r/*f*f " !9s#r/D...../?/!9͈1!9^#VG2!9s#rzh/Z.!9^#V"f!9^#V"f!9^#VK!!/,)!9^#V"f!9^#V"f!9^#VK! PROGRAM ERROR , current is null r file could not be opened for reading couldn't fininsh read C!9^#V#^!hͶCP0!9^#V##^!lͶCP0!9^#V###͸6L0!!!9^#V#^!sͶC0!9^#V##^!lͶC0!9^#V###͸^!+ͶCʥ0¡0!!!9^#V###͸^!-ͶC0!)0!!0!C*fC0!1,)!!9^#V*f#"f+)gs#r! because stack limit is exceededC*f|d1*f+"f)g^#V!9s#r!9^#V!p1,)! because stack is emptyC! 9~#£1!1,)!! 9^#V^#W?!9s#rz1! 9^#V!9^#V]1!2,)!9^#V because PROGRAM ERROR, pointer is null because there is not enough memory leftC!9~#Z2!! 9~#p2!3,)!! 9^#V^#V!9s#r!9~#ʯ2!9^#V! 9s#r!9^#V^#V!9s#rÂ2!W?!9s#rz2!F3,)!!9^#V!9^#Vs#r!!9^#Vs#r!9^#V!9^#V##s#r!"g!9^#VPRORAM FAILURE: lasttext is nullcan't save text C!9~#j3!!9~#ʅ3!9^#V##^#VÈ3!|4! 9^#V! 9^#V##^#V I!9^#V~#fo#s#r!C3! 9^#V!ͶC3!4͐D3!|3!!!9^#Vs#r!9^#V^#V!9s#rj3!continue?Cm!6!9s#r*f|E4!6,)!*f*gCZ4*f|i4! 7i4!!f!9]! 9!9^#V84!!17!9E!9s#rz·4!37,)!! 9!f]*f! 9s#r*f!9s#r*fC_5*f*f "!9s#rz5!9^#VKí6!9^#V!9^#Vt7! 9^#V"f!9^#V"f*f*gͶCO5!"g!9^#VK!*f~#¬5*f ~#¬5*f~#¬5!Z7,)*f ^#V,)!9^#VKí6!!9s#r*f ~#5!9!!9^#V*f ^#VW3!9*f^#V!9s#r!9~#16!9^#V!9^#Vt7!9^#V!^#V!9s#r5*f~#t6!9^#V!e7 I!9!!9^#V*f^#VW3!9! 9^#V"f!9^#V"f*f*gͶCʝ6!"g!9^#VK!!9^#V,)!couldn't write contents because PROGRAM ERROR , current is null you are not saving entire contents. Ok?w file could not be opened for writing is empty .sl +1 .sl -1 C! 9~#„7!!9s#r! 9^#V! ^#V!8!9^#V͡E! 9^#V! ~#7!9!!9^#V!9^#V! ^#VW3!9! 9^#V!^#V!9s#rzL8!9^#V!8 I!9~#L8!9^#V!9^#Vt7!9^#V!^#V!9s#r8! 9^#V!~#ʗ8!9^#V!8 I!9!!9^#V!9^#V!^#VW3!9! 9^#V!~#ʹ8!9^#V!8 I.hl %s.sl +1 .sl +1 .sl -1 .sl -1 Cy!9^#V^z 9!9^#V^! ͶCʇ9!9^#V^z:9!91!;f!!9^#VGÄ9!9!9]!9^#V!9V^!9„9!91!;f!!9^#VGÜ9!9^#V!9^#V]!9^#Vs !9^#V^z9!9,)!!enter file nameuse enter file nameyou didn't enter a file name C!9^!AC0:!9^!ZCP:!9^!aCT:!9^!zCT:!!C!9^#V"b! 9! 9^#V!:ͧ:!*bsC!9^#V*b#"b+s!nCC!L9N#F!N9~#fo#s#r+^!F9s#rz>!F9^#V!%ͶC>!!9s!!D9s#r! !B9s#r!!@9s#r!N9^#V^!F9s#r!-ͶCN;!!D9s#r!N9~#fo#s#r+^!F9s#r!F9^#V!0ͶCi;!0!B9s#r!!>9s#r!N9~#fo#s#r+^!F9s#r!0C;!F9^#V!9C;!>9^#V! nD!F9~#fo!>9s#rt;!F9^#V!.ͶCC9n__͔_>!9!49s#r!-!69~#fo+s#rsn=!9! !>9n_͔_>!9!49s#r=!:9n_b!49s#r^!89s#r=!:9n_b!F9s#r!F9^#V!9!69s#rs=Dd!@9^#V!89s#r!D9~#H>!>9~#fo+s#r#!89~#foCH>!B9^#V`i~C>!!69s#re>!69~#fo#s#r!49^#V~ʥ>!69^#V!@9~#foCʥ>!49~#fo#s#r+^`i~CV>!D9~#>!>9~#fo+s#r#!89~#foC>! `i~Cï>>!F9^#V`i~Có:C! 9N#F`ib͔_! 9n_ͬ_Tabb^!9~#fo+s#rs!9`ib_n_á__>!9^#VC! 9^#V###7E#!9s#r*c!9s#rzŸ?! c!9s#r"c" c!"c!9^#V^#VBK?`i!9s#r`i^#VBK! ^#V!9~#foEI@! ^#V!9~#foͶC?`i^#V!9^#Vs#r7@!9^#V`i##~#foDs#r! ^#V))PYDM!9^#V! s#r!9^#V"c`i`i*cͶCl@!9^#Vp@DM|l@!ï?C! 9^#V))IBDMͶCʓ@!`i!9s#r! 9^#V!9^#V##s#r!9^#V!@*cC! 9^#V!DM*c!9s#r@!9^#V^#V!9s#r`i!9~#fo+E A!9^#V^#V`i*EdA!9^#V^#V!9^#VEaA`i!9~#fo+EdA!9^#V^#V`i*EdA@!9^#V^#V! ^#V))PYͶCʽA!9^#V^#V##^#V`i##~#fos#r!9^#V^#V^#V`is#rA!9^#V^#V`is#r!9^#V##^#V))!9~#foPYͶC"B! ^#V!9^#V##~#fos#r`i^#V!9^#Vs#r1B`i!9^#Vs#r!9^#V"c!LB#|+!9^#V*cnB*c9}|nB*c"c|ɯ=go!9~#f/o|/g#"c*RNËB_E͟B_E*cDM*co&_EͽBo&_E*c*+++*cDM*c!9N#F#^#Vkb6#> 6 #=B>6#=B : >$C A^C[C@!Ca^C{^C`w# .?CXC'CeCw#(C{o|g XCeCw#IC!!|a{ |g}o|/g}/o^#V#DM!99`i~C|z2cD:cD}4D}}C|C!}C|C!}|C}|?>o&zo&|D}|>o&|o&z2cD:cD||&D/g}/o#z4D/W{/_4DDM!>2c))GD#}o|g_D :c=2c?D}:c=2c?D}DM!>))~D =vD}}/o|/g#}|CC|g}o{_D|?E|7g}o­D{_D)D}}o|gN#F# N#F#zD{D##^#VBK^#VzE#yE###D#x E#~#fo}|>?o&}|>o&{_D|g}o?E|g}o~# xTE!9c~#kE!xE|ɧC!Ff"c! 9! 9^#V!Eͧ:C!9^#V"c! 9! 9^#V!Eͧ:C*c! 9^#VGIC!;fDM`i~F`i DMfE F!E! 9^#V#^!+ͶC!9s#r! 9^#V^G!9~#GF!JF!! 9^#V%Q! s!ͶCkF!$G!9~#~F!ÁF!͘D! 9^#V%Q! s!ͶCʨF!$G!9~#ʻF!þF!͘D! 9^#V%Q! s!ͶCF!!g_͔_! ^͌[!9$G!"h!Dr7FwnFaFG!! s!! s#r!`is#r! s#r! s#r`iC! 9^#VBK!;frH!9s#r!CʜG!9^#V! CʜG!9^#V`i#DM+s`G!`is!9^#V!ͶCG`i! 9~#foͶCG!! 9^#VC! 9^#V!9s#r! 9~#fo+s#r!C7H!9^#VrHDMC7H`i!9~#fo#s#r+s`i ͶC7HG!!9^#Vs`iͶCiH!9^#V! 9~#foͶCiH!! 9^#VC! 9N#FInC!9s#réH`i~#fo+s#r!~HDH HHH!9^#VC!9N#F`i~H!Ff`i#DM+^GIͶCH!H!Ff! GIC!9N#F`i~CI! 9^#V`i#DM+^GIͶC@I!I!C!9N#F!PYnCDM`i ͶCʆI! 9^#V! 4KͶCʆI!! 9^#V4KC! 9^#VIDMͶCI! 9^#VI!9s#r!ͶCI!!9^#V!ͺDPY͘DC! 9N#F! ^#V`i^#VEʴJ! ^!nCJ!!`in&nCs`i~#?JͼM! ^#V! ^#V! ^U!9s#r!CʗJ!9~#~J!ÁJ!`in&͘Ds!! ^#V`is#r!9~#fo! s#r`i~#fo#s#r+^!nCC!Qf! 9^#V4KC!9N#F! 9^#V4KC K!! 9^#V`i7E4KC1K!`iC! 9N#F! ^#V`i^#VEiK!9^#V!nCjL!9^#V`i~#fo#s#r+s!nCC!! 9^#VjLC!;fDM`if*EK`i DMKêKC! 9N#F!!9s#r`i~XL! ^!nCL!jL!9s#r! ^S!9~#fo͘Ds#r! ^!nCXL*f! ^#Vs#r! ^#V"f!! s!9^#VC! 9N#F! ^!nCL! ^#V`i^#VD!9s#r!9^#V! ^#V! ^͂XͶCL!`in&͘Ds!! 9^#V!ͶCM!`in&nCs!`is#r! s#r!`i~#)MͼM! ^#V!ͶCbM!!9! ^͂XͶCL! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in&͘Ds! 9^#V`i~#fo#s#r+s!nCC! 9N#F! ^#V!ͶCM`i! s#r*f|N*f!9s#r*f^#V"f.N! ^#VW?!9s#rz.N!! s#rM!`in&͘Ds!9^#V! s#rC!!!]cv]!:o&nC]cs!nP"!c!]cDM!"c*cC[P`i^! ͶC¹N`i^! ͶCN`i#DMÝN`i^z[P`i^!>ͶCN!!9s#rO`i^!<ͶC P!!9s#r`i#DM^! ͶCO`i^! ͶC"OO`i!9s#r`i#DM~dO`i^! ͶCRO`i^! ͶCaO!`i#DM+sdO,O!9^#VS!9~#ʖO!!9^#VQ!9s#rïO!!9^#V%Q!9s#r!9^#V!ͶC P!oP!]!9^#V!V^!P!V^!^!!͂X! ͓PXP`i*c#"c+)!cs#r`i#DM~XP`i^! ͶCFP`i^! ͶCUP!`i#DM+sXP PÐN!!c*c͓PCan't open file for redirection: C͠K!9~#ʭP!PP]͋BA:$$$.SUBC!"h!C!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:C! 9^#V!! 9^#V%QC!h! 9s#r!!9s#rdQ! 9~#fos#r!9~#fo#s#r!9^#V! CʎQ! 9^#V!^#V!PͶC˜QCQ!"h!!lhDMèQ`iDM`i~#Q!9^#V`i^#VͲ]QàQ! ^#V!9s#r!9^#V!nC#!9s#r!9^#V!nC"R!9^#V^! 9^#Vsz"R!"h!!9^#V!nCYR!9^#V#^! 9^#V#szYR!"h!! ^#V! 9^#V!s#r!9^#V##^! 9^#V##s!9^#V###^! 9^#V###s!P! 9^#V!s#r! 9^#V!9^#V!9^#V!9^#V!9^#V!^#V~C! 9!CR!!9^#VC!9^#V!C-S!9^#V! C7S!"h!!9^#V)))hDM! ^#V! ^#V~C!9s#r!! s! s! s`is!P! s#r!9^#VC!cDMãS`i&DM`ie*EʾS!% ^zSÛS!"h!! 9^#VBS!"h!! 9^#V!nCS!͜B!͜BͶC@T! 9^#V!nC3T!͜BͶC=T!"h!`T! 9^#V!nCͶC`T!"h!!!! s#r!# s!$ s`i!9^#V!s#r! 9^#V!nC#!% s!nCʺT!T!9^#V!s#rT!T!9^#V!s#r!C!! 9^#V!%s!C!9N#F!͜B!!% s!C!9^#V!C3U!9^#V! C=U!"h!!9^#V)))hDM! 9^#V! 9^#V! ^#V`i^)e^#V~CC!DM!9^#V!9s#r!9^#V!$~U!9^#V!$^!DDM!9~#fo+EU!9^#VBK!9^#V! 9^#VͶVU!!9^#V`iD7E!9s#rz^V!9^#V!9^#V`i! 9^#V\!9s#rz^V!9^#V!9~#foDͺDPY!9^#V!ͺDPYDM`i!9~#fo*EʭV!9^#V`iD!9^#V`i! 9^#VͶVʭV`i!9^#VC!9N#F!!͜B!!͜B"h|V!! 9^#V!$ ^!!9^#Vv]!$ ^! 9~#fonC!$ sz9W`i!~#fo#s#r!C:eo&|W!}2e!}2e}2e!e! ͜B! !͜B:eo&ͶCʓW!}2e!! :eo&#}2ee#s! :eo&#}2ee#s!"f:eo&DM! 9~#foCW! 9^#VBK*fe!9^#Vv]`i*f"f`i:eo&D}2e`iC! 9N#F!!9s#rCX!9~#fo#s#r!9^#V!9~#foCyX! 9^#V͜B`i#DM+s!ͶCyX4X!9^#VC!9^#V!C§X!9^#V! CʱX!"h!!9^#V)))hDM! 9^#V! 9^#V! ^#V! ^)f^#V~CC!DM!9^#V!9s#r!9^#V!$~iY!9^#V!$^!DDM!9~#fo+EKY!9^#VBK!9^#V! 9^#V,ZiY!!9^#V`iD7E!9s#rzY!9^#V!9^#V`i! 9^#V]!9s#rzY!9^#V!9~#foDͺDPY!9^#V!ͺDPYDM`i!9~#fo*E#Z!9^#V`iD!9^#V`i! 9^#V,Z#Z`i!9^#VC!9N#F!!͜B!!͜B"hͶCgZ*hͶCʂZ!"h!!!͖]ÎZ*h|ʎZ!! 9^#V! 9^#V!$ ^!v]!"͜B"h|Z!!$ ^! 9~#fonC!$ szZ`i!~#fo#s#r!C!9N#F!!9s#r%[!9~#fo#s#r!9^#V!9~#foCʃ[`i#DM+^!9s#r!9^#V! ͶCk[! !9^#V͜B!9^#V!9^#V͜B[!9^#VC!9^#V!C[!9^#V! C[!9^#V)))h^z[!"hg_!9^#V)))h^#VBK!9^#Vw\!͜BͶC\!"hg_!#͜B!!$ s! 9!! ^#VbY_ͣ`͔_!$ ^bͬ_*`_n_*`́_Ê\!"hg_D[)\f\i\!!# s! 9n_Y_ͦb\!!! s#r!$ s!"hg_! 9n_bnC!$ s! 9n_Y_`b!! s#r! 9n__E! ]_E"*c!"c*cE]*c!47]#4*c+"c} ]o&"h*cC!9!.9^#VB!9!͜B! 9F+N+V+^+~+ngxʔ]w# Ç]!9^#V#N#F#nxʰ]s# å]!9^#V#~#fox]]]# ]!]!}!}!9^#V#~#fox ^~ ^# ]!9~#fo%^#^}!9^#V#^#V#N#F]!9^#V#^#V#N#F]!9^#V#~#fox ^~w^# h^]!9^#V#^#V#N#Fh^!9^#V#n~ʪ^ʰ^#Ý^!|!9^#V#n^#^xʪ^ +~^ð^!9~ _ _ __!9~A_[_!}!9~a_{_!!9~0_:__!9~a>_{>_ o&!9~AT_[T_ o&!*fr_!*fw#w#w#w*f~#~#~#~"#f*fV+^+V+^*#f"#f*fs#r#s#r*#f*f*f"f"f*f>w#_*f~ b#_Õb=ɯ<*f*f###`_`___+`*f*f#5`*f*f#K`*f*f#``*f*f#u`*f*f#Š`*f~/w#š`*f~?G*f^#V#~#fo))ҿ`#·`DM*fs#r#q#p*f~?W*f###~`~w+``7~w+``~# aO_*f/fay2-f*f7fa:-f2-f͇a/f*fw#Ca:-f_*f/fay2-f*f7fa͇a3f*fw#va:-f_!3fw#a> 2.f!/f~w#žaO3f!7f#³aya!/f4!.f5˜a!.f5b!/f~w#aO3f!7f#ayaa3f!7f# b*f7f~#b*f3f~#,b!/fw#:b> 2.f!/f~w#Kbvb/f!7f#_bvbjb!.f5Eb*f/fw#…b_ʠb!_ʕb!<_bÕb_bʠbÕb_bàb_bʕbàb*fs#r#6#6*fs#r#zb6#6*f^#V0123456789abcdefhP|U=WXPXZZ%f)fPPPPPPPPPPPPPPPfhPfhPhPhPhPhPhPhPhQhhS . TOUR Guide - Version 2.0 TOUR --- Document Hierarchy Editor --- Copyright (c) 1985 Written by Edward L. Taychert. All rights reserved. Version 2.0 TOUR is supported through its user community. If, after using TOUR for a while, you feel that its is a program that you would have paid money for, I encourage you to send a contribution so that I may continue to develop and support it. (I think that TOUR is worth $30.) Please send any comments, questions or contributions to: Canal Town Computing P.O. Box 191 Palmyra, NY. 14522 Feel free to pass on TOUR to anyone you'ld like, however, the TOUR.COM and MAKETINI.COM programs and the TOURGUID.DOC file must be distributed together in unmodified form. And in no case may you change the copyright notice or receive any fee or consideration for distributing TOUR. . 1 . TOUR Guide - Version 2.0 1. What is TOUR? TOUR is a program to help you collect and organize your thoughts. It maintains them in a textual database that can be formatted for printing. 2. What can you use TOUR for? TOUR can be used whenever your ideas need to be organized clearly. A few uses for TOUR are given below. 2.1 Making an outline of your writing TOUR was originally designed to outline documents. The most critical phase of writing comes at the very beginning, when you are not completely sure what your writing will contain. TOUR will help you collect your ideas and turn them into an outline. 2.2 Preparing an agenda An agenda is an outline of a meeting. You can use TOUR to prepare an agenda. When your meeting is over, use TOUR to add comments from the meeting to the outline. Now, you have a report of the meeting! 2.3 Preparing a presentation If your are giving a presentation, prepare an outline of it using TOUR. As in writing a document, outlining will help you organize your presentation. Copy the outline onto clear transparencies for use during the presentation. If a report is to be generated, fill in the presentation outline to generate it. 2.4 Designing software Software design is typically done in a top-down fashion. TOUR provides the tools for top-down, divide and conquer strategies. When your design outline is complete, you should have identified systems, sub-systems, units, modules and procedures. Include their specifications, rather than their code, in the outline. 2.5 Project breakdown When contemplating a project, its essential to know what has to be done to complete it. Tasks are broken down into sub-tasks into more sub-tasks and so on. This is another divide and conquer application. At the top level, make sure that no tasks are missing. Keep breaking down tasks until you can estimate the time to complete each task. Consider higher level tasks to be milestones or project reviews. Estimate review times. . 2 . TOUR Guide - Version 2.0 Add all the time estimates. This is the total number of man-hours, man-days, or man-years that the project will take. 2.6 Desk calendar Use TOUR as a desk calendar or as a note pad for leaving memos to yourself. Make an outline consisting of months and weeks. Add appointments and schedule dates. When you have finished an appointment, leave a note describing the meeting or accomplishment. Use TOUR to build your monthly report from your calendar. Review: TOUR can be many ways to do different things. 3. CRT terminal setup Before you first use TOUR, your must create a terminal definition file. The terminal defintion file must be named TOURINI.INI. The included program MAKETINI.COM will assist you in building this file. (If you have a H19 or equivalent terminal, you may skip this. TOUR uses H19 terminal controls by default.) The file MAKETINI.DOC contains instructions for using the MAKETINI program. Review: Run the MAKETINI.COM file to generate a TOURINI.INI file. 4. Using TOUR 4.1 Invoking TOUR To run TOUR, type TOUR and then push the return key when you are at your system's normal command line prompt. Example: A> TOUR Alternatively, if you have a TOUR file that you would like to edit, you may include it on the command line. Example: A> TOUR note.rno In either case, the first thing you will see in response to invoking TOUR is the TOUR copyright notice and a prompt to push the return key. After you push the return key, the copyright notice will disappear and you will either see an empty outline or the top-most level of the outline contained in the file you specified on the command line. A command prompt will appear beneath the outline. . 3 . TOUR Guide - Version 2.0 4.2 TOUR screens Unless you specifically ask otherwise, TOUR will only show part of your outline. This is to help you focus on one particular issue or idea. TOUR works on a "divide and conquer" philosophy that should be familiar to users of top-down development strategies. To this end, TOUR allows you to build hierarchical outlines. It shows you, by default, one level of a hierarchy. This means one point or idea, and one level of sub-points or supporting ideas. The major point or idea is called the "current heading" in this document. The supporting points or ideas are called "sub-headings" in this document. Because of the hierachical nature of TOUR outlines, a heading may be a sub-heading at a higher level in the outline, and a sub-heading may be a heading at a lower lower level in the outline. A TOUR screen shows you three other things: First, for each individual sub-heading, TOUR tells you if there are any sub-headings or notes hidden from view beneath it. If there are, TOUR prints a period after the sub-heading's index. If there are not, TOUR prints an "E" for empty after the sub-heading's index. (Sub-headings are numbered from one to the number of entries in the heading. The number associated with a sub-heading is called its "index".) Second, TOUR tells you which sub-heading your commands will operate on. It does this two ways. If your terminal supports highlighting, the title of the current sub-heading will be highlighted. Regardless of your terminal's capabilites, the command prompt will contain the index number of the current sub-heading. (The rest of the documentation may refer to this as the "current index".) Third, TOUR will tell you if there is any text (other than the outline itself) associated with the current heading. The message "... plus text" is a reminder to you that text is present. Review: Usage: tour [] TOUR builds hierarchical outlines. TOUR screens show one level of an outline at a time. TOUR commands operate on the "current index". 5. Your first TOUR This section contains a demonstration of TOUR. I suggest that you print a copy of the documentation so you can type the demonstration into TOUR as you read it. The purpose of this section is not to give an in-depth explanation of TOUR, but . 4 . TOUR Guide - Version 2.0 rather is to familiarize you with it. So, not everything will be explained here. 5.1 A demonstration of TOUR The demonstration walks you through the creation of a note to a house sitter. Supposedly, you are going away for a month and have asked a friend to stay at your home and take care of it. You would like to leave a note explaining the things which must be done in your absence. When I'm showing a simulated TOUR screen, you'll see a bar "|" on the beginning of the line. (Not on your terminal screen; just in this document.) Also, I can't show terminal highlighting on paper. Where TOUR would highlight something on your terminal, I show it here enclosed in "<<<" and ">>>". Only the first three letters of the sample commands need be entered exactly; don't worry about typing the sample data exactly. Every prompt in TOUR is followed by a double colon, "::". Everything before the :: is typed by TOUR. Everything after it, you must type. And, at the end of every line you type, push the return key. If you are not using an H19 or equivalent terminal, and haven't run the MAKETINI.COM program, do so now. When you are finished, type "TOUR" to begin your demo. | A> tour | TOUR 2.0 -- Document Hierarchy Editor | Copyright 1985 -- Ed Taychert, PO box 191, Palmyra, NY, 14522 | All rights reserved. | <<>> :: At this point the screen will clear and you will see an empty outline. | 0E <<>> | | 0 :: Review: This is a demonstration of using TOUR to create a note. Every TOUR prompt ends with a double colon. 5.2 Starting the outline Let's type in some things we'd like the house sitter to do. The "append" command adds enties to an outline. Type the append command and enter the following four things for the house sitter to do. . 5 . TOUR Guide - Version 2.0 | 0 :: append | Enter headings (push return at beginning of line to stop) | 1 :: Cut the grass | 2 :: Feed the cats | 3 :: How I can be reached | 4 :: Get the mail | 5 :: Let's say that's all that we can think of for know. Push the return key to stop the heading entry mode. TOUR will display: | 0. <<> | 1E Cut the grass | 2E Feed the cats | 3E How I can be reached | 4E <<>> | | 4 :: Notice that entry 4 is highlighted and that the command prompt contains the number "4". This tells you that any command you type will use the number "4" or the heading "Get the Mail". Throughout the TOUR Guide, the number in the command prompt is called the "current index". Its easy to change the current index. Simply type in another number and push the return key. Try "2". | 4 :: 2 | TOUR will clear the screen and display : | 0. <<> | 1E Cut the grass | 2E <<>> | 3E How I can be reached | 4E Get the mail | | 2 :: Now, any command you type will operate with the number "2" or the entry "Feed the cats". Try typing in different numbers, one per line, to see what happens. When you are done, type "4" and push return to highlight "Get the mail" again. You should see | 0. <<> | 1E Cut the grass | 2E Feed the cats | 3E How I can be reached | 4E <<>> | | 4 :: on your screen. If you typed any number less than zero, or greater than five, TOUR will have printed out an error message followed by the prompt "push return ::". If you didn't try that, go ahead an do it now to see the kind of messages TOUR will print out. Again, when you are finished, type "4" and push return to make "4" the current index. . 6 . TOUR Guide - Version 2.0 At this point, we don't really have an outline. That's because ideas don't come packaged in nice outlines. They come whenever and however they like. To make an outline, we must decide on a logical organization for our ideas. Looking at the screen, I see three categories. Things to do daily, things to do weekly, and things to do in an emergency. Enter these into the outline. Use "append" to add entries after "Get the mail" | 4 :: append | Enter headings (push return at beginning of line to stop) | 5 :: Daily | 6 :: Weekly | 7 :: In case of emergency | 8 :: Now push the return key to stop heading entry mode. You should see: | 0. <<> | 1E Cut the grass | 2E Feed the cats | 3E How I can be reached | 4E Get the mail | 5E Daily | 6E Weekly | 7E <<>> | | 7 :: Reveiw: The append command adds entries to an outline. Type a number to change the current index. 5.3 Adding structure to the outline Its now clear that "Cut the grass" is someting to do weekly, "Feed the cats" and "Get the mail" are daily chores, and "How I can be reached" is part of "In case of emergency". What we are going to do next is develop our three point outline by placing the original four tasks inside their proper headings. Let's move "Cut the grass" into "Weekly" first. Make "Cut the grass" current. Type a 1 and push return. You should see: | 0. <<> | 1E <<>> | 2E Feed the cats | 3E How I can be reached | 4E Get the mail | 5E Daily | 6E Weekly | 7E In case of emergency | | 1 :: Type "Cut" (without the quotes) and push return. . 7 . TOUR Guide - Version 2.0 | 1 :: cut You should see: | 0. <<> | 1E <<>> | 2E How I can be reached | 3E Get the mail | 4E Daily | 5E Weekly | 6E In case of emergency | 1 :: "Cut the grass" in now in the paste buffer. The paste buffer can store 20 entries. There is no need to type numbers and commands on different lines. You may enter them both on one line by putting the number in front of the command. "1 Cut" would have worked. Placing entries inside other entries makes the outline deeper and gives structure to the outline. Right now, our outline has a "flat" structure because no entries contain sub-entries. (This is what the E's after the indices on the screen mean.) We are about to change that. We want to add an entry to "Weekly" so type "5 down". | 5 :: down You should see: | 5E <<>> | | 0 :: Entry 5, "Weekly" is now the current heading and has no sub-headings. Now we'll use the "paste" command to remove "Cut the grass" from the paste buffer and place it inside "Weekly". | 5E <<>> | | 0 :: paste | Did you mean an index of 1? (Y/n) :: yes TOUR can't give an entry an index of 0 and assumed we wanted to paste at index "1". It maded sure by asking. The "(Y/n)" tells you that TOUR is asking a yes or no question and that "yes" is the default. That means that you didn't have to type "yes", pushing the return key would have been the same as typing "yes". (When "no" is the default answer to a yes or no question, the question will be followed by "(N/y)". ) The message could have been avoided by typing "1 paste" instead of "paste". Anyway, your terminal screen should now look like: | 5. <<>> | 1E <<>> | . 8 . TOUR Guide - Version 2.0 | 1 :: About this time, we think that the house sitter should water the lawn also. Since we only want to add one entry, it can be placed on the same line as the append command. | 5. <<>> | 1E <<>> | | 1 :: append Water the lawn The screen will clear and display: | 5. <<>> | 1E Cut the grass | 2E <<>> | | 2 :: That seems like everything, let's go back up to top of our outline. The opposite of the down command is "up". Since we are only "down" one level, "up" would have the same effect as "top". In more complicated outlines, "up" moves up one level, while "top" always takes you to the top-most level of an outline. Go ahead and enter the "up" command. You should see this on your CRT: | 0. <<> | 1E Feed the cats | 2E How I can be reached | 3E Get the mail | 4E Daily | 5. <<>> | 6E In case of emergency | | 5 :: Now use the "cut", "down", "paste", and "up" or "top" commands to put "Feed the cats", "How I can be reached" and "Get the mail" in their proper places. When you are done, return to the top of the outline and make "In case of emergency" the current index. Your screen should look like this: | 0. <<> | 1. Daily | 2. Weekly | 3. <<>> | | 3 :: Moving up and down in your outline is called "navigation" in the rest of this document. Other ways to navigate are explained in later sections. When you were moving the "Feed the cats" heading, did you think of another emergency situation? I did. Let's add the vet's number to "In case of emergency". Further more, let's do it all on one command line. The semicolon character is used to place more than . 9 . TOUR Guide - Version 2.0 one TOUR command on a single line. Ready? | 0. <<> | 1. Daily | 2. Weekly | 3. <<>> | | 3 :: down ; append The vet number is 555-1234 ; up Verify that the vet number is really there by using the "subtree" command. Type "subtree". The screen will clear and you should see: | 3. <<>> | 1E The vet number is 555-1234 | 2E How I can be reached | <<>> :: After you push return, the screen will display the top level of the outline again. | 0. <<> | 1. Daily | 2. Weekly | 3. <<>> | | 3 :: Review: Cut and paste are used to move outline entries. Up, down and top are used to move to different levels, or "navigate" in your outline. The subtree command shows the lower level outline entries of a sub-heading. 5.4 Adding text to the outline Let's make this into a real letter. Start by entering an opening note. This is done by the "introduction" command. At any level in your outline, "introduction" will place a text note before the sub-entries. Type "introduction" and the following lines: | 3 :: introduction | enter text (push return at the beginning of a blank line to stop) | 1 :: Steve, | 2 :: Thank's for taking care of the house. Here's a list of a few | 3 :: things I thought you should know: | 4 :: After pushing return at the beginning of text line 4, TOUR will show you the outline. It now tells you that you have entered text, even though it doesn't show you the text. | 0. <<> . 10 . TOUR Guide - Version 2.0 | 1. Daily | 2. Weekly | 3. <<>> | ... plus text | | 3 :: To read the text, type "view". TOUR will display: | 0. <<> | Steve, | Thank's for taking care of the house. Here's a list of a few | things I thought you should know: | 1. Daily | 2. Weekly | 3. <<>> | <<> After you push return, TOUR will show you the outline without the text. If a heading has subheadings, TOUR only shows you its text if you explicitly ask for it. Otherwise, you would find that the display would fill quickly and your outline would be cluttered. At this point, we are trying to make sure that the structure of the document to be is clear and complete. The outline is more important than the text. Another command, "summary", will place text after the sub-headings (if any exist.) Use the "summary" command to close out the letter with the following note: | 3 :: summary | enter text (push return at the beginning of a line to stop) | 1 :: Thank's again for everything. I'll be back on the 27'th. | 2 :: Ed | 3 :: Use "view" to see the result. Note that TOUR has no editing capability other than simply adding the intro and summary text. At this point, play with the outline, add any other things that you think a house sitter should know or do. For example, the names of my cats are Tinker, Boots, and Surprise, and their food should be laid out, left to right, in that order. Add this as an "introduction" to "Feed the cats" Experiment with the append command. Use different "current indicies" and observe where TOUR places the headings. Delete outline entries that you don't want with the "delete" command. The delete command removes the current sub-heading and its sub-trees from the outline. (Do be carefull!) Review: The introduce command adds text to the outline in front of a section's first sub-heading. The summary command adds text to the outline after a section's . 11 . TOUR Guide - Version 2.0 last sub-heading. The veiw command displays introductions and summaries. The delete command removes outline entries. 5.5 Saving the outline When you are done, save your outline. To save the entire outline, you must first issue a "top" command. Here, "up" won't do. Then, type "write note.rno". Any filename that's valid for your computer may be used instead of "note.rno". Exit the TOUR program by typing "exit". | :: top | 0 :: write note.rno | 0 :: exit You can look at note.rno with your text editor. You will see a lot of lines that begin with ".hl" and ".sl". Together, they form your outline structure. You will probably notice the entries of our outline following the .hl's. You can use your editor to correct any misspelling in the document and resave it to disk. However ... Never add, move, or delete .hl's or .sl's unless you totally understand what they are for. To do so could mean that neither TOUR nor ROFFTOUR (the text formatter) will be able to make sense of your document. (They're not really that had to understand! The ROFFTOUR.DOC file describes their meaning.) When you have fixed any misspellings and saved the changes, use the text formatter to produce the final letter. (But don't delete note.rno in case you want to change it later.) | A>rofftour note.rno >note.mem There is a lot more that you can do with TOUR. Additional commands and ideas for using TOUR are given in THE TOUR GUIDE. Review: Use the top and write commands to save an outline. You can edit the outline with a text editor. A text formatter is used to produce the final listing. 6. Terminology and conventions 6.1 Headings A heading is the name of a section in a TOUR file. Headings may contain any printable characters, any number of embedded blanks, . 12 . TOUR Guide - Version 2.0 and some of the ascii control characters. In particular, control Z and control @ are not allowed. 6.2 Sections A section is the collection of text and sub-headings contained within a heading. Every outline entry heads a section. Some sections, however, may be empty. 6.3 Sub-headings and sub-trees A sub-heading is simply a heading which is contained within another heading. If sub-heading contains other headings it may also be called a sub-tree. 6.4 Indicies All headings and sub-headings within TOUR are numbered. The number given to a heading or sub-heading is called its index. Most TOUR command operate on the current sub-heading. Its index number is called the current index. You may make any sub-heading current by typing its index number. If the sub-heading that you wish to make current is not in the current heading, you may make it current by typing its complete or "absolute" index number. Absolute indices begin with a zero (for "Contents") and contain the index of every heading above it. For example, no matter where you are in the outline, typing "0 4 2" will make the top level entry "4" the current heading and entry "2" within it the current sub-heading. In addition, TOUR has "relative" indices. If "0 4" were the current heading, and you wished to make its sub-heading "1" the current heading and subheading 1's subheading "3" the current sub-heading, you could type "1 3" (without a zero). This would have the same effect as typing "0 4 1 3". 6.5 Screen mode TOUR will make limited use of your terminals screen capabilities. When doing this, TOUR is said to be in screen mode. As an alternative TOUR may be placed in line mode. The screen command toggles between these two modes. If your terminal can respond to an ascii sequence to home and clear its screen, you will probably want to use screen mode. Screen mode is the default. 6.6 Command entry Command entries consist of numbers (used to specify indices), command words, and optional or required arguments to the command. Commands may be typed in upper or lower case. Many commands may be entered on one line by separating them with . 13 . TOUR Guide - Version 2.0 the command delimiter character. The default command delimiter character is the semicolon. Be careful when entering multiple command per line; the indicies may change as a result of a previous command's execution. If an error is detected in a command line, the command in error, and all those following, will not be executed. The following section documents each of the commands recognized by TOUR. By convention, The fewest number of characters needed for TOUR to recognize a command are shown capitalized. Optional entries are enclosed in square brackets, and data descriptions are enclosed in pointed brackets. Don't type in brackets unless you intended them to be part of the entry. Review: TOUR uses relative and absolute indices. Screen mode is the default. The general command syntax is Multiple commands may be typed on a single line if they are separated by a semicolon. 7. TOUR command reference 7.1 The command is used to change the current heading and/or current index. TOUR commands operate on the current heading and current index. Using index commands allows you to tell TOUR what is to be affected by commands to follow. Indices consist of numbers which are separated by non-alphabetic characters. Indices which begin with the number 0 are absolute indices. That is, they index (address) a heading from the top-most contents of the file. For example: "0 4 1 2" refers to the fourth heading in the document, the first sub-heading under that and the second sub-heading under that. The result of typing in 0 4 1 2 would be that "4 1" would become the current heading, and "2" would become the current index. Relative indices begin with a number other than zero. They index (address) sub-trees of the current heading. For example, if the current heading was "4 1", typing "3" would be equivalent to typing "0 4 1 3" The current heading remains unchanged, "3" becomes the current index. Typing "3 2" would be equivalent to typing "0 4 1 3 2". In this case, the current heading would be changed to "4 1 3" and the current index would become 2. TOUR checks your index to insure that it actually refers to a heading in your file. An index may PRECEDE a command on a line. For example: . 14 . TOUR Guide - Version 2.0 3 Insert Complete the TOUR documentation causes subheading 3 of the current heading to become the current index, and then inserts the heading "Complete the TOUR documentation" as new sub-heading "3". The old sub-heading "3" and all sub-headings indices after it are renumbered automatically. 7.2 Append [] If a heading is specified, Append inserts it into the current heading immediately after the current sub-heading. The current index is incremented to refer to the new sub-heading. Any sub-heading indices following the appended sub-heading are automatically renumbered. If a heading is not entered on the command line, TOUR enters append mode. It prompts for new sub-headings. Enter one per line and terminate each line by pressing the return key. When you are finished entering sub-headings, press the return key without any other text on the line in response to the prompt. 7.3 Back Back moves you to the section of your outline that would be printed before the current section in your final document. To do so, it moves you up and down the levels of your outline. 7.4 CHange [] CHange allows you to re-enter the title of the current sub-heading. If you do not enter the heading as part of the command line, TOUR will prompt you to enter it. Pushing return without entering text will abort the change. 7.5 Cut Cut removes the current sub-heading from the current heading and automatically renumbers any sub-heading which follow it. The Cut heading is saved on a stack until it is used by the Paste command. You may Cut up to 20 headings. Note: To help you move sub-trees between files, the paste stack is not cleared by the NEW command. 7.6 DElete DElete removes the current sub-heading from the TOUR file. All sub-headings which follow the DEleted heading are automatically renumbered. 7.7 Down . 15 . TOUR Guide - Version 2.0 Down moves you deeper into you outline. The current sub-heading becomes the current heading. The current index becomes 0. 7.8 Entire Entire lists the complete outline on the screen. 7.9 EXIt EXIt terminates your tour. If your TOUR file has been modified and has not been saved, TOUR will ask you to verify your intent to lose your work. 7.10 Help and ? Both Help and ? list the valid TOUR commands. 7.11 Insert [] Insert adds a new heading to the outline. The new heading is placed before the current sub-heading. The inserted heading becomes the new current sub-heading. If a heading is not entered on the command line, TOUR will prompt you to enter it. 7.12 INTroduce [] INTroduce allows you to enter text into your TOUR file. The text will appear before any sub-headings of the current heading. If you enter text as part of the command line, TOUR will place it at the end of any existing text in the heading introduction. Otherwise, TOUR will prompt you to enter lines of text. When you have finished entering text, push the return key WITH NO OTHER TEXT ON THE LINE to resume command entry. To enter a blank line of text, you must enter at least one space. Your system's normal line entry editing commands may be used. 7.13 List List causes all of the sub-headings of the current heading to be listed on the terminal. List has no effect in screen mode. 7.14 NEW NEW caused TOUR to be re-initialized. If you have modified your outline, and haven't save the modified contents, TOUR will verify . 16 . TOUR Guide - Version 2.0 your intent to lose your work. Note: To help you move sub-trees between files, the paste stack is not cleared by the NEW command. 7.15 Next Next moves you to the section that would be printed next in the final document. To do so, it moves you up and down the levels of your outline. 7.16 Paste Paste removes the last Cut heading from the stack and inserts it at the current index. 7.17 Read [] Read causes the contents of a file to be inserted at the current index. The file should be a TOUR file, although ordinary text files may be read into empty sub-headings. If no is specified, TOUR will ask you if you want to read the last filename entered (Yes/no question). If you specify "no" it will prompt you to enter a the filename to read. 7.18 SCreen The SCreen command toggles TOUR between screen mode and line mode. The default is screen mode. If your are working in a section that won't fit on one terminal screen, you may want to turn screen mode off. 7.19 Subtrees Subtrees causes TOUR to display the sub-headings of the current sub-heading. It the current index is zero, Subtrees will display the sub-trees of every sub-heading in the current heading. 7.20 SUMmarize [] SUMmarize places text lines after the sub-headings of a heading. (Regardless of when the sub-headings are entered.) To use the SUMmarize command, there must be at least one sub-heading in the current heading. See the INTroduce command for details on text entry. 7.21 Top Top moves you to the top of the TOUR file. The current heading . 17 . TOUR Guide - Version 2.0 becomes "Contents" and the current index becomes zero. Top is used before a Write to save the entire contents of a TOUR file. 7.22 TYpe [] TYpe causes the contents of the file specified to be listed on the terminal one page at a time. If you do not specify a filename, TOUR will prompt you for it. The contents of the TOUR file are not modified. 7.23 Up Up moves you towards the top of the outline. The current heading becomes the current sub-heading. 7.24 View View works like List, but also displays text. It is used to interactively read a document. 7.25 Write [] Write causes the current sub-heading and its subtrees to be saved on disk. If the current index is zero, the entire outline SECTION is written instead. If you are not at the Top of the TOUR file, you will be warned that you are not saving the entire contents and will be asked if you wish to proceed. If a filename is not entered, TOUR will ask you if you wish to use the last filename entered. If you answer no, it will ask for the name of a new file. Review: The valid TOUR commands are: Append Back CHange Cut DElete Down Entire EXIt Help ? Insert Introduce List NEW Next Paste Read SCreen Subtrees SUMmarize Top TYpe Up View Write 8. Using ROFFTOUR The ROFFTOUR program is described in the separate document ROFFGUID.TXT. Refer to it for instruction. 9. Hints on outlining 9.1 Introduction . 18 . TOUR Guide - Version 2.0 Most people were taught to make an outline before writing. Typically, the points to be made are written on index cards and then shuffled around to make an outline. The outline is then examined and refined. More cards are added, some are consolidated into major points while others are expanded into minor points. You can use TOUR instead of index cards to make an outline. With TOUR you shuffle your outline on a CRT screen instead of on the kitchen table. On a 64k computer system, TOUR can maintain hundreds of outline entries. When you have finished your outline, it may be printed out for reference while you actually write. Some people embed their outline within their writing. The outline appears as chapter titles and section headings. Typically, the headings are shown with numbers to reflect their relationship to each other. Such a document is said to have decimalized headings. If you would like to have decimalized headings within your writing, TOUR can be of further assistance to you. TOUR stores outlines in ordinary text files. You may add paragraphs to this file, developing each point in your outline, with your favorite text editor. (TOUR itself is not a text editor.) When you are finished, the supplied text formatter, ROFFTOUR, can format your writting and supply the decimalized headings. TOUR does have a limited text entry capability. (It does not have text editing capabilies.) With it, you may associate text with any outline entry. This is kind of like writing notes on your index cards. When you use TOUR to shuffle outlines, it automatically keeps the text with the proper outline entries. Since TOUR is totally memory based, the amount of text it can maintain is severely limited. In terms of a final document, it works out to about 10 pages of single spaced text. TOUR includes all text entered in its output file. Again, you may edit this text with your favorite text editor. At any time when your document will fit into memory (including text) you may use TOUR to restructure it via its normal outline processing commands. Alternatively, you may use TOUR to interactively read your (10 page) document. Sections of interest may be quickly found in outline mode and read individually. I call this feature "touring a document" and it is the origin of TOUR's name. REVIEW: Use TOUR to create an outline. Add text with your favorite text editor or TOUR. Use ROFFTOUR for final formatting of the document. 9.2 Collect ideas as they come to you When you are first starting an project, ideas about it do not . 19 . TOUR Guide - Version 2.0 come prepackaged in neat outlines. That's okay. The most important part of starting a project is to collect your all of your ideas so that none fall through the cracks. Forget about structure to begin with. 9.3 Look for natural grouping After you have collected your first ideas and thoughts, look for a natural grouping. A chronological grouping is often used at the top of an outline. Sometimes, as when writing a technical reference, ideas are introduced according to increasing levels of complexity. Background and pre-requisite information is given first. Lower levels of the outline will expand upon or develop higher levels. Everything contained in one level of an outline should be of equal importance in developing that section's point. 9.4 Assign ideas to the natural grouping Take your original ideas and move them into your outline. If they don't fit, either your outline is inappropriate for your ideas, or (some of) your ideas are not necessary for the development of your point. 9.5 Fill in the blanks Examine your outline. Is it complete? If not add additional entries. Look for entries that need further expansion or research of supporting facts and ideas. This is normally an iterative process. It is critical that your outline be complete at each level. The reward for doing so is that you may then concentrate on each point individually without worring about "the big picture". 10. Limitations TOUR is totally memory based. If your TOUR file will not fit into memory, TOUR will read as much of it as it can. This is probably not very useful. Instead, try splitting it into multiple files. The program occupies about 25K of your computer's memory. On a 64k system, that leaves about 30K for your TOUR file. For performance reasons, TOUR is a memory pig. In addition to the text in your TOUR file the following overhead exists: every heading : 16 bytes every text line : 4 bytes TOUR is capable of managing a text document of approximately 4000 words. It is suitable for small reports and chapters of larger reports. This document represents approximately twice TOUR's capacity. . 20 . TOUR Guide - Version 2.0 Control C is not trapped. If you type control C, your session will be lost. Do not type control Z on the terminal. Doing so terminates input to TOUR, but not the TOUR program. Again, anything not saved will be lost. Beware of text editors which do not terminate each and every line (including the last) with a carriage return line-feed. WordStar is notorious in this regard. TOUR will not work properly with these files. Use non-document mode or use one of the public domain programs to remove all special characters from the file. CHanging and DELeting headings may cause memory fragmentation. If TOUR reports that it is out of memory, you may be able to get a little bit more in by writing the file, and restarting TOUR. When determining if a TOUR file has been modified, TOUR really checks its internal memory. So, if you simply Read a file and issue the EXIt command, TOUR will tell you that "the contents haven't been saved." Command words are not completely decoded. You may find that if you forget to enter a command, TOUR could think what you typed was a command anyway. For example, assume that the first heading you wanted to add to your outline was "Introduction". If you didn't type Append or Insert, TOUR would take your intended heading and execute it as a command. . 21 removͅ$%! 9^#V!͍%!"-!9^#V##^#V^!-S%m!l!9^#V##^#V#s{c*%#"%f*-#"-!x*-)!9~#fo^#VW !9s#rz³*-)!9~#fo^#V!z@!P!v-!9^#V_!P!v-!9^#V_!!v-K#!"-*- ͍%J!2*-2$+!9^#V_!*-#"-+2$+K#J!*-+"-2$+s!9^#V?!!W !9s#r*%|»!"-Ú*-#"-*- ͍%ʻ!!9^#V^Ó*%|!"-*-#"-*- ͍%*-2$+!! 9^#V^F!"-*-#"-*- ͍%F*-2$+!! 9^#V^!"-V*-#"-*-͍%w!!9^#V^Or can't open '%s' .. .. lst:w %s %s ͅ$!@!$@!Q@!@!@!@! Usage: wsenv [-label] file.ws where file.ws is a Wordstar doc in which the address is delimited by lines containing only '..' '-label' means print address on a label without vertical or horizontal ofsets (for shipping labels, etc) (it is ok to abbreviate '-label' as '-l' ͅ$!"-;*-#"-*- ͍%^!*-2$+s4ͅ$!!9s#r!9~#fo+s#r!͎%! 9^#V !9s!b%!9^! b%!9^!9~#fo#s#r+!9~#fosp!9^! S%!9^!9~#fo#s#r+!9~#fos!!9^#V!9~#fos!9^!S%7!9^#Vͅ$! 9! 9^#V!^ ͟ͅ$!9^#V"$(! 9! 9^#V!͟ͅ$*$(! 9^#Vv 8ͅ$!9N#F!"*(!9^#V"((!9~#fo#s#r+^"&(|ʟ *&(%S%~ !!9s!",(! ".(!'"0(!9^#V^"&(-S%7!",(!9~#fo#s#r+^"&(*&(0S%a!0".(!9~#fo#s#r+^"&(*&(*S%ʙ*((##"((++^#V"2(!9~#fo#s#r+^"&(!"2(!9~#fo#s#r+^"&('#^!+%*2( $*&("2(ß*&(.S%ʆ!9~#fo#s#r+^"&(*S%9*((##"((++^#V"0(!9~#fo#s#r+^"&(Æ!"0(Z!9~#fo#s#r+^"&(*&('#^!+%ʆ*0( $*&("0(B!"4(*&(lS%ʹ!9~#fo#s#r+^"&(!"4(*&(hS%!9~#fo#s#r+^"&(*&(m !"6( ! "6( !"6( !"6(*4(!9*6(*((ͣ !9"8(*4(*(("((Ì *((##"((++^#V"8(#"4(Ú *((##"((++^#V"&(*&(!9"8(sÌ ͺ%cL dos0 ux] !9*8(ͱ%"4(*4(*0(͎%ʭ *0("4(*,(| ÿ **(#"*(*2(+"2(#*4(͎% *.(`ic$S% !ø !"6( *6(#"6(*8(~2 *6(*0(͍%2 *8(#"8(+^`ic$S%/ ! *6(**("*(*,(|{ O **(#"*(*2(+"2(#*4(͎%{ ! `ic$S%x !H Ü *&(`ic$S%ʕ !**(#"*(ý**(!"&"&! 9~2&G+V+^+6"%+N+V+^!&w# y /w# !&>^)| g, s+= Z!G ~*%+"%w!& #2 *%E +6-0123456789abcdefͅ$)DM|k !! 9^#V! 9^#V̓ ͅ$! 9^#V?!&DMå `iDMx´ !"-!! 9^#VK# Ý ! ^#V! 9^#V":(S% !*:(!9^#V!s!!9^#V!s! 9^#Vͅ$!9N#F̈́ "<(b%ʀ !*<(+%"<(m `i~#fo+s#r!`in;%s!% ͺ%j j F *<(ͅ$!9N#F! ^#V`i^#V%E ! ^!+%ʹ !!`in+%s`i~# r! ^#V! ^#V! ^͂">(s%- *>(| ! !`in;%s!! ^#V`is#r*>(! s#r`i~#fo#s#r+^!+%ͅ$!>&! 9^#Vv ͅ$!9N#F`i S%ʬ ! 9^#V! ͻ S%ʬ !! 9^#Vͻ ͅ$! 9N#F! ^#V`i^#V% !9^#V!+%͹!9^#V`i~#fo#s#r+s!+%ͅ$!3&DM`i&%>`i DM?ͅ$!9N#F!"@(`i~ʬ! ^!+%z!͹"@(! ^f*@(;%"@(! ^!+%ʬ! ^#V1!!! s*@(ͅ$!9N#F!".'! ^!+%!! ^!+%N! ^#V`i^#Vͱ%"B(*B(! ^#V! ^wS%N!`in;%s!`is#r! s#r!! 9^#V!S%ʅ!`in+%s!`is#r! s#r!`i~#–r! ^#V!S%!! 9! ^wS%'! 9^#V! ^#V`is#r! ^#V! ^#V! s#r!`in;%s! 9^#V`i~#fo#s#r+s!+%ͅ$!3&DM`i~X`i DM&%U!4!`is#r! s#r! s#r`iͅ$!9N#F! ^͂ʨ!! s#r`i! s#r!ͯ"D(|ʎ!! s#r!`in;%s*D(! s#r!$(s# y*"-*&"-&ͅ$!!(!$!:o&+%(s!"R(!(DM!")*)͍%`i^! S%`i^! S%ʇ`i#DMc`i~`i^!>S%ʥ!")ù`i^!<S%ʖ!")`i#DM^! S%`i^! S%ù`i")`i#DM~`i^! S%`i^! S%!`i#DM+s*)f*)|;!*)")K!*)")*)S%ʓ!!̓#*)!͟#!!͟#!! !! `i*)#")+)R(s#r`i#DM~`i^! S%`i^! S%!`i#DM+sêV!R(*)! Can't open file for redirection: $ͅ$*.'c$!DM`i ͍%K`i#DM+f1!9~#n!!+%n!rA:$$$.SUBͅ$!"-!ͅ$!con:CON:lst:LST:prn:PRN:pun:PUN:rdr:RDR:ͅ$! 9^#V!! 9^#Vͅ$!&")!")*)")*)#")*) ͍%2*)^#V!|S%<!"-!!H'DML`iDM`i~#m!9^#V`i^#VK#mD! ^#V")! 9^#V!+%#")*)+%ʮ*)^*)s{®!"-!*)+%*)#^*)#s{!"-!! ^#V*)s#r*)##^*)##s*)###^*)###s!*)s#r*)!9^#V!9^#V!9^#V*)^#Vc$! 9!͍%b!|*)s#r!*)ͅ$!9^#V!͍%Œ!9^#V! ͎%ʖ!"-!!9^#V)))&DM! ^#V! ^#Vc$!9s#r!! s! s! s`is!|! s#r!9^#Vͅ$!)DM`i'DM`iT*%`i%~'!"-!! 9^#V!"T*S%K!"-!*T*S%]#"T**T*&#! 9^#V!+%!!!!S%! 9^#V!+%ʵ!!S%!"-?#!! 9^#V!+%S%!"-?#!!!! s#r!# s!$ s*T*!& s`i!9^#V!s#r! 9^#V!+%#!% s![!9^#V!s#r! 9^#V!+%T&?#!ͅ$!9N#F!!!!% s!ͅ$!9^#V)))&DM! 9^#V! 9^#V! ^#V`i^)'^#Vc$ͅ$!DM!9^#V"V**V*&^&#*V*$~B*V*$^!ͱ%DM! 9~#fo%%! 9^#VBK! 9^#V*V*B?#!! 9^#V`iͱ%%"X*|ʖ*X*! 9^#V`i*V*͜"Z*|ʖ?#*X**Z*ͱ%%PY*X*%PYDM`i! 9~#fo%! 9^#V`iͱ%! 9^#V`i*V*?#`i?#! 9^#Vͅ$!9N#F!! 9^#V! 9^#V!$ ^!$!$ ^! 9~#fo+%!$ s{Z`i!~#fo#s#r!ͅ$:]*!}2\*!}2^*}2]*!\*! !! !!:^*o&S%ʱ!}2]*!:'o:]*o#}2]*&\*#s!"^+:]*o&DM! 9~#fo͎%! 9^#VBK! 9^#V*^+\*$`i*^+"^+`i:]*oͱ%}2]*`iͅ$! 9N#F!"`+>*`+#"`+*`+! 9~#fo͍%s!9^#V!`i#DM+s!S%s7*`+ͅ$!9^#V)))&DM! 9^#V! 9^#V! ^#V! ^)'^#Vc$ͅ$!DM!9^#V"b+*b+&^&#*b+$~9*b+$^!ͱ%DM! 9~#fo%! 9^#VBK! 9^#V*b+9?#!! 9^#V`iͱ%%"d+|ʚ*d+! 9^#V`i*b+ͤ"f+|ʚ?#*d+*f+ͱ%%PYDM|—!`i*d+%PYDM`i! 9~#fo%! 9^#V`iͱ%! 9^#V`i*b+?#`i?#! 9^#Vͅ$!9N#F͍%!! 9^#V!$ ^!!9^#V$!"!"-|I!!$ ^! 9~#fo+%!$ s{{`i!~#fo#s#r!ͅ$! 9N#F! 9^#V"h+*h++"h+#|`i^! S%ʿ! !!`i#DM+^!!×! 9^#Vͅ$! 9N#F! 9^#V"j+*j++"j+#|`i#DM+^! 9^#V!! 9^#Vͅ$!9N#F!#!`i!~#V!!$ s!`i!~#fo+s#rs!!"l+*l+%ʦ*l++"l+^!b%ʣ*l+#"l+æy*l+!$ s!S%`i!~#fo#s#r!!$ s!ͅ$!"n+ͅ$!9N#F*n+PYb%!! ^#V*p+b%~!!!!!!"-S%@*-S%b!"-!!!#!"n+!*-|n!`i"n+!! ^#V"p+!ͅ$!9^#V)))&^ͣ$!éͣ$"*(!"(*(*(!4#4*!(+"!(}ªo&"-*!(ͅ$!9!29^#V!DM&#!9!!DM?#`iS%>!"-!!ͅ$!9N#F! ^#V+))"z+1!! 9^#Vͯ"x+|ʫ*x+PYb%ʫ! 9^#V*z+%ʗ*z+ß! 9^#V*x+$*x+ͅ$!9^#V###%#"~+*v+"|+|!r+"|+"t+"v+*|+##^#VBK`i"|+! ^#VBK! ^#V`ib%Y ! ^#V`i^#V))PYS%Y ! ^#V^#V`i~#fos#r! ^#V##^#V! s#r`i^#V*~+% `i^#V*~+S%ʉ ! ^#V*|+##s#r *~+))PY"v+*v+*|+##s#r! ^#V*v+##s#r`i^#V*~+ͱ%*v+s#r*~+`is#r*|+"v+!! s#r`i`i*v+S%-!!"DMS% !!!`is#r!! s#r`i1!*v+DMͅ$!9^#V!"+*+##~#T!!*v+DMe!! ^#VBK`i*+%„!! ^#V*+%ʸ!! ^#V`i%ʵ!*+PY%¸!! ^#V*+%¸!\!! ^#V*+##s#r*+! s#r`i"v+!ͣ$!ͣ$*(DM*(og!9N#F#^#V " ""kb6#> 6 #=">6#=$" "E"0_zW/"/O"R" : >}" Aڸ"[n"@z"aڸ"{Ҹ"`w# .ʘ"ʱ"ʀ"Ϳ"w#Á"{o|g ʱ"Ϳ"w#¢"&jz!|*" >?a{ 0:"7!9^#V*&#*-}|#*&"&|!=!9}_|#W"-ͣ$ o&ͣ$ 2':( _ͣ$ :'_!9_#!9F+N+V+^+~+ngx}#}#}## h#og!9V+^+~+ngwʛ##Ð#|!9ó#!9F+N+V+^+~+ng対##ý#x#w## #w|!9~#fo###}!9^#V#N#F#nx$s# $! 9F+N+V+^+~+ngM$1$}M$a$ A$++w xA$ɯW$~# xW$DM!99`ic$|DM!99!}$`i~# x˜$!9$(~#¹$!$$|DM!>))$ =$}{_%|%|7g}o${_%)%}{_%|g}o%|g}o|/g}/o|g}o|g}o|l%]%}]%|l%!}l%|]%!}|%}|?>o&zo&|%}|>o&|o&}/o|/g#}}o|gBK^#Vz%#y%###%#x%#~#fo}|>?o&}|>o&rr+ww+a a+ xx+-???????????||||||||0'0'6'6'6'6'6'6'<'<'B'|^! | 00000 @@@@@@@@@@@@@@@ @@@@@@@ @@@@@ @@@@  WSENV.DOC Program to print envelopes from address in a WS document. Author: Blake Hannaford Date: May, 1985 WSENV i littl progra t sav tim i busines correspondenc usin WordStar Th purpos o th progra i t avoi typin th recipient' addres twic whe sendin busines letter First writ th lette wit WordSta a usua excep yo shoul pu line containin onl ".. abov an below th address a follows: Date, etc., here (This is where you put .. in columns 1 and 2.) President Ronald Reagan The White House Washington, DC (This is where you put .. in columns 1 and 2.) Dear Ron: I wish to complain about ... Th ".. line wil no b printe whe yo prin you letter bu the wil tel th WSENV progra wher th addres is Afte yo hav printe you lette a usual exi WordSta an pu a envelop i th printe wit th prinhea positione al th wa u i th uppe lef corne o th envelope Th envelop shoul b rolle hig enoug fo th pape bai t pres agains th fol lin o th envelop flap Then i you documen i name "REAGAN.LET" type: A>wsenv reagan.let an th addres wil b printe i th appropriat plac an th envelope will be ejected. Wha i ɠ a usin larg envelop o packag an a adhesiv label Simple Jus pu labl int th printe wit th prinhea agai i th uppe lef corner type: A>wsenv -lab reagan.let an th addres wil b printed thi tim withou th horizonta and vertical offsets needed for an envelope. Hardwar note Th progra work wit printer connecte t the parallel port only. *"!{/_z/W}$L*.|g"*|}>":O WW!q#w# Mw!"!"!"*"!"!"! "!"*"!" :O1d* XCCP Version 1.0 for CP/M-80 Copyright (c) 1984 Anton R. Fleig This software may be used for non-commercial purposes only. No commercial use of XCCP may be made without the author's express written permission. $:2*"!1&.6>*"{/_z/W*"::ʉ!(# !# *w *w#w#"*w#"og""{/_z/W*|t*|Zt***s#r#"***s#r#"**:š:ʡw#Ìéé*** XCCP V1.0 - COPYRIGHT (C) 1984 A. R. FLEIG ***"::ʉ!(# !# *w *w#w#"*w#"og""{/_z/W*|t A0-> $ XCCP-Disk reset $ $FFFFFFFFCOM!"[#"i"k1Ny2*#^q#Vp"_ 1N:M >2_22N N > N \$N ]>  N m>  N 2Z2c!"a:2`*["e:U _:ZcS{=28 ʤ#~W;:_v2Z2c"eC:_2_ä:ʤ.ʤ ʤ=ʤ ʤ"["]! :ZOG ~2Z#N! 4;Zü&1<\ \l :c2g*l:gG:c<2g :c<2ce2_C!c4:Zc@*]|*aw#"a!4@*e#~Ao:c<2c+Ä@2=G:`2`:c#~0GG:c#~0G:`2`:_2_C @*e#~@2\C J*e#~@2lC J:c:_2_:`2C @ J:c2g] J:c2gm Je Ju J!c4*]*[C?G _x_   >2^ .&"[ 2] @:`M@_aðÔ:Z:`22`MÒ:M:] E  :] O .& 1y:_2_:g.:_ʶ> :2>W ¼:^ =2^  >2^ ~ # G:_x  _*e#:cC " H# O~*1 >?N C ; >?N # # 2c*["eN P !"[>2_"k"ir a { *k¨ C r +"kr ¶ _÷  < r ^#"kr   :=r 2< +"k"i r  :Y 2Yr <2Yr *  m  r 6 2U  ʊ  o < ^ ^#"kK w:<2> 2_ r < ʟ _:Y s#"kr s#"k r w#"k"i_:<2r L :_2_< C :<2*i#"i*k#~+w#C *i+"i r  Q:O !^#   < C ) *i*kO|y}y:aOGʅ <2b!a 6!a w:b=~ 2bi y2a2c!a :cOG >!a ʣ × y2c !a ~2b< = !a ~:b= 2bü P5!a :cOG >!a y2cì *#*_ }|*":GA2RxG - G>1. 2Sx02T:_GK 2!"[xV d xd :`Mx2  .&" £ * " Ä :M  1N1N: >2Mn  :2c cc!ccc  ! $0c$Hc0c$$'0 <Hc00*HcHc<<-HHHcHH XCCP-No match found$ XCCP-Command syntax error $ XCCP-Command not found $ X C C P Version 1.0 An Extended Console Command Processor for CP/M-80 1.0 INTRODUCTION XCCР i substitut consol comman processo (CCP fo Digita Researc Inc.' CP/M-8 operatin system XCC provide additiona function no provide i th "stock CP/ CC a th expens o th los o smal portio ( Kbyte o th transien progra are (TPA) Th memor los i thi wa i no usuall importan o system havin 64 byte o memory. 1.1 ADDED FUNCTIONALITY XCCР provide th followin feature no provide b th distribute CP/M CCP. 1.1.1 COMMAND RECALL U t approximatel 24 character o previou command ma b recalled for re-issue with a single keystroke. 1.1.2 COMMAND LINE EDITING Bot recalle command an newl entere command ma b edite usin curso contro key an dua mod (insert/overstrike characte insertion. Characters may be deleted anywhere on the command line. 1.1.3 COMMAND RECOGNITION lis o possibl command o filename matchin partiall type comman lin ca b displaye wit singl keystrok withou destroyin th curren command N mor abortin comman t lis you director becaus yo forgo a obtus filename. I n comman ha bee started lis o al possibl command tha may be issued from the current user area is displayed. 1.1. COMMAN COMPLETION I partiall type comman ha onl singl possibl matchin comman o filename th res o th comman ma b fille i o th comman lin automatically i mos case eliminatin th nee t typ lon command ou i thei entirety. 1.1.5 WILDCARD RECOGNITION Filename o th comman lin ma contai wildcar characters an wit singl keystroke al possibl matche ca b displayed Thi i useful fo example i yo hav forgotte th fil name bu remembe th fil type I onl on matc i found i i inserte o th comman lin i plac o th wildcarde filename. 1.1.6 MULTIPLE COMMANDS PER LINE Multipl commands u t 12 characters ma b issue o singl comman lin fo sequentia executio b separatin th individua commands with a special delimiting character. 1.1.7 AUTOMATIC SEARCH OF DISK A USER AREA 0 I comman i no foun i th curren use area use are o disk A is automatically searched. 1.1.8 DISK AND USER SPECIFICATION Changin use are an dis ar accomplishe wit th sam syntax eliminatin th nee fo th cumbersom USE command Additionally use numbe ma optionall b include i th comman (wit o withou dis designator) causin tha use are t b searche fo th comman instea o th curren use area. 1.1.9 NO INVOLUNTARY WARM RESTARTS Retur t th CC fro a applicatio progra i muc faste unde XCCP sinc war restart ar onl performe upo use request control- ma b entere a an time eve i th middl o comman line resettin th dis syste withou disruptin th comman i progress. 1.1.10 EXIT TO STANDARD CP/M CCP singl keystrok return contro t th standar CCP althoug thi i unlikel t b desirabl excep whe i i necessar t perfor SAVE operation. 1.1.11 USER NUMBER DISPLAYED IN PROMPT Th curren CP/ use are numbe i displaye i th XCC promp a constant reminder. 2.0 XCCP COMMANDS T invok XCCP simpl typ XCC a yo woul fo an CP/͠ program Optionally a XCC comman lin ma b include i th invocation. Example: A>XCCP B15:;FIND MAST.LST MDM712 2. RECOGNITION AND COMPLETION Th ES (Escape ASCI 2 decimal ke ma b use wheneve yo ar unabl t recal th exac spellin o comman o filename o simpl t avoi typin lon command o filename i thei entirety Afte ES i entered th character o th comman lin betwee th curso an th firs preceedin spac ar use t searc fo matchin fil o th appropriat dis an use (Dis A use i searche i th character bein use fo th matc ar th firs wor o th comman line) I mor tha on fil i found th matchin file ar listed an th comman redisplaye fo use action I onl on matc i found th comman i fille i wit tha fil o command Th curso i lef a th en o th command fo furthe use input. You may hit RETURN at this point to issue the command. 2.2 COMMAND RECALL Command ar maintaine in circula buffe i memory Tha is whe th en o th lis i reached th nex comman displaye wil b th firs on again Th WORDSTA arro key (^ fo uparrow ^ؠ fo downarrow ar use t mov abou withi th recal comman buffer Th uparro wil redispla command issue befor th displaye command whil th downarro wil displa command issue after th comman currentl displayed I bot cases i th en o th buffe is reached, the cycle simply starts over. If afte perusin th recal comman buffer yo can' fin th comman yo want an non o th one ther ar clos enoug t warran editing yo ca cance th currentl displaye comman wit ^U. 2.3 COMMAND LINE EDITING Th WORDSTA arro key (^ fo leftarro an ^ fo rightarrow ca b use a an tim t mov th curso abou o th comman line Onc th curso i positioned character ma b entere i eithe overstrik o inser mode Th initia mod i overstrike Th ^ ke i use t toggl th editin mod betwee overstrik an inser (a i WORDSTAR) Whe th curso i no a th en o th comman line bot th delet an backspac key wil remov th characte whic i a th curso position appearin t "gobbl up th comman lin t th righ o th cursor Whe th curso i a th en o th line thes key remov th characte t th lef o th cursor allowin eas deletio o mistype characters. 2.4 MULTIPLE COMMANDS PER LINE Multipl command ma b entere o singl lin b separatin th command wit semicolo character Whe th carriag retur i struck th command wil b execute i th orde issued Ther MUS NOԠ b an space betwee th semicolo an th character o eithe side of it. 2.5 DISK/USER SPECIFICATION I dis and/o use specificatio o th for du i prefixe t comman (th firs wor o th comman lin o afte semicolon) th specifie dis and/o use are i searche fo th .CO fil befor A0: Eithe o bot th dis lette an use are numbe ma b include i th comman thi way Fil specification o th comman lin MUS NO hav use are numbers althoug dis designation ar allowed a i CP/M' standar CCP. Example: A6:WS C:TEST.DOC is acceptable to XCCP, while A6:WS C2:TEST.DOC is not. I th du designatio i entere alon o comman line th defaul disk and/or user area is changed. 2.6 WARM BOOT Th effect o CP/ war boo ma b achieve throug th us o CTRL-C Thi result i rese o th dis I/ subsystem an i likel t b necessar afte changin flopp disks Thi functio i normall don o mos progra exits resultin i dela i retur t th CC prompt B makin thi functio use requested retur t th CCР promp o progra exi i muc faste wit XCCР tha wit th stoc CCP. 2.7 EXIT TO CP/M CCP Enterin CTRL-٠ i respons t th XCCР promp wil restor th original CP/M CCP. 2.8 COMMAND CANCELLATION A entir comman lin ma b revoke befor issuanc wit th ^ character. 2.9 WILDCARD USE Th wildcar translatio featur o XCC ma b use t determine befor executio o program jus whic file wil b affecte b command Fo example i th comman ERAS *.HE wer terminate wit a ES rathe tha carriag return lis o th file whic ar abou t b delete woul b displayed allowin th use las chanc t abor th comman befor issuin th carriag return. Not tha incomplet fil specifications suc a T*.A ar treate a i栠 the ende wit wildcard (T*.A*) du t XCCP' comman recognition/completio algorithm Thus i thi case mor file tha wil actuall b affecte b th comman ma b displaye (e.g bot TEST.A and TEST.ASM would be displayed). 3.0 LIMITATIONS AND CONSTRAINTS numbe o feature o th standar CP/ CC wer lef ou i thi firs versio o XCC i orde t avoi increasin XCCP' siz beyon wha coul b easil tolerate i 6 Kbyt system 3.1 NO SUBMIT Th CP/ SUBMI comman wil no functio unde XCCP Us ^ t exi to the standard CCP before using SUBMIT. 3.2 NO SAVE Ther i n SAV comman i XCCP Us ^ t exi t th standar CC before using SAVE. ^Y does not alter the contents of TPA memory. 3.3 NO BUILT-IN COMMANDS Th CP/͠ CCP' command DIR REN ERA USER an TYPŠ ar no availabl i XCCP Transien program ar include wit XCC t tak th plac o RE an ERA USE i superscede b superio facilitie withi XCCP an grea numbe o DI an TYP program ar availabl i th publi domain. 4.0 VERSION 2.0 Versio 2. o XCC i expecte t includ CP/M-compatibl SUBMI facilit (al you existin .SU file wil work wit additiona feature suc a interna variables conditiona branching an neste procedures Als planne fo V2. ar I/ redirectio (lik UNI an MS-DOS' < > an operators) ke redefinitio (a i QwikKey Smartkey etc.) an hierarchica director support Thes additiona feature wil no increas th siz o XCCP sinc the wil b implemente a overlays Th function chose fo implementatio i overlay wer chose wit vie towar whic function acces th dis i an case an thos function whic ar th leas utilized.  ar th leas utilized. 6  COMMAND RECALL ^E (uparrow) recall previous command ^X (downarrow) recall subsequent command COMMAND EDITING ^S (leftarrow) move left in command line ^D (rightarrow) move right in command line ^V toggle overstrike/insert mode ^H (BS) or DEL delete character ^U cancel unissued command MULTIPLE COMMANDS - Separate with semicolon (;) TO CHANGE DISK/USER - du: (D=disk, U=user; either or both) RESET DISK SYSTEM - CTRL-C RETURN TO CP/M CCP - CTRL-Y *"!{/_z/W}$L*.|g"*|}>":O WW!q#w# Mw!"!"!"*"!"!"! "!"*"!" :O1d* XCCPNO^Y from XCCP-CP/M80 v1.0 Copyright(c)1984 Anton R. Fleig This software may be used for non-commercial purposes only. No commercial use of XCCP may be made without the author's express written permission. $:2*"!1&.6>*"{/_z/W*"::ʉ!(# !# *w *w#w#"*w#"og""{/_z/W*|t*|Zt***s#r#"***s#r#"**:š:ʡw#Ìéé*** XCCP V1.0 - COPYRIGHT (C) 1984 A. R. FLEIG ***"::ʉ!(# !# *w *w#w#"*w#"og""{/_z/W*|t A0-> $ ^C-resets disks $ $FFFFFFFFCOM!"[#"i"k1Ny2*#^q#Vp"_ 1N:M >2_22N N > N \$N ]>  N m>  N 2Z2c!"a:2`*["e:U _:ZcS{=28 ʤ#~W;:_v2Z2c"eC:_2_ä:ʤ.ʤ ʤ=ʤ ʤ"["]! :ZOG ~2Z#N! 4;Zü&1<\ \l :c2g*l:gG:c<2g :c<2ce2_C!c4:Zc@*]|*aw#"a!4@*e#~Ao:c<2c+Ä@2=G:`2`:c#~0GG:c#~0G:`2`:_2_C @*e#~@2\C J*e#~@2lC J:c:_2_:`2C @ J:c2g] J:c2gm Je Ju J!c4*]*[C?G _x_   >2^ .&"[ 2] @:`M@_aðÔ:Z:`22`MÒ:M:] E  :] O .& 1y:_2_:g.:_ʶ> :2>W ¼:^ =2^  >2^ ~ # G:_x  _*e#:cC " H# O~*1 >?N C ; >?N # # 2c*["eN P !"[>2_"k"ir a { *k¨ C r +"kr ¶ _÷  < r ^#"kr   :=r 2< +"k"i r  :Y 2Yr <2Yr *  m  r 6 2U ʊ  o < ^ ^#"kK w:<2> 2_ r < ʟ _:Y s#"kr s#"k r w#"k"i_:<2r L :_2_< C :<2*i#"i*k#~+w#C *i+"i r  Q:O !^#   < C ) *i*kO|y}y:aOGʅ <2b!a 6!a w:b=~ 2bi y2a2c!a :cOG >!a ʣ × y2c !a ~2b< = !a ~:b= 2bü P5!a :cOG >!a y2cì *#*_ }|*":GA2RxG - G>1. 2Sx02T:_GK 2!"[xV d xd :`Mx2  .&" £ * " Ä :M  1N1N: >2Mn  :2c cc!ccc  ! $0c$Hc0c$$'0 <Hc00*HcHc<<-HHHcHH Nothing close found$ You blew it--syntax error $ No such command here.. $ XCCPNO^Y.COM: AN ENHANCED CCP + RCP/M SECURITY MADE EASY RCP/M sysops go to extraordinary lengths to protect their systems from CP/M's potentially dangerous resident disk-writing commands ERA, REN and SAVE, including surgical removal of the commands with DU or equivalent, using the ZCPR2/3 WHEEL byte, ad infinitum. In writing his innovative CCP enhancer, XCCP.COM, Tony Fleig has (intentionally?) provided an extremely simple method of accomplishing this goal. As Tony has forthrightly explained in the XCCP documentation, the ERA, REN and SAVE commands, along with batch command processing utilities like SUBMIT and EX14, simply will not run when XCCP is loaded - as a matter of fact ERA and REN utilities were distributed in XCCP.LBR. To facilitate SAVE and batch operations, the user can drop out of XCCP into the standard CP/M (or ZCPR*) CCP by entering a control-Y. XCCPNO^Y.COM is an exact (I have changed a few error messages, but that's all) replica of XCCP.COM with this capability removed so that a remote user cannot have access to dangerous commands - even the sysop must cold-boot the system to exit XCCP! As Tony has not distributed the XCCP source code, the modification was accompished with EDFILE, so there could be ramifications to this hack that I haven't encountered - although everything else seems unaffected so far. Someone more skilled than I could probably make exit from XCCP a passworded function to enable remote co-sysoping, but that is just as easily accomplished by putting XCCP-compatible utilities in a passworded user area. XCCP's sophisticated features, including `DU' drivespec with auto-search of drive A user 0, a circular buffer for recalling previously issued commands, WordStar-like command line editing with character insertion toggle, multiple command line, and disk reset with no effect on a yet-to-be-issued command, can be a real improvement to the RCP/M environment without being so different from "vanilla" CP/M that inexperienced users will panic. Pick up XCCP.LBR for more details on the program's operation. Accidentally reinvoking XCCP will hang the system, so make XCCPNO^Y.COM a SYS file with an unlikely name, or better yet, put it in a private user area or password it with PASS30 or equivalent - serious security freaks can load it from a floppy and then remove the disk. Have fun with Tony's fine program! Bruce Morgen 10/4/84 10/5/84 - found and fixed a bug caused by my fooling with error messages.