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
/
CCP
/
HIST197.ART
< prev
next >
Wrap
Text File
|
2000-06-30
|
5KB
|
88 lines
HIST197.LBR: Recalling Commands in CP/M
Do you growl when you have to re-enter a long command line that was
rejected because you got one letter wrong? Don't you hate to retype the
same line again and again with just minor changes? Wouldn't you love to
recall that sequence of commands you gave about 20 lines back?
Those of you who work on a VAX/VMS system know that by proper use of
the arrow keys you can, in fact, recall any of your last 20 commands, edit
them, and replay them to your heart's content. (I understand that UNIX
offers a similar capability.)
Well, gnash your teeth no longer -- you can now have it in CP/M too.
HISTORY.LBR, version 1.9, from Stuart Rose of Starling RCMP+, has made it
possible whether you use CP/M 2.2 (CP/M-80) or CP/M 3.0 (CP/M+). That is,
you can have it in CP/M 2.2 if you are willing to give up about 5.3K of your
precious 64K.
I was willing. I will go to any lengths to make my fingerwork at the
keyboard more efficient, so I eagerly tried out HISTORY on my Kaypro II '83.
It worked beautifully! Until the first Warm Boot, when it disappeared. Hmm
-- there must be a way to fix that. And, too, make it look more like
VAX/VMS so I won't get so confused. And make it less of a memory hog. And
implement the CTRL-P printer toggle. And omit saving responses within
applications programs that are too short to be worth recalling. And make it
compatible with NSWP 2.07. And ...
So I went to work tuning up version 1.9 to suit my own needs. The
result is called HIST197, nominally the seventh revision of HISTORY 1.9.
(Believe me, there were a lot more than 7!) No matter that the amount of
time and fingerwork I invested vastly exceeds the grand total of what I will
save in the rest of my CP/M life -- I am now so much more "efficient"! Of
course, HIST197 has a few unpolished edges, but it really works and has done
no damage to my programs or documents.
HIST197 loads a memory-resident "daemon" that looks and feels almost
exactly like VAX/VMS (4.0 or higher). For those of you who are comfortable
with WordStar, most of Stuart's original WordStar-like keystrokes are still
there. The daemon loaded by HIST197.COM saves more command lines than the
one loaded by version 1.9, yet is substantially smaller.
Here's how to use HIST197. First load the daemon by typing HIST197
with the appropriate disk drive prefix. Give a few commands to CP/M for a
trial. Now recall your last command with the up arrow (or CTRL-W). You can
keep recalling earlier and earlier commands this way up to a maximum of 23.
Go back down the list with the down arrow (or CTRL-Z). With a single !
command, you can see all of your previous commands, or rather, as many as
will fit on a Kaypro II screen (23). The commands are "numbered"; if you
want to recall command number n, just type !n.
So now you have a previous command line at your disposal. To replay
it, press RETURN. If you want to change some characters before replay, use
the left arrow (or CTRL-S) or the right arrow (or CTRL-D) to move the
cursor. CTRL-B takes the cursor to the beginning of the line. Then you can
overstrike with the correct character(s). You can toggle between overstrike
mode and insert mode with CTRL-A (or CTRL-V). To delete the character at
the cursor, type CTRL-G. To get rid of the one to the left of the cursor,
use the DEL key. You can also overstrike with spaces between whole words of
a command -- CP/M won't mind the spaces.
The standard CP/M printer on/off toggle, CTRL-P, is implemented in
HIST197. The default option saves only commands to CP/M. To enable recall
of your responses to an applications program as well, type CTRL-O (even in
the middle of a response); type CTRL-O again to toggle back to saving CP/M
commands only.
As mentioned above, you load the daemon by simply typing HIST197. You
can easily patch the system tracks on your boot-up diskette so that this
will be done automatically for you on a cold start. If you need to recover
the memory space occupied by the daemon and the CCP, you can unload the
daemon by typing HIST197 u (or any character, even a space, beyond the 7).
If you type HIST197 when the daemon is already resident, the daemon will be
reloaded and all of your saved commands will be wiped out. (I can't see why
you would want to do this, but if you do it be sure to give CTRL-C as your
first command after the reload -- there's a bug lurking here that hasn't
been squashed.)
The whole story is in HIST197.LBR. This library includes HIST197.COM,
which is suitable for a Kaypro II and patchable for other CP/M 2.2 machines.
If you don't like my choice of features or key assignments, you can easily
substitute your own in the source program and reassemble. For CP/M 3.0, it
is essential to have HISTORY.LBR in order to build a .COM file.
April 4, 1987 Melvyn L. Halbert
104 Morgan Road
(615) 483-0717 (voice only, 7-10 pm EDT) Oak Ridge, TN 37830