IMD 1.17: 5/01/2010 21:48:40 express 1.0 full screen editor 1985 cecil & laine stump md2 ECONFIG COMXTERM DAT EXPRESS OVL( E COM FEATURESTXTJCRC COMEXPRESS1DOCh !"#$CHEATER DOC%&DIF MKT'MX -()*-README "+,-EXPRESS2DOC@./0123456789EXPRESS3DOCq:;<=>?@AEXPRESS4DOCZBCDEFGEXPRESS5DOCHIJKLMNOEXPRESS6DOC_PQRSTUCRCKLISTCRCVÀ(c) 1984 Cecil & Laine Stump BigBoard =  ER~PP+|.P !)19AIQ1H *C ^#V#"C ^#V#*C "C *E s#r#"E ܬ*E +V+^"E "C ^#V^}ʰ}°} }(Å ÆRÆ!RÆ,>80T])= ÅG!{ +!z8#)R0#:ÆEER8Å{_zWÅ{_zWÅ{_zWÅ{_zWÅAy'(8# G:Å>*C ^#V#"C Æ>} ^Å)sÆ1^#VÅ:s#rÆD^#V r+sÆTywÆ l lnx( x({T]wÆÆsÆyʆÆ +T] +yʆÆ*C ^#V#"C Å*C ^ÆÅÅÅÆÅ*C ^#"C )9^#VÅÆ'!9Æ1Æ8!9!H R,ÆM1H ÆU*E 3"E Æd*E ."E År*E .Å}[E Å"E Æ*E ."E ÆÑ*C ^#V"C Æ*C ##"C Æ} }(8HPx 8 8*E .y(.3Æ+V+^s#r#:B Å8Rx^B($8ÅjB0ÅPP*E 3PY3"E Æ*E ..33Æ*E .|.8R8 *E .3ã*E ++++"E ðC>ʆ^#Æ'C>ʆ^{ 0) <͎E͎S͎C͎>1^͎>@_$ ^͎?8\րW 0/>@W͎Z͎#Æɗ%bS"  " >" \S  q S'p b'  P , _  "cp   %{ͦ_Åa{ɱ{ͺ_ÅA[ ɗ    R '/ B EXPRESS 1.0 Full Screen Editor Configuration Program (c) 1984 Cecil & Laine Stump "  erminal Installation, ommand Installation, efault Parameter Selection, xit "  5 E X Q T>CD _SWpW=/ "0xS9b ? (Y/N) "  Y8N8 Please Answer the Question (Y/N) "Y8N ' ''Y+,\++ /+'T+,\T+\T+ T+jqT+'T+ 8S 8 / p  8 ,\ ' 8 ,\ ' Sequence "  Is This Definition Correct"  Do You want to Try Again" & Choose One of the Following:"H 8 P,x, _F  &(!' Do You Want to Modify the Definition Before Instaat the editor is in insert mode. Usually commands to change the shape of the cursor or turn on an LED indicator, etc. are best. If nothing like this is available on your terminal, leave them blank. INSERT MODE ON INDICATOR",/ INSERT MODE OFF INDICATOR",/ Number of LINES in DISPLAY (Decimal) " Number of COLUMNS in DISPLAY (Decimal) " Is There AUTO-CR on END of LINE" HIGHEST DISPLAYABLE CHARACTER for this Terminal " N* The following are commands that can be executed while in EXPRESS's 'Edit' mode. You can change the character sequence that causes each command to be executed by simply typing the characters you want to correspond to that command. If you are satisfied with the current sequence for a command then just hit (^M) to accept it, If you are not then type the key (or keys) that you wish to execute that command, followed by . Use the RUBOUT key (DEL) to correct mistakes. If ^M or DEL need to be inc     Bp S 7  C  /*    U }! F+( -(0 880! so&! ~ =w! q.eÅ ' E 8      /}    /} h /*  }0:8_Å zʅ+~ ( z Å   8M S b 8  '  p   %  (_Å   Æ_Å,  2 8 > D J P V \ b h n t z Å     ! " # $  (   I I llation"& *& () d&*) 0) RETURN TO MAIN MENU ",, pp) % "p ~,CREATE NEW DEFINITION " 8 ) "  Terminal Name " / Terminal Initialization String "6,/ Terminal Reset String "E,/ CURSOR POSITION LEADIN"T,/ CURSOR POSITION SEPARATOR"[ / CURSOR POSITION TERMINATOR"` / Column First"m HEX OFFSET to add to LINE "s HEX OFFSET to add to COLUMN "p ASCII CURSOR ADDRESS"ge~ BCD (Binary Coded Decimal) CURSOR ADDRESS"j CLEAR SCREEN and HOME CURSOR"t/ CLEAR TO END OF SCREEN",/ H CLEAR TO END OF LINE",/ H INSERT LINE",/ H DELETE LINE",/ H The next two commands are not meant to be the commands that put your terminal in and out of insert mode. They are merely commands that indicate somehow on the terminal thluded in any of your commands then type different keys when you are asked for 'rubout' and 'return' keys. " Ignore Upper/Lower Case"  'Rubout' character while entering these commands >"  'Return' character while entering these commands >"  e , ,  _c Okay, we'll start over then. "n* ,/ / Kq5 ''5 q ',/,/,/ ,8  ''S,/E5 pA 95 5 b,/hq k5 5 QYour entry is ambiguous with: "Please try again..."  ,/+85 +A 5 5 + 8,\ p     ;+,  ,K ,e+,,!,,!,+' +'+ Command "  CURSOR RIGHT CURSOR LEFT CURSOR DOWN CURSOR UP TABBACarily Terminal Dependent, but they may be user dependent. All of them have default values. If you wish to change one of the defaults then type rubouts (DEL) to the beginning of the input line and enter the new value. If you are satisfied with the present value then merely type , (^M) to go on to the next parameter." "}" Okay, We'll try it again..."G"& INITIAL COMMAND MODE on Entry to Editor" DISPLAY COMMANDS When in Command Mode" INSERT CHARACTER Mode ON" ENTRY Mode ON" INDENT (Left Margin) " WRAP COLUMN (Right Margin) " Does TAB key insert a TAB character? (or just spaces)" Does in ENTRY mode split the current line at the cursor" Can delete a carriage return/linefeed" Do next word/prev word commands recognize punctuation" AUTO-SCROLL SPEED " +'++% Character to Indicate CONTINUATION LINE "  Character to Indicate BLOCNO ROOM in Terminal Data Base for This Definition !! ",,',) d ' (&*p/p/bSSb p/p/bSSb S*b} * ,  * ) ),KB&V,,, r T !,  *|,8< B&V,,, r Z %!, 4*< &%|/$,!,E0,&|,/ ,80,|,/r &r !, T *,8%|/$,!,}0,&0,|,/r %r Z %!, ,/h*0,< ,/,/~8&*!" /P+8 86   %p * /&+ 8*P+/ 8*^?/\   @Q\lE COMTERM DAT,,,   @Q\lE COMTERM DAT,KTAB NEXT WORD PREVIOUS WORDINDENTUNDENT  CARRIAGE RETURNSCROLL FORWARD ONE LINESCROLL BACKWARD ONE LINESCROLL FORWARD CONTINUOUSLYSCROLL BACKWARD CONTINUOUSLY NEXT PAGE PREVIOUS PAGECENTER LINE ON SCREEN% CURSOR TO END OF LINE/SCREEN/BUFFER%CURSOR TO START OF LINE/SCREEN/BUFFER CURSOR TO END OF LINECURSOR TO START OF LINECURSOR TO BOTTOM OF SCREENCURSOR TO TOP OF SCREENCURSOR TO END OF BUFFERCURSOR TO START OF BUFFER PARTIAL INSERT MODE ONTOGGLE FULL INSERT MODETOGGLE ENTRY MODE RUBOUTDELETE CHARACTER UNDER CURSOR DELETE WORDDELETE TO END OF LINE DELETE LINE UNDELETE WORDUNDELETE END OF LINE UNDELETE LINE INSERT SPACE INSERT LINE BREAK LINECONCATENATE (or REFORMAT) LINE REFORMAT LINE INSERT BLOCK MARKERDELETE BLOCK MARKER BLOCK MOVE BLOCK COPY BLOCK DELETE BLOCK KILL CONTINUE SEARCH/REPLACE'LITERAL NEXT (Insert Control Character)TOGGLE COMMAND/EDIT MODE& The Following are Editing Parameters that are not necessK MARKER "  Text Formatter COMMAND CHARACTER "  Minimum FREE SPACE after Disk Read (4-20Kbytes) "/}T+'T+T+,*8,% %, 8 DISK or DIRECTORY FULL !! CONFIG STOPPED." (,  &(,0,,0,j& COM file NOT FOUND !! Can't Configure... ,, X&,,V,,V,j&V,` %, \6 H! 8 INTERNAL ERROR, RANDOM READ. error code="%$,r 0,T r 0,T r 0,T 0,< %$,r 0,Z %r 0,Z %r 0,Z %0,< B&|,/r )V,&V, &|,/!, r V,&V, &|,/k)k)6 k)E k)Tk)[k)`k)ek)hk)kk)nk)qk)t k)k)k)k)k)k)k)k)k)k)k)k)k)k)k)|,/))6 )E )T)[)`)e)h)k)n)q)t )))))))))))))))B&|,/r )V,&V, %|,/!, r V,&V, %V,< +,9) ANSI[?7|[?7h[;HPP~PP Kaypro 10+ BACDB9CA= ERC8B8PPPP Visual 50=>Y ]JKLM~PP Bigboard PFM+C2B2= ER~PP08 :8 BigBoard Heath/Zenith 19 ANSI Kaypro 10+ Visual 50 Bigboard PFM+ BigBoard II Kaypro Kaypro MAX-884 BigBoard= PP~PPHeath/Zenith 19wvY EJKLMx4y4PP~PP!0ÅAP42r51A1Aw(A00B?(0AA AAWAG%A0A$Ad20A!10AA BigBoard II= YTER~PPAq*.7@/00.7@8T5NAl: A' @@9A@e11A@ 412%A@`40Kaypro= ER~PPAq*.7@/00.7@8T5NAl: A' @@9A@e11A@ 412%A@`40Kaypro MAX-884 B9BABB B9BACB= ERC9CAB9BA~PPAq*.7@/00.7@8T5NAl: A' @@9A@e11A@ 412%A@`40 Bigboard PFM+C2B2= ER~PP08 :8kK6hH A1 ARB'GD[LBH6HH{: V;.!BIBGDDB%E7 C8  C8 S 'C8 C8 B8B/B8B8B8S B8Bv 8A#f~H{:BH/(B/)DBBA&D)F)>HAAAAAPHA c ?BH{: /(&A $ /(;RHB/B File to Edit S B8S B8AA\AAAA|#A#BA'#A BB/B/6IFJ.!fIBB/B8DDDDI#IFS I%GBIB/B8B/B8DDDDc IS BA\AB$BI# %GJ#A "AA3#AB3#  J#FA B J#A EA A  &QUIT"/V S JA*FJ.!FJ.!B/B/?B8B/A2"fvJJBBLiB/c >B/B8B/A[B/B/A oJ8J#JB/A]AlB/A A2"B/B/B/BBB/ B8B/B/B8OCDD1 H GfGHSHH+JJG|A:9|G B#fBf GBApAlBS GB pAB'BJABA  J'B7 S J8JJ= HA JJ/JKA}*/J8A}J8J8S J8A}J'NA*AJS BJ% J+ Jc HJHIyHJJB_ JBJJA#yHJJBJIi?IHJA ByHJAV JBiJyHJJS iqIA /O A vA   JA vAIS V iqIJA#eIi_ MIqIsI:JO}8O![͟IA͟I['EÆɨI) "J!~ 0/+:J!ݦ (G:J݆O:J_"JÆJAdJAJKA HA.'JJA 8JJ9J.K|AS 7/JOJ|A<;+JJ"JJJJQAJJV JJS B+!O /1 A S '  //OB /k | ,:k files: bytes:k FREE entries: bytes:kMore on disk, Hit any keyB##B"#B"#B"#B##yC/}C/8AI8/A}A* B2"B B##B"#B"#B/B/B!H/ B//AI H/B//yC/yC8B8}C/XHyC8C8CB8}C/yC/c H/jATAv /A#HS CCyC/U yC8 &input keys>"C/QAJHXH^Y i f'H}C/oMII/IIIILII[}C/yC8 &translate to>"C/AJIXH c B/oI/XHIIXH Ixʅ~_>W#  c S ?I\L9CCAJCJ)J L'iS ['JV & "sJ)JiJ)J J/;)JV f WjA?NA? G/G/v 8B##B+BASource Error !v /G8lG#B"#+B"# {:%EA L7 B GG]A'%EB?8#7?/;U:. HdAeH9dAeHS ]A:H%E[Li%E A[GLGD& Type "& to Continue"9dA]H{: B##B|#ABAB/B/mAAY G@B/mA@c >o//CGClG#LCH i& characters. Delete"H/DB8B/iBBB/oVHB/ic X?B8B/oHS B/B/oH>pHD[c X?B8fHClG#c LDB8oHoH/[LB/B/oI/HB/ B/BB[-I B/D*mA@B/_ BBCGCHlG# &Type "& to Cancel"BLcBmA?B?8B6IE7?V S E7i NA?S ?JE7i NA?S ?NA?Jf CJJBIB6*JTAQAioBI/99dA?B##B"#B"#B"#lG#B##B/LB84Lc X?iiB/A]AliA}A* B2"B mA[c X?'J[B8B_ BBB##B"#B"#B/LDB84B/B/c B~!B8PK/ fJ[B8Z!Å*z ^#"z )9^#VÅÆ'!9Æ1!9! R,ÆF1 ÆN*| :"| Æ]*| 5"| Åk*| 5Åv[| Å"| Æ! *| "| ÆÑ*z ^#V"z Æ*z ##"z Æ} }(?OWS ?S ?*| 5y(5:Æ+V+^s#r#AB Å?YxeB($8ÅqB0ÅWW*| :PY:"| Æ*| 55::Æ*| 5|58R8 *| 5:è*| ++++"| ÷C>ʆ^#Æ[8L8"O :& "\  h{q_Åa{|{ͅ_ÅA[ ɗO V R '/V BS i l S V v Bi  i r /* l i  }!t F+( -(0 880!k so&!k ~ =w!n q.eÅo S 'ES ?o wo  r /}V ] _ r /}V or /*}0:8_Å81** _Å(_ Editing <> ! <> Search/ccc/ Line n ! #Wrap [On|OFf|n] Replace/ccc/ddd/ Page n ! #Indent n #LITeral [On|OFf] ! #Tabs [On|OFf|i|n1,n2,..] --------------------------!------------------------------------- <> ! <> BMove BCopy ! MDefine MSave d:fid.ext BDelete BKill ! MClear MRestore d:fid.ext BSave d:fid.ext BPrint !------------------------------------- INClude d:fid.ext ! <> --------------------------! Dir [d: [fid.ext] ] <> ! TYpe d:fid.ext #PRead [n] #BRead ! #ERase d:fid.ext End Quit ! #Copy d:fid.ext > d:newfid.ext New d:fid.ext SAve ! #REName d:fid.ext > d:newfid.ext QNew d:fid.ext Head ! LOg d: ---------------------------------------------------------------- & ? (Y/N) "9fY?N?À(c) 1984 Cecil & Laine StumpKaypro=  ER~PP+|.P !)19AIQKy1 *z ^#V#"z ^#V#*z "z *| s#r#"| ܬ*| +V+^"| "z ^#V^}ʷ}·} }(Å ÆRÆ!RÆ,>80T])= ÅG!{ +!z8#)R0#:ÆEER8Å{_zWÅ{_zWÅ{_zWÅ{_zWÅAy'(8# G:Å>*z ^#V#"z Æ>} ^Å)sÆ1^#VÅ:s#rÆD^#V r+sÆTywÆS lf lnx( x({T]wÆÆsÆyʆÆ +T] +yʆÆ*z ^#V#"z Å*z ^ÆÅÅÅÆ   Æ_Å!  ' - 3 9 ? ÅJ     Q lGx GY ff^V HA&v / v 8 f  ( >(&q #q[0A8~" >"# ##>"# N#FÅLINE"+PAGE"vSEARCH"^REPLACE"LITERAL"END".FSAVE"#7'k #Å#~:( ͭ$(#O~:(IqA8BQ0>@wN$#~:()0 0&O#~:(0 0GyO0 #~: q$#ÅX$#͐$.(ͭ$(͐$ͭ$ ͭ$ ÅÅ qͭ$( *(w#?q#!$ . =<>:;,[]/$N$F#y :A<@x 8/ 0 Oxy0>:I EUSTOT EF~e FT EesFLS NE \f3 SW HAENTFtc  DAEI DONT EC   DPEWHAA y6xkEADA DE DTOF YC  YA DD  hi  SO Fesv3NTOF SA DB NB ]#*s2 EO Fv3NISS YP J#Osv3NM YBEP DBYS  GAAC KORM teRF R TOT EASLDB Yi'NRB Yx}LR EAAD KC  Gv3NGRT EL y|G T EFLPDD  NA DAYR TUd ]y6UWLA OBEP DONORLTO FRDU]#L3 RI  NM YBEO  DAN7*t D*AHa7Kn H*w8  I w6 N h!TAYKY !:jjjjjj[Lfi%Ef?c?8S Cc ' ?What? Invalid Option No Match Occurred Null String, Ignored Not In Buffer Unmatched or Missing Markers Cursor Inside Markers Not Enough Wor------------ Used: "B/B/& Unused: "B/B/B/DDV >TBSfBu/DD>*@@/B/B8BSfB/v /A?&B /DyAvAA&D,CSf%CDD>*@@/B/B8ZAC"CS (C8"C(with> </(C/O / Occurences ReplacedS 'v v /A@t/v /pV v S x B/B/oB/V >BQA /oB/X?B8%C{:B/B/8'%E7c @6BQA /B/B'c 'B/c X?B/BBTAALQAA[ #7%EB* @@BQA /B/6B/S AB'B/w8B/B/B8B8BDDB>B/@@%C^+_8B/B/?! B/B/B/ B8B/B8C_8C/#7B@e2,CC/A1V (CB% BL,CB BZA@ZAy [B1   {2*!Q Q K E ? 9 3 - !' {2-!  " # $ Æ _Å!!$:-! %>.%ѷR+}Æ~ (#ɗ:;9b%C&%CCCjA&%CNA&%/C/;&%'D/+Dp%r%!C:JAݾ({ ^#V!Å!%Å]A?CHA%f WjA?C%1f ?#7/NA?/)Lif ijA[O.)S ''k<3+#7>&))'=P&C: 3CB Dp&B)mA#7'BBB#7mA?)BB 4& D&(4B3B3BS &4-B3BB(4& D&(3"C 'CZA' B',B*'B3"CF'CZAF'I X'V'5+~5P4/'E7 -7?'B(BB' C/8'BC/'d1;(4'B3 D6~5B6B&4 4B3 D\'B D4B34B 4 D&3B 4b( D&(B 4#75b(E7Bz(E7B 4( 5f( 5( 4(z(B 4BB6&(B3CgA((V C'Y C$/(Y C'(4E7? 4B3BS B:QA ;X=B(-V CRS [S 8B/X?B87S C'S ?8B// ?B/]A8c C'CB/?8]A98C8C L*%E >['B/8B8BBBBBS i787]A8CBV iB?8]A8C8B/B/B* ohY XF4_8S B6&(BB3CWA2))V C'Y CR/))Y C'/;;CjA;V C/f ''18(B)BBS g75BC%C)B<B:B=(CC/V e2 4B>*B6& DR*BC&),)CR*))/)f #7'=:f  4 4*f C/Be2C/Be2C/-7#7/(*BB +C]AOBB*CS B+CB 'B6 +B +B/ 8B8_ BCC*+4-BB6C>+BBS 8B%C`+B<+:B<+B+=B;X=+2C69H N #:kC %:( !kC5!hCm:{ɗ9iClC C/C lC9:kC҆%:ʆL:S lC'9^:::%:_Å0:!hC~<_!WC^ÅD:yL:ÆO!kC~ G > ? >$ :.ݾ8(8ր\@/ 0@^#Æ_#Æ#7BBB6:;?LB6;B;KA  /;C[<cB/B8B/A[B/B/A oJ8J#JB/A]AlB/A A2"B/B/B/BBB/ B8B/B/B8OCDDS v 8Z V v v /' Kc v /Kc vA'|/~/ /~/yC8}C8B8      AAAAPHA c ?BH{: /(&A $ /(;RHB/B File to Edit S B8S B8AA\AAAA|#A# 'C 'CS :CV QA D=S C'C&B6B#7f =: BB6BBBE7B-7dBDBCB=BCB B\B>y2>!K x(r~ 8(ٹ88 ( (?(Ex(J> #:>  x - #~ +~ ##>  x ~ #~ #(+++Æ>" >x(~(# x(> > Æ>y2>>Æ:>(\G!K ~ 8#(ٹ889# ( (&):>" >~+ 0( (~ ##" >>K >B8* >Æ?!RDM+" >#x(z(> ?~ #" >* >#Æ?zʅ+~ (( z Å?zʅ+~ z Å@PYxʅ@[B*BR#(s8qDM:B+"B"B@U@:B(Vo&"B*B"B:B(4[B*BR#((8&DM+"B@@[B*B"BSB*B}lg"Bͧ@( *B#"BSÅ*B@KBB@O~#(@ @+"B@"BSB"B:Bo&"BÆ@x( }+ j**))v)l)^)((((8(('\'&&kKiiG=EiOE[/f#yBEARB#/RB"fERBE]ERBV EV RB'jEyBA}*RB! 8iG7 RB EiGiG RBB!fS /|BA|B pA|B'B7 |B% c (FA*B |BA#FA F|B+ pA|B'E#c S )ENI)EXI)EbI)EI)EI)EI)EJ)ElG)EG)EwH)EH)EaI)EG)EG)EUJ)EkI)E K)ErH)EG)ElG)ENHBA\v /BAAB'hF GhtF Gh{F Gh%G G4_8S HAAAAAPHA c ?BH{: /(&A $ /(;RHB/B File to Edit S B8S B8AA\AAAA|#A#  * * of terminals (even ANSI standard and different screen sizes) * * * * * ^BDEFAULT tab stops and MODE SETTINGS^b can be setup by the user * * * * * ^BUSER DEFINABLE^b Keyboard command layout * * (emulate function and control keys of other editor * * * * * Takes advantage of the POWERFUL string handling * * instructions of the Z-80 * * * * * ^BNO LIMIT ON FILE SIZE^b * * * * * Easily accomodates lines longer than 80 characters * k Move * * Block Delete * * Block Kill * * Block Save to disk * * Include block from disk * * Block Print * * * * * All block functions directly callable from Edit * * or Command mode. * * * * * CPM functions "outer shell". While editing, you can: * * * * ^BTYPE^b any file from any disk/user area * * ^BCOPY^b any file from/to any disk/user area * * ******************************************************************************** * * * ^B^BEXPRESS 2.0 Full Screen Editor Overview^b^b * * * * * * * FULL Access to all ^B32 USER AREAS^b with ALL editor commands. * * * * * ^BEASILY CONFIGURED^b for any Terminal / computer * * * * * Terminal data base for ^BQUICK and EASY SETUP^b for your * * computer or terminal * * * * * Flexible terminal definition to easily accomodate a wide range * * * * ^BFULL RECOVERY FROM DISK FULL^b conditions * * * * * ^BFULL CURSOR CONTROL^b (and then some!) * * (character, word, line, etc) * * * * * Variable Speed ^B(FAST!!)^b, bidirectional ^BAuto-Scroll^b * * * * * ^BUNDELETE^b word/line/end of line * * * * * Full complement of ^BTEXT BLOCK^b functions * * * * Block Copy * * Bloc  ^BERASE^b any file from any disk/user area * * ^BRENAME^b any file in any disk/user area * * ^BDIR^bectory includes file sizes and disk usage for * * any disk/user area * * ^BLOG^b any disk/user area as the default * * * .nf .pl 80 .in 0 .rm 80 ******************************************************************************** * * * * Built in ^BMACRO KEY TRANSLATOR^b * * * * Any number of input keys translated to any length output * * (up to 256 characters per macro key) * * * * Errors while * * ^BFAST !!!^b We use the power of the Z-80 instruction set * * * * Global or selective replace * * * * Literal or "Ignore Case" search * * * * Goto ^BPAGE^b "N" command * * * * Goto ^BLINE^b "N" command * * * * * ^BWORD WRAP^b mode functions * * * * ^BDynamic^b WRAP/UNWRAP mode ^Bwhile you type^b, as well as  * * ^BEND^b edit of current file to edit another (NEW) * * ^BQNEW^b - Abort edit of this file and edit another * * ^BSAVE^b a copy of your current work on disk and be * * returned to the ^Bexact place you left off^b * * Goto the ^B"HEAD"^b of the file (multiple buffers) * * * * * ^BINEXPENSIVE^b - $34.95 ^Bincluding^b shipping and handling. * * * * * * TCI * * 17733 205th Ave. NE * * Woodinville, WA 98072 * *  defining macro keys can be corrected with * * a backspace key. * * * * ^BUNLIMITED NUMBER^b of translations available * * * * ^BSAVE^b your definitions on disk for later use * * * * ^BREAD^b pre-defined keyboard macros from disk * * * * Macro key table can be cleared at any time to * * reclaim use of memory * * * * * ^BSEARCH and REPLACE^b Commands * *  * * an Explicit reformat command * * * * ^BSET LEFT AND RIGHT MARGINS^b to any column * * * * * * * ^BTAB^b functions * * * * Tabs are easy to setup, ^Bexplicit columns or incremental^b * * * * Tab characters can actually be inserted in file * * or spaces used instead (ala Turbo) * * * * * ^BWithout exiting the editor^b you can: * *   * ******************************************************************************** @ ++ Now searching for "-CATALOG" file++ !  ) .) ! ”>.”#””͡”››tK››͸›* =: =͔="  ʳ ª~#.  ¿~  #~  .+~#0:0~#!A.O.Gy~#0M0 K MMɷ:m2 FSÄCRCKLIST$$$››tK›, › **}|!"*{z*~]*"Ü  DISK FULL: CRCFILE$!"*~*#"ɯ2i2}! "!"]]2 s : ~# ++FILE NOT FOUND++$: F*}’">͇†]<  CANNOT CLOSE CRCFILE$CRCKLISTCRCSK FULL: CRCFILE$  w# !]͐ DONE$!e S!]Q !eZ @ --> FILE: XXXXXXXX.XXX CRC = oS) \<‘@ ++OPEN FAILED++ !" !" * | ʹ) \!~2 #" Ý: ) > T : ) @ ++FILE READ E#CRC.COM 5.0 6/18/82CRCKFILE???!9" 1 M @ CRC Ver 5.0 CTL-S pauses, CTL-C aborts :] O@ ++Searching for CRCKLIST file++@ Now searching for "CRCKFILE" file++ !  1 .) F!  ͡]͸! ͔0CRCKLIST???CRCKFILE???!9" M à*,*.}|ډ!".*,{z{** u*.".G*.",!".***,}>*.#".ɯ22)! ",". <  NO FILECRC FILE$!   >. @ Checking with file - ! ~T #M M 2 2 2 2 ! >2 3o: : @ ***No CRC Files found***$> ʉ ʉw#: <2 P6: .6@ Can not parse string ! ~ʽT #ñM ! > 6 #6^#6! ~T #! 4M #x] #e w~ T #>2 @ - s M@ File not found ! 4 >2 o: G: „: G: „@ *Match* 2 ! 4@ <-- is, was --> : ) > T : ) M 2 ! 4<2 ~# @ Not a space between CRC values<2 G-CATALOG???RROR++ <* |): o% |g}o" 2  ; 0T ~T #~A > T > _h : F{͇2h2|: ʲ !\   :\2 ! \  \ ! \  \! \  \<7=Ɓo&   ]  2h2|2   ~$#~# x  : F} *}= ">͇1 ] FILE: XXXXXXXX.XXX CRC = oS) \<‘@ ++OPEN FAILED++ !" !" * | ʹ) \!~2 #" Ý: ) > T : ) @ ++FILE READ E.spb 24 .nf .ce 1000 EXPRESS 2.0 Full Screen Editor Reference Manual (c) 1985 Cecil and Laine Stump .ce 0 .bp .fi .ctd \ .hbb .fif EXPRESS - Full Screen Editor (c)1985 C. & L. Stump .fin .hbe .fbb \\%pageno%\\ .fbe .inl 12 .inr 4 .spb 4 .alc .fif EXPRESS - Full Screen Editor ---------------------------- .fin .all .spb 4 EXPRESS is a full-screen, character-oriented, editor used to create and edit text files in the ASCII format. These files can be source files of computer programs, memos, books, business correspondence, and even letters to your Mother. .inb +4 .unl 4 Hardware Requirements EXPRESS will run on any computer with a Z80 processor using the CP/M 2.2 operating system, at least 48K of memory, and a video display terminal having at least 64 columns (characters per line) and direct cursor addressing. .unl 4 Overview EXPRESS will edit any ASCII file created under the standard CP/M text storage format used by ED andCommand mode, a special menu is displayed and the cursor is placed on a command input line. If a file is too large to fit into main memory (RAM), EXPRESS allows one section to be read in at a time using the PREAD (Page read) and BREAD (Buffer Read) commands. The section of the file that is currently in memory will be referred to as the edit buffer. If the last line of the edit buffer is displayed on the screen, the line below it will contain the message [EOB]; if this line is also the last line of the file, [EOF] will be displayed instead. .unl 4 Required Files The only files that you need on your disk to use EXPRESS are E.COM (the editor itself) and EXPRESS.OVL (overlays for some of the extended commands available from command mode). Naming the command file E.COM is more evidence of our commitment to fast operation. We have always found that no matter what name we give to our editor (and the name has changed many times since its inception), we always rename the command file to "E" reate New File D:FID.EXT? (Y/N) _ Responding 'N' will allow you to correct the file name if in error, responding 'Y' will create the file and allow you to enter and edit text. If you type 'e' with no filename following, you will be prompted for a 'File to Edit'. While entering and editing at this prompt, all of the normal EXPRESS editing commands are available, such as cursor movement, character insertion and deletion, etc. See the documentation on Edit mode and Command mode for further commands and the Sample Editing Session to solve the 'What do I do now?' blues. .unl 4 Memory Overflow Handling When you are close to overflowing the edit buffer, EXPRESS will automatically write out 1 page of the buffer to disk. This will take a second or so and after it is done, you may continue editing. If you were editing in the first two pages of the buffer at the time the overflow occured, you will have to go to command mode and execute the HEAD command to get back to where you were, otherwi most other editors; i.e., every line is followed by a carriage return/linefeed and the end of the file is marked with a ^Z. EXPRESS performs simple formatting automatically during editing, or the output file can be sent to a text formatter such as ROFF4, a very complete public domain program available on SIG/M volume 126. (This manual was printed using ROFF4). EXPRESS was written to be fast, powerful, and flexible. The editing commands can be configured to look exactly like any other editor you are used to working with. In this way, you can switch over from another system relatively painlessly and get the advantages of EXPRESS (such as fast operation, full use of CP/M user areas, etc.). EXPRESS has two distinct modes of operation, Command mode and Edit mode. Edit mode is used for entering and editing text; Command mode performs more complex operations that involve blocks of text or the whole file. When in Edit mode, the screen is filled with text (or blank if creating a new file). When in anyway, due to impatience and self admitted laziness. E.COM will find EXPRESS.OVL if it is in any user area on CP/M's current "default drive" (as indicated by the CP/M #> prompt) or in any user area on drive A. This means you only need a single copy of the OVL file on the system. You can actually edit files without the OVL file on any disk at all, if you like. You will just lose the use of Block Commands, Macro Key Commands, and System Commands. .unl 4 Getting Started To edit an existing file with EXPRESS, type the following command at the CP/M prompt: A>e d:fid.ext where 'fid.ext' is the name of the file you wish to edit and 'd:' is the drive where the file is located. EXPRESS will load the requested file into memory and place you either in Edit mode or Command mode, depending on which was selected when EXPRESS was first configured for your system. To create a new file, the command is the same. When EXPRESS discovers that the file does not exist, it will ask the question: Cse you will be left exactly where you were before the overflow. If you find that you are overflowing memory often, you will probably want to raise the amount of free memory left after a disk read. This can be done with the efault parameters option of the ECONFIG program that comes on the distribution disk. .unl 4 Disk Full Error Handling If at any time during a disk operation, the disk becomes full, the operation will be stopped and the message 'The Disk is Full!' will be printed on the error line. You cannot write any more to disk until you remedy the problem. You have several options at this point, the most undesirable one being to QUIT out of the edit. If you really would like to save what you have just entered (most likely you would) you can use the DIR command to look at the disk you are working with and see if any files can be deleted. Good candidates for this are files with a .BAK extension. After you have found some files that are not needed, you can erase them with the ERA, editing HELLO.TXT. To begin entering text, type (or whatever key you have defined as the 'Toggle Command/Edit mode' command) and the screen will be cleared, except for an [EOF] message just below the first line on the screen (indicating that the file ends there). Type: hello world Now the text is entered in the file. To save the file, return to command mode with (the same key you used to enter command mode, and type: end When you are back at the CP/M prompt, try using TYPE to look at HELLO.TXT. Amazing, isn't it. .unl 4 Using Fast Scroll Now let's look at some of the especially nice features of EXPRESS. Find a file on one of your disks that is about 15 to 20 kbytes long and begin editing it by typing: e filename After the file is read in, go to edit mode with and the first screen of the file should be displayed. First let's scroll the screen a line at a time manually. Type ^G and the screen scrolls forward one line. Type ^F andhe file really got there, let's do a DIRectory of A12: DIR A12: Well, there it is. Let's TYPE the file to the screen. No, wait!! don't exit from EXPRESS, you don't need to. The TYPE command is built in: TYPE a12:tempfile The file will be displayed on the screen followed by the message to Continue Let's pretend that we have accidentally modified a large section of the file and don't remember what used to be there. All is not lost; don't QUIT yet. All we have to do is use the TYPE command to type out the file we are editing. Since the new version has not yet been saved, TYPEing the file will show us the old version so we can be reminded of 'what used to be'. Meanwhile, back in edit mode (type , remember) our block is still marked. Let's copy it somewhere else with the Block Copy command. Move the cursor to another place in the file and type ^P^M; the contents of the text block will be copied to the current cursor position. Now we have totally bothSE command and then reexecute the command that caused the disk full error. If there really are no files on the disk that can be deleted, you can COPY some of them to another disk and then ERASE them from the original (make sure you don't change the disks that are already in the drives, CP/M doesn't like that). At any rate, if you are anything short of totally careless, you should always be able to come away from a disk full error with a smile on your face. .bp .ce 2 SAMPLE EDITING SESSIONS ----------------------- .unl 4 Hello World We are all familiar with the old 'hello world' test of K & R fame. Let's do the same thing with EXPRESS. First, make sure that you have installed EXPRESS for your terminal with ECONFIG's option. Then make sure you have E.COM and EXPRESS.OVL on your disk. Now start EXPRESS by typing: e hello.txt from the CP/M prompt. hello.txt does not exist, so you will be asked if you wish to create it. Answer 'Y' and you will be placed in command mode it scrolls backwards. That's fun enough by itself, but now let's use the 'Auto-Scroll' command. Just type ^U^G and you begin scrolling (very rapidly) through the file. After a few seconds, type the '-' key to change the direction of scroll, then type a few of the number keys (1-9 and 0) to change the scroll speed; 1 is the slowest speed and 0 is the fastest. To stop scrolling, type any key other than '1'-'9', '0' or '-'. Now we'll look at the DIR command. Return to command mode with and type: DIR Notice that the disk capacity, free space, file sizes, etc. are all displayed. Let's try saving a block to a file. Return to edit mode with and use the 'Set block markers' command, ^P^P to mark the start of the block, move down a few lines with ^J (linefeed) and mark the end of the block. Now return to command mode with and type: bsave a12:tempfile This will save everything within the block to the file TEMPFILE on drive A, user 12. To make sure tered your file, we definitely don't want to save it, so let's quit, but first we'll get rid of the file we put in A12: Type: ERA a12:tempfile (vrs 2 & up only) and you will be asked if you really want to delete the file. Answer yes and the file is deleted. Now we'll quit. Just type: QUIT (or just Q) .unl 4 Using Macro Keys Let's go through a simple example of creating a new file, entering some text into the file, and saving the file. We will create a file called DIF.SUB, a submit file contining a series of commands comparing files of the same names on two different drives. First, make sure that you have installed EXPRESS for your terminal with ECONFIG's option. Then make sure you have E.COM, EXPRESS.OVL, and DIFKEY.MKT (a macro key definition we will use shortly) on your disk. Now start EXPRESS by typing: e dif.sub Since the file does not already exist, you will be asked if you want to create DIF.SUB. Answer 'Y' and you will be placed in c does the following operations: ;saves the file name in a delete buffer DIF -e ;use the filename .MAC B: ;use the filename again .MAC >B: ;and usethe filename a final time .DIF Now let's return to edit mode with and place the cursor on the top line of the file with ^U^K (goto top of screen), then start using the macro key. Simply typing the '+' key will create a command line for each filename and move the cursor down to the next line, ready to make the next command. Type '+ 11 times and all the command lines should be created. Now that we have a file in memory, let's save it and return to CP/M. Just return to command mode with and type: e The file will be saved and you will be returned to the CP/M prompt. .brp .fif .pdw 80 .inb 0 .ctd \ .fbb \\%pageno%\\ .fbe .inl 8 .alc Control Command Cheat Sheet (non-modified system) ------------------------------------------------- .all Cursor Control -------------- Cursor Left.......^H (Backspace) Next Tab..........^I Cursor Right......^L Previous Tab......^U^I Cursor Up.........^K Cursor Down.......^J (Linefeed) Next Word.........^W Previous Word.....^A Indent............^U^W Undent............^U^A Start of Line.....^U^H End of Line........^U^L Top of Screen.....^U^K Bottom of Line.....^U^J Top of Buffer.....^U^R Bottom of Buffer...^U^T Start of Line/Screen/Buffer.....^^ on some terminals End of Line/Screen/Buffer.......^N Carriage Return.................^M SCROLLING COMMANDS ------------------ Scroll Down One Line......^F Scroll Down Continommand mode. To get to edit mode and begin entering text, type (or whatever you have defined the 'Toggle Command/Edit mode' command as). The command lines that we want in DIF.SUB look like this: DIF -e B:FILE.DIF We could spend a lot of time typing that entire command for each file; instead we will type only the file names and let a macro key take care of all the drudge work. Meanwhile, back in edit mode, we want to type in a list of file names. Type the following names, each on a separate line: THIS THAT ANOTHER AGAIN THOSE THEM DEM DOSE FINAL LAST STOP Now that we have a list of all the file names, let's read in our macro key definition. Type to get bacck to command mode, then use the command: MRESTORE DIFKEY.MKT to read in the key definition. This particular macro file contains only one key definition (it could contain several). This macro is executed with the '+' key anduously..^U^F Scroll Up One Line........^G Scroll Up Continuously....^U^G Next Page.................^T Center Cursor Line........^] Previous Page.............^R EDITING COMMANDS ---------------- Rubout.................... Delete Word...............^V Delete Character..........^D UNdelete Word.............^U^V Insert Single Space.......^E Delete to End of Line.....^Y Partial Insert Mode.......^Q UNdelete End of Line......^U^Y Toggle Full Insert Mode...^U^Q Insert Line...............^X Delete Line...............^Z Toggle Entry Mode.........^\ UNdelete Line.............^U^Z Break Line................^B Concatenate Lines.........^O < Reformat when in wrap mode .alc (continued) .all .brp SPECIAL COMMANDS ---------------- Continue Search/Replace...^S Insert Control Character..^C Enter/Leave Command Mode..^[ Set Block Marker.......^P^P  Block Copy.............^P^C Clear Block Marker.....^P^U Block Move.............^P^M Clear all Markers......^P^K Block Delete...........^P^D AUTO-SCROLL MODE COMMANDS ------------------------- '1'-'9' or '0'........change scroll speed to this value '-'...................reverse direction of scroll any other key.........end scrolling REPLACE MODE COMMANDS --------------------- Continue, No Replace......^S Replace and Stay Here....^J Replace and Continue......^M Center Find on Screen....^] Begin Editing.............(Any other Key) ry Mode.........^\ UNdelete Line.............^U^Z Break Line................^B Concatenate Lines.........^O < Reformat when in wrap mode .alc (continued) .all .brp SPECIAL COMMANDS ---------------- Continue Search/Replace...^S Insert Control Character..^C Enter/Leave Command Mode..^[ Set Block Marker.......^P^P !*+'DIF -e B:.DIF     FEATURESTXTJCRC COMEXPRESS1DOCh !"#$CHEATER DOC%&DIF $$$.. July 4, 1983 convenient equation numbering macro: .. .sc # .. .rg e# 1 .. .dm EN (\\e#\\) .bj .rg e# +1 .em .. .. June 27, 1983 italics for roff4: .pc I hex ;italics on (MX-80 & Graftrax) 1B 34 .en .pc i hex ; italics off (MX-80 & Graftrax) 1B 35 .en .. .rg i# 1 ;illustration number ......................... .di figs . .ce 1 . ^U^BFIGURE CAPTIONS^u^b .sp 1 . .ed . ......................... ................................. .dm IS ;illustration caption . .di figs . ^BFig. \i#\ ^b .em . ................................. ................................. .dm IE ;illustration end cap. . .br . .sp 1 . .ed . .rg i# +1 . .em . ................................. .rg f# 1 .ds "fn"^+\\f#\\^-" ........................ .di fnotes . .sp 2 . .ce 1 . ^U^BFOOTNOTES^b^u .sp 1 . .ed . ........................ ........................ .dm FS ;footnote start . .di fno;follow: 00000000 ;left top,bot 00011100 00100010 00100010 00100010 00011100 00100010 00100010 00100010 00011100 00000000 00000000 ;right top,bot .en .TR = binary ;"identity"operator (triple equal sign) on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00101010 ;left top,bot 00101010 00101010 00101010 00101010 00000000 ;right top,bot .en .TR @ binary ;"DEL"operator (upside-down delta) on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 01100000 ;left top,bot 01011000 01000110 01011000 01100000 00000000 ;right top,bot .en .TR D binary ;capitol delta on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00000110 ;left top,bot 00011010 01100010 00011010 00000110 00000000 ;right top,bot .en .TR I binary ;integral sign on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00000001 ;left top,bot 00000001 00111110 01000000 01000000 00000000 ;right top,bot .en .TR S binary ;gw: 00001000 ;left top,bot 00010100 00011111 01110100 00010100 00001000 ;right top,bot .en .TR g BINARY ;gamma ON MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 BIT patterns 0 ;follow: 00010001 ;left top,bot 00010010 00001100 00001000 00010000 00000000 ;right top,bot .en .TR h binary ;theta ON MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00000110 ;left top,bot 00011001 00101001 00101010 00111100 00000000 ;right top,bot .en .TR l binary ;lambda on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 01000110 ;left top,bot 00101000 00010000 00001000 00000110 00000000 ;right top,bot .en .TR p binary ;pi on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00100000 ;left top,bot 00111111 00100000 00111110 00100001 00000000 ;right top,bot .en .TR s binary ;sigma on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00001110 ;left top,bot 00010001 00010001 00011001 00010110tes . \\fn\\\\ .em . ........................ ......................... .dm FE ;footnote end . .br . .sp 1 . .ed . .rg f# +1 . .em . ......................... .. December 4, 1982; Scientific Symbol definition table .. FOR MX-80 PRINTER WITH GRAFTRAX INSTALLED .WH HEX 1B 32 . ; 6 lines/inch is standard .fr 2 hex 1b 33 12 . ; 18/216" = halfline spacing .. .TR * binary ;DOT PRODUCT on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00000000 ;left top,bot 00000000 00011000 00011000 00000000 00000000 ;right top,bot .en .TR . binary ;looks like a character to formatter ;but is a NOP as far as printer is concerned ;on MX-80 .en .TR 6 binary ;curly derivative on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00000110 ;left top,bot 00101001 01001001 01001010 00111100 00000000 ;right top,bot .en .TR 8 binary ; infinity on MX-80 00011011 ;ESC 01001011 ;4B 00001100 ;12 bit patterns 0 amma ON MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 BIT patterns 0 ;follow: 01100011 ;left top,bot 01010101 01001001 01000001 01000001 00000000 ;right top,bot .en .TR a binary ; alpha,lowercase 00011011 ;ESC 01001011 ;4B 00000110 ;6 BITS 0 ;FOLLOW: 00011100 ;LEFT TOP,BOT 00100010 00100010 00011100 00100010 00000000 ;RIGHT TOP,BOT .en .TR b BINARY ;BETA ON MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 BITS 0 ;FOLLOW: 00001111 ;left top,bot 00110010 01010010 01011100 00100000 00000000 ;right top,bot .en .TR d binary ;delta ON MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00010110 ;left top,bot 00101001 01001001 01001001 00100110 00000000 ;right top,bot .en .TR e binary ;epsilon ON MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00011100 ;left top,bot 00101010 00101001 00101001 00100000 00000000 ;right top,bot .en .TR f binary ;phi ON MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follo 00010000 ;right top,bot .en .TR u binary ;mu on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00111111 ;left top,bot 00001000 00000100 00000100 00111100 00000000 ;right top,bot .en .TR v binary ;nu on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00111110 ;left top,bot 00000010 00000100 00001000 00110000 00000000 ;right top,bot .en .TR w binary ;omega on MX-80 00011011 ;ESC 01001011 ;4B 00000110 ;6 bit patterns 0 ;follow: 00011110 ;left top,bot 00000001 00011111 00000001 00011110 00000000 ;right top,bot .en  00101000 00010000 00001000 00000on for different systems is as simple as picking a name from a menu (or adding your own entry to the menu if you have something really obscure.) EXPRESS is not a word processor; it was not written for secretaries (although they could grow just as fond of it if given the chance). EXPRESS was written BY programmers FOR programmers and it shows. Extra effort was taken to assure fast operation, efficient use of memory, flexibility, configurablity, and of course power. The Search routines, for instance, went through several different ideas and implementations before we finally settled on the fastest. The standard BYTE searching benchmark now runs faster with EXPRESS on a 4Mhz Z80 than it runs with the Turbo Pascal(tm) editor running on an 8 Mhz 80186!! The scrolling has been optimized as well; while it is not up to the memory mapped speeds of some 'hardware specific' editors on the market, it is much faster than Turbo or WordStar(tm). EXPRESS Version 1.0 is a preliminary and limited ibefore having to spend any of your hard-earned money. We must insist that EXPRESS not be distributed for financial gain. As software users ourselves, we also believe that current software prices are much too high for the average computer user. Because of this, we are selling EXPRESS version 2.0 for only $34.95, POSTAGE AND HANDLING INCLUDED (in USA). EXPRESS Version 2.0 may be purchased by sending a check or money order for $34.95 (postage and handling included) to the address listed below. In return, you will receive a disk containing Version 2.0 (or the latest version), the full printed documentation and any recent user news. You will also be placed on our list of registered users. Further information may be obtained from: TCI 17733 205th Ave. NE Woodinville, Washington 98072 EXPRESS (c) Copyright 1984, 1985 Cecil and Laine Stump all rights reserved. NOTE: documentation for EXPRESS is contained in EXPRESSn.DOC. Yes, it has text formatteDear Computer Abuser.. ..er, I mean User: The EXPRESS full screen editor on this disk is NOT A TOY. It is a full featured screen editor with all the commands the 'big boys' have, plus several unique features that make it a must on everybody's system disk. SPECIAL FEATURES Just to get your attention in the first 100 words: EXPRESS includes a built in macro key translator and editor for reducing long tedious operations to a single key. Macro definitions can be saved to a disk file for later use. EXPRESS also can access files in any user area (can your current editor be executed from A12: to edit a file in B2: and include into the text a file from A15:???) Other features include a built in DIR command that shows disk capacity and file sizes (of files in any user area, of course), a built in TYPE command (that TYPEs files in any user area, get the picture?) EXPRESS can be installed on any CP/M 2.2 system with at least 48k of memory and a terminal with direct cursor addressing. Installatimplementation of the EXPRESS full screen editor and is distributed without charge, as a sample intended to introduce users to the power and potential of the EXPRESS full screen editor. Version 1.0 does not contain all the enhancements of Version 2.0. Those functions which were not implemented in Version 1.0 are indicated on the command page with a (#). A brief list of the version 2.0 enhancements follows: * Full use of 32 user areas * Edit files any size (not just limited to memory size) * ERASE, COPY and RENAME implemented * unlimited number of macro key definitions * size of marked text block limited only by memory size * full, dynamic (as you type) wordwrap * fully definable tab stops * Literal or "case ignoring" search You are authorized and encouraged to freely copy and distribute copies of EXPRESS Version 1.0 to friends and bulletin boards. We believe that you should be allowed to use and appreciate a software package r commands, but no, unfortunately they are not ROFF commands. This gives you a superb opportunity to practice your editing skills (and play around with ROFF, which we feel is a very powerful text formatter). use of this, we are selling EXPRESS version 2.0 for only $34.95, POSTAGE AND HANDLING INCLUDED (in USA). EXPRESS Version 2.0 may be purchased by sending a check or money order for $34.95 (postage and handling included) to the address listed below. In return, you will receive a disk containing Version 2.0 (or the latest version), the full printed documentation and any recent user news. You will also be placed on our list of registered users. Further information may be obtained from: TCI 17733 205th Ave. NE Woodinville, Washington 98072 EXPRESS (c) Copyright 1984, 1985 Cecil and Laine Stump all rights reserved. NOTE: documentation for EXPRESS is contained in EXPRESSn.DOC. Yes, it has text formatte.brp .ctd \ .hbb .fif EXPRESS - Full Screen Editor (c)1985 C. & L. Stump .fin .hbe .fbb \\%pageno%\\ .fbe .inl 12 .inr 4 .spb 4 .alc .fif COMMAND MODE ------------ .fin .all .spb 4 Command Mode is entered from edit mode by pressing the key (^[), (____). When you do this, the screen will be cleared and some information will be printed at the top of the screen, like this: EXPRESS 1.0 Full Screen Editor Purchaser: Joe Schmoe (c) 1984 Cecil & Laine Stump Terminal: Snipe-13 A0:Editing B7:JUNK.TXT - More of File Still on Disk - >_ The number on the top line is the version number of this copy of EXPRESS and should be noted in any correspondence regarding this copy of EXPRESS. The name following 'Purchaser:' is the legal owner of this copy of EXPRESS and the 'Terminal:' is the terminal or computer system that this copy of EXPRESS will run on (the system that it is configured for). The letter and number  a mistake made in command input (for instance, if a file doesn't exist) the message telling you so will be printed on this line. The rest of the screen following the error line is the 'message area'. This usually contains a menu of commands (this menu can be turned off with the efault Settings section of the CONFIG program, if you desire), but sometimes has a directory of the disk (accomplished with the DIR command) or a display of the current tab stops, margin settings, memory usage, etc. (gotten by setting a new value for one of these parameters, or merely typing TABS). You are now in command mode and have access to a variety of useful functions including: ENDing the editing session, setting the TABS, SEARCHing for a string of characters, TYPEing, RENAMEing, COPYing, and ERAsing files, and many others. .brp .fif COMMANDS -------- .fin The following is a list of commands executable from the command mode of EXPRESS. These commands are executed by typing the command and any argat the beginning of the third line is the current 'default' drive and user area. This is the drive and user area that will be assumed whenever you type a filename for a command and don't enter a drive name or user area. The file displayed after 'Editing' is the file that is currently being edited. If the file is larger than the available main memory (RAM) in your system and the entire file has not yet passed through the memory buffer, the message 'More of File Still on Disk' will be displayed following the file name. The fourth line is the command input line. It contains the prompt '>' and the cursor is placed immediately after the prompt. This is where all commands will be input. All of the single line editing commands can be used when inputting the command line, including cursor movement, character insertion and deletion, etc. The line immediately below the prompt line is the 'auxiliary input' line (for short yes/no questions) and the line below that is the 'error line'. Any time there isuments that are needed followed by a carriage return, , which begins execution of the given command. The entire word for a command may be used if you wish, to make it easy to remember, but you are only required to enter the letters that are shown in upper case in the discussion below. You may, however, type the command in upper or lower case. The following descriptions will use these rules of grammer: .inb +8 .unl 4 [ ] - anything enclosed in brackets is an optional part of the command and may be omitted (do not enter the brackets themselves as part of the command line). .unl 4 / - when there is a choice between two or more arguments, they will be separated by a vertical bar. .unl 4 n - any positive number less than 32767 (for most commands the highest number that will be recognized is much smaller than this) .unl 4 ccc - any string of characters .unl 4 du:fid.ext - this is any file on any disk in any user area in the system. Wildcard (ambiguous) filenames are allowed clude from or save to a file) .unl 11 MACRO KEY define macro keys and maintain files of macro key definitions .unl 11 BUFFER change the contents of the edit buffer, end the edit session, switch to a new work file. .unl 11 SYSTEM provide CP/M-like commands without having to exit to CP/M .inl -11 .inb -4 For convenience, the commands are separated into these catagories on the Command Mode menu and in this manual. .brp .fif SEARCH COMMANDS --------------- .fin These commands are used for finding all occurences of a string (represented here as ccc) and optionally replacing them with another string, and also for finding a particular line in the buffer. The search and replace strings can be composed of anything that can be typed in Edit Mode, including control characters and block marker characters. They are entered the same way you would enter them in Edit Mode (precede the control character with ^C, (____) and use the 'Set Block Marker' command ^P^P , (____)can be any length from 1 to 40 characters (0 character search requests are ignored). If the string is found, you are placed in edit mode with the cursor on the top line of the screen, directly over the first character of the matching string. If no occurences of the string are found, you are told so and remain in command mode. If this happens, the entire command line that you entered is left on the command line. Since all the standard editing commands can be used on the command input line, You may change the search string and try again without having to retype the entire command. This is particularly useful if, for example, you have just entered the command: se FOO: (search for the word 'FOO:') and when 'FOO:' was not found, decided to search for 'FOO' (without a colon); you can merely use the end of line editing command, ^U^L (____), type a RUBOUT (____) and press the carriage return. Once the first occurence of a string is found and you are in edit mode, you may use the 'continuin some conditions and, if so, it will be stated. If the file is on the current 'default' drive and user area then the drive need not be specified. If the file is in the same user area but on a different drive, then the default user area is assumed. However, if you want to specify a file in a different user area then you must also enter the drive, even if it is the default. EXPRESS recognizes 32 user areas (as does CP/M) numbered 0-31. The recognized drives will vary from system to system. .inb -8 The Command Mode commands are logically separated into 6 major groups: .inb +4 .fif Group Functions ------ --------- .fin .inl +11 .unl 11 SEARCH find a specific string, line, or page in the file replace occurences of one string with another string .unl 11 EDITING set parameters that directly affect how text is entered (tabs, margins, word wrap) .unl 11 BLOCK perform operations on large "blocks" of text (move, copy, delete, in to search for a block marker). The search string begins immediately after the delimiter character following the 'SEARCH' command on the command line and ends at the next occurence of the delimiter. So, if you want to search for the string 'this is it' you could type se/this is it/ s'this is it' sea?this is it? or any other similar entry. The only limitation is that the delimiter character cannot be an alphabetic character('a'-'z' or 'A'-'Z'). For instance, if you are searching for the single word 'single', you can even use a space as the delimiter: search single The rules are the same for the replace string, except that the beginning of the replace string is the first character after the second delimiter on the line. rep/this/that/ ^ the replace string begins here .inb +4 .unl 4 Search/ccc/ This command finds the first occurence of the string 'ccc' following the current cursor location in the edit buffer. The string to be searched for e search' key, ^S (____) to find all other occurences of the string. .unl 4 Replace/this/that/[N] This command attempts to find the string between the first two delimiters and, if the string is found, replaces it with the string between the second and third delimiters. If you follow the command with 'N' (No-verify) all occurences of the search string after the current cursor location in the buffer will be immediately replaced with the replace string. As the strings are being replaced, a running count will be printed on the screen, letting you know how many have been replaced so far. Remember that if you really make a big mistake while doing a global replace, you can still use the QUIT command (or QNEW) to keep from ruining past work (you can even INCLUDE the current version of the file from disk and delete the redundant parts). Selective Replace If you do not follow the command with 'N' you will be able to selectively replace some of the occurences of the string and bypass oth a cursor down or linefeed (^J) (____) to replace this occurence and remain here to do more editing. .inb -4 After any key (except ^], (____) ) has been typed, these four keys regain their original meaning and you are completely in Edit Mode. If you begin editing here or choose option 4, you may still continue the selective replace operation at any time by pressing ^S (____). This allows you to do things such as replacing a string and putting a comment about the replacement at the end of the line before going on to replace the next occurence. Once you return to command mode (by typing , (_______) ), replace mode is turned off and you will have to execute the command again to replace any more occurences. The first time you return to command mode after starting a 'selective' replace, a message will be printed below the command line telling how many occurences of the string were replaced. Both types of replacing have their uses. 'Global' replacing is useful if you have misspelled a wor, it is best to turn on literal search mode and then replace each 'version' of the word separately. It should also be pointed out that, when in non-literal mode, a single space (or tab) in a search string can be matched by any number of spaces (or tabs, or a combination of tabs and spaces). This means that if you search for 'I am', you will also find 'I am' and 'Iam', etc. If no argument is given after the LITERAL command, it turns literal mode on. .unl 4 Line n Looks for line number n in the buffer and, if it is there, the edit mode cursor is positioned to the first column of the desired line. You will remain in command mode, but next time you go to edit mode ( by typing , (______) ), the cursor will be positioned at the new location. This command is extremely important when working with computer programs. If a Fortran, or other, compiler says that there is an 'Error on line xxx' then it is imperative to find line xxx quickly (before the error spreads), without havingers. In selective replace mode, if the specified string is found anywhere following the current cursor location in the edit buffer, the cursor is moved to the first character of the string, just as when you are searching. At this time you are in edit mode and may begin editing normally, except that 4 keys temporarily have different actions: .inb +4 .unl 4 1. Type ^] (____) to place the line the string was found on in the middle of the screen. This allows you to see the context that the string was found in before replacing it. The other three options are still valid after you have done this. .unl 4 2. type ^S (____) to find the next occurence of the string without replacing this one. When the next occurence is found, all of the options, including this one, are still valid. If there are no more occurences, you will hear a beep and be returned to edit mode. .unl 4 3. Type (^M) to replace this occurence of the string and immediately find the next occurence. .unl 4 4. Typed the same way many times or if you are changing the name of a variable in a computer program, for instance. 'Selective' replace is safer if you aren't sure that every occurence should be replaced. .unl 4 LITeral [On/OFf/True/False] This command is used for switching between two modes of searching. If literal mode is on, you will only find occurences of exactly what you typed, (e.g 'se/ONE/' will find 'ONE', but it will not find 'One' or 'one'); if literal mode is off then the same command will find all three strings, assuming that they occur. Basically, if literal mode is off, SEARCH and REPLACE does not distinguish between upper and lower case letters; if literal mode is on then they do distinguish between upper and lower case. It is usually better to use literal mode when Replacing since the REPLACE command doesn't necessarily replace an uppercased string with another uppercased string. If you wish to replace occurences of a string that could be uppercase, lowercase, or capitalized to wade through pages and pages of text. If the specified line is not currently in the buffer, the message 'Not in Buffer' is displayed and the edit mode cursor remains in its original position. If this happens, the line may either be in an as yet unread portion of the file, or you may have typed in a line number such as '-1' or '0' (Lines are numbered 1-n). If no line is specified, the LINE command simply displays the current line number, along with the tab stops, etc. .unl 4 Page n Looks for the nth screenful of lines in the buffer and, if there are that many 'pages' in the buffer, the edit mode cursor is placed at the beginning of the desired page. The next time you enter edit mode, you will be positioned at the new location. This command is similar to the LINE command except that it only counts the lines currently in the buffer; it does not keep track of absolute position in the entire file. It is useful for moving quickly to the approximate location in the file that you wishention is paid to the right margin. Some examples of the WRAP command are: wrap on ;turn word wrap on wrap ;same wrap f ;turn word wrap off (False) wrap76 ;turn word wrap on and set right margin to col 76 When in wrap mode, everything will be wrapped down to the end of the current paragraph and if a new line is needed at the end of the paragraph, one will be inserted. Conversely, if words are 'unwrapped' following a deletion and a line at the end of the paragraph is no longer needed, it will be deleted. This is all done in real time, as you are typing, so if you use the same margin settings with your formatting program, the lines will always be displayed with exactly the words that will be on them when the file is printed, even though the text is not right justified. For the purposes of word wrapping, a new paragraph is signalled by a blank line, a line with a space in the column that the INDENT is set to, or a line that begins with the user speci next tab stop. You will notice that if you move the cursor over a tab character it will 'jump' from one end of the tab to the other; this indicates to you that it is really a single character and not merely a group of spaces. You can set the tabs at a certain interval by giving a single number on the command line: TABS 8 t8 sets tabs at 9,17,25,33,41,49,57,65,73... up to the width of the screen or twenty stops, whichever is less. It is also possible to set the tabs at individual locations such as: ta 6,12,20,22,28,46,51,70 which set tabs at exactly the locations specified and no others. You can combine these two methods if you like, simply by making the last number you enter smaller than the one preceding it: T 4 9 22 5 This sets tabs at columns 4, 9, and 22, and every 5 columns afterward. If you want tabs to be expanded with spaces instead of using actual tab characters (which is much more compact but not handled properly  to be. If the specified page is not in the buffer, the message 'Not in Buffer' is printed and the edit mode cursor remains in its original position. (For reference - page 1 is the beginning of the buffer (BOB), page two starts at BOB + (number of lines in display), etc.) .brp .inb -4 .fif EDITING COMMANDS ---------------- .fin These commands are used to set certain parameters that affect the way text is entered and displayed. Commands are included for setting tab stops, left and right margins, and word wrap mode. All values of n in these commands should be in the range 1-(no. of columns on the screen). .inb +4 .unl 4 Wrap [n]/[On/OFf/True/False] Switches between the two modes of entering and editing text. When wrap mode is on, the editor will perform automatic word wrap (without right justification). If any word is overflowing the current right margin, it will be moved to the beginning of the following line. When Wrap mode is off, all lines are left as they are and no attfied formatter command character, (.) (____) set in the efault settings section of CONFIG. .unl 4 Indent [n] Sets the left margin, or amount of indent, to the specified value. This margin is respected in wrap mode and in standard mode. The amount of indent may be changed from within the edit mode by using the indent, ^U^W (______), and undent, ^U^A (______), commands. Refer to the Edit Mode section for more information on these. If no value for n is given then the number 1 (the extreme left of the screen, i.e. no indent) is assumed. .unl 4 Tabs [i]/[n1,n2,n3,...][,i]/[ON/OFf] This command sets the tab stops and allows turning the tabs 'on' (actual tab characters are inserted) and 'off' (tabs are expanded as spaces). Tabs are used for columnarizing data and indenting sections of a computer program, among other things. Tabs are actually special characters stored in the file; when a tab character is reached, the remainder of the current line is moved out to the column of theby some programs, i.e. Turbo Pascal), you can use the command: TABS OFF The tab key will still move the cursor to the same positions on the line, it will just insert a proper number of spaces instead of a single tab character. When tabs are ON and you change the TABS setting, you will change the way that previously entered tab characters are displayed on the screen. This allows you to look at the same information in several formats without retyping it. The tabs are also expanded to these columns when sending text to the printer with the BPRINT command. This allows you to do things such as narrowing up the tabs before printing to allow wide lines to fit on narrow paper, etc. If no numbers are given after the TABS command the current tab table is printed on the screen along with the INDENT value and the state of wrap and literal mode, etc. .brp .inb -4 .fif BLOCK COMMANDS -------------- .fin These commands all deal with a 'block' of text defined by placing 'block marund it. To mark a block of text, the first block marker must be on the first line that you wish to be in the block, and the end marker must be on the last line to be included in the block. If the entire block is one line, then put two block markers on it. Block markers are automatically placed at the beginning of the line regardless of where you are when you type the ^P^P (____) command, so you will never have to worry about doing this yourself. To find the beginning of a block, use the search command to search for the block marker with: search ^P^P (actually type ctrl+P, ctrl+P .inb +4 .unl 4 BMove Finds the currently active block of text and moves it from its present location to the area immediately preceding the cursor line in the edit buffer. The cursor is placed on the first line of the block at its new location. The block markers are cleared following this operation. If the cursor is within the block markers or there is not enough workspace in memory to d is given. It is also executed after a BMOVE or BDELETE. If no block markers are present, the command is simply ignored. .unl 4 BPrint Sends the current block of text to the CP/M list device, LST:, (usually the printer). Tabs are expanded according to the user's current tab settings. Printing can be cancelled at any time by typing an , (____). If you have told ECONFIG that your BIOS (Basic Input/Output System) ListStatus routine works properly, characters are not output until ListStatus says it is ready - this way you will not suffer the 'Oh NO! The printer is disconnected and I just locked up the system' blues. While waiting for the printer to become ready, a check is constantly made for a key ready and if the 'Go to command mode' command, , (____) is typed, you will return to command mode, no harm done If your ListStatus does not work properly (or if you are not even sure what ListStatus is), then the BIOS of your version of CP/M is not implementing the LSTST: routinkers' at either end of the desired text with the 'set block marker' control command ^P^P (____), in the edit mode. Only one block may be specified at any time; if there are more (or less) than two block markers, an error message will be printed whenever a block operation is attempted. Many of the Block commands can be executed directly from edit mode. See the Block Commands description in the Edit Mode section of the manual. Block commands are useful for eliminating the entry of repetitive data more than once, restructuring a document or computer program, getting rid of large amounts of undesired text easily, and saving part of one file to disk in preparation for inserting it in another file with the INCLUDE command, among other things. A block of text can be anywhere from a single line to the entire contents of the edit buffer; it can be composed only of complete lines; if you want part of a line in a block, you can break it from the rest of the line with ^B (____) and then put markers aroexecute the move, an error message is printed and the operation is not allowed to occur. .unl 4 BCopy Finds the currently active block of text and places a copy of it immediately preceding the current cursor line. The cursor is left positioned on the first line of the new text. The block markers are left intact. If the cursor is within the block markers or there is not enough workspace in memory for the copy, an error message is printed and the operation is not allowed to occur. .unl 4 BDelete Deletes the current block from the edit buffer. After this command is issued you will be told how large the block is and asked if you really want to delete the block. Typing a 'Y' or 'y' will allow the operation to continue, any other character causes the command to be ignored. The block markers are cleared following this operation. .unl 4 BKill Clears (kills) ALL block markers from the edit buffer. This operation is automatically executed whenever a SAVE, HEAD, or END commane properly so you will have to make sure the printer is ready yourself. .unl 4 BSave du:fid.ext Saves the current block of text to disk in the file du:fid.ext. Notice that you can save the block to any user area (0-31) of any disk on your system. The block of text is NOT deleted from the edit buffer and the block markers remain around the text. If the named file already exists, an error message will be printed and the operation will not be allowed to occur. If you really want to write over the file you can ERASE it first and then do the BSAVE. .unl 4 INClude du:fid.ext Places a copy of the named file in the edit buffer preceding the current cursor line. When you return to edit mode after this command, the cursor will be on the first line of the included file. Again, the included file can be from any user area on any disk. Wildcarded file names are not allowed for this command. .brp escribed in Appendix ???. When you are done using a macro key, you can 'undefine' the key (by redefining it to a blank string) and it will regain its original meaning. You can also enter the original valueof a key into the file by using the Insert Control Character (actually 'literal next') command ^C (____) followed by the key; you can redefine normal printable characters without losing the ability to enter them into the text. A macro key can be any character, or sequence of characters, that you can type on the keyboard; each macro 'key' can be up to 10 keystrokes long. For instance, the following could be redefined as macro keys: ^U^B (control+U followed by control+B) t (the letter 't') T (the letter 'T', separate from the letter 't') BGG (the key followed by 'BGG' . . The redefinition of a macro key can be any mixture of characters and commands entered just as you would type them at the keyboard; each macro 'redefiniu are prompted for 'input keys' (the key sequence you will type to execute the macro). Type the exact key sequence you want to use followed by a . Then you will be asked for the 'redefinition'; type the characters and editing commands that you want to be executed when you type the 'input keys' followed by . If you make a mistake while defining either the input keys or the redefinition string, use the (DEL) key to correct the line (all other editing keys are disabled so they can be part of macro definitions). To 'UnDefine' a macro command, enter the input keys that you wish to be undefined, then enter a blank line for the redefinition. You can 'redefine' an existing key without worrying about undefining it first. If you want to use and in macro definitions, you can either avoid the problem by using 'NextLine, Start of Line' for and 'Backspace, Delete Character' for or you can follow the MD on the command line with the keys you wish to use for and .brp .inb -4 .fif MACRO KEY COMMANDS - defining macro keys and managing macro key files ------------------ .fin The Macro Key Commands allow you to redefine any sequence of typed keys to output a sequence of characters or commands, and to save these key redefinitions in a disk file for later recall. Macro keys can dramatically increase productivity and decrease boredom and frustration (and besides that, they're just plain fun.) After a macro key has been defined, typing that key, or sequence of keys, will have the same results as typing the characters or commands the key was redefined to. For instance, if the (^J) key has been redefined to type 'this is the linefeed key', then typing will cause 'this is the linefeed key' to be entered on the screen (and in the file) just as if you had typed the entire string yourself. This can be handy in many obvious ways (like defining macro keys for common words like 'write', 'read', 'begin', etc.) and in many not-so-obvious ways that are dtion' can be up to 256 keystrokes in length. Macro redefinitions can be used to execute any command you can execute from the keyboard. For instance, a macro key to go to Command Mode and save the current text block to the file 'TEMP.$$$', then return to Edit Mode is defined as: bs temp.$$$ assuming that you are using the command keys originally installed in EXPRESS. Notice that when the macro redefinition is typed in, you actually type the key, not the sequence of characters ''. Another example is the following command that will move to the beginning of the last word on the current line and place you in partial insert mode: ^U^L^A^Q (end of line, prev word, partial insert on) again, this is assuming you have not reinstalled the command keys with CONFIG; if you have, just use the commands you have defined as 'end of line', 'prev word', and 'partial insert on' when entering the redefinition string. .unl 4 MDefine When this command is entered, yo. For instance, the command: MD:- will allow you to define a new macro key using ':' as the key and '-' as the key. .unl 4 MClear Mclear is a quick way to clear out the entire macro table. All previously defined macro key will be 'forgotten'. .unl 4 MSave du:fid.ext Saves all current macro definitions to the named file. The definitions are not cleared from the macro table. .unl 4 MRestore du:fid.ext Loads the named macro key file into the macro table. A check is made to see if the file actually does contain macro definitions. The new macro definitions are added to the current definitions (the current ones are not deleted). You can concatenate two (or several) macro files by MRestoring them all and then MSaving them all at once. .brp .fif BUFFER COMMANDS - Managing the edit buffer contents --------------- .fin These commands operate directly on the file that is being edited and on the contents of the edit buffer. .inb +4 .unl 4 PRead [nd.ext. .unl 4 Quit Use this command to terminate the editing session without saving the changes that have just been made to the file. This is handy when you are just examining the contents of a file or when you suddenly realize that a large number of changes that you have just made to the file are inappropriate. .unl 4 SAve Use this command if you have a system prone to memory errors or power failures, or if you just happen to have common sense. It saves all changes that have been made to the file and then places you back exactly where you were in the file at the time you issued the save command. .unl 4 Head This is the same as the SAve command except that it places you at the beginning of the file instead of where you were when the command was given. It is functionally the same as Ending and then calling up EXPRESS again to edit the same file, it is just faster. .brp .inb -4 .fif SYSTEM COMMANDS - CP/M surrogate --------------- .fin The following commands opera area. D A11: lists all files on drive A in user area 11. di d4:the?.* lists all files on drive D, user area 4, with a four letter filename starting with 'THE' and any extension. DIR prints the directory of the current default drive and user area. .unl 4 TYpe du:fid.ext This command is used to display a file on the screen, similar to CP/M's TYPE command (with a few enhancements). The command: ty myfile.txt will display the file 'myfile.txt' on the screen (if the file exists). TYPE simply sends the contents of a file to the screen. It does not stop after each screen (type a or some other character to momentarily suspend output). The speed at which the file scrolls past the screen may be controlled with the number keys in the same fashion as auto-scroll, with the exception of the '-' key (you cannot scroll backwards with the TYPE command). See the Continuous Scroll commands in the Edit Mode section for more details. ] Writes n screens full (if n is not specified then it writes one screen full) of the current edit buffer to the disk and reads as many more as will fit in the buffer, if any of the file is left on the disk. If the entire file has already been read, n pages are still written to disk and the buffer is left partially empty. .unl 4 BRead If there is still a portion of the file remaining on the disk, this command writes the current edit buffer contents to disk and reads in more until the buffer is full or the end of the file is reached. If there is no more of the file remaining on disk, this command is ignored. .unl 4 End This command saves all changes made to the file during this editing session and returns to the operating system. If the file is larger than memory and has not all been read through the edit buffer yet, this will be done automatically upon issuing this command. Also, the original file will be saved as d:fid.BAK before the new copy of the file is named to d:fite on any file on a disk currently on the computer system. They provide you with most of the commands of the CP/M Console Command Processor and PIP without requiring you to end the edit and exit to the operating system. On all commands, if a given filename is invalid or does not exist, an appropriate error message is displayed and the cursor is placed at the beginning of the command line, with the line you just typed still intact for editing. Remember that anywhere a filename is requested, you can optionally specify a disk and user area different from the current defaults (displayed on the command screen immediately preceding 'Editing'). .inb +4 .unl 4 Dir [du:fid.ext] Displays a listing with filesizes (in kilobytes) of the directory of the given disk or files matching the filename given. '?' (single character) and '*' (multiple letters) wildcards are allowed in the file name. For instance: DIR C:*.COM will list all files of type .COM on drive C in the current user Typing any character other than a number suspends output until another character is typed; typing stops the display and immediately returns you to Command Mode. When the entire file has been displayed, the message [EOF] is displayed at the bottom of the screen. At this time you must type (______) to return to the command screen. Wildcarded file names are NOT allowed for the TYPE command. .unl 4 ERase du:fid.ext Functionally the same as the CP/M ERA command. This command erases the named file if it exists, or prints an error message if it doesn't. The '?' (single character) wildcard character and the '*' (multiple character) wildcard are both allowed when specifying the file to ERASE. This means that you can ERASE several files with a single command. For example: era *.bak will ERASE all files with file extension BAK on the current drive/user (this is a very handy thing to do when you get a Disk Full Error). era b12:the*.* will ERASE all files on driE': ren newname=oldname ren newname < oldname ren oldname > newname ren oldname newname Note that blanks between filenames and the 'director' characters are ignored (except in the case where the 'director' IS a blank). If the file to be RENAMED is in a different drive/user than the current default, you only need to include it in the first filename on the line. For example, all of the following commands rename 'B21:OLD' to 'B21:NEW': rename b21:new=old rename b21:new b21:new rename b21:old new Remember: when in doubt, just type the same command you would use in CP/M (or MSDOS, or whatever you are used to) Wildcarded file names are NOT allowed for this command and it is not allowed to operate on the files source.ext or source.$$$. (* NOTE: You cannot change the drive that a file is on with the rename command! You must first COPY the file to the other drive and then ERAse it from the source drive) (* NOTE for UNIX purists:e, ERASE it first, then COPY into it. .unl 4 LOg du: This command allows you to change the current 'default' drive and user area (displayed on the third line of the Command Screen, preceding 'Editing'). This is handy if you entered the editor in one area and then decided to work on something in another area. While you could just type the new drive and user area preceding all the file names you enter, it is much more convenient to LOG into the new area and just type the file names from then on, letting EXPRESS figure out the drive and user for you. After this command is entered, the new 'default' will be displayed at the beginning of the third line on the screen: C12:Editing B3:THIS.FIL ^-- new default drive/user area This new default is in effect until you return to the operating system, when the original default drive and user area are restored. You MUST type the colon ":" at the end of the drive/user area or you will receive an error message. Rememberve B, user 12 with names that begin with 'the'. erase a:dis? ERASEs all files on drive A in the current user area that have a four character file name beginning with 'dis' and a blank file extension. As a rule, any selected group of files that would include the file being edited (source.ext) or the temporary file used by EXPRESS during the editing session (source.$$$) cannot be operated on by this command (to avoid lawsuits and suicides). .unl 4 REName du:fid.ext > du:fid.ext This is identical to CP/M's REN command except that it recognizes the '>' character (ala UNIX) as well as the '=' (like PIP). You may also use the '<' redirection symbol (more UNIX) or simply a space (MSDOS, VMS). This way, no matter what operating system you are used to, the command will execute and you won't get frustrated trying to remember 25 different types of command lines. So there is no confusion, the following command lines all have the same effect, they RENAME a file called 'OLDNAME' to 'NEWNAM Yes, I realize that the UNIX command is 'mv' and that it doesn't use the redirection symbols, but they do have an intuitive appeal about them in this context, don't you think?) .unl 4 Copy du:fid.ext > du:fid.ext This command copies the contents of a file into a new file. Both files can be on any drive in any user area. The same flexible command interpretation used for the rename command is used for COPY. To illustrate: copy exist > new copy new = exist copy exist new copy new < exist all copy the contents of the file 'EXIST' into the new file called 'NEW'. The '>' form of the command becomes very understandable when the '>' is thought of as the word 'to'; this way the command would read as 'COPY exist TO new'. Wildcarded file names are NOT allowed for this command. If the file being copied does not exist, or the file you wish to create already exists, an appropriate error message is printed and the command is ignored. If you want to copy over an existing fil that you can specify a drive without a user area, but you cannot give a user area without a drive.  user area (displayed on the third line of the Command Screen, preceding 'Editing'). This is handy if you entered the editor in one area and then decided to work on something in another area. While you could just type the new drive and user area preceding all the file names you enter, it is much more convenient to LOG into the new area and just type the file names from then on, letting EXPRESS figure out the drive and user for you. After this command is entered, the new 'default' will be displayed at the beginning of the third line on the screen: C12:Editing B3:THIS.FIL ^-- new default drive/user area This new default is in effect until you return to the operating system, when the original default drive and user area are restored. You MUST type the colon ":" at the end of the drive/user area or you will receive an error message. Remember.brp .ctd \ .hbb .fif EXPRESS - Full Screen Editor (c)1985 C. & L. Stump .fin .hbe .fbb \\%pageno%\\ .fbe .inl 12 .inr 4 .spb 4 .alc .fif EDITING COMMANDS ---------------- .fin .all .spb 4 The following are descriptions of commands that can be executed while in EXPRESS's edit mode. They are all executed by typing a one or more character sequence, usually control characters, or function keys if you have customized the control commands. Any time a specific control character is mentioned, it will be preceded by a '^'; thus, ^N means 'control+N'. You should remember that the key is similar to the key; you must hold it down WHILE YOU TYPE THE OTHER KEY. This should not be confused with the key, which is typed separately from the other character(s) in the sequence. If you have not customized the keys, you will notice that some of the commands are a two character sequence started with a ^U. This is the 'undo' or 'alternate funcon-destructively. If the cursor is already in the last column of the line, as defined by the screen width or, if in wrap mode, the current right margin, the cursor will go to the beginning of the next line. .unl 4 Next Tab ^I (Tab) (____) Moves the cursor to the next tab stop on the line. If the cursor is already past the last tab stop on the line, the line is extended into the next line on the screen and the cursor is moved to the beginning of this 'continuation line'. If insert mode is on or if the cursor is moving past the last character on a line, a tab will be inserted at the cursor position, otherwise the command just positions the cursor. If you wish, you can cause the key to insert the appropriate number of spaces instead of a tab character. This is useful when the file will later be used by a program that does not understand tab characters (Turbo Pascal, for instance). To 'turn off the tabs', return to command mode with , (______) and enter the command: tion' key. This was necessary because there are more editing commands than there are control characters. For people who have chosen to customize their control character layout to achieve compatibility with other editors, implement special function keys on their terminal, or whatever other reason, a space - (____) - has been provided wherever a specific control character is mentioned. This will allow you to write in the control character or function key you have selected for this operation. The commands will be described in an order that is non-alphabetical, but more related to the commands' relationships to one another. .brp .fif CURSOR CONTROL -------------- .fin .inb+4 .unl 4 Cursor Left ^H (Backspace) (____) Moves the cursor one position to the left non-destructively. If the cursor is already in the first column of the line, it will be placed in the last column of the of the preceding line. .unl 4 Cursor Right ^L (____) Moves the cursor one position to the right n tabs off After this time, no more tab characters will be entered into the file (although all existing tab characters will remain). .unl 4 Previous Tab ^U^I (^U Tab) (______) Moves the cursor to the first tab stop preceding the current cursor location in the line. This command is always non-destructive. If the cursor is at the beginning of the line, the command is ignored. .unl 4 Next Word ^W (____) Moves the cursor to the beginning of the next word following the current cursor location. The beginning of a word is signalled by either the start of a new line or an non-alphanumeric character ('a'-'z','A'-'Z','0'-'9') preceding an alphanumeric character. If there are no more words on the current line, the cursor is moved to the beginning of the next line. .unl 4 Previous Word ^A (____) Moves the cursor to the beginning of the current word or, if it is already on the beginning of the current word, to the beginning of the first word preceding it. If there are nL (____) Moves the cursor to the end of the current line. .unl 4 Carriage Return ^M (____) Moves the cursor to the beginning of the next line. If you are currently in entry mode or if you are at the end of the edit buffer, a new line is inserted. This command merely positions the cursor; it does not actually place a ^M in the file, so you can simply type a carriage return from the middle of a line to move to the next line, you don't have to worry about going to the end or beginning of the line first as with some other editors. If you wish to break a line in two you may use the 'break line' command, ^B (____) described later. If you really must have the carriage return break a line in two then you may set the 'break line on CR' flag in ECONFIG and the carriage return key will actually insert a carriage return/linefeed into the file (when entry mode is on). .unl 4 Cursor Up ^K (____) Moves the cursor up one line. If this operation would cause the cursor to go off the td twice, it moves to the beginning of the first line on the screen. Three times moves to the beginning of the first line of the edit buffer. If the cursor is already in the desired position, the command is ignored. .unl 4 End of Line/Screen/Buffer ^N (____) Moves the cursor to one position past the last non-space on the current line when typed once. When typed twice, it moves to the end of the last line on the screen. If it is typed three times, it moves the cursor to the end of the last line in the edit buffer. If the cursor is already in the desired location, no action is taken. .brp .inb -4 .fif SCROLLING COMMANDS ------------------ .fin .inb +4 .unl 4 Scroll Backward One Line ^F (____) Scrolls the screen one line towards the beginning of the edit buffer; the cursor remains in the same position on the screen. If the first line of the edit buffer is already on the screen, the command is ignored. .unl 4 Scroll Forward One Line ^G (____) Scrolls the screeno more words on the line the cursor is moved to the beginning of the line; if the cursor is already at the beginning of the line, it is moved to the beginning of the last word on the line above. .unl 4 Indent ^U^W (______) Moves the cursor to the next tab stop and sets that column as the new left margin. Please notice that the new margin is the next tab stop after the CURRENT LOCATION OF THE CURSOR, not the current left margin. This command is functionally identical to using the INDENT command from the command mode. If the cursor is already in the last column of the line, the command is ignored. .unl 4 Undent ^U^A (______) Moves the cursor to the first tab previous to the current cursor location and sets that column as the new left margin. See the note for Indent above. If the cursor is already in the first column then this command is ignored. .unl 4 Start of Line ^U^H (____) Moves the cursor to the beginning of the current line. .unl 4 End of Line ^U^op of the screen, then it is scrolled one line towards the beginning of the edit buffer. If the cursor is already on the first line of the edit buffer then this command is ignored. .unl 4 Cursor Down ^J (Linefeed) (____) Moves the cursor down one line. If this would cause the cursor to go off the bottom of the screen, the screen is scrolled one line towards the end of the edit buffer. If the cursor is already on the last line of the edit buffer then the command is ignored. .unl 4 Start of Screen ^U^K (____) Moves the cursor to the first line on the screen. .unl 4 End of Screen ^U^J (____) Moves the cursor to the bottom line of the screen. .unl 4 Start of Buffer ^U^R (____) Moves the cursor to the first page of the edit buffer. .unl 4 End of Buffer ^U^T (____) Moves the cursor to the last page of the edit buffer. .unl 4 Start of Line/Screen/Buffer ^^ (____) Moves the cursor to the beginning of the current line when typed once. Type one line towards the end of the edit buffer. The cursor maintains the same absolute position on the screen. If less than half of the lines on the screen are actual lines of the file (as signified by the [EOB] message following the last line) then the command is ignored. .unl 4 Scroll Backward Continuously ^U^F (______) Scrolls the screen towards the beginning of the buffer, one line at a time. While scrolling is in progress, several keys take on a special function: .inb +4 .unl 4 1. Typing any digit, 1-9 or 0, will change the auto-scroll speed to that speed. '1' gives the slowest scroll speed and '0' gives the fastest. These are arranged in ascending order across the top of the computer keyboard. .unl 4 2. The minus key (-) changes the direction of the scroll. If you were scrolling backward, you will begin scrolling forward, if you were scrolling forward, you will begin scrolling backward. This key was chosen because it is usually situated immediately to the right of th would cause scrolling past the beginning of the file, as much scrolling is done as possible, then the terminal beeps. .unl 4 Next Page ^T (____) Clears the current page from the screen and displays the next 24 lines (or however many lines your terminal can display) on the screen. If you wish to page rapidly through a file to find a certain section, you may press the 'next page' key several times; you do not have to wait for the screen to finish painting. As soon as you type any key, painting of the screen is temporarily suspended and the new command is executed. If there are no more lines in the edit buffer past the ones already displayed, this command takes no action. .unl 4 Previous Page ^R (____) Clears the current page from the screen and displays the previous 24 lines (or however many your terminal can display) on the screen. The same comments about the painting of the screen given in the Next Page command hold for this command (and all other commands, for that matter).brp .inb -4 .fif EDITING COMMANDS ---------------- .fin .inb +4 .unl 4 Rubout (____) The cursor is moved left one position and the character in this position is replaced with a space (' '). If you are at the beginning of the line It remains there and replaces that character with a space. Rubout works slightly different when in insert mode. The cursor is moved back one space and the character is deleted, but then the rest of the line is adjusted one position to the left to close up the space left by the deletion. If you are at the beginning of the line in insert mode, rubout will append the current line on the line above, effectively deleting the carrige return/linefeed at the end of that line. (note that this can be changed with ECONFIG so that RUB cannot delete return/linefeed) .unl 4 Delete Character ^D (____) Removes the character that the cursor is currently on and adjusts the remainder of the line one position to the left. The cursor remains in the same '0' key on the computer keyboard and it also has the meaning of negate' which is what you are doing - negating the command. .unl 4 3. Any other key will stop the scrolling action and return you to normal edit mode. .inb -4 Scrolling will automatically stop when the beginning of the buffer is reached. .unl 4 Scroll Forward Continuously ^U^G (______) Scrolls the screen towards the end of the buffer, one line at a time. The scrolling speed of this command can be set from command mode or while scrolling, just as for the Scroll Backward Continuously command. To stop scrolling type any key other than the ones listed in the Scroll Backward command. Scrolling stops automatically when the last line of the buffer is on the screen. .unl 4 Center Cursor Line ^] (____) Scrolls the line that the cursor is currently on to the middle of the screen. This is useful for seeing the context in the file of a word that has just been found using the SEARCH command. If this command, too. If there are less than 24 lines preceding the current screen being displayed, then the first 24 lines of the file are displayed. e position on the screen. Since tab stops are stored as single characters, you may delete a tab with the Delete Character command. This is helpful when restructuring a computer program in Pascal, C, or some other structured language, because it allows you to 'undent' a whole section of code quickly by simply typing ^D^M (_______) several times (once for each line). .unl 4 Insert Single Space ^E (____) Opens up space for one character at the current cursor position. This is useful for minor alterations, such as misspelled words, when it is inconvenient to toggle insert mode, type the character, and then toggle insert mode again. It is also helpful when you wish to move a line to the right on the screen by inserting spaces at the beginning of the line, but do not want the cursor to move from its present position. .unl 4 Partial Insert Mode ^Q (______) Temporarily turns on insert mode (as described in the section on 'Toggle Insert Mode'). Each character you type after this cs turned on. This new setting remains in effect until the command is issued again or until the editing session is terminated. Another command similar to this is 'Partial Insert Mode', ^Q (______), described above. This command 'temporarily' enters insert mode until another editing command is given. When insert mode is on, everything that is typed is 'inserted' at the cursor location, that is, it does not type over the character that the cursor is on. It is functionally equivalent to typing an 'Insert Space' command, ^E (____), before typing each character. When insert mode is off, any character that is typed simply replaces the character that the cursor was on before the new character was typed. .unl 4 Delete Word ^V (____) Deletes from the current cursor position to the beginning of the next word and adjusts the line to close up the space. This command has three distinct uses which vary slightly. The first is, of course, to delete an entire word; this is done by placing the t as a word or partial line with ^U^V or ^U^Y. The opposite operation is also possible. The delete buffer is left intact following this operation, so you may UNdelete the same string as many times and in as many places as you wish. If no text has previously been deleted during this edit session, the command takes no action. .unl 4 Delete to End of Line ^Y (____) Deletes, starting at the current cursor location, to the end of the current line on the screen. If the line below is a continuation of the current line, the contents of the continuation line are also deleted, and the continuation line is removed from the screen. The deleted text is saved temporarily in the delete buffer for possible later 'UNdeletion'. .unl 4 UNdelete End of Line ^U^Y (______) This command is functionally identical to UNdelete word. It is provided as a separate sequence merely for consistency and convenience. .unl 4 Delete Line ^Z (____) When typed once, this command takes no action. Thiommand will be 'inserted' into the line instead of typing over what is already there. Typing any control command except 'Rubout', (____), 'Tab', ^I (____), 'Insert Control Character', ^C (____), or, of course, this command itself, will return you to the 'replacing mode' of text entry. This command is useful for many of the same reasons as 'Insert Single Space' and 'Full Insert Mode', and which of these commands you usually use is a matter of personal taste; they were all included so that you can pick the way you want to do it. The commands you don't use can be filed away in the back of your mind so that if you ever need them you will remember they exist, but probably you will never need, or want, to remember and use all of the commands available. If you are currently in full insert mode, this command will place you in partial insert mode. .unl 4 Toggle Full Insert Mode ^U^Q (____) This key changes the state of insert mode; if it is on, it is turned off and if it is off, it icursor on the first character of the word (usually with the 'next' or 'previous word' command) and executing the command. The second use is to delete the end of a word. This is done by placing the cursor on the first character that you wish to be deleted and entering the command. You may also delete a large group of spaces by placing the cursor on the first space to be deleted and executing the command; all spaces up to the beginning of the next word will be deleted. .unl 4 UNdelete Word ^U^V (______) Any time a deletion of more than a single character is performed, the deleted text is placed temporarily in a buffer in case the deletion was not wanted, or possibly if you want to put the deleted text somewhere else in the file. When you perform the UNdelete Word command, enough space is provided at the current cursor location for the previously deleted text and it is inserted there. Note that it is possible (and often desirable) to delete a line with ^Z (____) and then UNdelete i s is to prevent erroneous deletion of lines. However, every time it is typed after the first time, it deletes one line from the screen. The deleted text is stored temporarily (until the next word or line deletion) in the delete buffer for possible 'UNdeletion' at a later time and place. Typing any other character causes its flag to be reset and you must then type it an extra time to begin deleting lines again. If this command deletes the last line of the edit buffer, it automatically moves the cursor up one line to the new last line. If the deletion causes the screen to be less than half full of actual lines of the file (as shown by the presence of the [EOB] message) then the screen is scrolled down one line (towards the beginning of the edit buffer. If there is only one line in the edit buffer, it will only be cleared, not deleted; if there were no lines in the edit buffer, there would be no place for the cursor to be positioned. .unl 4 UNdelete Line ^U^Z (______) This commanserted below the current one after which the cursor is placed at the beginning of the new line. When entry mode is off, a carriage return acts normally. Entry mode is useful when adding new sections to the middle of a computer program or other text. It relieves you from the burden of having to type so many Insert Line commands, ^X (____). This is not needed when typing at the end of a file, as new lines are inserted automatically then. ECONFIG's efault setting section allows you to set entry mode either initially on or off. .unl 4 Break Line ^B (____) Breaks the line the cursor is on into two lines, the first from the start of the line to the character preceding the cursor and the second from the cursor position to the end of the line. The cursor is left at the end of the first line. If you are in wrap mode, an attempt will be made to reformat the lower line in with the lines following it. This allows you to use this command to break paragraphs without having to do any ginning of the line the cursor is currently on, a marker for use by the BMOVE, BCOPY, BDELETE, and BSAVE commands. You can enter as many of these as you like, although having anything other than two when you try to execute a block operation will get you an error message. These markers can be SEARCHed for and REPLACEd just like any other character. If you do not like the character currently used for displaying a block marker, you may change it to any other displayable character with the configurator program. To remove a single block marker, you may use the command ^P^U, (______), or you can simply position the cursor over the block marker and do a ^D, (____) (or any other editing command that deletes). The advantage of the ^P^U, (______) sequence is that it works if you are anywhere on the same line as the block marker; you don't have to place the cursor directly over it. To remove all block markers at once, use the BKILL command in command mode. Block markers are automatically cleared frond is similar to the UNdelete Word command except that a new line is inserted above the line the cursor is currently on for the deleted text to be UNdeleted into. Again, I will point out that it is possible to delete a word or partial line and UNdelete it as a line. If there have been no previous deletions during this editing session, a blank line will be inserted above the line the cursor is currently on. .unl 4 Insert Line ^X (____) Inserts a new line ABOVE the line the cursor is currently on and places the cursor at the beginning of this new line, as specified by the value of INDENT. .unl 4 Toggle Entry Mode ^\ (____) This key changes the state of entry mode; if it is on, it is turned off and if it is off, it is turned on. The new setting remains in effect until the command is issued again, the editing session is ended, or wrap mode is turned on (at which time it is turned off). When entry mode is on, a carriage return command, ^M (____), causes a new line to be imanual reformatting. .unl 4 Concatenate Lines ^O (____) Joins the line following the line that the cursor is on with the cursor line. This is the opposite operation of Break Line. When in wrap mode, this command simply attempts to reformat the remainder of the current paragraph to the currently set right margin. If their are no lines below the current line or the line below is already a continuation of the current line, the command is ignored. .brp .inb -4 .fif BLOCK COMMANDS -------------- .fin .inb +4 Block commands allow you to move large 'chunks' of text around the file. These commands are accesible from Command mode as well as edit mode in case you are more accustomed to using them that way. They are explained more fully in the COMMAND MODE section of the manual under Block Commands. The EXPRESS.OVL file must be present in some user area of the current drive or drive A to use the Block Commands. .unl 4 Insert Block Marker ^P^P (____) This inserts, at the be!m the file before it is written to disk. .unl 4 Block Copy ^P^C (_____) Places a copy of the currently marked block 'in front of' the line the cursor is currently on. The original block remains untouched and the block markers are not cleared. .unl 4 Block Move ^P^M (_____) Moves the currently marked block to 'in front of' the line the cursor is currently on. The block markers are removed after the operation. .unl 4 Block Delete ^P^D (_____) Deletes the currently marked block of text. Be careful with this command because it does not ask for confirmation (as BDELETE in command mode does) and its deletions are final!!! Block delete in edit mode is faster and more convenient, but dangerous in the hands of a careless person. .unl 4 Kill Block Markers ^P^K (_____) Removes all block markers from the edit buffer. .brp .inb -4 .fif SPECIAL COMMANDS ---------------- .fin .inb +4 Some of these commands are related, but mostly, their reason for beine control character. It is also possible to enter RUBouts (DEL) into the file in the same manner; they are displayed as '^?'. Once in the file, the control characters can all be SEARCHed for, REPLACEd, and whatever else you might wish to do with them. They are distinguishable from the regular characters, such as the following: '^C', by the fact that you cannot position the cursor directly on the 'C' if it is a control character, but you can if it is just a '^' followed by a 'C'. The only exceptions to the above statements are that the characters ^Z and ^@ cannot be entered into the file. Entry of ^Z was disallowed on purpose, because ^Z is the CP/M End of File character; having it occur in the middle of a file would create results ranging from mildly annoying to catastrophic. The inability to enter ^@ originally stemmed from CP/M's Direct Console I/O function's inability to directly input a character with a value of 0. This fact was taken advantage of and now ^@ is a special character used iter a prompt '>' and you may input any of the commands described in the 'Command Mode' section of the manual. All of the single-line edit commands may be used for editing your entry on the command line; you can even delete a word while in edit mode and UNdelete it onto the command line, for instance. If you are currently in command mode, you can enter edit mode by typing this same command; you may think of it as a toggle switch, moving you between the two modes of operation. This key is also used to get you out of various situations that you may find yourself in (similar to ^C in CP/M). For instance, the TYPE command and the BPRINT command use this key to cancel their operation immediately and return, of course, to command mode. For more information on command mode and what to do once you get there, see the 'Command Mode' section of the manual. g placed here is that they don't fit anywhere else. .unl 4 Continue Search/Replace ^S (____) Finds the next occurence of the last string SEARCHED for. If you are in replace mode, the keys described in the section on selective replace will be in effect after you find the next occurence. If there are no more occurences of the search string following the cursor in the edit buffer, EXPRESS will beep and leave the cursor where it is. .unl 4 Insert Control Character ^C (____) When this command is typed, no attempt will be made to translate the next character into a command. This allows the entry of control characters (and keys that have been redefined as macro keys) directly into the file. Some uses of this are to place printer commands, to do things such as formfeeds and font changes, into a file, or possibly to do things such as clearing the screen of a terminal before printing a file. All control characters are displayed as '^c' where 'c' is the letter corresponding to thnternal to EXPRESS (along with the characters represented by 0FFh and 0FEh; all other characters from 01h to FDh may be entered, whether your terminal can display them or not). However, I have never heard of ANY computer system, terminal, or printer that used ^@ for anything except a delay character, so this should never be any hindrance. The entry of characters greater than (7FH) is also supported by the Insert Control Character command. If you can't display characters with bit 7 set, they will be displayed as '\c' if a printable character with bit 7 set, or '/c' if a control character with bit 7 set (where 'c' is the character) if you can display these characters on your terminal then you can enter them as regular characters by following the instructions in the configuration section under 'Displaying Graphics Characters'. .unl 4 Enter/Leave Command Mode ^[ (____) This command clears the screen and places you in command mode. when in command mode, the cursor is placed af".nf .ce 2 CONFIGURATOR ------------ .fi Introduction ------------ The configurator program (ECONFIG.COM) allows you to modify the few necessary portions of EXPRESS so that it will run on a different set of hardware (terminals, disk systems, etc.) It also allows you to change the default values of a few important internal variables to make editing more convenient and productive. The configurator program always assumes that you have called it up from the default drive and that there is a file called EXPRESS.COM also on the default drive. If you want to use the predefined terminals in the terminal database, you must also have the file TERM.DAT on the default drive. If E.COM is not on the default drive, the program will end immediately upon trying to find it (usually after selecting an option from the main menu). If TERM.DAT is not present, CONFIG will automatically begin a new terminal database, starting with the definition that you enter. If you have many special terminal definitions,, you are given a sub menu of terminals to choose from and also the options of returning to the main menu and defining a new terminal. 1)RETURN TO MAIN MENU 2)ADDS 20/25/30 3)ADDS Viewpoint 1A 4)ANSI Terminal 5)BigBoard 6)Heath/Zenith 19 7)KayPro 8)Lear Siegler ADM 3A . . . . . . n)Snipe 13+ n+1)CREATE NEW DEFINITION If you have mistakenly entered this portion of the program then you may either select 0, or just , to return immediately to the main menu. Otherwise you may choose one of the terminals numbered 1-n, or n+1 to define a new terminal. Selecting a Predefined Terminal ------------------------------- If you choose one of the previously defined terminals to be installed in E.COM, you are asked: Do you wish to modify this definition before installation ? (Y/N) >_ If you enter a 'N' or 'n', the desequence for your terminal (fun, fun, fun). The input handler for this section is very specialized, so some explaining is required before you are turned loose. There are basically three types of input expected by this program - numbers, ASCII strings, and Yes/No responses. Each of these is handled differently. The simplest case is the Yes/No which requires a 'Y','y','N', or 'n' to be entered followed by a . If one of these four letters is not entered then you will be asked the same question again. When a number is requested, you are always told whether to give an answer in Decimal (base 10) or Hexadecimal (base 16). There will never be any question as to whether a decimal or hex number is required. Simply enter the number followed by a . If you enter an invalid number, it will simply translate to 0, so you must be careful about this. The third type of entry, ASCII string, is more specialized than the other two because some keyboards cannot produce all the ASCII characters  you may wish to start and maintain your own terminal database separate from the one supplied with EXPRESS. Main Menu --------- Upon entering CONFIG, you will be given a choice of three things to do: erminal Installation, efault Parameter Selection, nd >_ Type the letter inside the brackets, followed by a carriage return, , to select the appropriate choice. erminal Installation Leads you into an interactive session for selecting a previously defined terminal or creating a new terminal definition. efault Parameter Selection Enters an interactive session similar to that for defining a new terminal, except that you are changing parameters that are more user dependent' than 'terminal dependent'. nd This selection simply exits the program and returns to CP/M Following is an explanation of the first two selections (the third shouldn't need any more). erminal Installation ----------------------- Upon selecting this choicefinition is installed and you return to the main menu ( , , ). If you enter 'Y' or 'y' then you begin an interactive session much like the description of entering a new terminal given below. The one difference is that all the values are already filled in for you. If you want to change one, simply type , (^H) or RUBOUT to backspace over the portion you wish to change and enter the new value. Before doing this, you should read the following section on entering a new terminal definition. If you give your approval of the changes, then they are installed in EXPRESS.COM and the tereminal database is updated with the new values, otherwise they are discarded. Creating a New Definition ------------------------- When this option is selected, you enter into an interactive session where you are asked questions about your terminal and you must answer them. It is helpful to have the users manual for the terminal around when you are doing this, unless you have memorized every control #directly. Therefore you may enter a string as a sequence of actual ASCII characters, or you may enter it as a group of hexadecimal numbers separated by spaces. These to types of entry are automatically disinguished when being interpreted by looking at the FIRST character typed in the input line; if it is a valid digit (0-9) (NOTICE - I did not say anything about A-F!!) then the entire string is expected to be hex numbers, otherwise it is interpreted literally, just as you typed it. You may not enter part of a line in hexadecimal and the rest in ASCII, you must choose one or the other. Most of the time you will use the ASCII mode because it is faster and easier to see exactly what is being entered. There are some other special features that should also be mentioned here. You may enter any ASCII character except , and ^M into an input line simply by typing it. RUB is used to edit within the line, and is used to terminate input. This should not provide any kind of conflict, since ally slows down I/O.) Terminal Name >_ This is the string that will be printed at the top of the screen when in Command Mode of EXPRESS. It can be anything you like, but something actually describing the terminal would probably be more appropriate than the birthday of your favorite puppy or other important information. You may leave this blank if you wish, but you will spend the rest of your life wondering if this copy of EXPRESS actually IS configured for your terminal. Terminal Initialization String >_ This is a string of characters/commands to send to the terminal when EXPRESS is first called up. This is usually most useful for setting special modes in the terminal. Some examples are: changing the cursor character so that you will know at a glance that you are in EXPRESS. Turning AUTO CR on End of Line OFF while in EXPRESS (more on this in a minute). This entry can be, and most of the time is, left blank. Terminal Reset String >_ Usually, this command UNdoes whather or not the column address is sent before the row during a positioning sequence. If column is first, enter 'Y', if row is first (the most common) enter 'N'. (***********************) (* STAY TUNED FOR MORE *) (***********************) .brp .fif .pdw 80 .inb 0 .ctd \ .fbb \\%pageno%\\ .fbe .inl 8 .alc Control Command Cheat Sheet (non-modified system) ------------------------------------------------- .all Cursor Control -------------- Cursor Left.......^H (Backspace) Next Tab..........^I Cursor Right......^L Previous Tab......^U^I Cursor Up.........^K Cursor Down.......^J (Linefeed) Next Word.........^W Previous Word.....^A Indent............^U^W Undent............^U^A Start of Line.....^U^H End of Line........^U^L Top of Screen.....^U^K Bottom of Line.....^U^J Top of Buffer.....^U^R Bottom of Buffer...^U^T all terminals use these commands for the same purposes and we are not asking for those commands in any of the questions. Most control characters are displayed as '^c' where c is the control character+64 to make it displayable. The one exception is (1Bh), which is displayed as '' (imagine that...). This is because of the immense popularity of this control character as a command introducer, or lead in character (What a lucky guy), it makes the display much more readable. (And Finally Back to Business.....) Each question is listed below along with a description of what is actually being asked for and some hints on what can be done to make most efficient use of your terminal's local editing capabilities. Some commands are optional, if they are, and your terminal does not have them, just enter a blank line. You should note the existence of as many features as possible to make the most efficient use of terminal input/output (with the exception of auto CR on End of Line, which actutever the terminal initialization string DID. It is sent to the terminal immediately before exiting back to CP/M. This command is also optional. CURSOR POSITION LEADIN Sequence >_ This is the command that tells the terminal a cursor position address is following. The LEADIN is the part of the positioning command that is sent before the row or column address is sent. This command is required for operation of EXPRESS. CURSOR POSITION SEPARATOR Sequence >_ These are the characters to send BETWEEN the row and column addresses, irrespective of whether row or column is first. (I'll get to that momentarily). Usually, this seuence is left blank, but if there is a separator then it MUST be included or EXPRESS will not operate properly. CURSOR POSITION TERMINATOR Sequence >_ These are the characters to send after both the row and the column have been sent. This is also usually left blank, but it too MUST be included, if it exists. COLUMN FIRST ? (Y/N) >_ This indicates whe$ Start of Line/Screen/Buffer.....^^ on some terminals End of Line/Screen/Buffer.......^N Carriage Return.................^M SCROLLING COMMANDS ------------------ Scroll Down One Line......^F Scroll Down Continuously..^U^F Scroll Up One Line........^G Scroll Up Continuously....^U^G Next Page.................^T Center Cursor Line........^] Previous Page.............^R EDITING COMMANDS ---------------- Rubout.................... Delete Word...............^V Delete Character..........^D UNdelete Word.............^U^V Insert Single Space.......^E Delete to End of Line.....^Y Partial Insert Mode.......^Q UNdelete End of Line......^U^Y Toggle Full Insert Mode...^U^Q Insert Line...............^X Delete Line...............^Z Toggle Entry Mode.........^\ UNdelete Line.............^U^Z Break Line................^B Concatenate Lines.........^O < Refor --> FILE: ECONFIG .COM CRC = C1 34 --> FILE: TERM .DAT CRC = 62 65 --> FILE: EXPRESS .OVL CRC = 7D 6A --> FILE: E .COM CRC = EB 1F --> FILE: FEATURES.TXT CRC = B7 C9 --> FILE: CRC .COM CRC = B2 07 --> FILE: EXPRESS1.DOC CRC = B9 B6 --> FILE: CHEATER .DOC CRC = 8C 75 --> FILE: DIF .MKT CRC = 48 D8 --> FILE: MX . CRC = DA 43 --> FILE: ROFF4 .DOC CRC = 37 B9 --> FILE: ROFF4 .COM CRC = 37 02 --> FILE: -README . CRC = 00 17 --> FILE: EXPRESS2.DOC CRC = 2B F0 --> FILE: EXPRESS3.DOC CRC = F5 2E --> FILE: EXPRESS4.DOC CRC = 20 4F --> FILE: EXPRESS5.DOC CRC = 5F 76 --> FILE: EXPRESS6.DOC CRC = C2 7Bmat when in wrap mode .alc (continued) .all .brp SPECIAL COMMANDS ---------------- Continue Search/Replace...^S Insert Control Character..^C Enter/Leave Command Mode..^[ Set Block Marker.......^P^P Block Copy.............^P^C Clear Block Marker.....^P^U Block Move.............^P^M Clear all Markers......^P^K Block Delete...........^P^D AUTO-SCROLL MODE COMMANDS ------------------------- '1'-'9' or '0'........change scroll speed to this value '-'...................reverse direction of scroll any other key.........end scrolling REPLACE MODE COMMANDS --------------------- Continue, No Replace......^S Replace and Stay Here....^J Replace and Continue......^M Center Find on Screen....^] Begin Editing.............(Any other Key) %&'