home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / ZCPR33 / A-R / EASE20.LBR / EASE.MZN / EASE.MAN
Text File  |  2000-06-30  |  13KB  |  342 lines

  1.                A short manual for Ease version 2.0
  2.                -----------------------------------
  3.  
  4. Contents:
  5.         Section 1:    Ease in general.
  6.         Section 2:    The editor.
  7.         Section 3:    The options.
  8.         Section 4:    Running in high memory.
  9.  
  10.                Section 1:
  11.  
  12.         What is this Ease program anyway?
  13.  
  14.   It's one piece of software that allows you to edit the commands
  15. that you are entering and have entered.  If you make a typo,
  16. you can go back and get the line right without retyping it.  If
  17. ZCPR33 encounters a problem with a command that you type, you can
  18. make whatever changes are necessary for it to be correct and
  19. then re-execute the line.
  20.  
  21. Ease is a shell which allows you to edit the command you're typing:
  22.  
  23.   Ease provides a bunch of commands that the BDOS line input
  24. function (what you use to send commands to ZCPR3 when you don't
  25. use Ease or HSH or VCED) doesn't have the smarts to.  Commands
  26. like word forward, word back, delete word or line or character. 
  27. In fact Ease provides a fairly large subset of the commands of
  28. whatever editor you are using to change documents (eg. WordStar,
  29. NewWord, Perfect Writer, Mince, etc.).  And whatever word
  30. processor you use, Ease can be made to use the same commands.
  31.  
  32. And to recall and edit the commands you have typed:
  33.  
  34.   Using Ease, you can step backward through your commands or
  35. search for a specific command, no matter how long ago it was
  36. typed.  You can then edit it and re-execute it.
  37.  
  38. Ease is an error handler because there isn't much to an error
  39. handler, other than an editor:
  40.  
  41.   The majority of the 4k that Ease takes up is its editor.  Or
  42. rather, if you took out all the text messages that the error 
  43. handler needs, it would be.  But an error handler's a real simple 
  44. thing, so making Ease an error handler as well as a shell was no 
  45. big thing.  And because it's all one program, it takes only one 
  46. file on your disk. 
  47.  
  48.                Section 2:
  49.  
  50.            I don't particularly like WordStar.
  51.  
  52.   Ease has a lot of code in it.  But the part which you actually
  53. have to deal with is the editor.  If that editor rubs you the
  54. wrong way, you won't like the program.  To insure that you 
  55. will like it, Ease provides you with a way of changing the 
  56. command keys.
  57.  
  58.   WordStar commands have become the standard for ZCPR3.  I think
  59. Emacs commands would be infinitely preferable.  I provide Ease
  60. with WordStar command keys, but I'd rather you set them to
  61. emulate whatever you're comfortable with than leave them in the
  62. state they're in.
  63.  
  64.   At the bottom of Ease (at the start of the program) is a list
  65. of commands and the keystrokes which make them happen.  By
  66. changing this table, you change Ease.
  67.  
  68. Actually patching:
  69.  
  70.   Use the included overlay, EASE2OVL.ASM, to change EASE.
  71.  
  72.   The changeable stuff starts at NAME.  That's the name of 
  73. the command history file.  If you don't like it, change it.  
  74. Be sure to think out it as "FILENAMETYP" and not as a file 
  75. name like you type it at the ZCPR3 or Ease prompt.  Fill out 
  76. the first eight characters of the name (padding with spaces 
  77. if necessary) and then the 3 character type.
  78.  
  79.   The next changeable location is the byte following "VAR".  
  80. It represents the number of characters in a single line.  
  81. If you have a 40 or 132 column display, change this to that 
  82. number.
  83.  
  84.   The next patch point is TOOSHORT.  It represents the 
  85. length which a command must be to be stored in the history 
  86. file.  If a command is two characters or less (as released), 
  87. it will be discarded.  You could make this number bigger or 
  88. smaller, depending on your preferences.  Smaller would 
  89. include drive changes (eg. B:) and bigger would exclude the 
  90. more often used commands (eg. DIR, CLS, etc.).
  91.  
  92.   The next location is the flag GOBEGFLG.  Set it to zero if 
  93. you want the cursor at the end of a line when you use ^B or 
  94. ^O or ^N.  Set it to YES if you want the cursor at the 
  95. begining of the line.
  96.  
  97.   The next is also a flag (BEEPFLG).  Set it to YES to beep 
  98. on an error, NO to be silent.
  99.  
  100.   Next is the SMARTSAV flag.  Set it to YES if you don't want to 
  101. save those commands which you called up with a ^O, ^B or ^N and 
  102. haven't modified.  Set it to NO if you want all commands saved.  
  103. With this set, you might be in a position when ^B would call up 
  104. something other than your last command typed.
  105.  
  106.   The next three pertain to where the pointers to the 
  107. history file should be stored.  The first is a switch that 
  108. decides whether to use memory or the registers to store the 
  109. pointers (USEMEM).  The next is the memory location to save 
  110. the information in (MEMLOC).  The third is the first of the 
  111. registers to use (STARTREG).
  112.  
  113.   Whether you use memory or registers, EASE needs to store 
  114. three bytes.  So if you decide on registers and you set 
  115. STARTREG to 7, register 7, 8 and 9 must be used for nothing 
  116. else.
  117.  
  118.   If you use memory, set MEMLOC to a place that will never 
  119. be used.  On many systems, a good choice would be 3Bh, since 
  120. 3Bh, 3Ch, and 3Dh are almost never used.  On others, a 
  121. location in high memory might be more suitable.
  122.  
  123.   Setting USE6 to yes will cause EASE to use BDOS function 
  124. 6 for all input.  This is usefull on CP/M 3.0 or other 
  125. modified BDOS's.
  126.  
  127.  
  128.   And now we get to the three character Key/Command entries.  
  129. The first character is a letter, the second and third make up a 
  130. location (ie. a command).  You can change the character to 
  131. anything you want.
  132.  
  133. Byte:        --  Corresponds to:
  134. 'A'        --  ^A
  135. 'A' + 80h    --  (<Meta key> and ^A) or (<Meta key> and A)
  136. 7Fh        --  Delete key
  137.  
  138.   The Meta Key is the single prefix key you can use with Ease. 
  139. In Emacs emulations, the Meta key is usually escape.  In
  140. WordStar, it's ^Q for most of the functions that Ease uses.  So
  141. by A + 80h, we mean a sequence of characters, namely (in the
  142. distribution setup) ^Q ^A or ^Q A.
  143.  
  144.   The functions which you can set your keystrokes for are:
  145.  
  146. SHIFTED        -- Meta Key
  147. FCHR        -- Right Char
  148. BCHR        -- Left Char
  149. UP        -- Up line
  150. DOWN        -- Down line
  151. MBWORD        -- Left word
  152. MFWORD        -- Right word
  153. GOBOLN        -- Start of line
  154. GOEOLN        -- End of line
  155. FDEL        -- Del char right
  156. DELCHR        -- Del char left
  157. DELCHR        -- Del char left
  158. FDWORD        -- Del word right
  159. BDWORD        -- Del word left
  160. CMDKILL        -- Kill to semi-colon
  161. DELTOEND    -- Delete to end of line
  162. DELLIN        -- Delete line
  163. UNDO        -- Reinsert deleted text
  164. BACKLINE    -- Back in history shell
  165. NEXTLINE    -- Forward in history file
  166. BSEARCH        -- Search for first char
  167. TOGLIN        -- Toggle insert
  168. COMPLETE    -- Complete a filename
  169. QINSERT        -- Insert any char
  170. REPLOT        -- Redraw line
  171. WARM        -- Warm Boot
  172. DONE        -- End edit
  173. QUITSH        -- End EASE
  174.  
  175.   After all that garbage is the punctuation, this is the 
  176. stuff that word functions are going to consider non-letters.  
  177. It ends with and includes the Tab.
  178.  
  179.   So if you don't like the way that MFWORD goes about it's
  180. business with respect to (for instance) colons, just place a
  181. space over the colon.  Or if you want it to think that double
  182. quotes are punctuation, just put one on top of a character (maybe
  183. the backslash) that you don't want as punctuation.
  184.  
  185.   Last but not least is a smaller list of punctuation that 
  186. seperates parameters.  So when you hit TAB to complete a 
  187. filename, EASE stops backing up when it hits one of these.  
  188.  
  189.                Section 3:
  190.  
  191.    All right, never mind the keystrokes, what do the commands do?
  192.  
  193. Movement commands:
  194. ------------------
  195.  
  196. FCHR:        Forward one char.  If the cursor is at the end of
  197.         the line, it will "wrap" to the beginning of the line.
  198.  
  199. BCHR:        Backward one char.  If the cursor is at the
  200.         beginning of the line, it will "wrap" to the end
  201.         of the line.
  202.  
  203. UP:        Go back the number of characters in a screen line
  204.         (the release package comes set to 80 chars for a
  205.         line).  If there aren't enough chars to to up a
  206.         screen line, go to the beginning of the command line.
  207.  
  208. DOWN:        Go forward the number of chars in a screen line. 
  209.         If there aren't enough chars to go down a screen
  210.         line, go to the end of the command line.
  211.  
  212. MBWORD:        Move back a word.  Skip backwards over letters
  213.         until a punctuation character (usually including
  214.         space) is hit, then skip all punctuation until a
  215.         letter is hit.  Punctuation is setable (see
  216.         section 1).  "Wrap" if at beginning of line.
  217.  
  218. MFWORD:        Move forward a word.  "Wrap" if at end of line.
  219.  
  220. GOBOLN:        Go to beginning of command line.
  221.  
  222. GOEOLN:        Go to end of command line.
  223.  
  224. Deletion commands:        
  225. ------------------
  226.  
  227. FDEL:        Delete forward one character.
  228.  
  229. DELCHR:        Delete backward a character.  Two are supplied,
  230.         so Backspace and Delete may be used.
  231.  
  232. FDWORD:        Delete a word Forwards.
  233.  
  234. BDWORD:        Delete a word Backwards.
  235.  
  236. CMDKILL:    Delete all chars until end of line or semi-colon.
  237.  
  238. DELTOEND:    Delete until end of command line.
  239.  
  240. DELLIN:        Delete entire command line.
  241.  
  242. UNDO:        Insert chars from last line DELTOEND or DELLIN
  243.  
  244. Buffer Commands:
  245. ----------------
  246.  
  247. BACKLINE:    Put the current line in the kill buffer (so you
  248.         can bring it back with UNDO) and put the
  249.         previous line in the history buffer on your
  250.         screen.  If there is no previous line, the
  251.         console should Beep.
  252.  
  253. NEXTLINE:    Put the current line in the kill buffer (so you
  254.         can bring it back with UNDO) and put the next
  255.         line in the history buffer on your screen.  If
  256.         there is no previous line, the console should Beep.
  257.  
  258. BSEARCH:    Search for a previous command starting with 
  259.         whatever is on the command line.  The current 
  260.         line is put in the kill buffer, and if no line is 
  261.         found, the console will Beep.  This function 
  262.         used to work differently.  People complained.
  263.  
  264. Bizarre Commands:
  265. -----------------        
  266.  
  267. SHIFTED:    The Meta key.  All commands in Ease must be one
  268.         keystroke long.  I cheated in the coding, to
  269.         make it simple.  But that's very restrictive. 
  270.         So Ease includes a Meta Shift key which turns on
  271.         a second set of commands.  ^F does one thing,
  272.         Meta ^F does another.  This is fairly
  273.         transparent to the user--He thinks he has
  274.         entered a sequence (eg. ^Q ^D (Go to the end of
  275.         the line)) when in fact, he has done two
  276.         separate commands.  The first being to set the
  277.         Meta Switch. And the second to actually execute
  278.         the end of line command.  Since the Meta switch
  279.         is on, the highbit of the command is set, and
  280.         the command table is searched for 'D' + 80h.
  281.  
  282. TOGLIN:        Toggle insert.  This command will set the prompt
  283.         to '}>', when in overwrite mode, or '>>' when in
  284.         insert mode.  Overwrite mode inserts when it
  285.         hits the end of the line.
  286.  
  287. COMPLETE:    (Formerly ITAB) You seldom use a tab in a command 
  288.         line, so I grabbed the key.  When you envoke this
  289.         command, the cursor backs up to the beginning of 
  290.         the line or to one of the seperators found at 
  291.         location SEP.  It adds *.* to the end of the file 
  292.         name and then replaces the file name with one that 
  293.         is found by SEARCH FOR FIRST (BDOS #17).  Subsequent 
  294.         COMPLETEs will replace that file name with subsequent 
  295.         matches on the disk (SEARCH FOR NEXT (BDOS #18)).  
  296.         You may include a DU/Dir in the name and may make it 
  297.         ambigous in any way.  Hitting any keys other than 
  298.         the COMPLETE key will cause COMPLETE to start over, 
  299.         that is, perform a SEARCH FOR FIRST again.
  300.  
  301.  
  302. QINSERT:    Insert any character.  After evoking this
  303.         command, hit the key key want in the text (this
  304.         is really only needed for control keys.
  305.  
  306. REPLOT:        Redraw the line (just in case it gets scrambled). 
  307.         This should only be necessary if you get line noise.
  308.  
  309. WARM:        Cause a Warm Boot.
  310.  
  311. DONE:        Execute the command line.  If it is longer than
  312.         the user-setable maximum discard length, it will
  313.         be stored in the history file.
  314.  
  315. QUITSH:        Pop the shell stack and quit Ease.
  316.  
  317.             Section 4:
  318.  
  319.     Why do I want it to run in high memory?
  320.  
  321.   When you run a CP/M or ZCPR3 program, it usually does 
  322. everything in fairly low memory (from 100h up).  And once you 
  323. leave a program, you might want to see what it did with that 
  324. memory or you might want to re-enter or SAVE the program you just 
  325. loaded into low memory with a GET or a program load.  But if 
  326. your shell overwrites the program, you only have a shell program 
  327. down there.
  328.  
  329.   So a shell should run in high memory and leave your normal 
  330. programs alone.  The release version of Ease runs at 8000h.  
  331. This is a fairly high location which should leave most of your 
  332. smaller programs well enough alone.
  333.  
  334.   If you want to change that number to a higher one (since you 
  335. have a higher TPA, which is to say more free memory, than I do) 
  336. go right ahead.  You will need SLR's SLRNK (which I highly 
  337. recommend along with SLR's Z80ASM) or some other linker.  A copy 
  338. of EASE.REL is contained in the release package.  Just link it to 
  339. whatever location you want.  
  340. ome other linker.  A copy 
  341. of EASE.REL is contained in the release package.  Just link it to 
  342.