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
/
CPMINFO
/
CPM-CC06.ART
< prev
next >
Wrap
Text File
|
2000-06-30
|
14KB
|
264 lines
==============================================================================
[ THE KAY*FOG RBBS | CPM-CC06.ART | posted 01/18/86 | 261 lines 14k ]
The CP/M Connection Originally published in
by Computer Currents
Ted Silveira 2550 9th Street
(copyright and all rights reserved) Berkeley, CA 94710
June 4, 1985
KEYS AND OUTLINES
If you own a CP/M computer, it's easy to feel left out. When you read
most major computer magazines, you get the impression that no one bothers
to write software for anything except IBM and Apple anymore. Well, take
heart. Two hot items currently are key-redefinition programs (SuperKey,
ProKey, etc.) and outline processors (ThinkTank, MaxThink, etc.), and CP/M
users can get them free from the public domain.
QK21
QK21 (QwikKey version 2.1), by Anton Fleig, is a public domain key-
redefinition program. It lets you redefine a key to be any string of
characters you want, either plain text (your name, address, and phone
number) or a program command (like ^K^S^Q^P in WordStar). You can then run
another program, like WordStar, and everything will go normally, until you
hit the redefined key. At that point, the key-redefinition program will
spit out the stored string of characters just as if you'd typed it at the
keyboard, only faster.
Key-redefinition programs are meant to work with other programs, and
they work especially well with word processors. WordStar, for example, has
no command to move forward or backward by pages (only by screens). But by
using a key-redefinition program, I can create my own page-forward
command--I set one key to send out the sequence [^C^C^C^X^X^X^X^Z^Z^Z^Z^Z].
This sequence would be too clumsy if I had to type it in each time. But
with the key-redefinition program, I just hit one key, and the program does
the work, fast. I've become so addicted to this trick that I now have a
set of 20 "new" WordStar commands, including ones to move to the beginning
or end of a sentence or paragraph and to delete a sentence or paragraph.
QK21 isn't quite as versatile as the commercial key-redefinition
programs, but it's very useful. It can redefine any key on your keyboard,
including special function keys. It can redefine up to 31 different keys,
and each definition can be approximately 30 characters long (31 minus the
number of characters originally sent by the key).
QK21 lets you save and load sets of key definitions, so you can have
one set for your word processor, another for your spreadsheet, and so on.
It also lets you make new definitions "on-the-fly," in the middle of using
another program. For example, about one paragraph into this article, I set
one of my keys to send the characters [QK21], without leaving WordStar.
QK21 handles special function keys well. My Televideo 925 terminal
has function keys that send out a three character sequence, starting with
^A and ending with ^M (so one key sends out ^AA^M, the next ^AB^M, and so
on). QK21 handles this sequence perfectly, recognizing the ^A as the lead-
in character, redefining the following character, and ignoring the trailing
^M. It can also distinguish between the sequence ^AB^M sent by a function
key, which it translates, and the same sequence typed in at the keyboard,
which it ignores. Without this feature, I wouldn't be able to use my
function keys with WordStar, which uses ^A as one of its major commands.
The QK21 documentation also tells you how to send characters that
aren't on your keyboard, if you're handy with DDT.COM or a disk editor like
DU. You could use the same method to make QK21 distinguish between keypad
and keyboard characters, if your computer sets the high bit on keypad
characters (as Kaypros do, for example).
All key-redefinition programs have a few drawbacks in common, because
of the way they work. First, all steal part of your computer's upper
memory for themselves and the key definitions. With QK21, you lose close
to 4K, so if you have a very large spreadsheet or BASIC program, for
example, that just fits in memory under normal circumstances, it may not
fit with QK21 running. (You can easily remove QK21 when you need to and
reload it later.)
Second, all key-redefinition programs change certain addresses in CP/M
in order to intercept characters from the keyboard before they go to CP/M
or another program. This interception can cause conflicts with a few other
programs, mostly those that also want to intercept these characters.
Again, the solution is to remove QK21 temporarily.
QK21 also has a few weaknesses of its own. It accepts only a limited
number of definitions, though enough for most purposes. It won't let one
definition call another definition. And it gives you no way to control the
speed at which it sends out its stored strings. With most programs, like
WordStar, that's no problem, but a few, like dBase II, will gag if they get
characters too quickly.
Most important, QK21 has no "supershift" key. You can redefine
function keys easily, if you have them. But if you don't, you can only
redefine your regular keyboard keys, which means that you won't be able to
use those keys in their usual way. Most people can find half a dozen
keyboard keys they don't use, but after that, it's a problem. Commercial
programs get around this problem by defining a supershift key, usually the
backslash (\). With the supershift, you can redefine the two-key sequence
[\A] however you want and still be able to use your normal [A] when you
need it.
Though QK21 has some limitations, its good points more than make up
for them. And if you've never used a key-redefinition program, you have a
treat in store.
TOUR20
TOUR20's author, Ed Taychert, calls it a "document hierarchy editor,"
but most people will call it an "outline processor." Briefly, TOUR20 is a
tool for handling ideas rather than for writing text. You jot down ideas
in one-line headings, shuffle the headings around and arrange them
hierarchically, with indentations:
0. Contents
1. What are the TOUR20 commands?
1.1 For adding new headings
1.1.1 APPEND
1.1.2 INSERT
1.2 For moving around
1.2.1 UP and DOWN
1.2.2 NEXT and BACK
1.2.3 <INDEX>
1.2.4 TOP
1.3 For editing outlines
1.3.1 CUT and PASTE
1.3.2 CHANGE
1.3.3 DELETE
1.4 For viewing outlines
1.4.1 VIEW and LIST
1.4.2 SUBTREES
1.4.3 ENTIRE
1.5 For adding text
1.5.1 INTRO
1.5.2 SUMMARY
1.6 For reading and writing files
1.6.1 WRITE
1.6.2 READ
1.6.3 TYPE
The basic unit in TOUR20 is the heading, a one-line (or slightly
longer) piece of text. These can be entered one at a time or in an
automatic append mode that lets you dash off a string of headings and worry
about exactly where they belong later. A heading can also be inserted into
an existing outline at any point, causing all following headings to be
renumbered.
You move through the outline you've created by using UP and DOWN
(which move you up or down a level), NEXT and BACK (which move you forward
or backward one item, regardless of level), or <INDEX>. <INDEX> is the
address of a particular heading, specified by its levels; in the outline
above, the index 0.1.3.1 would take you to the heading "CUT and PASTE."
When it's time to edit, you can CHANGE any heading (rewrite it, in
other words). You can also DELETE any heading, which also deletes any
subordinate headings so that deleting heading 1.5 above would also delete
1.5.1, 1.5.2, and 1.5.3.
The most important editing tools are CUT and PASTE. CUT removes a
heading and stores it in a buffer; PASTE takes the heading out of the
buffer and places wherever you want. You can cut 20 headings before
pasting, but you must be careful about the order--the last heading cut is
the first heading pasted.
While you're working, you see only a small part of your outline--the
current heading and its immediate subheadings. If your current heading
were 1.4 above, you'd see only subheadings 1.4.1, 1.4.2, and 1.4.3. This
"information hiding" is meant to help you concentrate on parts of your
problem or project. You can use VIEW (or LIST) to see other parts of the
outline, SUBTREES to see everything below any particular heading (its
subheadings, their sub-subheadings, and so on), and ENTIRE to see the
complete outline.
TOUR20 has only two commands for adding text to the outline. INTRO
will place a block of text before a group of subheadings, and SUMMARIZE
will place one after; both are very limited.
TOUR20 can also WRITE all or part of your outline into a disk file,
READ another TOUR20 file into your current outline, and TYPE a text file on
the screen without inserting it into the outline.
What's TOUR20 like to use? It has a strong personality; you could
even say it has a theory about life. TOUR20 believes you'll do best if you
work with a top-down, divide-and-conquer approach, gradually breaking your
project or problem into smaller and smaller pieces. It also believes you
should concentrate on one section at a time. You don't have to play along,
but that's the way TOUR20 "wants" to work.
In practice, you'll probably use TOUR20 one of two ways. You can use
the top-down method by stating your subject in a general form ("What are
the TOUR20 commands?"). You divide that into smaller pieces (movement
commands, editing commands, etc.), and those pieces into still smaller
ones, refining and extending your outline, focusing on each small section,
until you have everything worked out in detail. As you work, you use the
viewing commands to see how your current section fits into the general
scheme, and you use the editing commands to rearrange things as new ideas
crop up. This approach suits TOUR20 very well and can turn huge projects
into a series of manageable steps.
You can also use the brainstorming approach. Here you put TOUR20 into
APPEND mode and bang in a series of ideas, without regard to their
relationship to each other or their level of generality. In the process,
you create a list of ideas, questions, and odd bits of information. Then
you sort through your list, using CUT, PASTE, and other editing commands to
discard the junk and to group related details under more general ideas.
Your structure and your controlling idea grow out of the details as you
fight to get them in order. This approach also works but doesn't go as
smoothly as the top-down approach, largely because it's inherently messier,
partly because TOUR20 makes it easier to work with small sections than with
the whole outline.
With either method, your final steps will be adding any necessary text
with INTRODUCE and SUMMARIZE, and then creating a paper printout (formatted
with indentations) or a disk file (no indentations, unfortunately) for
reference. All the output is done through a separate program, ROFFTOUR--
not an easy program to make friends with and not up to the quality of TOUR
itself.
TOUR20 has at least three weak spots in its generally solid user
interface:
1) You can enter a very long heading--TOUR20 will simply wrap the line
when you hit the edge of the screen--but at about 130 characters, TOUR20
starts putting your text in the next heading, without any warning. You
don't find out what's happened until you hit <RETURN>.
2) If you accidentally hit ^C during a session, you drop straight out
of TOUR20 into CP/M, without any chance to save your work.
3) If you hit ^Z accidentally, TOUR20 goes into an infinite loop (at
least on my machine).
You're warned against these last two in the documentation, but that's
no protection against accidents. All three of these problems need to be
fixed.
Is TOUR20 worth having? Absolutely yes--it's an interesting new
program and easy to use, once you're familiar with it. TOUR20 lets you do
things you can't do with a word processor, and because it works entirely in
memory, it's fast.
You have to get a feel for how the program works and understand its
limits. At first, TOUR20 and I circled each other two stray cats. But now
it's settled in to a regular space on my working disks.
TOUR20 was originally released as "shareware" (free distribution, $30
suggested contribution), but Ed Taychert has now generously released it
completely into the public domain and plans to remove the shareware notice
for TOUR21.
Next issue, some odds and ends--a batch of miscellaneous programs
useful for people who work with words.
------------------------------------------------------------------------------
Ted Silveira is a freelance writer and contributing editor to several
computer-oriented publications. He appreciates suggestions or feedback
and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe
(72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065.
------------------------- End of CPM-CC06.ART Text -------------------------